/* ========== h2 ========== */
.top h2 {
  font-family: 'Roboto', sans-serif;
  font-size: 8.4rem;
  font-style: italic;
  font-weight: 600;
  padding-top: .5em;
  text-align: center;
  margin-bottom: 2.5rem;
}
.top h2 span {
  font-weight: 300;
}
.top h2 .common__title__h2_ja {
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-size: 2.4rem;
  font-weight: 400;
  margin-top: -1rem;
}


/* ========== line ========== */
.top .common__line {
  top: 62rem;
}

@media screen and (max-width:767px) {
  .top .common__line {
    top: 21%;
  }
}


/* ========== kv ========== */
.top__kv {
  position: relative;
  padding-bottom: 11rem;
  margin-top: -1rem;
}

.top__kv h1 {
  position: absolute;
  top: 11.5rem;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateX(25rem);
  width: fit-content;
  font-size: 5.078rem;
  font-weight: 500;
  line-height: 1.3em;
  z-index: 2;
  animation: topSlide .4s both ease-in-out .5s;
  animation-delay: 1s;
}

.top__kv h1 .top__kv__h1--bg_blue {
  display: inline-block;
  background-color: #42a0d9;
  font-weight: 500;
}

.fv_txt {
  position: absolute;
  width: 40.7rem;
  top: 45rem;
  right: 14rem;
}

@media screen and (max-width: 767px) {
  .top__kv {
    padding-bottom: 15rem;
  }
}

/* splide */
.splide {
  pointer-events:none;
}

.splide__track--nav>.splide__list>.splide__slide.is-active {
  border: none;
}

/* ========== scroll ========== */
.scroll_wrap {
  position: absolute;
  right: 3rem;
  bottom: 28rem;
  animation: scroll 1.5s infinite;
}
.scrolldown4 span{
  position: absolute;
  left: -1.5rem;
  top: -5rem;
  color: #eee;
  font-size: 2rem;
  letter-spacing: 0.05em;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
.scrolldown4:after{
  animation: recruitArrow 1.8s ease infinite;
  background: url(../img/top/common__recruit__arrow.svg) no-repeat center top / 100% auto;
  content: '';
  height: 13.5rem;
  left: 50%;
  position: absolute;
  top: 1.5em;
  transform: translateX(-50%);
  width: 1.355rem;
}

@keyframes recruitArrow {
  0% {
    background-position: center top -13.8rem;
  }
  35%,65% {
    background-position: center top 0;
  }
  100% {
    background-position: center bottom -13.8rem;
  }
}

.top__kv .top__kv__letter {
  position: absolute;
  top: 1rem;
  left: 0;
  right: 0;
  overflow: hidden;
}

#mask path,
#mask line,
#mask2 path,
#mask2 line{
  fill:none;
  stroke:#ffffff;
  stroke-width:7;
  stroke-dasharray: 1800px;
  stroke-dashoffset: 1800px;
  animation: line 4s forwards;
}

/* Animation for each path with delay */
#mask path:nth-child(1) {
  animation-duration: 3s;
  animation-delay: 1.5s;
}
#mask path:nth-child(2) {
  animation-delay: 2s;
}
#mask path:nth-child(3) {
  animation-delay: 2.3s;
}
#mask path:nth-child(4) {
  animation-delay: 2.7s;
}
#mask path:nth-child(5) {
  animation-delay: 2.8s;
}
#mask path:nth-child(6) {
  animation-duration: 3s;
  animation-delay: 3.3s;
}
#mask path:nth-child(7) {
  animation-delay: 3.8s;
}
#mask path:nth-child(8) {
  animation-delay: 4s;
}
#mask path:nth-child(9) {
  animation-duration: 2.5s;
  animation-delay: 4.5s;
}
#mask path:nth-child(10) {
  animation-duration: 3s;
  animation-delay: 4.9s;
}
#mask path:nth-child(11) {
  animation-delay: 5.3s;
}
#mask path:nth-child(12) {
  animation-delay: 5.9s;
}
#mask path:nth-child(13) {
  animation-delay: 6.2s;
}
#mask path:nth-child(14) {
  animation-delay: 6.5s;
}
#mask path:nth-child(15) {
  animation-delay: 6.7s;
}

