@charset "UTF-8";
/* ---------------------------------------*/
/* keyvisual */
/* ---------------------------------------*/
#keyvisual {
  aspect-ratio: 1920/850.37;
  margin-top: 75px;
  margin-bottom: 45px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #keyvisual {
    aspect-ratio: 375/530;
    margin-top: 60px;
    margin-bottom: 67px;
  }
}

.kv-img-field {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scale(4);
          transform: scale(4);
  opacity: 0;
  -webkit-animation: kvZoomFade-field 0.7s ease-in 0s forwards;
          animation: kvZoomFade-field 0.7s ease-in 0s forwards;
}

@-webkit-keyframes kvZoomFade-field {
  from {
    -webkit-transform: scale(4);
            transform: scale(4);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes kvZoomFade-field {
  from {
    -webkit-transform: scale(4);
            transform: scale(4);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
.kv-img-west {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transform: scale(3);
          transform: scale(3);
  opacity: 0;
  -webkit-animation: kvZoomFade-west 0.2s ease-in 0.7s forwards;
          animation: kvZoomFade-west 0.2s ease-in 0.7s forwards;
  z-index: 2;
}

@-webkit-keyframes kvZoomFade-west {
  from {
    -webkit-transform: scale(3);
            transform: scale(3);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes kvZoomFade-west {
  from {
    -webkit-transform: scale(3);
            transform: scale(3);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
.kv-img-decoration {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-animation: kvZoomFade-decoration 0.2s ease-out 0.8s forwards;
          animation: kvZoomFade-decoration 0.2s ease-out 0.8s forwards;
}

@-webkit-keyframes kvZoomFade-decoration {
  from {
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes kvZoomFade-decoration {
  from {
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
/* ---------------------------------------*/
/* intro */
/* ---------------------------------------*/
#intro {
  margin-bottom: 230px;
}
@media screen and (max-width: 768px) {
  #intro {
    margin-bottom: 110px;
  }
}

.intro-img-01 {
  margin: 0 0 1.04vw;
}
@media screen and (max-width: 768px) {
  .intro-img-01 {
    margin: 0 0 11.4vw;
  }
}

.intro-img-02 {
  margin: 0;
}

.intro-txt {
  width: 22.6vw;
  margin: 0 auto 3.2vw;
}
@media screen and (max-width: 768px) {
  .intro-txt {
    width: 66vw;
    margin: 0 auto 11.2vw;
  }
}

/* ---------------------------------------*/
/* harukas */
/* ---------------------------------------*/
#harukas {
  margin-top: -150px;
  padding-top: 150px;
  margin-bottom: 170px;
}
@media screen and (max-width: 768px) {
  #harukas {
    margin-bottom: 145px;
    margin-top: -90px;
    padding-top: 90px;
    margin-bottom: 77px;
  }
}

.harukas-content {
  position: relative;
  padding: 7% 8.3% 8.3%;
  border: solid 5px #1F89D6;
}
.harukas-content::before, .harukas-content::after {
  content: "";
  display: block;
  position: absolute;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-out, -webkit-transform 0.3s ease-out;
  transition: opacity 0.2s ease-out, -webkit-transform 0.3s ease-out;
  transition: opacity 0.2s ease-out, transform 0.3s ease-out;
  transition: opacity 0.2s ease-out, transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.harukas-content::before {
  width: 30.8%;
  aspect-ratio: 370/356;
  background: url(../img/harukas_deco-01.webp) no-repeat center/cover;
  top: -10.8%;
  left: -11.6%;
  -webkit-transform: translate(-100px, 100px);
          transform: translate(-100px, 100px);
}
.harukas-content::after {
  width: 36.5%;
  aspect-ratio: 438.5/241;
  background: url(../img/harukas_deco-02.webp) no-repeat center/cover;
  bottom: -7.7%;
  right: -7.5%;
  z-index: 2;
  -webkit-transform: translate(100px, -50px);
          transform: translate(100px, -50px);
}
.harukas-content.show-before::before {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.harukas-content.show-after::after {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.harukas-content .trigger-before,
.harukas-content .trigger-after {
  position: absolute;
  width: 100%;
  height: 1px;
  pointer-events: none;
}
.harukas-content .trigger-before {
  top: 0;
}
.harukas-content .trigger-after {
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .harukas-content {
    padding: 25px 25px 30px;
    border-width: 3px;
  }
  .harukas-content::before {
    width: 60%;
    top: -15%;
    left: -26%;
  }
  .harukas-content::after {
    width: 75%;
    bottom: -8.5%;
    right: -35%;
  }
}

.harukas-heading {
  width: 18.6%;
  margin: 0 auto 47px;
}
@media screen and (max-width: 768px) {
  .harukas-heading {
    width: 37%;
    margin: 0 auto 20px;
  }
}

.harukas-img-01 {
  margin: 0 0 45px;
}
@media screen and (max-width: 768px) {
  .harukas-img-01 {
    margin: 0 0 20px;
  }
}

.harukas-desc {
  font-size: 1.6rem;
  line-height: 2.18;
  margin: 0 0 45px;
}
@media screen and (max-width: 768px) {
  .harukas-desc {
    line-height: 1.68;
    margin: 0 0 25px;
  }
}

.harukas-btn-01 {
  width: 388px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .harukas-btn-01 {
    width: 100%;
  }
}

/* ---------------------------------------*/
/* banners */
/* ---------------------------------------*/
#banners {
  margin: 0 0 160px;
}
@media screen and (max-width: 768px) {
  #banners {
    margin: 0 0 40px;
  }
}

.banners-list {
  width: 83%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .banners-list {
    width: 100%;
  }
}

.banners-list__item {
  margin: 0 0 93px;
}
.banners-list__item p {
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 35px;
}
.banners-list__item:last-child {
  margin: 0;
}
@media screen and (max-width: 768px) {
  .banners-list__item p {
    font-size: 1.6rem;
    margin: 0 0 20px;
  }
}

/* ---------------------------------------*/
/* movies */
/* ---------------------------------------*/
#movies {
  background: linear-gradient(187deg, #056CC5 0%, #2B8CD4 51%, #5BB3E3 150%);
  padding-bottom: 250px;
  z-index: 2;
}
#movies::before {
  display: block;
  content: "";
  width: 100%;
  height: 826px;
  background: url(../img/movies_bg-01.webp) no-repeat center/cover;
  position: absolute;
  top: -1px;
  left: 0;
}
#movies::after {
  display: block;
  content: "";
  width: 100%;
  height: 547px;
  background: url(../img/movies_bg-02.webp) no-repeat center/cover;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#movies .wrapper--1000.cm {
  padding-top: 355px;
  margin-bottom: 118px;
  position: relative;
  z-index: 2;
}
#movies .wrapper--1000.making {
  margin-bottom: 106px;
}
@media screen and (max-width: 768px) {
  #movies {
    padding-bottom: 110px;
  }
  #movies::before {
    aspect-ratio: 375/283;
    height: auto;
    background: url(../img/movies_bg-01-sp.webp) no-repeat top/cover;
  }
  #movies::after {
    aspect-ratio: 375/194;
    height: auto;
    background: url(../img/movies_bg-02-sp.webp) no-repeat bottom/cover;
    bottom: -1px;
  }
  #movies .wrapper--1000.cm {
    padding-top: 103px;
    margin-bottom: 48px;
  }
  #movies .wrapper--1000.making {
    margin-bottom: 47px;
  }
}

.movies-heading {
  width: 21.3%;
  margin: 0 auto 45px;
  margin-top: -150px;
  padding-top: 150px;
}
@media screen and (max-width: 768px) {
  .movies-heading {
    width: 44vw;
    margin: 0 auto 30px;
    margin-top: -90px;
    padding-top: 90px;
  }
}

.movies-container {
  margin: 0 0 42px;
}
@media screen and (max-width: 768px) {
  .movies-container {
    margin: 0 0 20px;
  }
}

.movies-switch-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .movies-switch-list {
    display: block;
  }
}

