@charset "UTF-8";

/* Scss Document */
/* -------------------------------------------------- */
/* file   : index.css                                  */
/* update : 2024                                      */
/* -------------------------------------------------- */
/* -------------------------------------------------- */
/* pc向け */
/* --------------------------------------------------- */
:root {
  --main-blue: #006EFF;
}

.page main{
  padding-top: 0!important;
}

.l-inner {
  max-width: 82.4vw;
  margin: 0 auto;
}

.engine-ttl {}

.engine-ttl_en {
  font-family: din-2014, sans-serif;
  font-weight: 800;
  font-style: italic;
  font-size: 1.76vw;
  color: var(--main-blue);
  display: block;
}

.engine-ttl_ja {
  margin-top: 2.17vw;
  font-size: 2.93vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: block;
}

@media screen and (max-width: 767px) {
  main {
    padding-top: 0;
  }

  .l-inner {
    max-width: 100%;
    margin: 0;
    padding: 0 4.8vw;
  }

  .engine-ttl {}

  .engine-ttl_en {
    font-size: 4.27vw;
  }

  .engine-ttl_ja {
    margin-top: 4.13vw;
    font-size: 5.87vw;
  }
}




/* mv */
.index-mv {
  .slick-arrow {
    width: 3.51vw;
    height: 3.51vw;
    position: absolute;
    bottom: 5.86vw;
    z-index: 1;
    display: block;
    text-indent: -731.991vw;
    overflow: hidden;
    background: url(../../common/img/top/mv_arrow02.svg) no-repeat center/100% auto;
  }

  .slick-prev {
    right: 14.06vw;
    transform: rotate(180deg);
  }

  .slick-next {
    right: 8.78vw;
  }

  .slick-dots {
    display: flex;
    justify-content: center;

    gap: 0 0.586vw;
    position: absolute;
    right: 12.3vw;
    bottom: 4.17vw;
    z-index: 3;

    & li {
      width: 0.586vw;
      height: 0.586vw;
      border-radius: 50%;
      overflow: hidden;

      &.slick-active {
        button {
          background: #FFF;
        }
      }
    }

    & button {
      width: 100%;
      height: 100%;
      background-color: transparent;
      border: none;
      cursor: pointer;
      outline: none;
      padding: 0;
      appearance: none;
      border-radius: 50%;
      text-indent: -731.991vw;
      display: block;
      background: rgba(255, 255, 255, 0.4);
    }
  }
}

.index-mv_item {
  position: relative;
}

.index-mv_textarea {
  width: 82.43vw;
  position: absolute;
  top: 46%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.index-mv_textarea--white {
  color: #FFF;

  .index-mv_link {
    & a {
      color: #FFF;

      &::after {
        background: url(../../common/img/top/mv_arrow.svg) no-repeat center/100% auto;
      }
    }
  }
}

.index-mv_ttl {
  width: 36.7vw;
  margin-left: -2.42vw;
}

.index-mv_bold {
  font-size: 2.855vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.43;
}

.index-mv_text {
  width: 35.8vw;
  margin-top: 0.878vw;
  font-size: 1.318vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

.index-mv_btns {
  margin-top: 1.903vw;
  display: flex;
  gap: 0 1.025vw;
}

.index-mv_btn {
  width: 17.42vw;

  & a {
    padding: 1.464vw 0;
    font-size: 1.171vw;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    display: block;
    transition: 0.3s;

    @media screen and (min-width: 768px) {
      &:hover {
        opacity: 0.8;
      }
    }
  }
}

.index-mv_btn--blue {
  & a {
    background: var(--main-blue);
  }
}

.index-mv_btn--orange {
  & a {
    background: #FF6E00;
  }
}

.index-mv_link {
  margin-top: 2.562vw;

  & a {
    padding-right: 1.903vw;
    font-size: 1.171vw;
    font-weight: 700;
    letter-spacing: 0.05em;
    display: inline-block;
    position: relative;

    &::after {
      content: "";
      width: 0.439vw;
      height: 0.878vw;
      display: block;
      background: url(../../common/img/top/mv_arrow_b.svg) no-repeat center/100% auto;
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%);
    }
  }
}

.index-mv_batch {
  width: 9.88vw;
  position: absolute;
  top: 6vw;
  right: 8.27vw;
  z-index: 1;
}

.index-mv_img {
  width: 100%;
  height: auto;
}

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

  /* mv */
  .index-mv {
    .slick-arrow {
      display: none !important;
    }

    .slick-dots {
      gap: 0 2.13vw;
      right: 7.2vw;
      bottom: 5.33vw;

      & li {
        width: 2vw;
        height: 2vw;
      }
    }
  }

  .index-mv_item {}

  .index-mv_textarea {
    width: auto;
    top: auto;
    bottom: 9.4vw;
    left: 4.8vw;
    transform: translate(0, 0);
    z-index: 1;
  }

  .index-mv_ttl {
    width: 73.6vw;
    margin-left: -4.8vw;
  }

  .index-mv_bold {
    font-size: 5.87vw;
    line-height: 1.45;
  }

  .index-mv_text {
    width: 64vw;
    margin-top: 2.4vw;
    font-size: 3.2vw;
    letter-spacing: 0;
    line-height: 1.5;
  }

  .index-mv_btns {
    width: 64vw;
    margin-top: 4.2vw;
    gap: 0 1.025vw;
  }

  .index-mv_btn {
    width: 30.93vw;

    & a {
      padding: 3.9vw 0;
      font-size: 2.67vw;
    }
  }

  .index-mv_link {
    margin-top: 4.27vw;

    & a {
      padding-right: 2.8vw;
      font-size: 3.2vw;

      &::after {
        width: 1.07vw;
        height: 2.13vw;

      }
    }
  }

  .index-mv_batch {
    width: 18vw;
    position: absolute;
    top: 64.67vw;
    right: 3.47vw;
    z-index: 1;
  }
}



