@charset "utf-8";
:root{
  --primary:#0561BD;
  --secondary:#6399CE;
  --bg:#F5F7F8;
  --border:#DDDDDD;
  --en:'Oswald', sans-serif;
  --jp:'M PLUS 1p', sans-serif;
}

/* ========================================================
- Layout
======================================================== */
.l-container{
  width: 100%;
  max-width: 1080px;
  margin-inline: auto;
  padding-inline: 40px;
}

.l-spacer-primary{
  margin-top: 80px;
}

@media screen and (max-width:769px) {
  .l-container{
    padding-inline: 20px;
  }

  .l-spacer-primary{
    margin-top: 64px;
  }
}

/* ========================================================
- Compornent
======================================================== */
.c-heading{
  flex-shrink: 0;
  margin-bottom: 48px;
  color: var(--primary);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.5;
}

.c-heading-en{
  display: block;
  margin-bottom: 4px;
  color: var(--secondary);
  font-family: var(--en);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.1em;
}

.c-heading-wh{
  color: #fff;
}

.c-heading-wh .c-heading-en{
  color: #fff;
}

.c-heading-secondary{
  margin-bottom: 64px;
  text-align: center;
  color: var(--primary);
  font-size: 28px;
  font-weight: 500;
  line-height: 2;
}

.c-form__item + .c-form__item{
  margin-top: 24px;
}

.c-form__label{
  display: block;
  font-size: 1rem;
  font-weight: 400;
}

.c-form__eq{
  display: inline-block;
  margin-left: 8px;
  padding: 4px 6px 4px 8px;
  background-color: var(--secondary);
  color: #fff;
  font-size: 10px;
}

.c-form__input{
  width: 100%;
  margin-top: 8px;
  padding: 8px 16px;
  border: 1px solid var(--border);
  border-radius: 3px;
  line-height: 1.5;
}

.c-form__select{
  position: relative;
  width: 100%;
  margin-top: 8px;
}

.c-form__select::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  border-top: 12px solid var(--primary);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  pointer-events: none;
  transform: translateY(-50%);
}

.c-form__select select{
  display: block;
  width: 100%;
  padding: 8px 16px;
  border: 1px solid var(--border);
  border-radius: 3px;
  cursor: pointer;
  line-height: 1.5;
}

.c-form__err{
  margin-top: 8px;
  color: #bd0505;
  font-size: 0.875rem;
}

.c-form__text{
  margin-top: 8px;
  font-size: 1rem;
  line-height: 1.5;
}

.c-button__wrap{
  display: flex;
  gap: 24px 40px;
  justify-content: center;
  margin-top: 40px;
  text-align: center;
}

.c-button{
  display: inline-block;
  max-width: 300px;
  width: 100%;
  padding: 16px;
  text-align: center;
  background-color:#06407B;
  color: #fff;
  border-radius: 1px;
  font-weight: 400;
  letter-spacing: 0.1em;
}

.c-button__back{
  display: inline-block;
  max-width: 300px;
  width: 100%;
  padding: 16px;
  text-align: center;
  background-color: #888;
  color: #fff;
  font-weight: 400;
  letter-spacing: 0.1em;
}

@media screen and (max-width:768px) {
.c-heading{
  margin-bottom: 40px;
  font-size: 22px;
}

.c-heading-en{
  font-size: 10px;
}

.c-heading-secondary{
  margin-bottom: 40px;
  font-size: 20px;
}

.c-form__item + .c-form__item{
  margin-top: 24px;
}

.c-form__label{
  font-size: 0.875rem;
}

.c-form__input{
  padding: 6px 16px;
}

.c-form__select::after{
  border-top: 10px solid var(--primary);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
}

.c-form__select select{
  padding: 6px 16px;
}

.c-form__err{
  margin-top: 8px;
  font-size: 0.75rem;
}

.c-form__text{
  font-size: 0.875rem;
}

.c-button__wrap{
  gap: 16px 32px;
  margin-top: 32px;
}

.c-button{
  font-size: 0.875rem;
}
}


/* ========================================================
- Object
======================================================== */

/* header
-------------------------------------------------------- */
.p-header{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 16px;
  background-color: #fff;
  z-index: 100;
}

.p-header__inner{
  display: block;
}

.p-header__logo{
  display: inline-block;
  height: 80px;
}

.p-header__logo img{
  width: auto;
  height: 100%;
}

.p-header__nav{
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
}