.movies-switch-list__item {
  font-size: 1.8rem;
  font-weight: 900;
  color: #fff;
  border: solid 2px #fff;
  border-radius: 10px;
  padding: 10px 16px;
  -webkit-transition: 400ms;
  transition: 400ms;
}
.movies-switch-list__item:hover {
  cursor: pointer;
  background: rgba(255, 255, 255, 0.4);
}
.movies-switch-list__item.is-active {
  background: #fff;
  color: #1F89D6;
}
.movies-switch-list__item.is-active:hover {
  cursor: default;
}
@media screen and (max-width: 768px) {
  .movies-switch-list__item {
    width: 100%;
    font-size: 1.7rem;
    padding: 5px 7px;
    margin: 0 0 15px;
  }
  .movies-switch-list__item:last-child {
    margin: 0;
  }
}

.movies-subtitle {
  width: 43%;
  margin: 0 auto 42px;
}
@media screen and (max-width: 768px) {
  .movies-subtitle {
    width: 84vw;
    margin: 0 auto 20px;
  }
}

.splide {
  position: raltive;
}

@media screen and (max-width: 768px) {
  .splide-truck--movies {
    margin: 0 -30px;
  }
}

.movies-list__item {
  border: solid 3px #fff;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .movies-list__item {
    border: solid 2px #fff;
  }
}