/* worries */
.worries {
  padding: 9.4vw 0;
  background: #FFF;
}

.worries_ttl {
  font-size: 2.93vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}

.worries_stext {
  margin-top: 1.81vw;
  font-size: 0.88vw;
  letter-spacing: 0;
  text-align: center;
}

.worries_flex {
  margin-top: 4.69vw;
  display: flex;
  justify-content: space-between;
}

.worries_item {
  width: 18.52vw;
}

.worries_img {}

.worries_text {
  margin-top: 0.73vw;
  font-size: 1.32vw;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1.77;
}

.worries_bold {
  margin-top: 4.98vw;
  font-size: 2.93vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--main-blue);
}

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

  /* worries */
  .worries {
    padding: 14.33vw 0 13vw;
  }

  .worries_ttl {
    font-size: 5.87vw;
  }

  .worries_stext {
    margin-top: 5.2vw;
    font-size: 2.67vw;
  }

  .worries_flex {
    margin-top: 8.53vw;
    flex-wrap: wrap;
    gap: 8vw 0;
  }

  .worries_item {
    width: 41.73vw;
  }

  .worries_img {}

  .worries_text {
    margin-top: 1.73vw;
    font-size: 3.73vw;
    line-height: 1.71;
  }

  .worries_bold {
    margin-top: 8.53vw;
    font-size: 5.87vw;
    line-height: 1.45;
  }
}


/* system */
.system {
  padding: 9.4vw 0;
  background: #F5F5F5;
}

.system_img {
  margin-top: 4.2vw;
}

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

  /* system */
  .system {
    padding: 14.33vw 0;
  }

  .system_img {
    margin-top: 8.53vw;
  }
}



/* function */
.function {
  padding: 9.4vw 0;
  position: relative;
}

.function_inner {
  width: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.function_relative {
  margin-top: 1.24vw;
  position: relative;
}

.function_content {
  padding-top: 2.78vw;
}

.js-tab {}

.function_list {}

.function_item {
  width: 28.04vw;
  margin-top: 3.66vw;
  padding-left: 1.76vw;
  position: relative;
  cursor: pointer;

  &:first-child {
    margin-top: 0;
  }

  &.active {

    .function_ttl {
      color: var(--main-blue);
    }

    .function_text {
      display: block;
    }
  }
}




.image {
  width: 55.2vw;
  position: absolute;
  top: 50%;
  right: 3.73vw;
  transform: translateY(-50%);
  /* opacity: 0; */
  /* transition: opacity 0.4s ease-out; */
  animation-name: slideInFromRight;
  animation-duration: 1s;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);


}