/* txt2 */
#mask2 path:nth-child(1) {
  animation-duration: 3s;
  animation-delay: 1.5s;
}
#mask2 path:nth-child(2) {
  animation-delay: 2s;
}
#mask2 path:nth-child(3) {
  animation-delay: 2.3s;
}
#mask2 path:nth-child(4) {
  animation-delay: 2.7s;
}
#mask2 path:nth-child(5) {
  animation-delay: 2.8s;
}
#mask2 path:nth-child(6) {
  animation-duration: 3s;
  animation-delay: 3.3s;
}
#mask2 path:nth-child(7) {
  animation-delay: 3.5s;
}
#mask2 path:nth-child(8) {
  animation-delay: 3.8s;
}
#mask2 path:nth-child(9) {
  animation-duration: 2.5s;
  animation-delay: 4s;
}
#mask2 path:nth-child(10) {
  animation-duration: 3s;
  animation-delay: 4.3s;
}
#mask2 path:nth-child(11) {
  animation-delay: 4.6s;
}
#mask2 path:nth-child(12) {
  animation-delay: 4.8s;
}
#mask2 line:nth-child(13) {
  animation-delay: 5s;
}
#mask2 path:nth-child(14) {
  animation-delay: 5.2s;
}

@keyframes line{
  0%{stroke-dashoffset: 1800px;}
  100%{stroke-dashoffset: 0;}
}
#text{
  mask: url(#mask-wrapper);
  fill: #fff;
}

#text2{
  mask: url(#mask-wrapper2);
  fill: #fff;
}


@media screen and (max-width:767px) {
  .top__kv h1 {
    top: 5rem;
    left: 5rem;
    right: auto;
    transform: none;
  }

  .top__kv .top__kv__letter {
    top: 19rem;
    left: 5rem;
    width: 80rem;
  }

  .scroll_wrap {
    bottom: 32rem;
  }
}


/* ========== top__message ========== */
.top__message {
  position: relative;
  padding: 0 13.6rem 0;
  text-align: center;
}

.top__message .title {
  display: inline-block;
  font-size: 4.3rem;
  border-bottom: solid .3rem #42a0d9;
  padding-bottom: .8rem;
  text-underline-offset: 1.2rem;
  text-align: center;
  font-style: italic;
}

.top__message__text {
  font-size: 2.5rem;
  line-height: 3.7rem;
  letter-spacing: .2rem;
  text-align: center;
  margin: 6rem 0 0;
}

@media screen and (max-width:767px) {
  .top__message {
    padding: 0 5rem 0;
    overflow: hidden;
  }

  .top__message__text {
    font-size: 3rem;
    line-height: 5rem;
    letter-spacing: initial;
    margin-bottom: 0;
  }
}


/* ========== top__about ========== */
.top__about {
  position: relative;
  padding-top: 11rem;
  
}

.top__about h2 {
  text-align: left;
}

.top__about h2 .common__title__h2_ja {
  display: table;
}

.top__about__message__text {
  position: absolute;

  background-color: #e4ecef;
  height: 44.3rem;
  width: 110rem;
  right: 46rem;
  top: 94.5%;
  z-index: -1;
}

.top__about__message__text p {
  width: 44rem;
  line-height: 1.5em;
  margin-top: 6rem;
  margin-bottom: 6rem;
  margin-left: auto;
  margin-right: 17rem;
}

.top__about__image_01 {
  position: absolute;
  top: 37rem;
  right: -36rem;
  width: 91.5rem;
}

.top__about__image_02 {
  position: absolute;
  top: 75rem;
  left: 16rem;
  width: 45.7rem;
}

@media screen and (max-width: 767px) {
  .top__about h2{
    width: 58.7rem;
    margin: 0 auto;
  }

  .top h2 .common__title__h2_ja {
    font-size: 3.6rem;
    margin-top: .5rem;
  }

  .top__about__message__text {
    position: relative;
    text-align: left;
    width: 100%;
    left: 0;
    margin: -2rem auto 0;
    height: auto;
    padding: 8rem 0 5rem;
  }

  .top__about__message__text p {
    width: 59rem;
    margin: 0 auto;
  }

  .top__about__image_01 {
    position: initial;
  }
  .top__about__image_02 {
    top: unset;
    bottom: 15rem;
    left: 4.5rem;
    width: 22.81rem;
    z-index: 2;
  }
}


/* ========== business__project ========== */
.business__project {
  position: relative;
  margin-top: 70rem;
  padding-top: 15rem;
  z-index: 1;
}

.business__project .common__inner {
  position: relative;
  z-index: 2;
}