#movies .splide__pagination, #movies .splide__pagination li, #movies .splide__pagination__page {
  all: unset;
}
#movies .splide__pagination__page.is-active {
  all: unset;
}
#movies .splide__pagination {
  display: block !important;
  bottom: -32px !important;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2;
}
#movies .splide__pagination__page {
  width: 9px !important;
  height: 9px !important;
  border-radius: 99px !important;
  margin: 0 10px !important;
  background: #fff !important;
}
#movies .splide__pagination__page.is-active {
  -webkit-transform: none !important;
          transform: none !important;
  background: #1F89D6 !important;
}
#movies .splide__arrow {
  all: unset !important;
}
#movies .splide__arrow > svg {
  display: none !important;
}
#movies .splide__arrows {
  position: absolute;
  height: 0;
  left: 0;
  right: 0;
  margin: auto -30px;
  top: 63vw !important;
  z-index: 2;
}
#movies .splide__arrow {
  background: #fff !important;
  opacity: 1 !important;
  width: 37px !important;
  height: 37px !important;
  border-radius: 99px !important;
  position: relative !important;
  -webkit-transition: 400ms !important;
  transition: 400ms !important;
  -webkit-box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.5019607843) !important;
          box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.5019607843) !important;
}
#movies .splide__arrow::before {
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 3px #1F89D6;
  border-right: solid 3px #1F89D6;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
#movies .splide__arrow--next {
  position: absolute !important;
  right: 9vw !important;
  bottom: 0 !important;
}
#movies .splide__arrow--next::before {
  -webkit-transform: rotate(45deg) !important;
          transform: rotate(45deg) !important;
  right: 14px;
}
#movies .splide__arrow--prev {
  position: absolute !important;
  left: 9vw !important;
  bottom: 0 !important;
}
#movies .splide__arrow--prev::before {
  -webkit-transform: rotate(-135deg) !important;
          transform: rotate(-135deg) !important;
  left: 14px;
}

.movies-list-text {
  font-size: 1.8rem;
  font-weight: 900;
  color: #fff;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .movies-list-text {
    font-size: 1.6rem;
    padding: 15px;
  }
}

/* ▼ 初期状態（非表示だけどアニメーションに備える） */
.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

/* ▼ 表示時 */
.modal.is-visible {
  visibility: visible;
  opacity: 1;
}

.modal__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 0;
}

/* ▼ モーダル本体（ふわっと拡大） */
.modal__content--movie-01 {
  position: relative;
  background: #fff;
  padding: 4.8vw;
  border-radius: 20px;
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  z-index: 1;
  -webkit-box-shadow: 5px 5px 5px 0px rgba(0, 0, 0, 0.5019607843);
          box-shadow: 5px 5px 5px 0px rgba(0, 0, 0, 0.5019607843);
}
@media screen and (max-width: 768px) {
  .modal__content--movie-01 {
    width: 90%;
    padding: 25px;
    border-radius: 10px;
  }
}

/* ▼ 表示時にアニメーション */
.modal.is-visible .modal__content--movie-01 {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

/* ▼ 閉じるボタン位置の調整 */
.modal__close {
  width: 28px;
  height: 28px;
  position: absolute;
  top: calc(2.4vw - 14px);
  right: calc(2.4vw - 14px);
  cursor: pointer;
  z-index: 2;
}
.modal__close::before, .modal__close::after {
  display: block;
  content: "";
  width: 38px;
  height: 3px;
  background: #1F89D6;
  position: absolute;
  top: 11px;
  left: -5px;
  border-radius: 99px;
}
.modal__close::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.modal__close::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .modal__close {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    top: 0;
    right: 0;
  }
}

.movie-01 {
  width: 52vw;
  aspect-ratio: 560/315;
}
@media screen and (max-width: 768px) {
  .movie-01 {
    width: 100%;
  }
}