.bar{
  width: 4px;
  height: 100%;
  border-left: 2px solid #D2E0FF;
  position: absolute;
  top: 0;
  left: 0;
}
.myBar {
  margin: -2px;
  transition: height 0.3s ease;
  background: var(--main-blue);
}
.tab .myBar{
  height: 0!important;
  transition: 0s!important;
}
.tab.active .myBar{
  height: 100%!important;
  
  transition: height 5s!important;
}

.video {
transition: opacity 1s ease;
}

@keyframes slideInFromRight {
  0% {
    transform: translateX(10%) translateY(-50%);
    opacity: 0;
  }
  100% {
    transform: translateX(0) translateY(-50%);
    opacity: 1;
  }
}

.video {
  animation-name: slideInFromRight;
  animation-duration: 1s; /* Adjust as needed */
}

.video {
  transition: opacity 0.4s ease-out;
  opacity: 1;
}

.video.hidden {
  opacity: 0;
}

.function_ttl {
  font-size: 2.05vw;
  font-weight: 700;
  color: #7FB6FF;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

.tab-description{
  display: grid;
  transition: grid-template-rows 0.8s;
  grid-template-rows: 0fr;
}
.tab-description > * {
  overflow: hidden;
}
.tab.active .tab-description{
  grid-template-rows: 1fr;
}

.function_text {
  margin-top: 1.32vw;
  font-size: 1.02vw;
  letter-spacing: 0.05em;
  line-height: 1.85;
}

.function_movie {
  width: 50vw;
  margin: 0 0 0 auto;
  position: relative;
}

.js-tab-contents {
  width: 55.2vw;
  position: absolute;
  top: 50%;
  right: 3.73vw;
  transform: translateY(-50%);
  /* opacity: 0; */

  &.active {
    opacity: 1;
  }
}

.video {
  width: 100%;
  height: auto;
}

.function_inner02 {
  margin-top: 8.42vw;
}

.function_text02 {
  font-size: 1.32vw;
  font-weight: 700;
  line-height: 1.77;
  letter-spacing: 0.05em;
  text-align: center;
}

.function_btn {
  width: 30.01vw;
  margin: 1.68vw auto 0;

  & a {
    padding: 1.76vw 0;
    font-size: 1.32vw;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #FFF;
    text-align: center;
    display: block;
    background: #FF6E00;
    transition: 0.3s;

    @media screen and (min-width: 768px) {
      &:hover {
        opacity: 0.8;
      }
    }
  }
}

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

  /* function */
  .function {
    padding: 14.33vw 0;
    position: relative;
  }

  .function_inner {
    width: 100%;
    padding-top: 8.53vw;
    position: static;
    transform: translateX(0);
    order: 2;
  }

  .function_relative {
    margin-top: 8.53vw;
    position: relative;
    display: flex;
    flex-direction: column;
  }

  .function_content {
    padding-top: 0;
  }

  .js-tab {}

  .function_list {
    padding-top: 10.06vw;
    position: relative;
  }

  .function_item {
    width: 100%;
    margin-top: 0;
    padding-top: 0;
    padding-left: 1.76vw;
    border-left: none;
    position: static;

    &:first-child {
      margin-top: 0;
    }

    &.active {
      border-left: none;
      display: block;

      .function_ttl {
        color: var(--main-blue);
        display: block;
      }
      .function_text {
        display: block;
      }

      .function_text {
        display: block;
      }
    }
  }

  .tab-description{
    transition: grid-template-rows 0s;
    grid-template-rows: 1fr;
  }

  .myBar {
    margin: 0;
  }

  .function_ttl {
    font-size: 5.07vw;
    line-height: 1.5;
    display: none;
  }

  .function_text {
    margin-top: 2.13vw;
    font-size: 3.73vw;
    line-height: 1.71;
    display: none;
  }

  .function_movie {
    width: 100%;
    margin: 0;
    order: 1;
  }

  .function_img {
    width: 80.67vw;
    margin: 0 0 0 auto;
  }

  .js-tab-contents {
    width: 89.07vw;
    right: auto;
    left: 4.8vw;
  }

  .function_bar {
    margin: 8.53vw 0 6.4vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .function_bar_item {
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    width: 28vw;
    position: relative;


  }

  .image{
    width: 89.07%;
    right: 6vw;
    
  }

  .bar{
    width: 30.97%;
    height: 4px;
    border-bottom: none;
    border-top: 2px solid #D2E0FF;
    border-left: none;
    position: absolute;
    top: 2.66vw;
  }
  .bar01{
    left: 0;
  }
  .bar02{
    left: 50%;
    transform: translateX(-50%);
  }

  .bar03{
    right: 0;
    left: auto;
  }

  .tab{

  }

  .tab .myBar{
    width: 0!important;
    height: 2px!important;
    margin-top: -2px;
    transition: 0s!important;
  }
  .tab.active .myBar{
    width: 100%!important;
    height: 2px!important;
    transition: width 5s!important;
  }
  .spBar {
    margin-top: 1px;
    transition: width 0.3s ease;
    background: var(--main-blue);
  }



  .video {
    width: 100%;
    height: auto;
  }

  .function_inner02 {
    margin-top: 13.33vw;
  }

  .function_text02 {
    font-size: 3.73vw;
    line-height: 1.71;
  }

  .function_btn {
    width: 100%;
    margin: 4.27vw auto 0;

    & a {
      padding: 6.93vw 0;
      font-size: 3.73vw;
    }
  }
}







/* features */
.features {
  padding: 9.4vw 0;
  background: #F5F5F5;
}

.features_flex {
  margin-top: 4.2vw;
  display: flex;
  justify-content: space-between;
}

.features_item {
  width: 24.89vw;
  position: relative;
}

.features_batch {
  width: 6.59vw;
  position: absolute;
  top: -2.2vw;
  right: -2.2vw;
}

.features_img {}

.features_ttl {
  margin-top: 1.68vw;
  font-size: 2.05vw;
  font-weight: 700;
  line-height: 1.5;
}

.features_text {
  margin-top: 1.17vw;
  font-size: 1.32vw;
  letter-spacing: 0.05em;
  line-height: 1.77;
}

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

  /* features */
  .features {
    padding: 14.44vw 0;
    overflow: hidden;

    .l-inner {
      max-width: none;
      padding-right: 0;
    }
  }

  .features_scroll {
    overflow-x: auto;
  }

  .features_flex {
    width: 248.8vw;
    margin-top: 2.2vw;
    gap: 0 8.53vw;
  }

  .features_item {
    width: 75.47vw;
    padding-top: 5.6vw;
  }

  .features_batch {
    width: 16vw;
    top: 0;
    right: -5.6vw;
  }

  .features_img {}

  .features_ttl {
    margin-top: 3.2vw;
    font-size: 5.07vw;
    line-height: 1.42;
  }

  .features_text {
    margin-top: 2.13vw;
    font-size: 3.73vw;
    line-height: 1.71;
  }
}



