@charset "UTF-8";


/*================================================
* mainVisual
================================================*/


#mainVisual {
  min-height: 63vw;
  padding-bottom: 0;
  overflow-x: clip;
}

.mainVisual_wrap {
  width: 87.2222%;
  margin: 0 auto;
  position: relative;

}

.mv_catch {
  padding-top: 19.3vw;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.mv_catch h2 {
  /* font-size: 7rem; */
  /* font-size: 5rem; */
  width: 48vw;
  max-width: 67rem;
}

.mv_catch h2 strong {
  color: var(--color-yellow);
}

.mv_catch p {
  font-size: 2rem;
  margin-top: 2rem;
}


.l-fv__slider {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
}

.l-fv__slider-item {
  aspect-ratio: 360/488;
  position: absolute;
  transition: .8s ease;
  transition-property: top, left, opacity, width, transform;
}

.l-fv__slider-item img {
  height: 100%;
  left: 50%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}



.l-fv__slider-item .blur {
  position: absolute;
  height: 0;
  filter: blur(0.5rem);
  display: block;


  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
}


.l-fv__slider-item:nth-last-child(5) {
  left: 75.4vw;
  top: -9.7222vw;
  transform: rotate(-10.22deg);
  width: 25vw;
  z-index: 1;
}

.l-fv__slider-item:nth-last-child(5) img {
  z-index: 1;
}

.l-fv__slider-item:nth-last-child(5) .blur {
  width: 120%;
  padding-bottom: 150%;
  background-image: url(../images/blur05.svg);
  top: -9%;
  left: -19.8%;
  z-index: 1;
}


.l-fv__slider-item:nth-last-child(4) {
  transform: rotate(3.64deg);
  left: 54.3vw;
  top: 12vw;
  width: 30vw;
}

.l-fv__slider-item:nth-last-child(4) .blur {
  width: 113.8%;
  padding-bottom: 144.6%;
  background-image: url(../images/blur04.svg);
  top: 0;
  margin-top: 9%;
  left: 4.1%;
}




.l-fv__slider-item:nth-last-child(3) {
  transform: rotate(3.64deg);
  left: 33.54vw;
  top: 40vw;
  width: 24vw;
  z-index: 3;
}

.l-fv__slider-item:nth-last-child(3) .blur {
  width: 121.2%;
  padding-bottom: 152.2%;
  background-image: url(../images/blur03.svg);
  top: 0;
  margin-top: -17.4%;
  left: -18.3%;
}


.l-fv__slider-item:nth-last-child(2) {
  transform: rotate(-10.22deg);
  left: 16vw;
  top: 52vw;
  width: 18.9vw;
  z-index: 3;
}

.l-fv__slider-item:nth-last-child(2) .blur {
  width: 136.2%;
  padding-bottom: 169%;
  background-image: url(../images/blur02.svg);
  top: 0;
  margin-top: -10%;
  left: -8.2%;
}

.l-fv__slider-item:last-child {
  transform: rotate(3.64deg);
  left: 4.44vw;
  top: 62.777vw;
  width: 13.6vw;
  z-index: 0
}

.l-fv__slider-item:last-child .blur {
  width: 150%;
  padding-bottom: 181%;
  background-image: url(../images/blur01.svg);
  top: 0;
  margin-top: -38.16%;
  left: -41.65%;
}

@media screen and (max-width:767px) {
  #mainVisual {
    height: 160.33vw;
  }

  .mainVisual_wrap {
    width: 100%;
  }

  .mv_catch {
    padding-top: 125vw;
    padding-left: 4.33vw;
  }

  .mv_catch h2 {
    /* font-size: 7.6vw; */
    width: 100%;
    line-height: 1.3;
  }

  .mv_catch p {
    font-size: 4vw;
    margin-top: 2.66vw;
  }


  .l-fv__slider-item .blur {
    filter: blur(.2rem);
  }

  .l-fv__slider-item:nth-last-child(3) {
    left: 63.2vw;
    top: -11.46vw;
    width: 42.666vw;
    z-index: 4;
    transform: rotate(-10.22deg);
  }

  .l-fv__slider-item:nth-last-child(3) .blur {
    width: 117.6%;
    padding-bottom: 116.9%;
    top: 14%;
    left: -15.8%;

    background-image: url(../images/blur03_sp.svg);
  }

  .l-fv__slider-item:nth-last-child(2) {
    left: 29.6vw;
    top: 25vw;
    width: 54.4vw;

    transform: rotate(3.64deg);
  }

  .l-fv__slider-item:nth-last-child(2) .blur {
    width: 110%;
    padding-bottom: 141.1%;

    background-image: url(../images/blur02_sp.svg);
    top: 0;
    margin-top: 12%;
    left: 4.8%;
  }

  .l-fv__slider-item:last-child {
    left: -7.2vw;
    top: 55.4666vw;
    width: 42.4vw;
    z-index: 4;
  }

  .l-fv__slider-item:last-child .blur {
    width: 116.9%;
    padding-bottom: 148%;

    background-image: url(../images/blur01_sp.svg);
    margin-top: -19.16%;
    left: -29.65%;
  }

}