.movie-02 {
  width: 19.5vw;
}
@media screen and (max-width: 768px) {
  .movie-02 {
    width: 100%;
  }
}

/* ---------------------------------------*/
/* collabo */
/* ---------------------------------------*/
#collabo {
  margin-top: -200px;
  padding: 200px 0 285px;
  background: #DBF4FF;
  position: relative;
}
#collabo::after {
  display: block;
  content: "";
  width: 100%;
  height: 300px;
  background: url(../img/collabo_bg.webp) no-repeat center/cover;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  #collabo {
    margin-top: -100px;
    padding: 100px 0 122px;
  }
  #collabo::after {
    aspect-ratio: 375/86;
    height: auto;
    background: url(../img/collabo_bg-sp.webp) no-repeat center/cover;
  }
}

.collabo-heading {
  width: 96.6%;
  margin: 0 auto 60px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .collabo-heading {
    width: 100%;
    margin: 0 auto 20px;
  }
}

.collabo-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10%;
}
@media screen and (max-width: 768px) {
  .collabo-list {
    display: block;
  }
}

.collabo-list__item {
  width: 45%;
  margin: 0 0 10%;
  position: relative;
  z-index: 2;
}
.collabo-list__item:last-child {
  margin: 0;
}
.collabo-list__item::before, .collabo-list__item::after {
  display: block;
  content: "";
  position: absolute;
}
.collabo-list__item:nth-child(3)::before {
  width: 48%;
  aspect-ratio: 436/266;
  background: url(../img/collabo_list-03_deco.webp) no-repeat center/cover;
  top: -40px;
  left: -80px;
}
.collabo-list__item:nth-child(4)::before {
  width: 22.8%;
  aspect-ratio: 206/155;
  background: url(../img/collabo_list-04_deco.webp) no-repeat center/cover;
  top: -120px;
  right: -85px;
}
.collabo-list__item:nth-child(5)::before {
  width: 40%;
  aspect-ratio: 364/149;
  background: url(../img/collabo_list-05_deco-01.webp) no-repeat center/cover;
  top: 105px;
  left: -320px;
}
.collabo-list__item:nth-child(5)::after {
  width: 65.3%;
  aspect-ratio: 588/730;
  background: url(../img/collabo_list-05_deco-02.webp) no-repeat center/cover;
  top: 200px;
  right: -450px;
}
@media screen and (max-width: 768px) {
  .collabo-list__item {
    width: 100%;
    margin: 0 0 52px;
  }
  .collabo-list__item:nth-child(2)::before {
    width: 26%;
    aspect-ratio: 164/97;
    background: url(../img/collabo_list-02_deco-sp.webp) no-repeat center/cover;
    top: -60px;
    right: -50px;
  }
  .collabo-list__item:nth-child(3)::before {
    width: 12.3%;
    aspect-ratio: 78/59;
    background: url(../img/collabo_list-03_deco-sp.webp) no-repeat center/cover;
    top: -50px;
    right: auto;
    left: -20px;
  }
  .collabo-list__item:nth-child(4)::before {
    width: 19%;
    aspect-ratio: 121/96;
    background: url(../img/collabo_list-04_deco-sp.webp) no-repeat center/cover;
    top: -60px;
    right: -45px;
  }
  .collabo-list__item:nth-child(5)::before {
    width: 18%;
    aspect-ratio: 114/61;
    background: url(../img/collabo_list-05_deco-01-sp.webp) no-repeat center/cover;
    top: -45px;
    left: -45px;
  }
  .collabo-list__item:nth-child(5)::after {
    width: 14%;
    aspect-ratio: 89/62;
    background: url(../img/collabo_list-05_deco-02-sp.webp) no-repeat center/cover;
    top: auto;
    right: auto;
    left: -18px;
    bottom: -50px;
  }
}

.collabo-list-heading {
  padding: 13px 0 15px;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1;
  color: #1F89D6;
  border: solid 3px #1F89D6;
  border-radius: 99px;
  background: #fff;
  margin: 0 0 30px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .collabo-list-heading {
    padding: 10px 0 12px;
    font-size: 2rem;
    margin: 0 0 28px;
  }
}

.collabo-list-image {
  margin: 0 0 30px;
}
@media screen and (max-width: 768px) {
  .collabo-list-image {
    margin: 0 0 28px;
  }
}