.benefits {
  padding: 9.4vw 0;
}

.benefits_img {
  margin-top: 3vw;
}

.benefits_note {
  margin-top: 1.02vw;
  font-size: 0.88vw;
}

@media screen and (max-width: 767px) {
  .benefits {
    padding: 14.33vw 0 16.5vw;
  }

  .benefits_img {
    margin-top: 8.53vw;
  }

  .benefits_note {
    margin-top: 2.13vw;
    font-size: 2.67vw;
    line-height: 1.6;
  }
}



/* price */
.price {
  padding: 9.4vw 0;
  background: var(--main-blue);

  .engine-ttl_en {
    color: #FFF;
  }

  .engine-ttl_ja {
    color: #FFF;

  }
}

.price_flex {
  margin-top: 3vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.price01,
.price02 {
  padding: 3.3vw 4.39vw 4.39vw 3.81vw;
  background: #FFF;
  box-shadow: 0 6px 6px rgba(0, 0, 0, 0.16);
}

.price01 {
  width: 30.31vw;
}

.price02 {
  width: 46.27vw;
}

.price_sttl {
  font-size: 2.05vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--main-blue);
}

.price_list {
  margin-top: 2.27vw;

  & li {
    padding-left: 1.32vw;
    font-size: 1.32vw;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 2.44;
    position: relative;

    &::before {
      content: "・";
      font-size: 1.32vw;
      font-weight: 700;
      line-height: 2.44;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
    }
  }
}

.price_plus {
  width: 1.9vw;
}

.price_text {
  margin-top: 4.1vw;
  font-size: 1.32vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.77;
  text-align: center;
  color: #FFF;
}