/*================================================
* secondArea
================================================*/
#secondArea {
  padding-top: 10.45vw;
  margin-top: 21vw;
  padding-bottom: 12rem;
}

#secondArea::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../images/second_top.webp);
  width: 100vw;
  height: 22vw;
  top: -21vw;
  left: 50%;
  transform: translateX(-50%);
}

#secondArea::after {
  position: absolute;
  content: "";
  height: calc(100% + 30rem);
  width: 100%;
  top: 0;
  left: 0;
  background: var(--color-bg);
}

.secondArea_wrap {
  width: 75.166%;
  margin: 0 auto;
  display: flex;
  align-items: start;
  justify-content: space-between;
  padding-right: 1.2rem;
  position: relative;
  z-index: 1;

  min-width: 108rem;
  max-width: 1600px;
}

.sArea_left h2 {
  font-weight: 700;
  font-size: 4.4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.sArea_left h2 span {
  display: block;
  font-size: 2.4rem;
  margin-bottom: 1.2rem;
}

.sArea_right {
  position: relative;
  z-index: 1;
}

.sArea_right::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../images/second_bg.webp);
  width: 59.6vw;
  height: 93.125vw;
  top: -22.3vw;
  left: -24vw;
  z-index: -1;
}

.sArea_right p {
  line-height: 2;
  margin-bottom: 1.5em;
  letter-spacing: 0.1em;
}

.sArea_right .c_btn-box {
  margin-top: 9rem;
}

@media screen and (max-width:767px) {
  #secondArea {
    padding-top: 0;
    margin-top: calc(25.33vw + 4.4rem);
    padding-bottom: 12rem;
    overflow-x: clip;
  }

  #secondArea::before {
    background-image: url(../images/second_top_sp.webp);
    height: 25.33vw;
    top: -25.33vw;
  }

  .secondArea_wrap {
    width: 100%;
    min-width: unset;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0;
    gap: 6.2rem 0;
  }

  .sArea_left h2 {
    font-size: 2.8rem;
    text-align: center;
  }

  .sArea_left h2 span {
    font-size: 1.6rem;
    margin-bottom: 1.2rem;
  }

  .sArea_right {
    width: 81%;
  }

  .sArea_right p {
    line-height: 1.7;
  }

  .sArea_right::before {

    width: 120vw;
    height: 156.8vw;
    top: 27.66vw;
    left: -11.533vw;
  }

  .sArea_right .c_btn-box {
    margin-top: 4.2rem;
  }

  .sArea_right .c_btn-box a {
    margin: 0 auto;
  }
}

/*================================================
* topService
================================================*/
#topService {
  z-index: 1;
  padding-bottom: 0;
}

/* #topService h2::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../images/service_ttl-ill.webp);
  width: 13.8rem;
  height: 13.7rem;
  top: 50%;
  left: -15rem;
  transform: translateY(-50%);
} */

.topService_list {
  background: var(--color-white);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}


.topService_box {
  padding: 1.8rem 0 2rem;
}

