/* ======================================================== */
/* MAIN VISUAL */
.c-mainvisual {
  width: 100%;
  position: relative;
  /* z-index: 0; */
  display: flex;
  height: 100vh;
}
.c-mainvisual-slider{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 980px;
  max-height: 90.8%;
  /* overflow: hidden; */
  max-width: 1280px;
  border-bottom-left-radius: 100px;
}
.c-mainvisual::after {
  content: "";
  background: #5D5FAC;
  height: 2160px;
  width: 2160px;
  border-radius: 50%;
  position: absolute;
  top: -315px;
  left: 52.8%;
  transform: translateX(-50%);
  z-index: -1;
  opacity: 0.06;
}
.c-mainvisual-slider img,
.c-mainvisual-slider video {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  border-bottom-left-radius: 100px;
}


.c-mainvisual__title{
  font-size: 80px;
  background: linear-gradient(90deg, #5D5FAC 0%, #5C5ED5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
.c-mainvisual__content{
  position: absolute;
  line-height: 1.3;
  left: 120px;
  top: 52%;
  transform: translateY(-50%);
  z-index: 9;
}
.c-mainvisual__content h3{
  line-height: 1.6;
}
.c-mainvisual__content p{
  line-height: 1.7;
}
/** custom */

@media(max-width: 1024px){
  .c-mainvisual-slider{
    border-radius: 0;
    max-height: 100%;
    height: 100%;
  }
  .c-mainvisual-slider img, .c-mainvisual-slider video{
    border-radius: 0;
  }
  .c-mainvisual__title{
    font-size: 55px;
  }
  .c-mainvisual__content h3,
  .c-mainvisual__content p{
    color: #fff;
  }
  .c-mainvisual-slider::after {
    content: "";
    background: #111;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0.2;
  }
  .c-mainvisual__content{
    left: 50px;
  }
}
@media(max-width: 768px){
  .c-mainvisual{
    height: 680px;
  }
  .c-mainvisual-slider{
    top: 70px;
    height: 300px;
  }
  .c-mainvisual__content h3, .c-mainvisual__content p{
    color: #111;
  }
  .c-mainvisual__title{
    font-size: 34px;
  }
  .c-mainvisual__content{
    left: 7%;
    top: auto;
    transform: unset;
    bottom: -150px;
    padding-right: 10px;
  }
  .c-mainvisual__content h3{
    font-size: 22px;
    margin-top: 10px !important;
  }
  .c-mainvisual__content p{
    font-size: 11px;
  }
}
@media(max-width: 350px){
  .c-mainvisual__content{
    left: 15px;
  }
}
/**Block1*/
.block1::before{
  position: absolute;
  top: 19%;
  left: 0;
  background-image: url('../images/top/bg4.png');
  height: 2397px;
  width: 100%;
  background-size: cover;
}
/**end Block1*/
/* MARQUEE */
.c-marquee {
  display: flex;
  white-space: nowrap;
  width: 300%;
  overflow: hidden;
  font-family: sans-serif;
  position: absolute;
  left: -100%;
  bottom: -240px;
  z-index: 5;
}

.c-marquee__text {
  font-size: 400px;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0;
  font-family: YuMincho;
  padding: 0 50px;
  color: #fff;
  -webkit-animation-name: marquee;
  animation-name: marquee;
  -webkit-animation-duration: 30s;
  animation-duration: 30s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  opacity: 0.6;
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}
@media screen and (max-width: 1024px) {
  .c-marquee {
  bottom: -40px;
  }
  .c-marquee__text {
    font-size: 220px;
    line-height: 1;
    -webkit-animation-duration: 20s;
    animation-duration: 20s;
  }
}
@media screen and (max-width: 768px) {
  .c-marquee {
    bottom: -137%;
    z-index: 1;
  }
  .c-marquee__text {
    font-size: 400px;
    padding: 0 20px;
  }
}
/* END MARQUEE */
/**Profile*/
.c-profile{
  max-width: 920px;
  margin: auto;
  padding: 0 20px;
}
.c-profile dl{
  display: flex;
  font-size: 16px;
  gap: 20px;
}
.c-profile dt,
.c-profile dd{
  padding: 28px 0;
}
.c-profile dt{
  width: 150px;
  border-bottom: 1px solid #5D5FAC;
  text-align: center;
}
.c-profile dd{
  border-bottom: 1px solid #ccc;
  padding-left: 30px;
  flex: 1;
}
.c-map{
  max-width: 1120px;
}
.c-map iframe{
  height: 390px;
  border-radius: 50px;
}
@media(max-width: 767px){
  .c-profile dl{
    gap: 5px;
  }
  .c-profile dt,
  .c-profile dd{
    padding: 10px 0;
    font-size: 13px;
  }
  .c-profile dt{
    width: 105px;
  }
  .c-map iframe{
    height: 250px;
    border-radius: 20px;
  }
}
/**End Profile*/
/**Info*/
.c-info{
  display: flex;
  max-width: 1437px;
  align-items: flex-end;
}
.c-info__slider{
  width: 880px;
  border-radius: 60px;
}
.c-info__slider img{
  display: block;
  border-radius: 60px;
  width: 100%;
}
.c-info__slider .swiper-pagination{
  padding-left: 50%;
}
.c-info__content{
  width: 655px;
  background-color: #fff;
  padding: 5px 84px 50px 76px;
  border-radius: 60px;
  border-bottom-left-radius: 0;
  margin-left: -177px;
  margin-bottom: 45px;
  position: relative;
  z-index: 2;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
.c-info__content .--bg{
  background-color: rgba(93,95,172,0.2);
  padding: 2px 1px;
}
.c-info__content span{
  padding: 8px 27px;
  border-radius: 60px;
  color: #fff;
  background: linear-gradient(90deg, #5D5FAC 0%, #8082D5 100%);
  transform: translateY(-29px);
  display: inline-block;
}
@media(max-width: 1024px){
  .c-info{
    flex-wrap: wrap;
    max-width: 700px;
    gap: 60px;
  }
  .c-info__content{
    width: 100%;
    margin-left: 0;
    text-align: center;
    border-radius: 60px;
  }
  .c-info__slider .swiper-pagination{
    padding-left: 0;
  }
  .c-info__content span{
    transform: translateY(-20px);
  }
}
@media(max-width: 768px){
  .c-info__slider,
  .c-info__content,
  .c-info__slider img{
    border-radius: 30px;
  }
  .c-info__content{
    padding: 0 20px 30px;
    margin-bottom: 0;
  }
  .c-info__content span{
    padding: 5px 15px;
    font-size: 13px;
    transform: translateY(-15px);
  }
  .c-info__content h2{
    font-size: 18px;
  }
  .c-info__content p{
    font-size: 13px;
  }
}
/**End Info*/
/**Number List*/

.c-numberList{
  max-width: 1116px;
}
.c-numberList__item{
  padding-left: 60px;
  position: relative;
}
.c-numberList__item ~ .c-numberList__item{
  margin-top: 43px;
}
.c-numberList__item .--label{
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  font-size: 24px;
  font-family: YuMincho;
  color: #5D5FAC;
  padding-bottom: 30px;
}
.c-numberList__item .--label::after{
  content: "";
  width: 1px;
  height: 61px;
  background-color: #707070;
  position:absolute;
  right: -20px;
  bottom: -5px;
  transform: rotate(45deg);
}
.c-numberList__item .--inner{
  padding: 0 25px 45px 30px;
  border-bottom: 1px dashed #707070;
  display: flex;
  gap: 50px;
}
.c-numberList__item .--gradient {
  background: linear-gradient(90deg, #5D5FAC 0%, #8082D5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  width: 105px;
  font-size: 100px;
  font-family: YuMincho;
  line-height: 1;
  display: inline-block;
  margin-top: 6px;
}
.c-numberList__item.active{
  padding-top: 45px;
}
.c-numberList__content{
  flex: 1;
}
@media(max-width: 768px){
  .c-numberList__item{
      padding-left: 0;
      text-align: center;
  }
  .c-numberList__item .--inner{
    padding: 0 0 25px;
    gap: 15px;
    flex-wrap: wrap;
  }
  .c-numberList__item ~ .c-numberList__item{
    margin-top: 18px;
  }
  .c-numberList__item .--gradient{
    font-size: 50px;
    width: 100%;
  }
  .c-numberList__item.active .--gradient{
  }
  .c-numberList__item .--label{
    padding-bottom: 0;
    font-size: 16px;
    top: 25px;
    left: 28%;
  }
  .c-numberList__item .--label::after{
    height: 30px;
    right: -10px;
    bottom: -11px;
  }
}
/**End Number List*/