.p-globalNav{
  display: flex;
  gap: 16px;
}

.p-globalNav__link{
  color: var(--primary);
  font-size: 14px;
  font-weight: 400;
}

.p-hamburger{
  display: none;
}

@media screen and (max-width:768px) {
  .p-header{
    display: block;
    background-color: transparent;
    padding: 8px 16px;
  }

  .p-header__logo{
  display: inline-block;
  height: 64px;
}

.p-header__nav{
  position: fixed;
  top: 0;
  right: auto;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform: translateY(0);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

.is-active .p-header__nav{
  opacity: 1;
  pointer-events: all;
  z-index: -1;
}

.p-globalNav{
  margin-top: 30%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 32px;
}

.p-globalNav__link{
  font-size: 16px;
}

.p-hamburger{
  position: absolute;
  top: 0;
  right: 16px;
  bottom: 0;
  display: block;
  width: 32px;
  height: 32px;
  margin: auto;
}

.p-hamburger__line{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 18px;
  height: 2px;
  margin: auto;
  background-color: #fff;
  transition: 0.3s;
}

.p-hamburger__line.-blue,
.p-hamburger__line.-blue::after,
.p-hamburger__line.-blue::before{
  background-color: var(--primary);
}

.is-active .p-hamburger__line{
  background-color: transparent;
}

.p-hamburger__line::before,
.p-hamburger__line::after{
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transition: 0.3s;
}

.p-hamburger__line::before{
  top: -6px;
}

.p-hamburger__line::after{
  top: 6px;
}

.is-active .p-hamburger__line::before{
  top: 0;
  transform: rotate(45deg);
  background-color: var(--primary);
}

.is-active .p-hamburger__line::after{
  top: 0;
  transform: rotate(-45deg);
  background-color: var(--primary);
}


}

/* footer
-------------------------------------------------------- */
.p-footer{
  padding: 40px 80px;
  background-color: #06407B;
  color: #fff;
}

.p-footer__copy{
  text-align: right;
  font-size: 10px;
  font-weight: 400;
}

@media screen and (max-width:768px) {
  .p-footer{
    padding: 32px 20px;
  }
}

/* hero
-------------------------------------------------------- */
.p-hero{
  position: relative;
}

.p-hero__navBox{
  position: absolute;
  top: 0;
  display: flex;
  width: 100%;
  padding: 24px 40px 0 32px;
}

.p-hero__logo{
  width: 17.057101%;
  max-width: 220px;
}

.p-hero__logo img{
  width: 100%;
}

.p-hero__navList{
  display: flex;
  gap: 24px;
  margin-top: 16px;
  margin-left: auto;
}

.p-hero__navLink{
  color: #fff;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}

.p-hero__image{
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: -1;
}

.p-hero__image ul,
.p-hero__image li{
  height: 100%;
}

.p-hero__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-hero__textBox{
  position: absolute;
  left: 3.51390922vw;
  bottom: 4.27086384vw;
  z-index: 1;
}

.p-hero__copyJp{
  display: inline-block;
  overflow: hidden;
  font-size: 1.3909224vw;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.p-hero__copy{
  display: inline;
  padding: 8px;
  background-color:rgba(6,64,123,0.7);
  color: #fff;
}

.p-hero__en{
  padding-bottom: 24px;
  color: #fff;
  font-family: var(--en);
  font-size: 5.27086384vw;
  font-weight: 300;
  line-height: 1.125;
}

@media screen and (max-width:768px) {
.p-hero__navBox{
  display: none;
}

.p-hero__image{
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  z-index: -1;
}

.p-hero__textBox{
  left: 3.51390922vw;
  bottom: 6vw;
}

.p-hero__copyJp{
  font-size:3.5vw;
}

.p-hero__copy{
  padding: 4px;
}

.p-hero__en{
  padding-bottom: 24px;
  font-size: 11.5vw;
}
}

/* about
-------------------------------------------------------- */
.p-about{
  position: relative;
  display: flex;
}

.p-about__image{
  flex: 1;
  width: 36%;
  max-width: 492px;
  min-height: 492px;
}

.p-about__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-about__body{
  flex: 1;
  position: relative;
  width: 64%;
  padding: 80px;
  background-color: var(--primary);
  color: #fff;

}

.p-about__body::before{
  content: "";
  position: absolute;
  bottom: 0;
  right: 16px;
  width:  88.3295195%;
  max-width: 1150px;
  padding-top: 30.5491991%;
  background: url(../img/about-bg.svg) no-repeat right bottom / contain;
}

.p-about__textBox{
}

.p-about__copy{
  font-size: 20px;
  font-weight: 400;
  line-height: 2;
}

.p-about__read{
  margin-top: 40px;
  font-size: 14px;
  font-weight: 300;
  line-height: 2;
}

@media screen and (max-width:768px){
.p-about{
  flex-direction: column-reverse;
}

.p-about__image{
  width: 100%;
  max-width: none;
  min-height: auto;
}

.p-about__body{
  width: 100%;
  padding: 56px 20px;

}

.p-about__body::before{
  width:  88.3295195%;
  max-width: 1150px;
  padding-top: 30.5491991%;
  background: url(../img/about-bg.svg) no-repeat right bottom / contain;
}

.p-about__copy{
  font-size: 1rem;
}

.p-about__read{
  margin-top: 24px;
  font-size: 0.75rem;
}
}

/* service
-------------------------------------------------------- */
.p-service{
  padding-top: 80px;
  background: linear-gradient( transparent 76%, #fff 76%),url(../img/bg-gy.png) repeat top / auto;
}

.p-service__list{
  display: flex;
  flex-wrap: wrap;
  gap: 80px 16px;
}

.p-service__thum{
  position: relative;
}

.p-service__num{
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 36px;
  background-color: var(--primary);
  color: #fff;
  text-align: center;
  font-family: var(--en);
  font-size: 20px;
  font-weight: 300;
  line-height: 36px;
  letter-spacing: 0;
}

.p-service__title{
  margin-bottom: 16px;
  color: var(--primary);
  font-size: 18px;
  font-weight: 500;
}

.p-service__read{
  font-size: 14px;
  line-height: 2;
}

.p-service__main{
  display: flex;
  gap: 40px;
}

.p-service__main .p-service__thum{
  width: 50%;
  flex-shrink: 0;
}

.p-service__main .p-service__textBox{
  margin-top: 40px;
}

.p-service__sup{
  margin-top: 24px;
  padding: 16px 24px;
  background-color: #fff;
  font-size: 12px;
  line-height: 2;
}

.p-service__sub{
  width: calc(100% / 3 - ( 32px / 3 ));
}

.p-service__sub:nth-of-type(3){
  margin-top: 40px;
}

.p-service__sub:nth-of-type(4){
  margin-top: 80px;
}

.p-service__sub .p-service__textBox{
  margin-top: 16px;
  padding-left: 24px;
  border-left: 2px solid var(--primary);
}

@media screen and (max-width:768px) {
  .p-service{
  background: linear-gradient( transparent 86%, #fff 86%),url(../img/bg-gy.png) repeat top / auto;
}

.p-service__list{
  gap: 56px 16px;
}

.p-service__title{
  font-size: 1rem;
}

.p-service__main{
  flex-direction: column;
  gap: 16px;
}

.p-service__main .p-service__thum{
  width: 100%;
}

.p-service__main .p-service__textBox{
  margin-top: 0;
}

.p-service__sup{
  margin-top: 16px;
  font-size: 0.75rem;
}

.p-service__sub{
  width: 100%;
}

.p-service__sub:nth-of-type(3){
  margin-top: 0;
}

.p-service__sub:nth-of-type(4){
  margin-top: 0;
}


.p-service__sub .p-service__textBox{
  margin-top: 16px;
  padding-left: 16px;
}

}

/* company
-------------------------------------------------------- */
.p-company{
  padding-top: 80px;
  background: linear-gradient(transparent calc(100% - 150px), #fff calc(100% - 150px)),url(../img/bg-nv.png) repeat top / auto;
  color: #fff;
}

.p-company__body{
  display: flex;
  gap: 100px;
}

.p-company__contents{
  flex: 1;
}

.p-company__read{
  font-size: 14px;
  line-height: 2;
}

.p-company__info{
  margin-top: 56px;
}

.p-company__item{
  display: flex;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border);
}

.p-company__item + .p-company__item{
  margin-top: 24px;
}

.p-company__item dt{
  flex-shrink: 0;
  width: 148px;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
}

.p-company__item dd{
  font-size: 14px;
  line-height: 2;
}

.p-voucher{
  width: 100%;
  max-width: 500px;
  margin: 40px auto 0;
}

.p-map{
  position: relative;
  margin-top: 56px;
  width: 100%;
  height: 300px;
}

.p-map iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width:768px) {
.p-company{
  padding-top: 64px;
}

.p-company__body{
  flex-direction: column;
  gap: 0;
}

.p-company__info{
  margin-top: 32px;
}

.p-company__item{
  flex-direction: column;
  padding-bottom: 16px;
}

.p-company__item + .p-company__item{
  margin-top: 16px;
}

.p-company__item dt{
  width: 100%;
}

.p-map{
  margin-top: 40px;
}

}

/* recruit
-------------------------------------------------------- */
.p-recruit__main{
  position: relative;
  padding-block: 80px;
  background: url(../img/bg-gy.png) repeat top / auto;
  z-index: -1;
}

.p-recruit__pointList{
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding-bottom: 56px;
}

.p-recruit__pointItem{
  display: flex;
  gap: 16px;
  width: calc(50% - 20px);
}

.p-recruit__pointItem:nth-child(even){
  position: relative;
  top: 56px;
}

.p-recruit__pointImage{
  align-self: flex-start;
  flex-shrink: 0;
  width: 47%;
}

.p-recruit__pointTextbox{
  flex: 1;
}

.p-recruit__pointTitle{
  position: relative;
  padding-left: 30px;
  padding-top: 16px;
  color: var(--primary);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-recruit__pointTitle::before{
  content: "“";
  position: absolute;
  top: -6px;
  left: 0;
  font-size: 40px;
  font-weight: 300;
}

.p-recruit__pointRead{
  margin-top: 16px;
  padding-left: 30px;
  font-size: 0.875rem;
  line-height: 1.75;
}

.p-recruit__info{
  padding: 80px 40px;
  background: url(../img/bg-nv.png) repeat top / auto;
}

.p-recruit__infoBody{
  padding: 80px;
  background-color: #fff;
}

.p-recruit__text{
  font-size: 0.875rem;
  line-height: 2;
}

.p-recruit__infoList{
  margin-top: 48px;
}

.p-recruit__infoItem{
  display: flex;
  padding-bottom: 24PX;
  border-bottom: 1px solid var(--border);
}

.p-recruit__infoItem + .p-recruit__infoItem{
  margin-top: 24px;
}

.p-recruit__infoItem dt{
  flex-shrink: 0;
  width: 200px;
  font-size: 0.875rem;
  font-weight: 400;
  line-height:2;
}

.p-recruit__infoItem dd{
  flex: 1;
  font-size: 0.875rem;
  font-weight: 400;
  line-height:2;
}

.p-recruit__message{
  padding: 90px 40px;
  background: url(../img/recruit_bg.jpg) no-repeat center / cover;
  color: #fff;
}

.p-recruit__copy{
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  line-height:1.75;
}

.p-recruit__read{
  margin-top: 16px;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  line-height:1.75;
}

.p-recruit__read span{
  display: inline-block;
}

@media screen and (max-width:768px) {
.p-recruit__main{
  padding-block: 64px;
}

.p-recruit__pointList{
  gap: 32px;
  padding-bottom: 0;
}

.p-recruit__pointItem{
  width: 100%;
}

.p-recruit__pointItem:nth-child(even){
  top: 0;
  flex-direction: row-reverse;
}

.p-recruit__pointImage{
  width: 42%;
}

.p-recruit__pointTitle{
  padding-left: 24px;
  padding-top: 8px;
  font-size: 1rem;
  line-height: 1.75;
}

.p-recruit__pointTitle::before{
  top: -6px;
  font-size: 32px;
}

.p-recruit__pointRead{
  margin-top: 8px;
  font-size: 0.75rem;
}

.p-recruit__info{
  padding: 64px 20px;
}

.p-recruit__infoBody{
  padding: 32px 20px;
}

.p-recruit__text{
  font-size: 0.875rem;
}

.p-recruit__infoList{
  margin-top: 40px;
}

.p-recruit__infoItem{
  flex-direction: column;
  gap: 4px;
  padding-bottom: 16px;
}

.p-recruit__infoItem + .p-recruit__infoItem{
  margin-top: 16px;
}

.p-recruit__infoItem dt{
  font-size: 0.875rem;
}

.p-recruit__infoItem dd{
  font-size: 0.875rem;
}

.p-recruit__message{
  padding: 56px 20px;
}

.p-recruit__copy{
  font-size: 1.5rem;
}

.p-recruit__read{
  margin-top: 16px;
  font-size: 0.75rem;
}

}

/* contact
-------------------------------------------------------- */
.p-contact__body{
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
}

.p-contact__read{
  margin-top: 40px;
  text-align: center;
  font-size: 0.75rem;
}

/* policy
-------------------------------------------------------- */
.p-policy{
  margin-top: 160px;
}

.p-policy__list{
  margin-top: 48px;
}

.p-policy__item + .p-policy__item{
  margin-top: 32px;
}

.p-policy__item dt{
  margin-bottom: 8px;
  padding-left: 16px;
  border-left: 4px solid var(--primary);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.75;
}

.p-policy__item dd{
  font-size: 1rem;
  line-height: 2;
}

.p-policy__num{
  padding-left: 1.5em;
  list-style-position: outside;
  list-style-type: decimal;
}

.p-policy__num .p-policy__num{
  margin-block: 16px;
}

@media screen and (max-width:768px) {
  .p-policy{
    margin-top: 120px;
  }

  .p-policy__list{
    margin-top: 40px;
  }

  .p-policy__item + .p-policy__item{
    margin-top: 24px;
  }

  .p-policy__item dt{
    font-size: 1rem;
  }

  .p-policy__item dd{
    font-size: 0.875rem;
  }
}

/* ========================================================
- utility
======================================================== */
.u-link{
  color: var(--primary);
  text-decoration: underline;
  font-weight: 500;
}

.u-scrollPrevent{
  overflow: hidden;
}

.u-text{
  font-size: 1rem;
  line-height: 1.75
}

.u-center{
  text-align: center;
}

@media screen and (max-width:768px) {
  .u-text{
    font-size: 0.875rem;
  }
}

/* ========================================================
- animation
======================================================== */
.p-splash {
	position: fixed;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 9999999;
	text-align:center;
}

.p-splash__logo {
	position: absolute;
	top: 50%;
	left: 50%;
  width: 40%;
  height: auto;
	transform: translate(-50%, -50%);
}

@media screen and (max-width:768px) {
  .p-splash__logo {
    width: 60%;
  }
}


/*========= 画面遷移のためのCSS ===============*/

/*画面遷移アニメーション*/
.p-splash__bg{
    display: none;
}

.p-splash__logo{
  opacity: 0;
}

/*bodyにappearクラスがついたら出現*/
body.is-appear .p-splash__bg{
  display: block;
  content: "";
  position:fixed;
  z-index: 999;
  width: 100%;
  height: 100dvh;
  top: 0;
  left: 0;
  transform: scaleX(0);
  background-color: var(--primary);/*伸びる背景色の設定*/
  animation-name:PageAnime;
  animation-duration:1.2s;
  animation-timing-function:ease-in-out;
  animation-fill-mode:forwards;
}

@keyframes PageAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

/*画面遷移の後現れるコンテンツ設定*/
#js-container{
	opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.is-appear #js-container{
	animation-name:PageAnimeAppear;
	animation-duration:1s;
	animation-delay: 0.8s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes PageAnimeAppear{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}

/* mvテキストアニメーション */
.is-slideIn{
  opacity: 0;
  overflow: hidden;
  display: inline-block;
}

.is-slideInInner{
  display: inline-block;
}

.is-leftAnime{
  display: block;
  animation-name:slideText;
	animation-duration:2.8s;
  animation-delay: 0.8s;
	animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes slideText{
  from {
	transform: translateX(-100%); /*要素を左の枠外に移動*/
  opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.is-leftAnimeInner{
  animation-name:slideTextInner;
	animation-duration:2.8s;
  animation-delay: 0.8s;
	animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes slideTextInner{
  from {
	transform: translateX(100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.is-slideInJp{
  opacity: 0;
  overflow: hidden;
  display: inline-block;
}

.is-slideInInnerJp{
  display: inline-block;
}

.is-leftAnimeJp{
  display: block;
  animation-name:slideTextJp;
	animation-duration:2.8s;
  animation-delay: 0.8s;
	animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes slideTextJp{
  from {
	transform: translateX(-100%); /*要素を左の枠外に移動*/
  opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.is-leftAnimeInnerJp{
  animation-name:slideTextInnerJp;
	animation-duration:2.8s;
  animation-delay: 0.8s;
	animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes slideTextInnerJp{
  from {
	transform: translateX(100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

/* swiper */
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.swiper-slide-active .swiper-img,
.swiper-slide-duplicate-active .swiper-img,
.swiper-slide-prev .swiper-img {
  animation: zoomUp 3s linear 0s normal both;
}