.topService_box-inner {
  border-right: 1px solid var(--color-gray);
  position: relative;
  padding: 9.5rem 5.5rem 12.5rem;
}

.topService_box:last-of-type .topService_box-inner {
  border: none;
}

.topService_box-inner h3 {
  position: absolute;
  left: 7.5%;
  top: 1.8rem;
  font-size: 3rem;
  font-weight: 600;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.1em;
  line-height: 1.4;
}

.topService_box-inner img {
  max-width: 18rem;

  width: 37.4%;
  min-width: 14rem;
  margin: 0 auto 7rem;
  display: block;
}

@media screen and (max-width:767px) {
  #topService h2::before {
    width: 8.2rem;
    height: 8rem;
    top: -4.5rem;
    left: -7rem;
    transform: translateY(0%);
  }

  .topService_list {
    grid-template-columns: repeat(1, 1fr);
  }

  .topService_box {
    padding: 0rem 1.7rem 0;
  }

  .topService_box-inner {
    border-right: none;
    border-bottom: 1px solid var(--color-gray);
    padding: 8.2rem 1rem 5rem;
  }

  .topService_box-inner img {
    width: 50%;
    min-width: unset;
    margin: 0 auto 3.2rem;
  }

  .topService_box-inner h3 {
    font-size: 2.4rem;
    left: 0;
    top: 0;
    margin-left: 2%;
    margin-top: clamp(1px, 15.3%, 5.4rem);
    line-height: 1.3;
  }
}

/*================================================
* topVoice
================================================*/
#topVoice {
  background: #EBF2F7;
  z-index: 1;
}


/* #topVoice h2::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../images/voice_ttl-ill.webp);
  width: 6.9rem;
  height: 7rem;
  top: -1.3rem;
  right: -6.1rem;

} */

@media screen and (max-width:767px) {
  #topVoice h2::before {
    width: 4.1rem;
    height: 4.1rem;
    top: -1.5rem;
    right: -3.7rem;

  }
}

/*================================================
* topStory
================================================*/
/* #topStory h2::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../images/story_ttl-ill.webp);
  width: 9.4rem;
  height: 7.8rem;
  top: 2.6rem;
  left: -10.6rem;
} */

.story_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #D9D9D9;
  border-bottom: 1px solid #D9D9D9;
  margin-bottom: 7.2rem;
}



.story_box {
  position: relative;
}

.story_box:not(:nth-child(4)):before {
  position: absolute;
  content: "";
  width: 1px;
  height: calc(100% - 4rem);
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: #D9D9D9;
}

.story_box a {
  padding: 4.5rem 4rem 5.6rem;
  height: 100%;
  position: relative;
  display: block;
}

.story_box a::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../images/icon_btn_arrow.webp);
  width: 1.6rem;
  height: 1.4rem;
  bottom: 2.6rem;
  right: 2rem;
  transition: all 0.4s ease;
}

.story_box a:hover::before {
  right: 1rem;
}

.story_box a .img {
  overflow: hidden;
  aspect-ratio: 270 / 220;
}

.story_box a .img img {
  transition: all 2s ease;
  height: 100%;
  max-width: unset;
  width: 100%;
  overflow: hidden;
  object-fit: cover;
}

.story_box a:hover .img img {
  transform: scale(1.1);
  transition: all 0.2s ease;
}

.story_box .label {
  position: absolute;
  font-weight: 700;
  background: var(--color-blue);
  padding: 0.5rem 1rem;
  border-radius: 0 0 1rem 0;
  top: 0;
  left: 0;
  color: var(--color-white);
  font-size: 1.4rem;
}

.story_box .name {
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  margin: 3.4rem 0 0.4rem;
}

.story_box .co {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  opacity: .4;
  margin-bottom: 2.6rem;
}