.price_btn {
  width: 30.01vw;
  margin: 1.76vw auto 0;

  & a {
    padding: 1.76vw 0;
    font-size: 1.32vw;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    display: block;
    background: #FF6E00;
    transition: 0.3s;

    @media screen and (min-width: 768px) {
      &:hover {
        opacity: 0.8;
      }
    }
  }
}

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

  /* price */
  .price {
    padding: 14.33vw 0;
  }

  .price_flex {
    margin-top: 7.07vw;
    flex-direction: column;
    gap: 4.8vw 0;
  }

  .price01,
  .price02 {
    padding: 5.33vw 6.93vw 6.4vw;
  }

  .price01 {
    width: 100%;
  }

  .price02 {
    width: 100%;
  }

  .price_sttl {
    font-size: 5.07vw;
  }

  .price_list {
    margin-top: 3.2vw;

    & li {
      margin-top: 2vw;
      padding-left: 4vw;
      font-size: 3.73vw;
      line-height: 1.71;

      &:first-child {
        margin-top: 0;
      }

      &::before {
        content: "・";
        font-size: 3.73vw;
        line-height: 1.71;
      }
    }
  }

  .price_plus {
    width: 6.93vw;
  }

  .price_text {
    margin-top: 13.33vw;
    font-size: 3.73vw;
    line-height: 1.71;
  }

  .price_btn {
    width: 100%;
    margin: 4.27vw auto 0;

    & a {
      padding: 6.93vw 0;
      font-size: 3.73vw;
    }
  }
}






/* faq */
.faq {
  padding: 9.4vw 0;
  background: #F5F5F5;
}

.faq_contents {
  margin-top: 4.4vw;
  padding: 0 4.612vw;
  display: flex;
  flex-direction: column;
  gap: 0.586vw 0;
}

.faq_box {}

.faq_q {
  width: 100%;
  padding: 0.9vw 1.98vw 0.9vw;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
  display: block;
  text-align: left;
  color: #FFF;
  background: var(--main-blue);
  position: relative;

  &::before {
    content: "";
    width: 1.32vw;
    height: 0.66vw;
    display: block;
    background: url(../../common/img/engine/qa_arrow.svg) no-repeat center/100% auto;
    position: absolute;
    top: 50%;
    right: 1.24vw;
    transform: translateY(-50%);
    transition: 0.3s;
  }

  &.active {
    &::before {
      transform: translateY(-50%) rotate(180deg);
    }
  }

  & span {
    padding-left: 1.83vw;
    font-size: 1.17vw;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.05em;
    position: relative;

    &::before {
      content: "Q.";
      font-size: 1.17vw;
      font-weight: 700;
      line-height: 1;
      position: absolute;
      top: 0;
      left: 0;
    }
  }
}

.faq_a {
  padding: 1.02vw 1.24vw 1.46vw 1.98vw;
  font-size: 1.17vw;
  font-weight: 700;
  line-height: 2;
  background: #D2E0FF;
  display: none;

  & p {
    padding-left: 1.83vw;
    letter-spacing: 0.05em;
    position: relative;

    &::before {
      content: "A.";
      font-size: 1.17vw;
      font-weight: 700;
      line-height: 2;
      position: absolute;
      top: 0;
      left: 0;
    }
  }
}

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

  /* faq */
  .faq {
    padding: 14.33vw 0;
  }

  .faq_contents {
    margin-top: 8.53vw;
    padding: 0 2.4vw;
    gap: 2.13vw 0;
  }

  .faq_box {}

  .faq_q {
    padding: 1.53vw 6.67vw 1.53vw 2.13vw;

    &::before {
      width: 2.4vw;
      height: 1.2vw;
      top: 50%;
      right: 2.4vw;
      transform: translateY(-50%);
    }

    &.active {
      &::before {
        transform: translateY(-50%) rotate(180deg);
      }
    }

    & span {
      padding-left: 4.8vw;
      font-size: 3.2vw;
      line-height: 2;
      display: block;

      &::before {
        font-size: 3.2vw;
        line-height: 2;
      }
    }
  }

  .faq_a {
    padding: 1.87vw 2.4vw 2.67vw 2.13vw;
    font-size: 3.2vw;
    line-height: 2;

    & p {
      padding-left: 4.8vw;

      &::before {
        font-size: 3.2vw;
      }
    }
  }
}