.business__project .business__project__text {
  margin: auto;
  padding-bottom: 7rem;
  width: 52rem;
  line-height: 1.7;
  text-align: center;
}

.business__project .common__pages__section-title {
  display: block;
  font-size: 3.6rem;
  padding: 0 2rem;
  margin-bottom: 0;
  background-color: #fff;
}

.business__project .common__pages__section-title {
  margin: 0 auto 3.5rem;
}

.business__project .common__pages__section-text {
  margin: 0 auto 8.5rem;
  text-align: center;
}

.business__project__list__item {
  opacity: 0;
  transform: translateY(10rem);
  transition: 1s;
  transition-delay: .5s;
}

.business__project__list__item.active {
  opacity: 1;
  transform: translateY(0);
}

.business__project__list__item__title {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0 auto 4rem;
  text-align: center;
}

.business__project__list__item--02 .business__project__list__item__title,
.business__project__list__item--03 .business__project__list__item__title {
  margin: 0 auto 3rem;
}

.business__project__list__item__title__number {
  font-family: "Roboto", sans-serif;
  font-style: italic;
  font-size:12.7rem;
  font-weight: 300;
  line-height: 0.9;
  margin: 0 0 0 0.2em;
}

.business__project__list__item__title__text {
  font-size:2.8rem;
}

.business__project__list__item__detail{
  background: rgba(255,255,255,0.9);
  border:0.2rem solid #aec6cf;
  margin: 0 auto 12rem;
  width: 100%;
}

.business__project__list__item--02 .business__project__list__item__detail {
  margin: 0 auto 13rem;
}

.business__project__list__item--03 .business__project__list__item__detail {
  margin: 0 auto;
}

.business__project__list__item--01 .business__project__list__item__detail {
  padding: 7rem 0;
}

.business__project__list__item--02 .business__project__list__item__detail,
.business__project__list__item--03 .business__project__list__item__detail {
  padding: 5.5rem 0;
}

.business__project__list__item__detail__title{
  font-size:2.60983rem;
  margin: 0 auto 3rem;
  text-align: center;
}

.business__project__list__item--03 .business__project__list__item__detail__title {
  line-height: 1.4;
  margin: 0 auto 2.5rem;
}

.business__project__list__item--01 .business__project__list__item__detail__image {
  margin: 0 auto 5.5rem;
  width:78.37341rem;
}

.business__project__list__item--02 .business__project__list__item__detail__image {
  margin: 0 auto 2rem;
  width:74.17789rem;
}

.business__project__list__item--03 .business__project__list__item__detail__image {
  margin: 0 auto 4.5rem;
  width:75.04rem;
}

.business__project__list__item__detail__text {
  font-size:2rem;
  line-height: 1.5;
  text-align: center;
}

.business__project__list__item__detail__text span {
  display: inline-block;
  padding:0 0.2em 0.2em;
}

.business__project__list__item__detail__text span.kern_pc {
  margin-left:-0.4em;
}

.business__project__list__item--03__detail__elm {
  background: #e4ecef;
  margin: 0 auto 2.5rem;
  padding: 3rem 0;
  position: relative;
  width: 88.6rem;
}
.business__project__list__item--03__detail__elm:before {
  background: url("../img/top/business__project__list__item--03__detail__elm__arrow.svg") no-repeat center/100% auto;
  content:'';
  height:11.05rem;
  left: 22.4rem;
  position: absolute;
  top:-10rem;
  width:7.78013rem;
}
.business__project__list__item--03__detail__elm__title{
  font-size:2.3rem;
  margin: 0 auto 3rem;
  text-align: center;
}
.business__project__list__item--03__detail__elm__list--wrap{
  display: flex;
  justify-content: space-between;
  margin: 0 auto 0;
  width: 80.5rem;
}
.business__project__list__item--03__detail__elm__list{
  width: 39.1rem;
}
.business__project__list__item--03__detail__elm__list__title{
  align-items: center;
  background: #42a0d9;
  color:#fff;
  display: flex;
  height: 14.2rem;
  justify-content: center;
  margin: 0 0 2rem;
  text-align: center;
  width: 100%;
}
.business__project__list__item--03__detail__elm__list__title dl{
}
.business__project__list__item--03__detail__elm__list__title dt{
  font-size:2.3rem;
  font-weight: normal;
  padding: 0 0 1rem;
}
.business__project__list__item--03__detail__elm__list__title dd{
  font-size:1.88225rem;
  font-weight: normal;
}
.business__project__list__item--03__detail__elm__list__title dd span{
  background: #fff;
  border-radius: 50%;
  display: inline-block;
  height: 0.7em;
  margin: 0 0.1em 0em 0;
  width: 0.7em;
}
.business__project__list__item--03__detail__elm__list__text{
  font-size:1.5rem;
  line-height: 1.5;
  margin: auto;
  text-align: justify;
  width: 32.18675rem;
}