.collabo-list-text {
  font-size: 1.8rem;
  line-height: 1.55;
}
@media screen and (max-width: 768px) {
  .collabo-list-text {
    font-size: 1.6rem;
  }
}

.collabo-list-button {
  margin: 30px 0 0;
}

/* ---------------------------------------*/
/* west */
/* ---------------------------------------*/
#west {
  padding: 55px 0 190px;
}
@media screen and (max-width: 768px) {
  #west {
    padding: 110px 0 77px;
  }
}

.west-heading {
  width: 15.2%;
  margin: 0 auto 102px;
}
@media screen and (max-width: 768px) {
  .west-heading {
    width: 36.8vw;
    margin: 0 auto 60px;
  }
}

.west-list {
  margin: 0 0 222px;
}
@media screen and (max-width: 768px) {
  .west-list {
    margin: 0 -30px 96px;
  }
}

.west-list__item {
  width: 91.6%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.west-list__item:nth-child(odd) {
  margin: 0 auto 0 0;
}
.west-list__item:nth-child(odd) .west-list-text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.west-list__item:nth-child(odd) .west-list-image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.west-list__item:nth-child(even) {
  margin: 0 0 0 auto;
}
.west-list__item:nth-child(even) .west-list-text {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.west-list__item:nth-child(even) .west-list-image {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (max-width: 768px) {
  .west-list__item {
    width: 100%;
    display: block;
    margin: 0 0 70px;
  }
  .west-list__item:nth-child(odd), .west-list__item:nth-child(even) {
    margin: 0 0 70px;
  }
  .west-list__item:last-child {
    margin: 0;
  }
}

.west-list-text {
  width: 28%;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .west-list-text {
    width: 100%;
    text-align: center;
    margin: 0 0 32px;
  }
}

.west-list-heading {
  font-size: 3.2rem;
  font-weight: 600;
  margin: 0 0 10px;
}
@media screen and (max-width: 768px) {
  .west-list-heading {
    font-size: 2.8rem;
  }
}

.west-list-desc {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.68;
  margin: 0 0 5px;
}

.west-list-image {
  width: 65.4%;
}
@media screen and (max-width: 768px) {
  .west-list-image {
    width: 100%;
  }
}

.west-link {
  padding: 47px 0 42px;
  background: linear-gradient(-187deg, #056CC5 0%, #2B8CD4 29%, #5BB3E3 86%, #77C7F0 100%);
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .west-link {
    padding: 30px 0;
    margin: 0 -30px;
    background: linear-gradient(187deg, #056CC5 0%, #2B8CD4 29%, #5BB3E3 86%, #77C7F0 100%);
    border-radius: 0;
  }
}

.west-link-heading {
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 20px;
}
@media screen and (max-width: 768px) {
  .west-link-heading {
    font-size: 1.8rem;
    margin: 0 0 25px;
  }
}

.west-link-list {
  width: 83%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .west-link-list {
    width: 72%;
    display: block;
  }
}

.west-link-list__item {
  width: 32.5%;
}
@media screen and (max-width: 768px) {
  .west-link-list__item {
    width: 100%;
    margin: 0 0 12px;
  }
  .west-link-list__item:last-child {
    margin: 0;
  }
}

/* ---------------------------------------*/
/* followus */
/* ---------------------------------------*/
#followus {
  background: #DBF4FF;
  margin-bottom: 200px;
  padding: 190px 0;
}
#followus::before {
  display: block;
  content: "";
  width: 100%;
  height: 124px;
  background: url(../img/followus_bg.webp) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
}
#followus::after {
  display: block;
  content: "";
  width: 100%;
  height: 124px;
  background: url(../img/followus_bg.webp) no-repeat center/cover;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  #followus {
    margin-bottom: 70px;
    padding: 100px 0;
  }
  #followus::before {
    aspect-ratio: 375/50;
    background: url(../img/followus_bg-sp.webp) no-repeat center/cover;
  }
  #followus::after {
    aspect-ratio: 375/50;
    background: url(../img/followus_bg-sp.webp) no-repeat center/cover;
  }
}

.followus-heading {
  width: 35.6%;
  margin: 0 auto 28px;
}
@media screen and (max-width: 768px) {
  .followus-heading {
    width: 68.8vw;
    margin: 0 auto 12px;
  }
}

.followus-list-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .followus-list-sns {
    gap: 18px;
  }
}

.followus-list-sns__item {
  width: 11.6%;
}
@media screen and (max-width: 768px) {
  .followus-list-sns__item {
    width: 70px;
  }
}