/* case-section */
.case-section_en {
  margin-bottom: 2.171vw;
  font-family: din-2014, sans-serif;
  font-weight: 800;
  font-style: italic;
  font-size: 1.76vw;
  color: var(--main-blue);
  display: block;
}

.casestudy_options {
  display: flex;
  align-items: center;
  gap: 0 16px;
}

.main-cat {
  width: 7.47vw;

  & a {
    height: auto !important;
    padding: 8px 0 10px;
    font-size: 1.02vw;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0;
    color: #FFF;
    display: block;
    background: var(--main-blue);
    position: static !important;
  }
}

.page-zumenengine .case-section {
  padding-top: 9.1vw;
  padding-bottom: 6.5vw;
}

@media screen and (max-width: 767px) {
  .page-zumenengine .case-section {
    padding-top: 13.33vw;
    padding-bottom: 16.8vw;
  }

  .case-section_en {
    margin-bottom: 2.13vw;
    font-size: 4.27vw;
  }

  .casestudy_options {
    display: flex;
    align-items: center;
    gap: 0 16px;
  }

  .main-cat {
    width: 66px;

    & a {
      padding: 4px 0 5px;
      font-size: 10px;
    }
  }
}

.page-zumenengine .case-section .ttl-h2 {
  margin-bottom: 3.6603221083vw;
}

@media screen and (max-width: 767px) {
  .page-zumenengine .case-section .ttl-h2 {
    margin-bottom: 5.3333333333vw;
  }
}

.page-zumenengine .case-section .inner {
  padding: 0;
}

.page-zumenengine .case-section .btn-wrap {
  margin: 0;
  position: absolute;
  top: 5.5vw;
  right: 0;
}

@media screen and (max-width: 767px) {
  .page-zumenengine .case-section .btn-wrap {
    margin-top: 10.6666666667vw;
    position: static;
  }
}

/* .page-zumenengine .case-section .swiper-container-autoheight .swiper-wrapper {
  height: 34vw !important;
}

@media screen and (max-width: 767px) {
  .page-zumenengine .case-section .swiper-container-autoheight .swiper-wrapper {
    min-height: 340px !important;
  }
} */

.page-zumenengine .case-section .swiper {
  width: calc(100vw - (100vw - 82.4304538799vw) / 2);
}

.page-zumenengine .case-section .swiper-slide {
  width: 33.6749633968vw;
}

@media screen and (min-width: 768px) {
  .page-zumenengine .case-section .swiper-slide {
    padding-right: 4.7584187408vw;
  }
}

@media screen and (max-width: 767px) {
  .page-zumenengine .case-section .swiper-slide {
    flex-basis: 82.6666666667vw;
    max-width: 82.6666666667vw;
    margin-right: 5.6vw;
  }
}

.page-zumenengine .case-section .swiper-slide .slide_inner {
  position: relative;
}

.page-zumenengine .case-section .swiper-slide a.slide_link {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.page-zumenengine .case-section .swiper-slide a.slide_link:hover {
  background: rgba(255, 255, 255, 0.2);
}

.page-zumenengine .case-section .swiper-slide .img-wrap {
  width: 100%;
  height: 22.1815519766vw;
  margin-bottom: 2.196193265vw;
}

@media screen and (max-width: 767px) {
  .page-zumenengine .case-section .swiper-slide .img-wrap {
    height: 54.2666666667vw;
    margin-bottom: 4.6666666667vw;
  }
}

.page-zumenengine .case-section .swiper-slide .img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -o-object-fit: cover;
  object-position: center;
  -o-object-position: center;
}