@media screen and (max-width: 767px) {
  .business__project{
    margin-top: -5rem;
    padding-bottom: 0;
  }
  .business__project .business__project__text{
    font-size: 2.5rem;
    padding-top: .5rem;
    padding-bottom: 7.5rem;
    width: 66rem;
  }
  .business__project .common__pages__section-title{
    margin: 2rem auto 3.5rem;
  }
  .business__project .common__pages__section-text{
    font-size:2.8rem;
    line-height: 1.5;
    margin: 0 auto 6.5rem;
    text-align: center;
  }
  .business__project__list__item__title{
    align-items: center;
    display: flex;
    flex-direction: column;
    margin: 0 auto 4rem;
    text-align: center;
  }
  .business__project__list__item--02 .business__project__list__item__title,
  .business__project__list__item--03 .business__project__list__item__title{
    margin: 0 auto 3rem;
  }
  .business__project__list__item__title__number{
    margin: 0 0 0 0.1em;
  }
  .business__project__list__item__title__text{
    margin: 0 1em 0 0;
  }
  .business__project__list__item__detail{
    background: rgba(255,255,255,0.9);
    border:0.2rem solid #aec6cf;
    margin: 0 auto 10rem;
    width: 68.7rem;
  }
  .business__project__list__item--02 .business__project__list__item__detail{
    margin: 0 auto 10rem;
  }
  .business__project__list__item--03 .business__project__list__item__detail{
    margin: 0 auto;
  }
  .business__project__list__item--01 .business__project__list__item__detail{
    padding: 6rem 0;
  }
  .business__project__list__item--02 .business__project__list__item__detail{
    padding: 5.5rem 0 6rem;
  }
  .business__project__list__item--03 .business__project__list__item__detail{
    padding: 5rem 0 5.5rem;
  }
  .business__project__list__item__detail__title{
    font-size:3.3rem;
    margin: 0 auto 3rem;
    text-align: center;
  }
  .business__project__list__item--01 .business__project__list__item__detail__image{
    margin: 0 auto 5rem;
    width:58.23722rem;
  }
  .business__project__list__item--02 .business__project__list__item__detail__image{
    margin: 0 auto 2.5rem;
    width:64.15617rem;
  }
  .business__project__list__item--03 .business__project__list__item__detail__image{
    margin: 0 auto 6rem;
    width:64.33091rem;
  }
  .business__project__list__item__detail__text{
    font-size:2.5rem;
    line-height: 1.5;
    text-align: center;
  }
  .business__project__list__item__detail__text span{
    display: inline-block;
    padding:0 0.2em 0.2em;
  }
  .business__project__list__item__detail__text span.kern_pc{
    margin-left:0;
  }
  .business__project__list__item--03__detail__elm{
    margin: 0 auto 5.5rem;
    padding: 3rem 0;
    width: 63.5rem;
  }
  .business__project__list__item--03__detail__elm:before{
    left: 20.4rem;
    top: -8rem;
  }
  .business__project__list__item--03__detail__elm__title{
    font-size:2.8rem;
    margin: 0 auto 2.5rem;
  }
  .business__project__list__item--03__detail__elm__list--wrap{
    display: block;
    margin: 0 auto;
    width: 54.88675rem;
  }
  .business__project__list__item--03__detail__elm__list{
    width: 54.88675rem;
  }
  .business__project__list__item--03__detail__elm__list__title{
    height: 18.61726rem;
    justify-content: center;
    margin: 0 auto 2rem;
    text-align: center;
    width: 51.26301rem;
  }
  .business__project__list__item--03__detail__elm__list__title dt{
    font-size:3.01547rem;
    padding: 0 0 1.5rem;
  }
  .business__project__list__item--03__detail__elm__list__title dd{
    font-size:2.46777rem;
    font-weight: normal;
  }
  .business__project__list__item--03__detail__elm__list__text{
    font-size:2.2rem;
    line-height: 1.5;
    margin: 0 0 5rem;
    width: 100%;
  }
  .business__project__list__item--03__detail__elm__list:last-child .business__project__list__item--03__detail__elm__list__text{
    margin: 0;
  }

  .business__project .line {
    height: .1rem;
    width: 100%;
    background-color: #000;
    margin-top: -4.7rem;
  }
}


