@charset "UTF-8";
.banner__container, .campaign__container, .ask__container, .life__container, .number__container, .lead__thumbnail, .index__link, .kv__content, .kv__text, .cont__center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.banner__container > *, .campaign__container > *, .ask__container > *, .life__container > *, .number__container > *, .lead__thumbnail > *, .index__link > *, .kv__content > *, .kv__text > *, .cont__center > * {
  min-height: 0%;
}

.kv__container, .kv__swiper-btns, .cont__container {
  box-sizing: content-box !important;
  width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 1024px) {
  .kv__container, .kv__swiper-btns, .cont__container {
    width: 984px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .kv__container, .kv__swiper-btns, .cont__container {
    width: 92vw;
    padding-left: 0;
    padding-right: 0;
  }
}

.modal-video__close, .modal-life__close, .banner__link, .life__slide-btn--01, .life__slide-btn--02, .life__slide-btn--03, .life__slide-btn--04, .life__slide-btn--05, .life__slide-btn--06, .life__slide-btn--07, .life__slide-btn--08, .life__slide-btn--09, .life__slide-btn--10, .life__slide-btn--11, .life__slide-btn--12, .life__slide-btn--13, .life__slide-btn--14, .life__slide-btn--15, .life__slide-btn--16, .life__slide-btn--17, .life__slide-btn--18, .life__slide-btn--19, .life__slide-btn--20, .number__link, .lead__thumbnail-image, .index__item, .kv__swiper .swiper-button-prev,
.kv__swiper .swiper-button-next, .kv__toggle, .link {
  color: inherit;
  transition: opacity 0.3s;
  cursor: pointer;
}
.modal-video__close:hover, .modal-life__close:hover, .banner__link:hover, .life__slide-btn--01:hover, .life__slide-btn--02:hover, .life__slide-btn--03:hover, .life__slide-btn--04:hover, .life__slide-btn--05:hover, .life__slide-btn--06:hover, .life__slide-btn--07:hover, .life__slide-btn--08:hover, .life__slide-btn--09:hover, .life__slide-btn--10:hover, .life__slide-btn--11:hover, .life__slide-btn--12:hover, .life__slide-btn--13:hover, .life__slide-btn--14:hover, .life__slide-btn--15:hover, .life__slide-btn--16:hover, .life__slide-btn--17:hover, .life__slide-btn--18:hover, .life__slide-btn--19:hover, .life__slide-btn--20:hover, .number__link:hover, .lead__thumbnail-image:hover, .index__item:hover, .kv__swiper .swiper-button-prev:hover,
.kv__swiper .swiper-button-next:hover, .kv__toggle:hover, .link:hover {
  opacity: 0.7;
}

/* common:start */
[v-cloak] {
  display: none;
}

@media screen and (max-width: 767px) {
  .pcOnly {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .spOnly {
    display: none !important;
  }
}

body {
  background-color: #013222;
  overflow: hidden;
}

.cont {
  font-feature-settings: "palt";
}
.cont__bottom {
  position: relative;
}
.cont__bottom::after {
  display: block;
  width: 1920px;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/cont_bottom_bg.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  content: "";
}
@media screen and (max-width: 767px) {
  .cont__bottom::after {
    width: 100vw;
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/cont_bottom_bg.png");
  }
}

/* common:end */
/* js-fade:start */
:root {
  --fade-translate-x: 0px;
  --fade-translate-y: 0px;
  --fade-duration: 500ms;
}

/* 表示方向 */
.up {
  --fade-translate-y: 50px;
}

.down {
  --fade-translate-y: -50px;
}

.fromLeft {
  --fade-translate-x: -50px;
}

.fromRight {
  --fade-translate-x: 50px;
}

.jsScroll {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
  transition-delay: 0ms;
  transform: translate(var(--fade-translate-x), var(--fade-translate-y));
}
.jsScroll.speed--100 {
  transition-duration: 100ms;
}
.jsScroll.speed--200 {
  transition-duration: 200ms;
}
.jsScroll.speed--300 {
  transition-duration: 300ms;
}
.jsScroll.speed--400 {
  transition-duration: 400ms;
}
.jsScroll.speed--500 {
  transition-duration: 500ms;
}
.jsScroll.speed--600 {
  transition-duration: 600ms;
}
.jsScroll.speed--700 {
  transition-duration: 700ms;
}
.jsScroll.speed--800 {
  transition-duration: 800ms;
}
.jsScroll.speed--900 {
  transition-duration: 900ms;
}
.jsScroll.speed--1000 {
  transition-duration: 1000ms;
}
.jsScroll.speed--1100 {
  transition-duration: 1100ms;
}
.jsScroll.speed--1200 {
  transition-duration: 1200ms;
}
.jsScroll.speed--1300 {
  transition-duration: 1300ms;
}
.jsScroll.speed--1400 {
  transition-duration: 1400ms;
}
.jsScroll.speed--1500 {
  transition-duration: 1500ms;
}
.jsScroll.speed--1600 {
  transition-duration: 1600ms;
}
.jsScroll.speed--1700 {
  transition-duration: 1700ms;
}
.jsScroll.speed--1800 {
  transition-duration: 1800ms;
}
.jsScroll.speed--1900 {
  transition-duration: 1900ms;
}
.jsScroll.speed--2000 {
  transition-duration: 2000ms;
}
.jsScroll.speed--2100 {
  transition-duration: 2100ms;
}
.jsScroll.speed--2200 {
  transition-duration: 2200ms;
}
.jsScroll.speed--2300 {
  transition-duration: 2300ms;
}
.jsScroll.speed--2400 {
  transition-duration: 2400ms;
}
.jsScroll.speed--2500 {
  transition-duration: 2500ms;
}
.jsScroll.speed--2600 {
  transition-duration: 2600ms;
}
.jsScroll.speed--2700 {
  transition-duration: 2700ms;
}
.jsScroll.speed--2800 {
  transition-duration: 2800ms;
}
.jsScroll.speed--2900 {
  transition-duration: 2900ms;
}
.jsScroll.speed--3000 {
  transition-duration: 3000ms;
}
.jsScroll.delay--100 {
  transition-delay: 100ms;
}
.jsScroll.delay--200 {
  transition-delay: 200ms;
}
.jsScroll.delay--300 {
  transition-delay: 300ms;
}
.jsScroll.delay--400 {
  transition-delay: 400ms;
}
.jsScroll.delay--500 {
  transition-delay: 500ms;
}
.jsScroll.delay--600 {
  transition-delay: 600ms;
}
.jsScroll.delay--700 {
  transition-delay: 700ms;
}
.jsScroll.delay--800 {
  transition-delay: 800ms;
}
.jsScroll.delay--900 {
  transition-delay: 900ms;
}
.jsScroll.delay--1000 {
  transition-delay: 1000ms;
}
.jsScroll.delay--1100 {
  transition-delay: 1100ms;
}
.jsScroll.delay--1200 {
  transition-delay: 1200ms;
}
.jsScroll.delay--1300 {
  transition-delay: 1300ms;
}
.jsScroll.delay--1400 {
  transition-delay: 1400ms;
}
.jsScroll.delay--1500 {
  transition-delay: 1500ms;
}
.jsScroll.delay--1600 {
  transition-delay: 1600ms;
}
.jsScroll.delay--1700 {
  transition-delay: 1700ms;
}
.jsScroll.delay--1800 {
  transition-delay: 1800ms;
}
.jsScroll.delay--1900 {
  transition-delay: 1900ms;
}
.jsScroll.delay--2000 {
  transition-delay: 2000ms;
}
.jsScroll.delay--2100 {
  transition-delay: 2100ms;
}
.jsScroll.delay--2200 {
  transition-delay: 2200ms;
}
.jsScroll.delay--2300 {
  transition-delay: 2300ms;
}
.jsScroll.delay--2400 {
  transition-delay: 2400ms;
}
.jsScroll.delay--2500 {
  transition-delay: 2500ms;
}
.jsScroll.delay--2600 {
  transition-delay: 2600ms;
}
.jsScroll.delay--2700 {
  transition-delay: 2700ms;
}
.jsScroll.delay--2800 {
  transition-delay: 2800ms;
}
.jsScroll.delay--2900 {
  transition-delay: 2900ms;
}
.jsScroll.delay--3000 {
  transition-delay: 3000ms;
}

.jsScrollIn {
  opacity: 1;
  transform: translate(0, 0);
}

.jsFvHide {
  opacity: 0;
  transition-duration: 1.5s;
  transition-property: opacity, transform;
  transition-delay: 0s;
}
.jsFvHide.jsFvShow {
  opacity: 1;
}

.fade-enter-active {
  transition: opacity 1s;
}
.fade-leave-active {
  transition: opacity 1s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}

/* js-fade:end */
.kv__slide--06, .kv__slide--05, .kv__slide--04, .kv__slide--03, .kv__slide--02, .kv__slide--01 {
  overflow: hidden;
  width: 100%;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .kv__slide--06, .kv__slide--05, .kv__slide--04, .kv__slide--03, .kv__slide--02, .kv__slide--01 {
    background-size: 100%;
  }
}

/* kv:start */
.kv {
  /* 再生中は停止アイコン */
}
@media screen and (min-width: 1921px) {
  .kv__container {
    width: 62.5vw;
  }
}
.kv__pagenation {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  background-color: #e5edea;
  text-align: center;
  padding-left: 40px;
}
@media screen and (max-width: 767px) {
  .kv__pagenation {
    gap: 4vw;
    padding-left: 5.3333333333vw;
  }
}
.kv__pagenation .swiper-pagination {
  position: static;
  width: fit-content;
  display: flex;
  justify-content: center;
  padding: 30px 0;
}
@media screen and (max-width: 767px) {
  .kv__pagenation .swiper-pagination {
    padding: 5.3333333333vw 0;
  }
}
.kv__pagenation .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  width: 18px;
  height: 18px;
  background-color: #e5edea;
  border: 2px #013222 solid;
  opacity: 1;
  transition: background-color 0.3s;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .kv__pagenation .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 3.2vw;
    height: 3.2vw;
    border: 0.2666666667vw #013222 solid;
  }
}
@media screen and (max-width: 375px) {
  .kv__pagenation .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    border: 1px solid #013222;
  }
}
.kv__pagenation .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet:not(:first-child) {
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .kv__pagenation .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet:not(:first-child) {
    margin-left: 2.1333333333vw;
  }
}
.kv__pagenation .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet:hover {
  background-color: #013222;
}
.kv__pagenation .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active {
  background-color: #013222;
}
.kv__swiper {
  position: relative;
}
.kv__swiper-nav {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.kv__swiper-btns {
  height: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}
@media screen and (min-width: 1921px) {
  .kv__swiper-btns {
    width: 62.5vw;
  }
}
.kv__swiper .swiper-button-prev,
.kv__swiper .swiper-button-next {
  width: 80px;
  height: 80px;
  background-image: url("/sponsorship/rugby/womens/assets/images/kv_swiper-left.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  transform: translateY(-60%);
  pointer-events: all;
}
@media screen and (min-width: 1921px) {
  .kv__swiper .swiper-button-prev,
  .kv__swiper .swiper-button-next {
    width: 4.1666666667vw;
    height: 4.1666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .kv__swiper .swiper-button-prev,
  .kv__swiper .swiper-button-next {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    transform: translateY(-50%);
    margin-top: 39.2vw;
  }
}
.kv__swiper .swiper-button-prev {
  left: -10px;
}
@media screen and (min-width: 1921px) {
  .kv__swiper .swiper-button-prev {
    left: -0.5208333333vw;
  }
}
@media screen and (max-width: 767px) {
  .kv__swiper .swiper-button-prev {
    left: -1.0666666667vw;
  }
}
.kv__swiper .swiper-button-next {
  background-image: url("/sponsorship/rugby/womens/assets/images/kv_swiper-right.png");
  right: -9px;
}
@media screen and (min-width: 1921px) {
  .kv__swiper .swiper-button-next {
    right: -0.46875vw;
  }
}
@media screen and (max-width: 767px) {
  .kv__swiper .swiper-button-next {
    right: -1.6vw;
  }
}
.kv__swiper .swiper-button-prev::after,
.kv__swiper .swiper-button-next::after {
  display: none;
}
.kv__toggle {
  width: 60px;
  height: 60px;
  background-color: #013222;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .kv__toggle {
    width: 8.8vw;
    height: 8.8vw;
  }
}
.kv__icon::before {
  content: "";
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/kv_toggle_play.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  display: block;
  width: 60px;
  height: 60px;
}
@media screen and (max-width: 767px) {
  .kv__icon::before {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/kv_toggle_play.png");
    width: 8.8vw;
    height: 8.8vw;
  }
}
.kv__toggle.is-playing .kv__icon::before {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/kv_toggle_stop.png");
}
@media screen and (max-width: 767px) {
  .kv__toggle.is-playing .kv__icon::before {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/kv_toggle_stop.png");
  }
}
.kv__slide--01 {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/kv_image01.jpg");
}
@media screen and (max-width: 767px) {
  .kv__slide--01 {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/kv_image01.jpg");
  }
}
.kv__slide--02 {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/kv_image02.jpg");
}
@media screen and (max-width: 767px) {
  .kv__slide--02 {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/kv_image02.jpg");
  }
}
.kv__slide--03 {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/kv_image03.jpg");
}
@media screen and (max-width: 767px) {
  .kv__slide--03 {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/kv_image03.jpg");
  }
}
.kv__slide--04 {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/kv_image04.jpg");
}
@media screen and (max-width: 767px) {
  .kv__slide--04 {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/kv_image04.jpg");
  }
}
.kv__slide--05 {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/kv_image05.jpg");
}
@media screen and (max-width: 767px) {
  .kv__slide--05 {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/kv_image05.jpg");
  }
}
.kv__slide--06 {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/kv_image06.jpg");
}
@media screen and (max-width: 767px) {
  .kv__slide--06 {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/kv_image06.jpg");
  }
}
.kv__content {
  position: relative;
  justify-content: flex-start;
  width: 100%;
  aspect-ratio: 1200/785;
  font-size: 10px;
}
@media screen and (min-width: 1921px) {
  .kv__content {
    font-size: 0.5208333333vw;
  }
}
@media screen and (max-width: 1024px) {
  .kv__content {
    font-size: 8px;
  }
}
@media screen and (max-width: 767px) {
  .kv__content {
    position: static;
    aspect-ratio: 690/1080;
  }
}
.kv__title, .kv__title--left-under, .kv__title--left, .kv__title--right {
  width: 43.6666666667%;
  margin-top: 7.5%;
  margin-bottom: auto;
}
.kv__title img, .kv__title--left-under img, .kv__title--left img, .kv__title--right img {
  width: 100%;
}
@media screen and (min-width: 1921px) {
  .kv__title, .kv__title--left-under, .kv__title--left, .kv__title--right {
    width: 27.2916666667vw;
  }
}
@media screen and (max-width: 767px) {
  .kv__title, .kv__title--left-under, .kv__title--left, .kv__title--right {
    width: 100%;
    margin-top: 4.6666666667vw;
  }
}
.kv__title--right {
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .kv__title--right {
    text-align: right;
  }
}
.kv__title--left {
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .kv__title--left {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .kv__title--left picture {
    position: relative;
    display: block;
    width: 100vw;
    left: -4vw;
  }
}
.kv__title--left-under {
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .kv__title--left-under {
    margin-top: 54.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .kv__title--left-under picture {
    position: relative;
    display: block;
    width: 100vw;
    left: -4vw;
  }
}
.kv__box, .kv__box--left, .kv__box--right {
  display: flex;
  flex-direction: column;
  width: 45.8333333333%;
  aspect-ratio: 550/340;
  margin-bottom: 0;
  padding-bottom: 2.5%;
  background-color: #013222;
  color: #ffffff;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .kv__box, .kv__box--left, .kv__box--right {
    aspect-ratio: 690/390;
  }
}
.kv__box--right {
  margin-left: auto;
  border-image-source: linear-gradient(90deg, #013222, #013222);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 0;
}
@media screen and (max-width: 767px) {
  .kv__box--right {
    width: 100%;
    border-image-outset: 0 100vw 0 100vw;
  }
}
.kv__box--left {
  margin-right: auto;
  border-image-source: linear-gradient(90deg, #013222, #013222);
  border-image-slice: 0 fill;
  border-image-outset: 0 0 0 100vw;
}
@media screen and (max-width: 767px) {
  .kv__box--left {
    width: 100%;
    border-image-outset: 0 100vw 0 100vw;
  }
}
.kv__comment {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
}
@media screen and (min-width: 1921px) {
  .kv__comment {
    width: 28.6458333333vw;
  }
}
.kv__comment img {
  width: 100%;
}
.kv__text {
  width: 646px;
  height: 110px;
  background-color: #013222;
  margin-right: auto;
  margin-top: 30px;
}
@media screen and (min-width: 1921px) {
  .kv__text {
    width: 33.6458333333vw;
    height: 5.7291666667vw;
    margin-top: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .kv__text {
    width: 89.3333333333vw;
    height: 13.3333333333vw;
    margin-right: inherit;
    margin-top: 20.6666666667vw;
  }
}
.kv__text-image {
  width: 100%;
}
.kv__text img {
  width: 100%;
}
.kv__logo {
  width: 277px;
  margin-top: 490px;
  margin-left: 650px;
}
@media screen and (min-width: 1921px) {
  .kv__logo {
    width: 14.4270833333vw;
    margin-top: 25.5208333333vw;
    margin-left: 33.8541666667vw;
  }
}
@media screen and (max-width: 1024px) {
  .kv__logo {
    margin-top: 350px;
  }
}
@media screen and (max-width: 767px) {
  .kv__logo {
    width: 36.9333333333vw;
    margin-top: 3.3333333333vw;
    margin-left: inherit;
  }
}
.kv__logo img {
  width: 100%;
}

/* kv:end */
/* index:start */
.index__list {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .index__list {
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 4vw;
    row-gap: 5.3333333333vw;
    padding-top: 13.3333333333vw;
  }
}
.index__item {
  text-align: center;
}
.index__link {
  position: relative;
  gap: 8px;
  width: 224px;
  height: 110px;
  border: 2px solid #fff;
  border-radius: 55px;
  padding-bottom: 5px;
  color: #fff;
  text-decoration: none;
  font-size: 1.8rem;
  line-height: 1.4444444444;
  font-weight: bold;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .index__link {
    gap: 1.6vw;
    width: 44vw;
    height: 18.6666666667vw;
    border: 0.2666666667vw solid #fff;
    border-radius: 9.3333333333vw;
    padding-bottom: 2.6666666667vw;
    font-size: 4vw;
    line-height: 1.4;
  }
}
@media screen and (max-width: 375px) {
  .index__link {
    border: 1px solid #fff;
  }
}
.index__link::after {
  content: "";
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  background-image: url("/sponsorship/rugby/womens/assets/images/index_arrow.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  width: 20px;
  height: 10px;
}
@media screen and (max-width: 767px) {
  .index__link::after {
    bottom: 1.6vw;
    width: 3.2vw;
    height: 1.6vw;
  }
}
.index__link:hover, .index__link:focus {
  color: #fff;
}

/* index:end */
/* lead:start */
.lead__container {
  position: relative;
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 140px;
  padding-bottom: 290px;
}
@media screen and (max-width: 767px) {
  .lead__container {
    max-width: 92vw;
    padding-top: 16vw;
    padding-bottom: 32vw;
  }
}
.lead__container::after {
  display: block;
  width: 1920px;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/lead_bg.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  content: "";
}
@media screen and (max-width: 767px) {
  .lead__container::after {
    width: 100vw;
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/lead_bg.png");
  }
}
@media screen and (max-width: 767px) {
  .lead__heading {
    text-align: center;
  }
}
.lead__heading-text {
  color: #fff;
  font-weight: bold;
  font-size: 10rem;
  line-height: 1.28;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .lead__heading-text {
    white-space: nowrap;
    font-size: 9.0666666667vw;
    line-height: 1.3823529412;
  }
}
.lead__thumbnail {
  flex-direction: row;
  gap: 80px;
  margin-top: 55px;
}
@media screen and (max-width: 767px) {
  .lead__thumbnail {
    flex-direction: column;
    gap: 6.6666666667vw;
    margin-top: 6.6666666667vw;
  }
}
.lead__thumbnail-image {
  cursor: pointer;
  display: block;
  max-width: 440px;
}
@media screen and (max-width: 767px) {
  .lead__thumbnail-image {
    max-width: 69.6vw;
  }
}

/* lead:end */
/* number:start */
.number {
  background-color: #fff;
}
.number__container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-top: 15px;
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .number__container {
    max-width: 89.3333333333vw;
    padding-top: 17.3333333333vw;
    padding-bottom: 20vw;
  }
}
.number__container::before {
  width: 1920px;
  height: 235px;
  position: absolute;
  z-index: -1;
  top: -234px;
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/number_bg-before.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  content: "";
}
@media screen and (min-width: 1921px) {
  .number__container::before {
    background-size: 100% 100%;
    width: 100vw;
  }
}
@media screen and (max-width: 767px) {
  .number__container::before {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/number_bg-before.png");
    top: -14.1333333333vw;
    width: 100vw;
    height: 14.2666666667vw;
  }
}
.number__container::after {
  width: 1920px;
  height: 236px;
  position: absolute;
  z-index: -1;
  bottom: -235px;
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/number_bg-after.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  content: "";
}
@media screen and (min-width: 1921px) {
  .number__container::after {
    background-size: 100% 100%;
    width: 100vw;
  }
}
@media screen and (max-width: 767px) {
  .number__container::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/number_bg-after.png");
    bottom: -14.4vw;
    width: 100vw;
    height: 14.5333333333vw;
  }
}
.number__heading-text {
  color: #013222;
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .number__heading-text {
    font-size: 9.0666666667vw;
  }
}
.number__lead {
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .number__lead {
    text-align: center;
    margin-top: 5.3333333333vw;
  }
}
.number__lead-text {
  color: #013222;
  font-size: 1.6rem;
  line-height: 2.75;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .number__lead-text {
    font-size: 4.2666666667vw;
    line-height: 1.5625;
  }
}
.number__link {
  position: relative;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .number__link {
    margin-top: 7.3333333333vw;
  }
}
.number__banner {
  display: block;
}
@media screen and (max-width: 767px) {
  .number__banner {
    max-width: 89.3333333333vw;
  }
}
.number__banner-text {
  position: absolute;
  top: 0;
  left: 0;
}

/* number:end */
.life__slide-btn--20, .life__slide-btn--19, .life__slide-btn--18, .life__slide-btn--17, .life__slide-btn--16, .life__slide-btn--15, .life__slide-btn--14, .life__slide-btn--13, .life__slide-btn--12, .life__slide-btn--11, .life__slide-btn--10, .life__slide-btn--09, .life__slide-btn--08, .life__slide-btn--07, .life__slide-btn--06, .life__slide-btn--05, .life__slide-btn--04, .life__slide-btn--03, .life__slide-btn--02, .life__slide-btn--01 {
  position: relative;
  width: 310px;
  height: 270px;
}
@media screen and (max-width: 767px) {
  .life__slide-btn--20, .life__slide-btn--19, .life__slide-btn--18, .life__slide-btn--17, .life__slide-btn--16, .life__slide-btn--15, .life__slide-btn--14, .life__slide-btn--13, .life__slide-btn--12, .life__slide-btn--11, .life__slide-btn--10, .life__slide-btn--09, .life__slide-btn--08, .life__slide-btn--07, .life__slide-btn--06, .life__slide-btn--05, .life__slide-btn--04, .life__slide-btn--03, .life__slide-btn--02, .life__slide-btn--01 {
    width: 42.9333333333vw;
    height: 38.9333333333vw;
  }
}
.life__slide-btn--20::before, .life__slide-btn--19::before, .life__slide-btn--18::before, .life__slide-btn--17::before, .life__slide-btn--16::before, .life__slide-btn--15::before, .life__slide-btn--14::before, .life__slide-btn--13::before, .life__slide-btn--12::before, .life__slide-btn--11::before, .life__slide-btn--10::before, .life__slide-btn--09::before, .life__slide-btn--08::before, .life__slide-btn--07::before, .life__slide-btn--06::before, .life__slide-btn--05::before, .life__slide-btn--04::before, .life__slide-btn--03::before, .life__slide-btn--02::before, .life__slide-btn--01::before {
  content: "";
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_frame.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .life__slide-btn--20::before, .life__slide-btn--19::before, .life__slide-btn--18::before, .life__slide-btn--17::before, .life__slide-btn--16::before, .life__slide-btn--15::before, .life__slide-btn--14::before, .life__slide-btn--13::before, .life__slide-btn--12::before, .life__slide-btn--11::before, .life__slide-btn--10::before, .life__slide-btn--09::before, .life__slide-btn--08::before, .life__slide-btn--07::before, .life__slide-btn--06::before, .life__slide-btn--05::before, .life__slide-btn--04::before, .life__slide-btn--03::before, .life__slide-btn--02::before, .life__slide-btn--01::before {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_frame.png");
  }
}
.life__slide-btn--20::after, .life__slide-btn--19::after, .life__slide-btn--18::after, .life__slide-btn--17::after, .life__slide-btn--16::after, .life__slide-btn--15::after, .life__slide-btn--14::after, .life__slide-btn--13::after, .life__slide-btn--12::after, .life__slide-btn--11::after, .life__slide-btn--10::after, .life__slide-btn--09::after, .life__slide-btn--08::after, .life__slide-btn--07::after, .life__slide-btn--06::after, .life__slide-btn--05::after, .life__slide-btn--04::after, .life__slide-btn--03::after, .life__slide-btn--02::after, .life__slide-btn--01::after {
  content: "";
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  width: 270px;
  height: 200px;
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .life__slide-btn--20::after, .life__slide-btn--19::after, .life__slide-btn--18::after, .life__slide-btn--17::after, .life__slide-btn--16::after, .life__slide-btn--15::after, .life__slide-btn--14::after, .life__slide-btn--13::after, .life__slide-btn--12::after, .life__slide-btn--11::after, .life__slide-btn--10::after, .life__slide-btn--09::after, .life__slide-btn--08::after, .life__slide-btn--07::after, .life__slide-btn--06::after, .life__slide-btn--05::after, .life__slide-btn--04::after, .life__slide-btn--03::after, .life__slide-btn--02::after, .life__slide-btn--01::after {
    top: 2.6666666667vw;
    left: 2.6666666667vw;
    width: 37.7333333333vw;
    height: 29.3333333333vw;
  }
}

/* life:start */
.life {
  position: relative;
}
.life::after {
  display: block;
  width: 1920px;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_bg.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  content: "";
}
@media screen and (max-width: 767px) {
  .life::after {
    width: 100vw;
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_bg.png");
  }
}
.life__container {
  position: relative;
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 245px;
}
@media screen and (max-width: 767px) {
  .life__container {
    max-width: 92vw;
    padding-top: 16vw;
  }
}
.life__heading {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .life__heading {
    text-align: center;
    margin-top: 13.3333333333vw;
  }
}
.life__heading-text {
  color: #fff;
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .life__heading-text {
    font-size: 9.0666666667vw;
    line-height: 1.3823529412;
  }
}
.life__lead {
  text-align: center;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .life__lead {
    margin-top: 4vw;
  }
}
.life__lead-text {
  color: #fff;
  font-size: 1.6rem;
  line-height: 2.75;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .life__lead-text {
    font-size: 4.2666666667vw;
    line-height: 1.5625;
  }
}
.life__swiper {
  margin-top: 40px;
  width: 100%;
  overflow: visible;
  padding-bottom: 355px;
}
@media screen and (max-width: 767px) {
  .life__swiper {
    overflow: hidden;
    margin-top: 10vw;
    padding-bottom: 44vw;
    width: 89.3333333333vw;
  }
}
.life__slide {
  display: flex;
  flex-direction: column;
  gap: 30px;
  flex: 0 0 310px;
}
@media screen and (max-width: 767px) {
  .life__slide {
    gap: 4vw;
    flex: 0 0 42.9333333333vw;
    margin-right: 3.4666666667vw;
  }
}
.life__slide-btn--01::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image01.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--01::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image01.jpg");
  }
}
.life__slide-btn--02::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image02.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--02::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image02.jpg");
  }
}
.life__slide-btn--03::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image03.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--03::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image03.jpg");
  }
}
.life__slide-btn--04::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image04.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--04::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image04.jpg");
  }
}
.life__slide-btn--05::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image05.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--05::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image05.jpg");
  }
}
.life__slide-btn--06::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image06.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--06::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image06.jpg");
  }
}
.life__slide-btn--07::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image07.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--07::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image07.jpg");
  }
}
.life__slide-btn--08::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image08.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--08::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image08.jpg");
  }
}
.life__slide-btn--09::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image09.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--09::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image09.jpg");
  }
}
.life__slide-btn--10::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image10.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--10::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image10.jpg");
  }
}
.life__slide-btn--11::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image11.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--11::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image11.jpg");
  }
}
.life__slide-btn--12::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image12.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--12::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image12.jpg");
  }
}
.life__slide-btn--13::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image13.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--13::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image13.jpg");
  }
}
.life__slide-btn--14::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image14.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--14::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image14.jpg");
  }
}
.life__slide-btn--15::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image15.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--15::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image15.jpg");
  }
}
.life__slide-btn--16::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image16.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--16::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image16.jpg");
  }
}
.life__slide-btn--17::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image17.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--17::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image17.jpg");
  }
}
.life__slide-btn--18::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image18.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--18::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image18.jpg");
  }
}
.life__slide-btn--19::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image19.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--19::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image19.jpg");
  }
}
.life__slide-btn--20::after {
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/life_image20.jpg");
}
@media screen and (max-width: 767px) {
  .life__slide-btn--20::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/life_image20.jpg");
  }
}
.life__slide-image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.life__scrollbar {
  position: absolute;
  background: #eee;
  /* 中央寄せ & 幅制限 ------------------------------ */
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
  /* ドラッグ */
}
@media screen and (max-width: 767px) {
  .life__scrollbar {
    max-width: 89.3333333333vw;
  }
}
.life__scrollbar .swiper-scrollbar-drag {
  position: absolute;
  top: -6px;
  height: 16px;
  border-radius: 8px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .life__scrollbar .swiper-scrollbar-drag {
    top: -1.3333333333vw;
    height: 3.2vw;
    border-radius: 1.0666666667vw;
  }
}
.life .swiper-horizontal > .swiper-scrollbar,
.life .swiper-scrollbar.swiper-scrollbar-horizontal {
  height: 4px;
  top: 655px;
  background-color: #999;
}
@media screen and (max-width: 767px) {
  .life .swiper-horizontal > .swiper-scrollbar,
  .life .swiper-scrollbar.swiper-scrollbar-horizontal {
    height: 0.5333333333vw;
    top: 91.3333333333vw;
  }
}