.page-zumenengine .case-section .swiper-slide .sub-ttl {
  font-size: 1.317715959vw;
  line-height: 1.2;
  font-weight: bold;
  font-weight: 700;
  display: block;
  margin-bottom: 0.7320644217vw;
  /*
      @note 1行で収まるようにする
      */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (max-width: 767px) {
  .page-zumenengine .case-section .swiper-slide .sub-ttl {
    font-size: 3.7333333333vw;
    margin-bottom: 1.3333333333vw;
  }
}

.page-zumenengine .case-section .swiper-slide .ttl {
  font-size: 2.0497803807vw;
  line-height: 1.3;
  color: #006eff;
  font-weight: bold;
  font-weight: 700;
  margin-bottom: 1.0980966325vw;
}

@media screen and (max-width: 767px) {
  .page-zumenengine .case-section .swiper-slide .ttl {
    font-size: 5.0666666667vw;
    margin-bottom: 2vw;
  }
}

.page-zumenengine .case-section .swiper-slide .category-list {
  display: flex;
}

.page-zumenengine .case-section .swiper-slide .category-list-item {
  font-size: 0.878477306vw;
  display: flex;
  align-items: center;
  margin-right: 1.4641288433vw;
}

@media screen and (max-width: 767px) {
  .page-zumenengine .case-section .swiper-slide .category-list-item {
    font-size: 10px;
    margin-right: 10px;
  }
}

.page-zumenengine .case-section .swiper-slide .category-list-item:before {
  content: "";
  width: 0.8052708638vw;
  height: 0.8052708638vw;
  margin-right: 0.3660322108vw;
  background-image: url(../img/icon-case.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

@media screen and (max-width: 767px) {
  .page-zumenengine .case-section .swiper-slide .category-list-item:before {
    width: 8px;
    height: 8px;
    margin-top: 1px;
    margin-right: 4px;
  }
}

.page-zumenengine .case-section .swiper-slide .category-list-item:last-child {
  margin-right: 0;
}

.page-zumenengine .case-section .swiper-slide .category-list-item:last-child:before {
  width: 0.5856515373vw;
  background-image: url(../img/icon-address2.svg);
}

@media screen and (max-width: 767px) {
  .page-zumenengine .case-section .swiper-slide .category-list-item:last-child:before {
    width: 7px;
  }
}

.page-zumenengine .case-section .swiper-container-horizontal {
  padding-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .page-zumenengine .case-section .swiper-container-horizontal {
    padding-bottom: 0;
  }
}

.page-zumenengine .case-section .swiper-container-horizontal>.swiper-pagination-progressbar,
.page-zumenengine .case-section .swiper-pagination-progressbar.swiper-pagination-horizontal {
  bottom: 0;
  top: auto;
  width: calc(100% - 10vw);
  margin-left: 10vw;
}

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

  .page-zumenengine .case-section .swiper-container-horizontal>.swiper-pagination-progressbar,
  .page-zumenengine .case-section .swiper-pagination-progressbar.swiper-pagination-horizontal {
    display: none;
  }
}

.page-zumenengine .case-section .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background-color: #006eff;
}





/* !! @map  .form-section_new */
.page-zumenengine .form-section_new .mw_wp_form .error,
.page-contact .form-section_new .mw_wp_form .error,
.page-eigyoengine .form-section_new .mw_wp_form .error {
  width: 18vw;
  margin: 0.5vw 0 1.2vw auto;
}

.page-zumenengine .form-section_new .mw_wp_form .privacy-check .error,
.page-contact .form-section_new .mw_wp_form .privacy-check .error,
.page-eigyoengine .form-section_new .mw_wp_form .privacy-check .error {
  width: 100%;
  margin: 0.5vw 0 1.2vw;
}

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

  .page-zumenengine .form-section_new.block .mw_wp_form .error,
  .page-contact .form-section_new.block .mw_wp_form .error,
  .page-eigyoengine .form-section_new.block .mw_wp_form .error {
    width: 100%;
    margin: 1.5vw 0 4vw;
  }

  .page-zumenengine .form-section_new .mw_wp_form .privacy-check .error,
  .page-contact .form-section_new .mw_wp_form .privacy-check .error,
  .page-eigyoengine .form-section_new .mw_wp_form .privacy-check .error {
    margin: 1.5vw 0 4vw;
  }
}

.page-zumenengine .form-section_new .form-list-item:nth-child(3)>.ttl,
.page-contact .form-section_new .form-list-item:nth-child(3)>.ttl,
.page-eigyoengine .form-section_new .form-list-item:nth-child(3)>.ttl {
  display: block;
}

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

  .page-zumenengine .form-section_new .right-wrap,
  .page-contact .form-section_new .right-wrap,
  .page-eigyoengine .form-section_new .right-wrap,
  .page-confirm .form-section .right-wrap {
    padding: 8vw 4vw 10vw;
  }
}

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

  .page-zumenengine .form-section_new .form-list-item .ttl span,
  .page-contact .form-section_new .form-list-item .ttl span,
  .page-eigyoengine .form-section_new .form-list-item .ttl span {
    margin-left: 0;
  }
}