/* ========== vision__future ========== */
.vision__future{
  margin: 0 0 17rem;
  padding-top: 8rem;
}
.headline{
  position: relative;
  display: inline-block;
  color: #ffffff;
  font-size: 19.6rem;
  text-shadow:
      1px  1px 0px #000000,
    -1px  1px 0px #000000,
      1px -1px 0px #000000,
    -1px -1px 0px #000000,
      1px  0px 0px #000000,
      0px  1px 0px #000000,
    -1px  0px 0px #000000,
      0px -1px 0px #000000;
      padding-left: 20rem;
}
.vision__future h2 .common__title__h2_ja {
  color: #000;
  text-shadow: none;
  display: table;
  position: absolute;
  left: 57rem;
  top: 5rem;
}
.vision__future .common__text--bg_white {
  display: table;
  font-size: 3.6rem;
  font-weight: 600;
  margin-top: .8rem;
}
.vision__future .txt_wrap {
  margin: 0 auto 3rem;
  width: 93.7rem;
}
.vision__future__message__text {
  color: #fff;
  font-size: 2rem;
  line-height: 2em;
  padding: 3.5rem 0;
}
.vision__future__item__bg {
  background-image: url(../img/top/top_vision_bg--pc.webp);
  background-position: top center;
  background-size: cover;
  height: 120.7rem;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  margin-top: -6.5rem;
  padding: 9rem 0;
}
.vision__future__item{
  background-color: #fff;
  height: 67rem;
  margin: 0 auto 3rem;
  padding: 11rem 0 3rem;
  width: 93.7rem;
}
.vision__future__item__title{
  font-size:3.6rem;
  margin: 0 0 13rem;
  text-align: center;
}
.vision__future__item__figure{
  position: relative;
}
.vision__future__item__figure img{
  opacity: 0;
  position:absolute;
  transition-duration: .2s;
}
.vision__future__item__figure img.active{
  animation-name: fadeIn;
  animation-duration: .2s;
  animation-fill-mode: forwards;
}

.vision__future__item__figure__item01{
  margin: 0 auto 8rem;
  position: relative !important;
  width: 65.8rem;
}
.vision__future__item__figure__item02{
  left: 28rem;
  top: 1.5rem;
  width: 2.8rem;
}
.vision__future__item__figure__item03{
  left: 19.8rem;
  top: 4.6rem;
  width: 4.5rem;
}
.vision__future__item__figure__item04{
  left: 10.6rem;
  top: 12rem;
  width: 7.3rem;
}
.vision__future__item__figure__item05{
  left: 14.5rem;
  top: 24.7rem;
  width: 9.6rem;
}
.vision__future__item__figure__item06{
  left: 28.5rem;
  top: 31.5rem;
  width: 10.4rem;
}
.vision__future__item__figure__item07{
  left: 44.7rem;
  top: 31.8rem;
  width: 12.5rem;
}
.vision__future__item__figure__item08{
  left: 64.5rem;
  top: 24rem;
  width: 15rem;
}
.vision__future__item__figure__item09{
  left: 64.5rem;
  top: 0.7rem;
  width: 15rem;
}
.vision__future__item__figure__item10{
  left: 38rem;
  top: -7rem;
  width: 18.5rem;
}
/* ------- animation */
.vision__future__item__figure__item01.active{
  animation-delay: .1s;
}
.vision__future__item__figure__item02.active{
  animation-delay: .2s;
}
.vision__future__item__figure__item03.active{
  animation-delay: .3s;
}
.vision__future__item__figure__item04.active{
  animation-delay: .4s;
}
.vision__future__item__figure__item05.active{
  animation-delay: .5s;
}
.vision__future__item__figure__item06.active{
  animation-delay: .6s;
}
.vision__future__item__figure__item07.active{
  animation-delay: .7s;
}
.vision__future__item__figure__item08.active{
  animation-delay: .8s;
}
.vision__future__item__figure__item09.active{
  animation-delay: .9s;
}
.vision__future__item__figure__item10.active{
  animation-delay: 1s;
}