@media screen and (max-width:767px) {
  #topStory h2::before {
    width: 7.8rem;
    height: 6.48rem;
    top: -3.2rem;
    left: -8.1rem;
  }

  .story_list {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 4.6rem;
  }

  .story_box:not(:nth-child(4)):before {
    width: calc(100% - 3.6rem);
    height: 1px;
    right: auto;
    top: auto;
    transform: translateY(0%);
    bottom: 0;
    left: 0;
  }

  .story_box a {
    padding: 4.5rem 3.7rem 5.6rem;
  }

  .story_box a::before {
    right: 3.6rem;
  }

  .story_box a:hover::before {
    right: 2.6rem;
  }


  .story_box .label {
    font-size: 1.2rem;
  }

  .story_box .name {
    font-size: 1.8rem;
    margin: 1.7rem 0 0.7rem;
  }

  .story_box .co {
    font-size: 1.3rem;
    margin-bottom: 1.6rem;
  }
}

/*================================================
* #topInfo
================================================*/
#topInfo {
  padding-top: 3.5rem;
}

.topInfo_wrap {
  display: flex;
  justify-content: space-between;
}


.info_ttl .hd {
  margin-left: 0;
}

/* .info_ttl .hd::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../images/info_ttl-ill.webp);
  width: 13.2rem;
  height: 11.8rem;
  bottom: -13.7rem;
  right: -1.5rem;
  pointer-events: none;
} */

.info_ttl .hd span {
  text-align: left;
  margin-left: 0;
}

.info_ttl .hd .en {
  font-size: 5.6rem;
}

#topInfo .info_list {
  width: 64.16%;
}



.info_banner {
  width: 58rem;
  margin: 6.5rem auto 0;
}


.info_banner a {
  display: flex;
  align-items: stretch;
  background: var(--color-bg);
  border: 1px solid var(--color-gray);
  position: relative;
}

.info_banner a img {
  width: 29.3%;
}

.info_banner a .ttl {
  display: block;
  padding: 2.5rem 0 2.5rem 4.3rem;
  font-size: 2rem;
  font-weight: 700;
}

.info_banner a .circle_blank {
  display: grid;
  place-content: center;
  width: 6.1rem;
  height: 6.1rem;
  background: var(--color-white);
  border-radius: 1000px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.4rem;
  padding-left: 0.8rem;
  padding-bottom: 0.4rem;
  transition: all .4s;
}

.info_banner a:hover .circle_blank {
  background: var(--color-blue);
}

.info_banner a .circle_blank i {
  width: 2.43rem;
  height: 2.49rem;
}

.info_banner a:hover .circle_blank i {
  background-image: url(../images/icon_blank_wt.webp);
}


@media screen and (max-width:767px) {

  .topInfo_wrap {
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 3.6rem;
  }


  .info_ttl .hd {
    margin-left: auto;
  }

  .info_ttl .hd::before {

    width: 8.3rem;
    height: 7.4rem;
    bottom: auto;
    top: -7.8rem;
    right: -1.3rem;
  }

  .info_ttl .hd span {
    text-align: center;
    margin-left: auto;
  }

  .info_ttl .hd .en {
    font-size: 4.6rem;
  }

  #topInfo .info_list {
    width: 100%;
  }




  .info_banner {
    width: 88.2%;
    margin: 7.4rem auto 0;
  }


  .info_banner a {
    flex-wrap: wrap;
  }

  .info_banner a img {
    width: 100%;
    height: 12rem;
    overflow: hidden;
    object-fit: cover;
  }

  .info_banner a .ttl {
    padding: 1.4rem 0 1.4rem 1.8rem;
    font-size: 1.7rem;
  }

  .info_banner a .circle_blank {
    width: 4rem;
    height: 4rem;
    top: 14rem;
    transform: translateY(0%);
    right: 1rem;
    padding-left: 0.4rem;
  }

  .info_banner a .circle_blank i {
    width: 1.58rem;
    height: 1.67rem;
  }

}

/*================================================
* 
================================================*/

@media screen and (max-width:767px) {}

/*================================================
* 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
* 
================================================*/

@media screen and (max-width:767px) {}

/*================================================
* 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
* 
================================================*/

@media screen and (max-width:767px) {}

/*================================================
* 
================================================*/


@media screen and (max-width:767px) {}

/*================================================
* 
================================================*/

@media screen and (max-width:767px) {}

/*================================================
* 
================================================*/


@media screen and (max-width:767px) {}



@media screen and (max-width:767px) {}