/* ---------------------------------------*/
/* business */
/* ---------------------------------------*/
#business {
  margin-top: -150px;
  padding-top: 150px;
  margin-bottom: 126px;
}
@media screen and (max-width: 768px) {
  #business .wrapper--1000 {
    margin-top: -90px;
    padding-top: 90px;
    margin-left: -30px;
    margin-right: -30px;
  }
}

.business-heading {
  width: 49.4%;
  margin: 0 auto 70px;
}
@media screen and (max-width: 768px) {
  .business-heading {
    width: 60vw;
    margin: 0 auto 40px;
  }
}

.business-list__item {
  padding: 20px;
  position: relative;
}
.business-list__item::before {
  display: block;
  content: "";
  width: 100%;
  aspect-ratio: 457/56;
  background: url(../img/business_list_decor-01.webp) no-repeat center/100%;
  position: absolute;
  top: 0;
  left: 0;
}
.business-list__item::after {
  display: block;
  content: "";
  width: 100%;
  aspect-ratio: 457/56;
  background: url(../img/business_list_decor-01.webp) no-repeat center/100%;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

#business .splide__pagination, #business .splide__pagination li, #business .splide__pagination__page {
  all: unset;
}
#business .splide__pagination__page.is-active {
  all: unset;
}
#business .splide__pagination {
  display: block !important;
  bottom: -55px !important;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #business .splide__pagination {
    bottom: -33px !important;
  }
}
#business .splide__pagination__page {
  width: 15px !important;
  height: 15px !important;
  border-radius: 99px !important;
  margin: 0 16px !important;
  background: #D9D9D9 !important;
}
#business .splide__pagination__page:hover {
  cursor: pointer;
}
#business .splide__pagination__page.is-active {
  -webkit-transform: none !important;
          transform: none !important;
  background: #5F7889 !important;
}
#business .splide__pagination__page.is-active:hover {
  cursor: default;
}
@media screen and (max-width: 768px) {
  #business .splide__pagination__page {
    width: 9px !important;
    height: 9px !important;
    margin: 0 10px !important;
  }
}
#business .splide__arrow {
  all: unset !important;
}
#business .splide__arrow > svg {
  display: none !important;
}
#business .splide__arrows {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  z-index: 2;
}
#business .splide__arrow {
  width: 50px !important;
  height: 50px !important;
  border-radius: 99px !important;
  -webkit-transition: 400ms !important;
  transition: 400ms !important;
  -webkit-box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.5019607843) !important;
          box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.5019607843) !important;
  z-index: 2;
  position: absolute;
  top: calc(50% - 25px) !important;
}
#business .splide__arrow--next {
  position: absolute !important;
  right: 11% !important;
  bottom: 0 !important;
  background: url(../img/business_arrow-01.webp) no-repeat center/cover !important;
}
#business .splide__arrow--next:hover {
  cursor: pointer !important;
}
#business .splide__arrow--prev {
  position: absolute !important;
  left: 11% !important;
  bottom: 0 !important;
  background: url(../img/business_arrow-02.webp) no-repeat center/cover !important;
}
#business .splide__arrow--prev:hover {
  cursor: pointer !important;
}
@media screen and (max-width: 768px) {
  #business .splide__arrow {
    width: 36px !important;
    height: 36px !important;
    position: absolute;
    top: calc(50% - 18px) !important;
  }
  #business .splide__arrow--next {
    right: 20% !important;
    bottom: 0 !important;
  }
  #business .splide__arrow--prev {
    position: absolute !important;
    left: 20% !important;
    bottom: 0 !important;
  }
}

.business-btn-kintetsu {
  margin: 150px auto 0;
  display: inline-block;
  padding: 15px 85px 15px 20px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1.31;
  text-align: left;
  color: #fff;
  background: #006BB2;
}
.business-btn-kintetsu::before {
  display: block;
  content: "";
  width: 32px;
  height: 32px;
  background: url(../img/icon_button-02.svg) no-repeat center/cover;
  position: absolute;
  top: calc(50% - 16px);
  right: 20px;
}
@media screen and (max-width: 768px) {
  .business-btn-kintetsu {
    margin: 80px auto 0;
    padding: 15px 52px 15px 18px;
    font-size: 1.6rem;
  }
  .business-btn-kintetsu::before {
    width: 20px;
    height: 20px;
    top: calc(50% - 10px);
    right: 10px;
  }
}