.vision__future__item__footnote{
  line-height: 1.65;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .vision__future{
    margin: 0 0 15rem;
  }
  .headline {
    font-size: 21.9rem;
    padding-left: 10rem;
  }
  .vision__future h2 .common__title__h2_ja {
    font-size: 3.6rem;
    left: 47rem;
    top: 2rem;
  }
  .vision__future__item{
    width: 68rem;
    height: 68rem;
  }
  .vision__future .txt_wrap {
    width: 57.7rem;
  }
  .vision__future .common__text--bg_white {
    font-size: 4.3rem;
  }
  .vision__future__message__text {
    font-size: 2.7rem;
  }
  .vision__future__item__bg {
    background-image: url(../img/top/top_vision_bg--sp.webp);
    background-size: cover;
    height: 166.6rem;
    padding: 9rem 0;
  }
  .vision__future__item__title{
    font-size:3.6rem;
    line-height: 1.3;
    margin: 0 0 10rem;
    text-align: center;
  }
  .vision_txt {
    width: 48.8rem;
    margin: 0 auto;
  }
  .vision__future__item__figure{
    position: relative;
  }
  .vision__future__item__figure img{
    position:absolute;
  }
  .vision__future__item__figure__item01{
    margin: 0 auto 10rem;
    width: 57.02166rem;
  }
  .vision__future__item__figure__item02{
    left: 18.7rem;
    top: 1rem;
    width: 2.68643rem;
  }
  .vision__future__item__figure__item03{
    left: 11.8rem;
    top: 3.3rem;
    width: 4.24629rem;
  }
  .vision__future__item__figure__item04{
    left: 3.7rem;
    top: 9.4rem;
    width: 6.93273rem;
  }
  .vision__future__item__figure__item05{
    left: 6.3rem;
    top: 20.2rem;
    width: 9.0992rem;
  }
  .vision__future__item__figure__item06{
    left: 18.5rem;
    top: 26.6rem;
    width: 9.87913rem;
  }
  .vision__future__item__figure__item07{
    left: 33.3rem;
    top: 27.4rem;
    width: 11.78563rem;
  }
  .vision__future__item__figure__item08{
    left: 50.4rem;
    top: 19.6rem;
    width: 14.14276rem;
  }
  .vision__future__item__figure__item09{
    left: 50.4rem;
    top: -0.5rem;
    width: 14.14276rem;
  }
  .vision__future__item__figure__item10{
    left: 26.5rem;
    top: -7.2rem;
    width: 17.50513rem;
  }
  .vision__future__item__footnote{
    font-size: 2.5rem;
    line-height: 1.5;
    margin: auto;
    text-align: center;
    width: 59.26357rem;
  }
}


/* ========== top__staff ========== */
.scroll-container {
  position: relative;
  height: 58rem;
  margin: 10rem;
  z-index: 2;
}

.top__staff__splide .splide__slide {
  position: relative;
}
.top__staff__splide .top__staff__profile {
  position: absolute;
  bottom: 0;
  right: 0;
  background-image: url(../img/top/top__staff__profile__bg.webp);
  background-size: contain;
  background-repeat: no-repeat;
  padding: 2rem 0 0 2rem;
  height: 12rem;
  width: 24.48rem;
}

.top__staff__splide .top__staff__profile__affiliation {
  font-size: 1.36rem;
  letter-spacing: -0.02em;
}

.top__staff__splide .top__staff__profile__name--ja {
  font-size: 2.4rem;
  line-height: 1.4em;
}

.top__staff__splide .top__staff__profile__name--en {
  font-size: 1.28rem;
  font-style: italic;
  color: #42a0d9;
}

.top__staff__splide .top__staff__profile__join {
  font-size: 1.28rem;
  line-height: 1.4em;
}

.top__staff__splide .top__staff__slide__arrow {
  position: absolute;
  top: 45%;
  right: 0;
  left: 0;
  margin: auto;
  display: block;
  cursor: pointer;
  background: transparent;
  background: url(../img/top/top__staff__slide__arrow.svg) no-repeat center/100% auto;
  border: none;
  padding: 4px 0 0 0;
  width: 1.4rem;
  height: 3.53rem;
  z-index: 2;
  outline: none;
}
.top__staff__splide .top__staff__slide__arrow.top__staff__slide__arrow--prev {
  transform: rotate(180deg) translateX(25rem);
}
.top__staff__splide .top__staff__slide__arrow.top__staff__slide__arrow--next {
  transform: translateX(25rem);
}