/* life:end */
/* ask:start */
.ask {
  background-color: #fff;
}
.ask__container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-top: 60px;
  padding-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .ask__container {
    max-width: 100vw;
    padding-top: 18.6666666667vw;
    padding-bottom: 18.6666666667vw;
  }
}
.ask__container::before {
  width: 1920px;
  height: 194px;
  position: absolute;
  z-index: 0;
  top: -193px;
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/ask_bg-before.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  content: "";
}
@media screen and (min-width: 1921px) {
  .ask__container::before {
    background-size: 100% 100%;
    width: 100vw;
  }
}
@media screen and (max-width: 767px) {
  .ask__container::before {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/ask_bg-before.png");
    top: -13.0666666667vw;
    width: 100vw;
    height: 13.2vw;
  }
}
.ask__container::after {
  width: 1920px;
  height: 184px;
  position: absolute;
  z-index: -1;
  bottom: -183px;
  background-image: url("/sponsorship/rugby/womens/assets/images/pc/ask_bg-after.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  content: "";
}
@media screen and (min-width: 1921px) {
  .ask__container::after {
    background-size: 100% 100%;
    width: 100vw;
  }
}
@media screen and (max-width: 767px) {
  .ask__container::after {
    background-image: url("/sponsorship/rugby/womens/assets/images/sp/ask_bg-after.png");
    bottom: -12.5333333333vw;
    width: 100vw;
    height: 12.6666666667vw;
  }
}
.ask__heading {
  text-align: center;
}
.ask__heading-text {
  color: #013222;
  font-size: 5rem;
  line-height: 1.4;
  font-weight: bold;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .ask__heading-text {
    font-size: 9.0666666667vw;
    line-height: 1.3823529412;
  }
}
.ask__comingsoon {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .ask__comingsoon {
    margin-top: 10.6666666667vw;
  }
}
.ask__comingsoon-text {
  display: flex;
  align-items: center;
  color: #013222;
  font-weight: bold;
  font-size: 4rem;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .ask__comingsoon-text {
    font-size: 8.5333333333vw;
  }
}
.ask__comingsoon-text::before {
  content: "";
  display: block;
  width: 70px;
  height: 2px;
  background-color: #013222;
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .ask__comingsoon-text::before {
    width: 10.6666666667vw;
    height: 0.5333333333vw;
    margin-right: 4vw;
  }
}
.ask__comingsoon-text::after {
  content: "";
  display: block;
  width: 70px;
  height: 2px;
  background-color: #013222;
  margin-left: 30px;
}
@media screen and (max-width: 767px) {
  .ask__comingsoon-text::after {
    width: 10.6666666667vw;
    height: 0.5333333333vw;
    margin-left: 4vw;
  }
}

/* ask:end */
/* campaign:start */
.campaign__container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-top: 240px;
}
@media screen and (max-width: 767px) {
  .campaign__container {
    max-width: 89.3333333333vw;
    padding-top: 30.6666666667vw;
  }
}
.campaign__heading {
  text-align: center;
}
.campaign__heading-text {
  color: #fff;
  font-size: 5rem;
  line-height: 1.4;
  font-weight: bold;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .campaign__heading-text {
    font-size: 9.0666666667vw;
    line-height: 1.3823529412;
  }
}
.campaign__lead {
  text-align: center;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .campaign__lead {
    margin-top: 5.3333333333vw;
  }
}
.campaign__lead-text {
  color: #fff;
  font-size: 1.6rem;
  line-height: 2.75;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .campaign__lead-text {
    font-size: 4.2666666667vw;
    line-height: 1.5625;
  }
}
.campaign__comingsoon {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .campaign__comingsoon {
    margin-top: 10.6666666667vw;
  }
}
.campaign__comingsoon-text {
  display: flex;
  align-items: center;
  color: #fff;
  font-weight: bold;
  font-size: 4rem;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .campaign__comingsoon-text {
    font-size: 8.5333333333vw;
  }
}
.campaign__comingsoon-text::before {
  content: "";
  display: block;
  width: 70px;
  height: 2px;
  background-color: #fff;
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .campaign__comingsoon-text::before {
    width: 10.6666666667vw;
    height: 0.5333333333vw;
    margin-right: 4vw;
  }
}
.campaign__comingsoon-text::after {
  content: "";
  display: block;
  width: 70px;
  height: 2px;
  background-color: #fff;
  margin-left: 30px;
}
@media screen and (max-width: 767px) {
  .campaign__comingsoon-text::after {
    width: 10.6666666667vw;
    height: 0.5333333333vw;
    margin-left: 4vw;
  }
}

