/******************************
 * home
 ******************************/
.home-mv {
  position: relative;
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  color: #fff;
  line-height: 1.8;
}
.home-mv .splide__pagination {
  position: absolute;
  bottom: 230px;
  right: 185px;
}
.home-mv .splide__pagination__page {
  width: 8px;
  height: 8px;
  background: #fff;
  opacity: 0.4;
  border: 0;
  padding: 0;
  border-radius: 100px;
  margin-left: 10px;
}
.home-mv .splide__pagination__page[aria-selected=true] {
  opacity: 1;
}
.home-mv .splide__track {
  height: 100%;
}
.home-mv__splide {
  position: absolute !important;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
}
.home-mv__img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.home-mv__txt {
  position: relative;
  z-index: 2;
  padding-left: 110px;
}



@media screen and (min-width: 768px) {
  .home-mv__txt {
    padding-top: 10vh;
  }
}
@media screen and (max-width: 767px) {
  .home-mv__txt {
    padding-top: 10.8vw;
    padding-left: 9.2vw;
  }
  
  .home-mv .splide__pagination {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .home-mv__txt img {
    width: 22.1vw;
  }
}


.home-mv__title {
      color: #fff;
      text-shadow: 1px 1px 1px red, 0 0 1em #ff8c00, 0 0 0.2em #ff8c00;
      font-size: 30px;
}
@media screen and (max-width: 767px) {
  .home-mv__title {
      color: #fff;
      text-shadow: 1px 1px 1px red, 0 0 1em #ff8c00, 0 0 0.2em #ff8c00;
      font-size: 30px;
  }
}


.home-mv__lead {
  font-size: 1.9rem;
  font-weight: bold;
  margin-top: 35px;
  letter-spacing: 1px;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 767px) {
  .home-mv__lead {
    margin-top: 23.1vw;
    font-size: 4.2vw;
    letter-spacing: 0;
  }
}
.home-mv__bnrs {
  position: absolute;
  right: 25px;
  bottom: 25px;
  z-index: 2;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  width: 552px;
}
.home-mv__bnrs > li {
  display: inline-block;
}

.home-mv__bnrs a {
  transition: 0.25s opacity;
}
@media (hover: hover) {
  .home-mv__bnrs a:hover {
    opacity: 0.7;
  }
}

.home-concept {
  overflow: hidden;
  padding: 100px 0;
}
@media screen and (max-width: 767px) {
  .home-concept {
    padding: 10.3vw 0 10.3vw 0;
  }
}
@media screen and (min-width: 768px) {
  .home-concept__inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.home-concept__wfig {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .home-concept__wfig {
    width: 507px;
  }
}
.home-concept__fig + .home-concept__fig {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .home-concept__wtxt {
    width: 600px;
  }
}
.home-concept__en {
  font-size: 12.4rem;
  color: #fff;
  font-weight: bold;
  line-height: 0.9;
  margin-bottom: 25px;
  font-family: var(--en-sans);
}
@media screen and (max-width: 767px) {
  .home-concept__en {
    font-size: 8.7vw;
    margin-bottom: 6.4vw;
  }
}
.home-concept__ttl {
  margin-bottom: 15px;
  font-size: 3.1rem;
  color: var(--accent);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .home-concept__ttl {
    font-size: 6.2vw;
    margin-top: 5.1vw;
    margin-bottom: 6.7vw;
  }
}
.home-concept__txt {
  line-height: 2.2;
}
@media screen and (max-width: 767px) {
  .home-concept__txt {
    margin-bottom: 9.2vw;
    font-size: 3.8vw;
  }
}
.home-concept__lead {
  margin-bottom: 30px;
  font-size: 2.9rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .home-concept__lead {
    margin-bottom: 5.1vw;
    font-size: 5.2vw;
    font-weight: bold;
  }
}
.home-concept__wlink {
  margin-top: 60px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .home-concept__wlink {
    text-align: center;
    margin-top: 9.2vw;
  }
}



/*
.home-service {
  background: #F5F2EC;
  padding: 70px 0 0 0;
}
@media screen and (min-width: 768px) {
  .home-service__row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .home-service__row > * {
    display: block;
    width: 50%;
  }
}
.home-service__item {
  overflow: hidden;
  display: block;
  position: relative;
  color: #fff;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  height: 563px;
}
@media screen and (max-width: 767px) {
  .home-service__item {
    height: 96.7vw;
  }
}
.home-service__item.is-low {
  height: 282px;
}
@media screen and (max-width: 767px) {
  .home-service__item.is-low {
    height: 43.3vw;
  }
}
.home-service__item img {
  transition: 0.25s transform;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (hover: hover) {
  .home-service__item:hover img {
    transform: scale(1.06);
  }
}
.home-service__wtxt {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .home-service__wtxt {
    padding-top: 75px;
  }
}
@media screen and (max-width: 767px) {
  .home-service__wtxt {
    padding-top: 9.5vw;
  }
}
.home-service__hlead {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .home-service__hlead {
    text-align: center;
    margin-top: -1em;
  }
}
@media screen and (max-width: 767px) {
  .home-service__hlead {
    font-size: 3.8vw;
    margin-bottom: 10.3vw;
  }
}
.home-service__lead {
  text-align: center;
  font-weight: bold;
  font-size: 2.3rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .home-service__lead {
    margin-bottom: 10.3vw;
    font-size: 4.6vw;
  }
}
.home-service__en {
  font-size: 5.2rem;
  font-weight: bold;
  line-height: 1;
  margin: 40px 0 8px 0;
  font-family: var(--en-sans);
}
@media screen and (max-width: 767px) {
  .home-service__en {
    font-size: 8.7vw;
    margin: 5.1vw 0 0 0;
  }
}
.home-service__ttl {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .home-service__ttl {
    font-size: 6.4vw;
    margin-bottom: 3.8vw;
  }
}
.home-service__swtxt {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .home-service__swtxt {
    width: 600px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    padding-bottom: 30px;
    margin: 0 calc((100% - 600px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .home-service__swtxt {
    width: 100%;
    padding-top: 8.2vw;
    padding-left: 6.7vw;
    padding-right: 5.1vw;
  }
}
.home-service__sen {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .home-service__sen {
    font-size: 7.7vw;
  }
}
.home-service__sttl {
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 1, 2;
}
@media screen and (max-width: 767px) {
  .home-service__sttl {
    font-size: 4.9vw;
  }
}
.home-service__btn, .home-service__sbtn {
  border: 2px solid #fff;
  border-radius: 100px;
  width: 182px;
  padding: 1em;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .home-service__btn, .home-service__sbtn {
    width: 46.7vw;
  }
}
.home-service__btn .c-icon, .home-service__sbtn .c-icon {
  margin-left: 6px;
  vertical-align: bottom;
  transition: transform 0.25s;
}

.home-service__shdr {
  line-height: 1.8;
}

.home-service__btn {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .home-service__sbtn {
    transform: translateY(-0.5em);
    margin-left: 40px;
    padding-left: 34px;
  }
}
@media screen and (max-width: 767px) {
  .home-service__sbtn {
    width: 43.6vw;
    float: right;
    font-size: 4.1vw;
    text-align: center;
  }
}
*/



/**
 * home-guidance
 */
@media screen and (min-width: 768px) {
  .home-guidance {
    padding: 0px 0px 100px 0px;
    width: 1200px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .home-guidance {
    padding-top: 23.1vw;
    padding-bottom: 23.1vw;
  }
}

@media screen and (min-width: 768px) {
  .home-guidance__inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

.home-guidance__wfig {
  text-align: center;
    padding: 10px 0px;
}
@media screen and (min-width: 768px) {
  .home-guidance__wfig {
    width: 358px;
  }
}



/**
 * home-info
 */
.home-info {
    background: #F5F2EC;
}

@media screen and (min-width: 768px) {
  .home-info__inner {
    width: 1000px;
    margin: 0 auto;
    padding: 100px 0px;
  }
}
@media screen and (max-width: 767px) {
  .home-info__inner {
    padding-top: 23.1vw;
    padding-bottom: 23.1vw;
  }
}
.home-info__inner .p-table {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .home-info .p-table {
    border: 1px solid #ddd;
  }
}
.home-info__wlink {
  margin-top: 60px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .home-info__wlink {
    margin-top: 12.8vw;
  }
}



/**
 * home-news
 */
.home-news {
    ;
}

@media screen and (min-width: 768px) {
  .home-news__inner {
    width: 1000px;
    margin: 0 auto;
    padding: 100px 0px;
  }
}
@media screen and (max-width: 767px) {
  .home-news__inner {
    padding-top: 23.1vw;
    padding-bottom: 23.1vw;
  }
}
.home-news__inner .p-table {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .home-news__inner .p-table {
    border: 1px solid #ddd;
  }
}
.home-news__wlink {
  margin-top: 60px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .home-news__wlink {
    margin-top: 12.8vw;
  }
}



/**
 * home-loopslide
 */
.home-loopslide {
    background: #F5F2EC;
}
.home-loopslide__inner {
    padding: 100px 0px;
}

.loopSlide {
    position: relative;
    display: flex;
    width: 100vw;
    overflow: hidden;

    ul {
        padding: 0;
/*      width: 100vw;*/
        display: flex;
        flex-shrink: 0;

        &:first-child {
            animation: slide1 60s -30s linear infinite;
        }
        &:last-child {
            animation: slide2 60s linear infinite;
        }

        li {
            display: inline-block;
            width: 100%;
            min-width: 150px;
            margin-right: 20px;
            list-style: none;
            text-align: center;

            img {
                display: block;
                width: 100%;
                height: auto;
                border: 1px solid #c0c0c0;
            }
        }
    }
    
   &:hover {
        ul {
            animation-play-state: paused;
        }
    }
}

@keyframes slide1 {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes slide2 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}