@media screen and (max-width: 767px) {
  .scroll-container {
    height: 72rem;
    margin: 10rem 0 20rem;
  }

  .vision__future__item__bg {
    height: 184rem;
  }

  .top__staff__splide_sponly {
    position: relative;
    margin: 3.5rem 0 2rem;
  }

  .top__staff__splide .top__staff__profile {
    padding-top: 3rem;
    height: 17rem;
    width: 35rem;
  }

  .top__staff__splide .top__staff__profile__affiliation {
    font-size: 2rem;
  }

  .top__staff__splide .top__staff__profile__name--ja {
    font-size: 3.3rem;
  }

  .top__staff__splide .top__staff__profile__name--en {
    font-size: 1.8rem;
  }

  .top__staff__splide .top__staff__profile__join {
    font-size: 1.8rem;
  }
}


/* ========== company ========== */
.company {
  position: relative;
  padding-top: 18rem;
}
.top .company h2 {
  text-align: left;
}

.company_data {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.2rem;
  width: 53.9rem;
  padding-bottom: 12rem;
}

.company_data table {
  width: 100%;
  letter-spacing: .05em;
  line-height: 1.5em;
}

.company_data .item {
  width: 16rem;
}

.company_data tr {
  display: block;
  padding: 1.5rem 0;
}

.company_data tr:not(:last-child) {
  border-bottom: .1rem solid #000;
}

.company_data .triangle {
  position: relative;
  font-weight: 500;
  padding-left: 2.5rem;
}

.company_data .triangle::before {
  content: "▶";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  height: 2rem;
  width: 2rem;
  margin-left: 1rem;
}

.company_data .page_link a {
  color: #2c94d4;
}

.company_data .page_link a::before {
  content: "・";
  display: inline-block;
  height: .5rem;
  width: .5rem;
  margin-right: 2rem;
}


.top__company__image {
  position: absolute;
  right: -39rem;
  width: 89.7rem;
}

.top__company__image.image01.pc_only {
  top: 40rem;
}

.top__company__image.image02.pc_only {
  top: 90rem;
}

.top__company__image .image01 {
  margin: 0 auto 5.5rem;
  width:78.37341rem;
}

@media screen and (max-width: 767px) {
  .top .company h2 {
    text-align: center;
  }

  .top .company .common__pages__kv__title {
    padding-bottom: 0;
  }

  .company_data {
    width: 66.2rem;
    margin: auto;
    font-size: 2.6rem;
    padding-bottom: 6rem;
  }

  .company_data .triangle::before {
    height: 3.6rem;
    width: 2.6rem;
  }

  .top__company__image {
    position: relative;
    top: 0;
    right: 0;
    width: 100%;
  }
}

/* map_wrap */
.map_wrap {
  padding-bottom: 5rem;
}
.company .map_title {
  text-align: center;
  font-size: 2.5rem;
  padding-bottom: 1.5rem;
  border-bottom: .1rem solid #000;
}

.top .company .map_wrap h2 {
  text-align: center;
  font-size: 6rem;
  padding-top: 6rem;
}

.company .map_wrap .box {
  margin-bottom: 3rem;
}

.company .map_wrap iframe {
  width: 108rem;
  height: 34.8rem;
}


.company .map_wrap iframe.fadeUp.active {
  border: none;
}

.company .map_wrap .address {
  font-size: 2.2rem;
  line-height: 1.3em;
  text-align: center;
  margin-top: 2.5rem;
}


@media screen and (max-width: 767px) {
  .company .map_wrap {
    margin-top: 12rem;
  }

  .company .map_title {
    width: 90%;
    margin: auto;
  }

  .company .map_wrap iframe {
    width: 100%;
  }
}


/* ========== animation ========== */
/* .fadeIn {
  transition: 0.7s;
  opacity: 0;
} */

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

.fadeUp {
  transition: 0.7s;
  opacity: 0;
  transform: translateY(10%);
}
.fadeUp.active {
  opacity: 1;
  transform: translateY(0);
}

.fadeInRight {
  transition: 0.7s;
  opacity: 0;
  transform: translateX(10%);
}
.fadeInRight.active {
  opacity: 1;
  transform: translateX(0);
}

.fadeInLeft {
  transition: 0.7s;
  opacity: 0;
  transform: translateX(-10%);
}
.fadeInLeft.active {
  opacity: 1;
  transform: translateX(0);
}

/* ========== / top ========== */