.page-zumenengine .form-section_new .form-list-item,
.page-contact .form-section_new .form-list-item,
.page-eigyoengine .form-section_new .form-list-item {
  font-size: 1.1713030747vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.0980966325vw;
  padding-bottom: 1.0980966325vw;
  border-bottom: 1px solid #EBEBEB;
  margin-bottom: 0.5vw;
  padding-bottom: 0;
  border-bottom: 0px;
}

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

  .page-zumenengine .form-section_new .form-list-item,
  .page-contact .form-section_new .form-list-item,
  .page-eigyoengine .form-section_new .form-list-item {
    font-size: 3.0666666667vw;
    margin-bottom: 2vw;
    padding-bottom: 0;
  }
}


.page-zumenengine .form-section_new .form-list-item:last-child,
.page-contact .form-section_new .form-list-item:last-child,
.page-eigyoengine .form-section_new .form-list-item:last-child {
  line-height: 1.63;
  display: block;
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

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

  .page-zumenengine .form-section_new .form-list-item:last-child,
  .page-contact .form-section_new .form-list-item:last-child,
  .page-eigyoengine .form-section_new .form-list-item:last-child {
    line-height: 1.78;
  }
}

.page-zumenengine .form-section_new .form-list-item .ttl,
.page-contact .form-section_new .form-list-item .ttl,
.page-eigyoengine .form-section_new .form-list-item .ttl {
  font-size: 1.1713030747vw;
  font-weight: bold;
  font-weight: 700;
  color: #006eff;
  flex-basis: 14.2752562225vw;
  max-width: 14.2752562225vw;
  position: static;
  transform: none;
}

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

  .page-zumenengine .form-section_new .form-list-item .ttl,
  .page-contact .form-section_new .form-list-item .ttl,
  .page-eigyoengine .form-section_new .form-list-item .ttl {
    font-size: 3.0666666667vw;
    flex-basis: 37.8666666667vw;
    max-width: 37.8666666667vw;
  }
}

.page-zumenengine .form-section_new .form-list-item input,
.page-zumenengine .form-section_new .form-list-item select,
.page-zumenengine .form-section_new .form-list-item .checkbox-wrap,
.page-contact .form-section_new .form-list-item input,
.page-contact .form-section_new .form-list-item select,
.page-contact .form-section_new .form-list-item .checkbox-wrap,
.page-eigyoengine .form-section_new .form-list-item input,
.page-eigyoengine .form-section_new .form-list-item select,
.page-eigyoengine .form-section_new .form-list-item .checkbox-wrap {
  width: 18vw;
}

.page-confirm .form-section .form-list-item:last-child .ttl {
  position: static;
  margin-bottom: 0;
}

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

  .page-zumenengine .form-section_new .form-list-item input,
  .page-zumenengine .form-section_new .form-list-item select,
  .page-zumenengine .form-section_new .form-list-item .checkbox-wrap,
  .page-contact .form-section_new .form-list-item input,
  .page-contact .form-section_new .form-list-item select,
  .page-contact .form-section_new .form-list-item .checkbox-wrap,
  .page-eigyoengine .form-section_new .form-list-item input,
  .page-eigyoengine .form-section_new .form-list-item select,
  .page-eigyoengine .form-section_new .form-list-item .checkbox-wrap {
    width: 39vw;
  }

  .page-zumenengine .form-section_new.block .form-list-item input,
  .page-zumenengine .form-section_new.block .form-list-item select,
  .page-zumenengine .form-section_new.block .form-list-item .checkbox-wrap,
  .page-contact .form-section_new.block .form-list-item input,
  .page-contact .form-section_new.block .form-list-item select,
  .page-contact .form-section_new.block .form-list-item .checkbox-wrap,
  .page-eigyoengine .form-section_new.block .form-list-item input,
  .page-eigyoengine .form-section_new.block .form-list-item select,
  .page-eigyoengine .form-section_new.block .form-list-item .checkbox-wrap {
    width: 100%;
    margin-top: 1vw;
  }
}