/* campaign:end */
/* banner:start */
.banner__container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 140px;
}
@media screen and (max-width: 767px) {
  .banner__container {
    max-width: 89.3333333333vw;
    padding-bottom: 21.3333333333vw;
  }
}
.banner__text {
  color: #fff;
  font-size: 3.8rem;
  font-weight: bold;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .banner__text {
    font-size: 5.3333333333vw;
  }
}
.banner__list {
  margin-top: 110px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .banner__list {
    margin-top: 18.6666666667vw;
    gap: 8vw;
  }
}
.banner__item {
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  background-color: #013222;
}
@media screen and (max-width: 767px) {
  .banner__item {
    border-top: 0.2666666667vw solid #fff;
    border-bottom: 0.2666666667vw solid #fff;
  }
}
@media screen and (max-width: 375px) {
  .banner__item {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
}
.banner__link {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  height: 130px;
}
@media screen and (max-width: 767px) {
  .banner__link {
    height: 17.3333333333vw;
  }
}
.banner__sports {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 35px;
}
@media screen and (max-width: 767px) {
  .banner__sports {
    gap: 6.6666666667vw;
  }
}
.banner__sports-list {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .banner__sports-list {
    gap: 2.6666666667vw;
  }
}
.banner__sports-text {
  font-size: 3.8rem;
  color: #fff;
  font-weight: bold;
  letter-spacing: -0.02em;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .banner__sports-text {
    font-size: 5.3333333333vw;
  }
}
.banner__sports-image {
  display: block;
  width: 74px;
  height: 74px;
}
@media screen and (max-width: 767px) {
  .banner__sports-image {
    width: 10.4vw;
    height: 10.4vw;
  }
}

/* banner:end */
.modal-life, .modal-video {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  cursor: pointer;
  /* フェードイン／アウト */
}
.fade-enter-active.modal-life, .fade-enter-active.modal-video, .fade-leave-active.modal-life, .fade-leave-active.modal-video {
  transition: opacity 0.3s ease;
}
.fade-enter-from.modal-life, .fade-enter-from.modal-video, .fade-leave-to.modal-life, .fade-leave-to.modal-video {
  opacity: 0;
}
.fade-enter-to.modal-life, .fade-enter-to.modal-video, .fade-leave-from.modal-life, .fade-leave-from.modal-video {
  opacity: 1;
}

/* 中身のラッパー */
.modal-life__wrapper, .modal-video__wrapper {
  cursor: default;
  position: relative;
}

/* 閉じるボタン */
.modal-life__close, .modal-video__close {
  position: absolute;
  top: -80px;
  right: 0;
  width: 46px;
  height: 46px;
  cursor: pointer;
  /* SP */
}
@media screen and (max-width: 767px) {
  .modal-life__close, .modal-video__close {
    top: -10vw;
    width: 6.1333333333vw;
    height: 6.1333333333vw;
  }
}

/* modal:start */
/* ============================================================================
   動画モーダル  (.modal-video)
============================================================================ */
.modal-video__wrapper {
  width: 720px;
  /* 1920px 以上 */
  /* SP */
}
@media screen and (min-width: 1921px) {
  .modal-video__wrapper {
    width: 37.5vw;
  }
}
@media screen and (max-width: 767px) {
  .modal-video__wrapper {
    width: 89.3333333333vw;
  }
}
.modal-video__embed {
  position: relative;
  aspect-ratio: 16/9;
  width: 100%;
  overflow: hidden;
  pointer-events: auto;
}
.modal-video__embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* ============================================================================
   画像モーダル  (.modal-life)
============================================================================ */
.modal-life__wrapper {
  max-width: 90vw;
  max-height: 90vh;
}
@media screen and (max-width: 767px) {
  .modal-life__wrapper {
    max-width: 69.0666666667vw;
  }
}
.modal-life__img {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: auto;
}
.modal-life__canvas {
  position: relative;
}
.modal-life__inner {
  position: absolute;
  inset: 45px;
}
@media screen and (max-width: 767px) {
  .modal-life__inner {
    inset: 6vw;
  }
}
.modal-life__inner img {
  width: 100%;
  height: auto;
  position: absolute;
  inset: 0;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .modal-life__inner img {
    width: 60.5333333333vw;
  }
}
.modal-life__text {
  position: absolute;
  top: 0;
  left: 0;
}

/* modal:end */