@charset "UTF-8";

:root {
  --vw-large: 1360;
  /* PC */
  --vw-small: 390;
  /* SP */
}

/*フッターまでスクロールしたら消す*/
.is-hidden {
  visibility: hidden;
  opacity: 0;
}

/* CTA */

.cta-line {
  background-image: url(../img/cta-line_bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc((100vw / var(--vw-large))*31) 0 calc((100vw / var(--vw-large))*35);

  .flex {
    width: calc((100vw / var(--vw-large))*905);
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;

    h3 {
      text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
      font-size: calc((100vw / var(--vw-large))*23);
      font-style: normal;
      font-weight: 700;
      width: calc((100vw / var(--vw-large))*591);
      letter-spacing: 0;
    }

    a {
      width: calc((100vw / var(--vw-large))*293);
      display: inline-block;
    }
  }
}

@media(max-width:768px) {
  .cta-line {
    background-image: url(../img/sp/cta-line_bg.jpg);
    padding: calc((100vw / var(--vw-small))*34) 0;

    .flex {
      width: 100%;
      display: block;

      h3 {
        text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
        font-size: calc((100vw / var(--vw-small))*23);
        width: 100%;
        margin: 0 auto calc((100vw / var(--vw-small))*16);
        line-height: 126%;
      }

      .shine {
        border-radius: calc((100vw / var(--vw-small))*64);
        overflow: hidden;
        /*これが最重要：はみ出し要素を切り取る*/
        -webkit-overflow-scrolling: auto;
        width: calc((100vw / var(--vw-small))*342);
        margin: 0 auto;
        box-shadow: 0 3.821px 3.821px 0 rgba(0, 0, 0, 0.40);
      }

      a {
        width: calc((100vw / var(--vw-small))*342);
      }
    }
  }

}

.cta {
  background-image: url(../img/cta_bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc((100vw / var(--vw-large))*50) 0 calc((100vw / var(--vw-large))*38);

  h2 {
    margin: 0 auto calc((100vw / var(--vw-large))*14);
    display: inline-block;

    &:before {
      content: url(../img/line-left.svg);
      margin-right: calc((100vw / var(--vw-large))*15)
    }

    &::after {
      content: url(../img/line-right.svg);
      margin-left: calc((100vw / var(--vw-large))*15);
    }
  }

  ul {
    width: calc((100vw / var(--vw-large))*678);
    margin: 0 auto calc((100vw / var(--vw-large))*15);
    justify-content: space-between;

    li {
      width: calc((100vw / var(--vw-large))*158);
    }
  }

  p {
    margin: 0 auto calc((100vw / var(--vw-large))*30);
  }

  .flex_form {
    display: flex;
    align-items: baseline;
    justify-content: center;
  }

  p.or {
    margin: 0;
  }

  .select-area {
    width: calc((100vw / var(--vw-large))*902);
    background-color: #fff;
    margin: 0 auto calc((100vw / var(--vw-large))*42);
    padding: calc((100vw / var(--vw-large))*31) 0 calc((100vw / var(--vw-large))*42);
    border-radius: calc((100vw / var(--vw-large))*20);
    -webkit-border-radius: calc((100vw / var(--vw-large))*20);
    -moz-border-radius: calc((100vw / var(--vw-large))*20);
    -ms-border-radius: calc((100vw / var(--vw-large))*20);
    -o-border-radius: calc((100vw / var(--vw-large))*20);

    h3 {
      width: calc((100vw / var(--vw-large))*430);
      margin: 0 auto 6px;
    }

    .text-box {
      margin: 0 auto calc((100vw / var(--vw-large))*35);
    }

    p.cta_p {
      letter-spacing: 0;
      font-weight: 400;
      line-height: 1.5;
    }

    .textbox-2 {
      width: calc((100vw / var(--vw-large))*346);
      padding: 8px 10px;
      border: 1px solid #d2d2d2;
      border-radius: 3px;
      background: #efefef;
      font-size: 1em;
      line-height: 1.5;
      margin-left: 12px;
    }

    .textbox-3 {
      width: calc((100vw / var(--vw-large))*346);
      padding: 8px 10px;
      border: 1px solid #d2d2d2;
      border-radius: 3px;
      background: #efefef;
      font-size: 1em;
      line-height: 1.5;
      margin-right: 12px;
    }

    button.submit-btn {
      width: calc((100vw / var(--vw-large)) * 386);
      margin-top: calc((100vw / var(--vw-large)) * 20);
    }

    .check-area-result p {
      position: relative;
      font-size: 2em;
      font-weight: 500;
      margin: calc((100vw / var(--vw-large)) * 20) auto;
      width: 90%;

      span {
        font-size: 1.8vw;
      }
    }

    p.true:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 2px;
      height: 64px;
      background: #000;
      transform: rotate(-25deg);
    }

    p.true:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 2px;
      height: 64px;
      background: #000;
      transform: rotate(25deg);
    }

    .textbox-2::placeholder,
    .textbox-3::placeholder {
      color: #999;
    }

    a {
      width: calc((100vw / var(--vw-large))*386);
      display: inline-block;
    }
  }

  .campaign {
    width: calc((100vw / var(--vw-large))*866);
    margin: 0 auto;
  }

  .check-area-form_note {
    font-size: calc((100vw / var(--vw-large))*14);
    text-align: right;
    margin-top: calc((100vw / var(--vw-large))*10);
    margin-right: calc((100vw / var(--vw-large))*70);
    color: #999;
  }

}

.btn_floating_line {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 25vw;
  z-index: 9999;
}

.interview {
  background-image: url(../img/interview-bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: calc((100vw / var(--vw-large))*343);
  position: relative;

  a {
    position: absolute;
    display: inline-block;
    width: calc((100vw / var(--vw-large))*390);
    right: calc((100vw / var(--vw-large))*69);
    top: calc((100vw / var(--vw-large))*110);
  }
}

@media(max-width:768px) {
  .cta {
    background-color: #EC6710;
    background-image: none;
    padding: calc((100vw / var(--vw-small))*31) 0 calc((100vw / var(--vw-small))*13);

    .flex_form {
      flex-direction: column;
      align-items: center;
    }

    p.or {
      margin: 0 0 2.5vw;
    }

    h2 {
      width: calc((100vw / var(--vw-small))*341);
      margin: 0 auto calc((100vw / var(--vw-small))*24);

      &::before {
        content: none;
      }

      &::after {
        content: none;
      }
    }

    p {
      width: calc((100vw / var(--vw-small))*272);
      margin: 0 auto calc((100vw / var(--vw-small))*24);
      font-weight: 400;
      line-height: calc((100vw / var(--vw-small))*22);
      letter-spacing: 0;
    }

    .select-area {
      width: calc((100vw / var(--vw-small))*331);
      margin: 0 auto calc((100vw / var(--vw-small))*14);
      padding: calc((100vw / var(--vw-small))*11) 0 calc((100vw / var(--vw-small))*26);
      border-radius: calc((100vw / var(--vw-small))*20);
      -webkit-border-radius: calc((100vw / var(--vw-small))*20);
      -moz-border-radius: calc((100vw / var(--vw-small))*20);
      -ms-border-radius: calc((100vw / var(--vw-small))*20);
      -o-border-radius: calc((100vw / var(--vw-small))*20);

      h3 {
        width: calc((100vw / var(--vw-small))*291);
        margin: 0 auto calc((100vw / var(--vw-small))*21);
      }

      .text-box {
        margin: 0 auto calc((100vw / var(--vw-small))*27);
      }

      .textbox-2 {
        width: calc((100vw / var(--vw-small))*262);
        padding: 8px 10px;
        border: 1px solid #d2d2d2;
        border-radius: 3px;
        background: #efefef;
        font-size: 1em;
        line-height: 1.5;
        margin-left: 0;
      }

      .textbox-3 {
        width: calc((100vw / var(--vw-small)) * 262);
        padding: 8px 10px;
        border: 1px solid #d2d2d2;
        border-radius: 3px;
        background: #efefef;
        font-size: 1em;
        line-height: 1.5;
        margin-right: 0;
        margin-bottom: 10px;
      }

      .textbox-2::placeholder,
      .textbox-3::placeholder {
        color: #999;
      }

      .check-area-result p {
        font-size: 1.2em;
      }

      button.submit-btn {
        width: calc((100vw / var(--vw-small))*293);
        display: inline-block;
        margin-top: 19px;
      }
    }

    .check-area-form_note {
      font-size: calc((100vw / var(--vw-small)) * 14);
      margin-top: calc((100vw / var(--vw-small)) * 10);
      margin-right: auto;
      text-align: center;
    }
  }

  .campaign {
    background-image: url(../img/sp/campaign_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: calc((100vw / var(--vw-small))*21) 0 calc((100vw / var(--vw-small))*59);

    .contents {
      width: calc((100vw / var(--vw-small))*338);
      margin: 0 auto;
    }
  }

  .interview {
    background-image: url(../img/sp/interview-bg.png);
    height: calc((100vw / var(--vw-small))*801);
    position: relative;
    margin-top: calc((100vw / var(--vw-small))*-50);

    .shine {
      border-radius: calc((100vw / var(--vw-small))*65.38);
      width: calc((100vw / var(--vw-small))*358);
      box-shadow: 0 3.821px 3.821px 0 rgba(0, 0, 0, 0.40);
    }

    .mask {
      border-radius: calc((100vw / var(--vw-small))*65.38);
      overflow: hidden;
      /*これが最重要：はみ出し要素を切り取る*/
      -webkit-overflow-scrolling: auto;
    }

    a {
      position: absolute;
      display: inline-block;
      width: calc((100vw / var(--vw-small))*358);
      right: 50%;
      top: initial;
      bottom: calc((100vw / var(--vw-small))*28);
      transform: translateX(50%);
      -webkit-transform: translateX(50%);
      -moz-transform: translateX(50%);
      -ms-transform: translateX(50%);
      -o-transform: translateX(50%);
    }

  }

}

/*　キラッ　*/


.shine span.mask {
  position: relative;
  /*キラッの基点となる位置を定義*/
  display: block;
  line-height: 0;
  /*行の高さを0にする*/
  overflow: hidden;
  /*拡大してはみ出る要素を隠す*/
}

.shine span.mask::before {
  position: absolute;
  content: "";
  width: 35%;
  /*キラッの横幅*/
  height: 100%;
  /*キラッの縦幅*/
  top: 0;
  /*.shinespan.maskのトップ0を基点*/
  left: -75%;
  /*画面の見えていない左から右へ移動するスタート地点*/
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .15) 100%);
  transform: skewX(-25deg);
  /*背景白透過を斜めに*/
  animation: shine 0.7s ease-in-out infinite;
  /*アニメーションの名前と速度を定義*/
  -webkit-animation: shine 2s ease-in-out infinite;
}


@keyframes shine {
  100% {
    left: 125%;
    /*画面の見えていない左から右へ移動する終了地点*/
  }
}


/*MV*/
@media(max-width:768px) {
  .mv {
    position: relative;

    .new_cta-btn_wrap {
      position: absolute;
      top: calc((100vw / var(--vw-small))*550);
      left: 50%;
      width: calc((100vw / var(--vw-small))*364);
      margin: 0 auto;
      transform: translateX(-50%);

      li {
        box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.4);
        border-radius: calc((100vw / var(--vw-small))*64);
        -webkit-border-radius: calc((100vw / var(--vw-small))*64);
        -moz-border-radius: calc((100vw / var(--vw-small))*64);
        -ms-border-radius: calc((100vw / var(--vw-small))*64);
        -o-border-radius: calc((100vw / var(--vw-small))*64);
        overflow: hidden;
        /*これが最重要：はみ出し要素を切り取る*/
        -webkit-overflow-scrolling: auto;

        &:first-child {
          width: calc((100vw / var(--vw-small))*358);
          margin: 0 auto;
          margin-bottom: calc((100vw / var(--vw-small))*12);
        }

        &:last-child {
          box-shadow: none;
        }
      }
    }
  }

}

.floating.sp.flex {
  display: none;
}

@media(max-width:768px) {
  .btn_floating_line {
    position: fixed;
    z-index: 99999;
    bottom: 0;
    width: 100%;
  }
}


/* SEC01 */

.sec01 {
  padding: calc((100vw / var(--vw-large))*67) 0 0;

  h2 {
    width: calc((100vw / var(--vw-large))*234);
    margin: 0 auto calc((100vw / var(--vw-large))*32);
  }

  .sec01-slider-container {
    position: relative;

    .swiper {
      overflow-x: hidden;
      /* width: calc((100vw / var(--vw-large))*180); */

      .swiper-wrapper {
        transition-timing-function: linear;
        width: initial;
        align-items: end;

        .swiper-slide {
          position: relative;
        }
      }
    }
  }

  .sec01-bnr {
    margin: calc((100vw / var(--vw-large))*40) auto 0;
  }
}

@media(max-width:768px) {
  .sec01 {
    padding: calc((100vw / var(--vw-small))*44) 0 0;

    h2 {
      width: initial;
      margin: 0 auto calc((100vw / var(--vw-small))*28);
      display: inline-block;
    }

    .sec01-slider-container {
      position: relative;
      margin: 0 auto calc((100vw / var(--vw-small))*50);
      overflow-x: hidden;

      .swiper {
        overflow-x: hidden;
        /* width: calc((100vw / var(--vw-large))*180); */

        .swiper-wrapper {
          transition-timing-function: linear;
          width: initial;
          align-items: end;

          .swiper-slide {
            position: relative;
          }
        }
      }
    }

    .sec01-slider-container_sp {
      position: relative;

      .swiper {
        overflow-x: hidden;
        /* width: calc((100vw / var(--vw-large))*180); */

        .swiper-wrapper {
          transition-timing-function: linear;
          width: initial;
          align-items: end;

          .swiper-slide {
            position: relative;
          }
        }
      }
    }

    .sec01-bnr {
      margin: calc((100vw / var(--vw-small))*20) auto 0;
    }
  }
}

@media(max-width:768px) {
  .medal {
    margin-top: 0;
  }
}

/* SEC02 */

.sec02 {

  .sec02-head {
    background-image: url(../img/sec02-bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: calc((100vw / var(--vw-large))*21) 0 calc((100vw / var(--vw-large))*40);

    h2 {
      width: calc((100vw / var(--vw-large))*751);
      margin: 0 auto calc((100vw / var(--vw-large))*20);
    }

    ul {
      width: calc((100vw / var(--vw-large))*952);
      margin: 0 auto;
      gap: calc((100vw / var(--vw-large))*16);
    }
  }

  .solution {
    margin: calc((100vw / var(--vw-large))*-30) auto 0;
  }

  .sec02-bottom {
    background-image: url(../img/sec02-bottom_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: calc((100vw / var(--vw-large))*75);
    margin: calc((100vw / var(--vw-large))*-26) auto 0;

    h2 {
      display: inline-block;
      margin: 0 auto calc((100vw / var(--vw-large))*30);
    }

    ul {
      width: calc((100vw / var(--vw-large))*979);
      margin: 0 auto;
      gap: calc((100vw / var(--vw-large))*23);
    }
  }
}

@media(max-width:768px) {
  .sec02 {
    .sec02-head {
      background-image: none;
      padding: 0;

      h2 {
        width: 100%;
        margin: 0 auto 0;
      }
    }

    .solution {
      margin: calc((100vw / var(--vw-large))*-30) auto 0;
    }

    .sec02-bottom {
      background-image: url(../img/sp/sec02-bottom_bg.jpg);
      padding: calc((100vw / var(--vw-small))*56) 0 calc((100vw / var(--vw-small))*80);
      margin: calc((100vw / var(--vw-small))*-14) auto 0;

      h2 {
        display: inline;
        font-size: calc((100vw / var(--vw-small))*36);
        margin: 0 auto calc((100vw / var(--vw-small))*52);
      }

      ul {
        width: calc((100vw / var(--vw-small))*339);
        flex-wrap: wrap;
        margin-top: calc((100vw / var(--vw-small))*50);

        li {
          width: 100%;
          margin-bottom: calc((100vw / var(--vw-small))*20);
        }
      }
    }
  }
}

/* voice */

.voice {

  margin: calc((100vw / var(--vw-large))*30) auto 0;

  ul {
    li {
      margin: 0 auto calc((100vw / var(--vw-large))*47);

      &:last-child {
        margin: 0 auto calc((100vw / var(--vw-large))*65);
      }
    }
  }
}

@media(max-width:768px) {
  .voice {
    margin-top: 0;

    ul {
      li {
        margin: 0;

        &:last-child {
          margin: 0;
        }
      }
    }
  }
}

/* strengths-section */

.strengths-section {
  position: relative;
  overflow: hidden;
  color: #333;
  z-index: 1;
  background: none;

  .strengths-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-image: url(../img/sec03-bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    /* filter: brightness(0.6); */
    z-index: 0;
    pointer-events: none;
    opacity: 0;
    /* 初期非表示 */
    visibility: hidden;
    /* 完全非表示 */
    transform: scale(1);
  }

  .strengths-inner {
    position: relative;
    z-index: 2;
    /* 背景より前面 */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /* ← 左から配置 */
    align-items: flex-start;
    padding: 0 calc((100vw / var(--vw-large))*20) calc((100vw / var(--vw-large))*150);
    gap: 80px;
    width: calc((100vw / var(--vw-large))*1000);
    margin: 0 auto;


    h2 {
      width: calc((100vw / var(--vw-large))*400);
      position: fixed;
      top: 25vh;
      flex: 0 0 30%;
      align-self: flex-start;
      opacity: 0;
      z-index: 3;
      pointer-events: none;

      img {
        display: block;
      }
    }


    .strength-item {
      margin: calc((100vw / var(--vw-large))*40) 0 0 auto;
      opacity: 0;
      transform: translateY(60px);
      display: flex;
      align-items: center;
      justify-content: center;
      width: calc((100vw / var(--vw-large))*580);

      .strength_img {
        width: calc((100vw / var(--vw-large))*200);
        margin-right: calc((100vw / var(--vw-large))*40);
      }

      p {
        font-size: calc((100vw / var(--vw-large))*32);
        width: calc((100vw / var(--vw-large))*442);
        text-align: left;
        line-height: 144.444%
      }
    }


    .merit {
      width: calc((100vw / var(--vw-large))*774);
      margin: 0 auto;
    }
  }
}

@media (max-width: 768px) {
  .strengths-section {
    position: relative;
    overflow: visible;

    .strengths-bg {
      background-image: url(../img/sp/sec03-bg.jpg);
    }

    .strengths-inner {
      position: relative;
      z-index: 2;
      /* 背景より前面 */
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      /* ← 左から配置 */
      align-items: flex-start;
      padding: 0;
      gap: 30px;
      width: calc((100vw / var(--vw-large))*1000);
      margin: 0 auto;


      h2 {
        width: 270px;
        margin: 0 auto;
        position: relative;
        top: 40px;
        z-index: 3;
        opacity: 0;
        pointer-events: none;
        top: 40px;
        left: 20%;
      }

      .strength-item {
        margin: calc((100vw / var(--vw-small))*40) 0 0 auto;
        width: 100%;
        flex-direction: column;

        .strength_img {
          width: calc((100vw / var(--vw-small))*200);
          margin-right: 0;
        }

        p {
          font-size: calc((100vw / var(--vw-small))*24);
          width: 100%;
          text-align: center;
          line-height: 144.444%
        }
      }


      .merit {
        width: 100%;
      }
    }
  }
}

#container {
  position: relative;
  z-index: 1;
  bottom: calc((100vw / var(--vw-small))*39);
  /* height: 100vh; */
  /*header とfooterを手前にするため数字を小さく*/
}

section.fixed {
  position: -webkit-sticky;
  /*Safari*/
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  height: 100vh;

  .strength-item {
    width: calc((100vw / var(--vw-small))*350);
    margin: 0 auto;

    img {
      width: calc((100vw / var(--vw-small))*250);
      margin-bottom: calc((100vw / var(--vw-small))*15);
    }

    p {
      font-size: calc((100vw / var(--vw-small))*32);
    }
  }
}

section.fixed h2 {
  width: calc((100vw / var(--vw-small))*312);
}

section.fixed:nth-child(odd) {
  background-image: url(../img/sp/sec03-bg.jpg);
  background-position: center;
  background-size: cover;
  /*デモ画面の奇数背景色*/
}

section.fixed:nth-child(even) {
  background-image: url(../img/sp/sec03-bg.jpg);
  background-position: center;
  background-size: cover;
  /*デモ画面の偶数背景色*/
}

section.fixed:last-of-type {
  /* padding-top: 70px; */
  /*最後のセクションだけ止まらないため、エリア内の情報が少ない時は、Header分の高さをpadding-topに追加して上部が見えるようにする*/
}

/* SEC03 */
.sec03 {
  background-image: url(../img/sec03-bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc((100vw / var(--vw-large))*50) 0 calc((100vw / var(--vw-large))*85);

  h2 {
    width: calc((100vw / var(--vw-large))*616);
    margin: 0 auto calc((100vw / var(--vw-large))*50);
  }

  ul {
    width: calc((100vw / var(--vw-large))*726);
    margin: 0 auto calc((100vw / var(--vw-large))*40);
    gap: calc((100vw / var(--vw-large))*24);
  }

  .merit {
    width: calc((100vw / var(--vw-large))*774);
    margin: 0 auto;
  }
}

@media(max-width:768px) {
  .sec03 {
    background-image: url(../img/sp/sec03-bg.jpg);
    padding: calc((100vw / var(--vw-small))*46) 0 calc((100vw / var(--vw-small))*45);

    h2 {
      width: calc((100vw / var(--vw-small))*312);
      margin: 0 auto;
    }

    ul {
      width: initial;
      margin: 0 auto calc((100vw / var(--vw-small))*46);
      gap: initial
    }

    .sec03-slider-container {
      position: relative;

      .swiper {
        overflow: initial;
        /* width: calc((100vw / var(--vw-large))*180); */

        .swiper-wrapper {
          width: initial;

          .swiper-slide {
            position: relative;
          }
        }
      }
    }

    .merit {
      width: calc((100vw / var(--vw-small))*306);
      margin: 0 auto;
    }
  }
}


/* SEC04 */

.sec04 {
  .sec04-top {
    background-image: url(../img/sec04-top_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: calc((100vw / var(--vw-large))*31) 0 calc((100vw / var(--vw-large))*90);

    h2 {
      width: calc((100vw / var(--vw-large))*952);
      margin: 0 auto;
    }

    ul {
      width: calc((100vw / var(--vw-large))*1000);
      margin: 0 auto;

      li {
        margin: 0 auto calc((100vw / var(--vw-large))*47);

        &:last-child {
          margin: 0 auto 0;
        }
      }
    }
  }
}

@media(max-width:768px) {
  .sec04 {
    .sec04-top {
      background-image: url(../img/sp/sec04-top_bg.jpg);
      padding: calc((100vw / var(--vw-small))*44) 0 calc((100vw / var(--vw-small))*47);

      h2 {
        width: calc((100vw / var(--vw-small))*365);
        margin: 0 auto;
      }

      ul {
        width: calc((100vw / var(--vw-small))*331);
        margin: 0 auto;

        li {
          margin: 0 auto calc((100vw / var(--vw-small))*15);

          &:last-child {
            margin: 0 auto 0;
          }
        }
      }
    }
  }

  .sec04-bottom {
    .sp {
      .bottom02 {
        margin-top: calc((100vw / var(--vw-small))*-42);
      }
    }
  }

}

/* SEC05 */

.sec05 {
  .sec05-top {
    background-image: url(../img/sec05-top_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: calc((100vw / var(--vw-large))*73) 0 calc((100vw / var(--vw-large))*63);

    .title_span {
      width: calc((100vw / var(--vw-large))*816);
      margin: 0 auto calc((100vw / var(--vw-large))*16);
      display: inline-block;
    }

    h2 {
      font-size: calc((100vw / var(--vw-large))*30);
      margin: 0 auto calc((100vw / var(--vw-large))*27);

      span {
        font-size: calc((100vw / var(--vw-large))*36);
        background: var(--2, #FFF200);
      }
    }

    .sec05-top_contents {
      width: calc((100vw / var(--vw-large))*757);
      margin: 0 auto;
    }
  }

  .sec05-bottom {
    background-image: url(../img/sec05-bottom_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: calc((100vw / var(--vw-large))*52) 0 calc((100vw / var(--vw-large))*47);

    ul {
      width: calc((100vw / var(--vw-large))*999);
      gap: calc((100vw / var(--vw-large))*35);
      margin: 0 auto;
    }
  }
}

@media(max-width:768px) {
  .sec05 {
    .sec05-top {
      background-image: url(../img/sec05-top_bg.jpg);
      margin-top: 0;
      padding: calc((100vw / var(--vw-small))*42) 0 calc((100vw / var(--vw-small))*30);

      .title_span {
        width: calc((100vw / var(--vw-small))*330);
        margin: 0 auto calc((100vw / var(--vw-small))*20);
        display: inline-block;
      }

      h2 {
        font-size: calc((100vw / var(--vw-small))*24);
        margin: 0 auto calc((100vw / var(--vw-small))*20);

        span {
          font-size: calc((100vw / var(--vw-small))*30);
          background: var(--2, #FFF200);
        }
      }

      .sec05-top_contents_sp {
        margin: 0 auto;
        overflow-x: auto;
        padding: 0 calc((100vw / var(--vw-small))*20) calc((100vw / var(--vw-small))*10);
        -webkit-overflow-scrolling: touch;

        img {
          max-width: 100%;
          min-width: calc((100vw / var(--vw-small))*650);
          vertical-align: top;
        }

        /*===========
scrollbar
===========*/
        /*スクロールバー全体の高さ*/
        .sec05-top_contents_sp::-webkit-scrollbar {
          height: calc((100vw / var(--vw-small))*4);
        }

        /*スクロールバー全体の背景*/
        .sec05-top_contents_sp::-webkit-scrollbar-track {
          background: #eee;
        }

        /*スクロールバーの動く部分*/
        .sec05-top_contents_sp::-webkit-scrollbar-thumb {
          background: #aaa;
          border: none;
        }

        /*スクロールバーの動く部分のホバー（マウスオーバー）*/
        .sec05-top_contents_sp::-webkit-scrollbar-thumb:hover {
          background: #999;
        }
      }
    }

    .sec05-bottom {
      background-image: url(../img/sp/sec05-bottom_bg.jpg);
      padding: calc((100vw / var(--vw-small))*56) 0 calc((100vw / var(--vw-small))*33);

      ul {
        display: block;
        width: calc((100vw / var(--vw-small))*331);
        gap: initial;
        margin: 0 auto;

        li {
          margin: 0 auto calc((100vw / var(--vw-small))*20);

          &:last-child {
            margin: 0;
          }
        }
      }
    }
  }
}

/* SEC06 */

.sec06 {
  background-image: url(../img/sec06-bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc((100vw / var(--vw-large))*50) 0 calc((100vw / var(--vw-large))*68);

  h2 {
    width: calc((100vw / var(--vw-large))*767);
    margin: 0 auto;
  }

  .sec06-contents {
    width: calc((100vw / var(--vw-large))*858);
    margin: 0 auto;
  }
}

@media(max-width:768px) {
  .sec06 {
    background-image: url(../img/sp/sec06-bg.png);
    padding: calc((100vw / var(--vw-small))*40) 0 calc((100vw / var(--vw-small))*52);

    h2 {
      width: calc((100vw / var(--vw-small))*344);
      margin: 0 auto calc((100vw / var(--vw-small))*44);
    }

    .sec06-contents {
      width: calc((100vw / var(--vw-small))*343);
      margin: 0 auto;
    }
  }
}

/* CTA02 */
.cta02 {
  background-image: url(../img/cta02-bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc((100vw / var(--vw-large))*104) 0 calc((100vw / var(--vw-large))*107);

  .select-area {
    width: calc((100vw / var(--vw-large))*955);
    background-color: #fff;
    margin: 0 auto calc((100vw / var(--vw-large))*42);
    padding: calc((100vw / var(--vw-large))*31) 0 calc((100vw / var(--vw-large))*42);
    border-radius: calc((100vw / var(--vw-large))*20);
    -webkit-border-radius: calc((100vw / var(--vw-large))*20);
    -moz-border-radius: calc((100vw / var(--vw-large))*20);
    -ms-border-radius: calc((100vw / var(--vw-large))*20);
    -o-border-radius: calc((100vw / var(--vw-large))*20);

    .cta02-area {
      width: calc((100vw / var(--vw-large))*734);
      margin: 0 auto calc((100vw / var(--vw-large))*33);
      display: inline-block;
    }

    .choose-area {
      border-radius: calc((100vw / var(--vw-large))*20);
      border: 1px solid var(--3, #EC6710);
      background: #FAF0E9;
      width: calc((100vw / var(--vw-large))*844);
      margin: 0 auto;
      padding: calc((100vw / var(--vw-large))*40) 0 calc((100vw / var(--vw-large))*45);

      h3 {
        width: calc((100vw / var(--vw-large))*360);
        margin: 0 auto calc((100vw / var(--vw-large))*40);
      }

      .flex_form {
        display: flex;
        align-items: baseline;
        justify-content: center;
      }

      .check-area-form_note {
        font-size: calc((100vw / var(--vw-large)) * 14);
        text-align: right;
        margin-top: calc((100vw / var(--vw-large)) * 10);
        margin-right: calc((100vw / var(--vw-large)) * 70);
        color: #999;
      }

      .text-box {
        margin: 0 auto calc((100vw / var(--vw-large))*35);
      }

      .textbox-3 {
        width: calc((100vw / var(--vw-large))*346);
        padding: 8px 10px;
        border: 1px solid #d2d2d2;
        border-radius: 3px;
        background: #efefef;
        font-size: 1em;
        line-height: 1.5;
        margin-left: 12px;
      }

      p.cta_p {
        margin-bottom: 2vw;
      }

      .textbox-2 {
        width: calc((100vw / var(--vw-large))*346);
        padding: 8px 10px;
        border: 1px solid #d2d2d2;
        border-radius: 3px;
        background: #efefef;
        font-size: 1em;
        line-height: 1.5;
        margin-right: 12px;
      }

      button.submit-btn {
        width: calc((100vw / var(--vw-large)) * 386);
        margin-top: calc((100vw / var(--vw-large)) * 20);
      }

      .check-area-result p {
        position: relative;
        font-size: 2em;
        font-weight: 500;
        margin: calc((100vw / var(--vw-large)) * 20) auto;
        width: 90%;
      }

      p.true:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 2px;
        height: 64px;
        background: #000;
        transform: rotate(-25deg);
      }

      p.true:after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 2px;
        height: 64px;
        background: #000;
        transform: rotate(25deg);
      }

      .textbox-2::placeholder,
      .textbox-3::placeholder {
        color: #999;
      }

      a {
        width: calc((100vw / var(--vw-large))*386);
        display: inline-block;
      }
    }

  }

  .campaign {
    width: calc((100vw / var(--vw-large))*866);
    margin: 0 auto;
  }

}

@media(max-width:768px) {
  .cta02 {
    background-image: url(../img/sp/cta02-bg.jpg);
    padding: calc((100vw / var(--vw-small))*51) 0 calc((100vw / var(--vw-small))*67);

    .select-area {
      width: calc((100vw / var(--vw-small))*330);
      margin: 0 auto 0;
      padding: calc((100vw / var(--vw-small))*50) 0 calc((100vw / var(--vw-small))*23);
      border-radius: calc((100vw / var(--vw-small))*20);
      -webkit-border-radius: calc((100vw / var(--vw-small))*20);
      -moz-border-radius: calc((100vw / var(--vw-small))*20);
      -ms-border-radius: calc((100vw / var(--vw-small))*20);
      -o-border-radius: calc((100vw / var(--vw-small))*20);

      .cta02-area {
        width: calc((100vw / var(--vw-small))*272);
        margin: 0 auto 0;
        display: inline-block;
      }

      .choose-area {
        border-radius: calc((100vw / var(--vw-small))*20);
        border: 1px solid var(--3, #EC6710);
        background: #FAF0E9;
        width: calc((100vw / var(--vw-small))*309);
        margin: 0 auto;
        padding: calc((100vw / var(--vw-small))*20) 0 calc((100vw / var(--vw-small))*30);
        -webkit-border-radius: calc((100vw / var(--vw-small))*20);
        -moz-border-radius: calc((100vw / var(--vw-small))*20);
        -ms-border-radius: calc((100vw / var(--vw-small))*20);
        -o-border-radius: calc((100vw / var(--vw-small))*20);

        h3 {
          width: calc((100vw / var(--vw-small))*263);
          margin: 0 auto calc((100vw / var(--vw-small))*21);
        }

        .flex_form {
          flex-direction: column;
          align-items: center;
        }

        p.or {
          margin: 0 0 2.5vw;
        }

        .check-area-form_note {
          font-size: calc((100vw / var(--vw-small)) * 14);
          margin-top: calc((100vw / var(--vw-small)) * 10);
          margin-right: auto;
          text-align: center;
        }

        p.cta_p {
          font-size: 3.5vw;
          line-height: 1.2;
          width: 95%;
          margin: auto auto 2vw;
        }

        .text-box {
          margin: 0 auto calc((100vw / var(--vw-small))*24);
        }

        .check-area-result p {
          position: relative;
          font-size: 1.2em;
          font-weight: 500;
          margin: calc((100vw / var(--vw-large)) * 20) auto;
          width: 90%;
        }

        .textbox-2 {
          width: calc((100vw / var(--vw-small))*262);
          padding: 8px 10px;
          border: 1px solid #d2d2d2;
          border-radius: 3px;
          background: #efefef;
          font-size: 1em;
          line-height: 1.5;
          margin-left: 0;
          margin-right: 0;
        }

        .textbox-3 {
          width: calc((100vw / var(--vw-small)) * 262);
          padding: 8px 10px;
          border: 1px solid #d2d2d2;
          border-radius: 3px;
          background: #efefef;
          font-size: 1em;
          line-height: 1.5;
          margin-right: 0;
          margin-left: 0;
          margin-bottom: 10px;
        }

        .textbox-2::placeholder,
        .textbox-3::placeholder {
          color: #999;
        }

        button.submit-btn {
          width: calc((100vw / var(--vw-small))*293);
          display: inline-block;
          margin-top: 19px;
        }
      }

    }

    .campaign {
      width: calc((100vw / var(--vw-large))*866);
      margin: 0 auto;
    }

  }
}

/* SEC07 */

.sec07 {
  background-image: url(../img/sec07-bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc((100vw / var(--vw-large))*52) 0 calc((100vw / var(--vw-large))*71);
  position: relative;

  .sec07-span {
    display: inline-block;
    width: calc((100vw / var(--vw-large))*306);
    margin: 0 auto calc((100vw / var(--vw-large))*9);
  }

  h2 {
    margin: 0 auto calc((100vw / var(--vw-large))*66);
  }

  .sec07-contents {
    width: calc((100vw / var(--vw-large))*651);
    margin: 0 auto;
  }

  .sec07-img {
    position: absolute;
    width: calc((100vw / var(--vw-large))*330);
    bottom: 0;
    right: calc((100vw / var(--vw-large))*10);
  }
}


@media(max-width:768px) {
  .sec07 {
    background-image: url(../img/sec07-bg.jpg);
    padding: calc((100vw / var(--vw-small))*57) 0 calc((100vw / var(--vw-small))*240);
    position: relative;

    .sec07-span {
      display: inline-block;
      width: calc((100vw / var(--vw-small))*306);
      margin: 0 auto calc((100vw / var(--vw-small))*15);
    }

    h2 {
      font-size: calc((100vw / var(--vw-small))*36);
      margin: 0 auto calc((100vw / var(--vw-small))*64);
    }

    .sec07-slider-container {
      height: 100vh;
      width: calc((100vw / var(--vw-small))*316);
      /* ビューポートの高さを使用 */
      position: relative;
      overflow: hidden;
      margin: 0 auto calc((100vw / var(--vw-small))*22);

      .swiper {
        overflow: initial;
        /* width: calc((100vw / var(--vw-large))*180); */

        .swiper-wrapper {
          width: initial;
          /* align-items: end; */

          .swiper-slide {
            /* position: relative; */
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center center;
          }
        }
      }
    }

    .sec07-img {
      position: absolute;
      width: calc((100vw / var(--vw-small))*218);
      bottom: 0;
      right: calc((100vw / var(--vw-small))*86);
    }
  }
}

/* SEC08 */

.sec08 {
  background-image: url(../img/sec08-bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc((100vw / var(--vw-large))*150) 0 calc((100vw / var(--vw-large))*120);

  h2 {
    font-size: calc((100vw / var(--vw-large))*30);
    margin: 0 auto calc((100vw / var(--vw-large))*70);

    span {
      font-size: calc((100vw / var(--vw-large))*36);
    }
  }

  ul {
    width: calc((100vw / var(--vw-large))*1043);
    margin: 0 calc((100vw / var(--vw-large))*180) 0 auto;

    li {
      margin: 0 auto calc((100vw / var(--vw-large))*20);

      &:last-child {
        margin: 0;
      }
    }
  }

}

@media(max-width:768px) {
  .sec08 {
    background-image: url(../img/sp/sec08-bg.jpg);
    padding: calc((100vw / var(--vw-small))*42) 0;

    h2 {
      font-size: calc((100vw / var(--vw-small))*30);
      margin: 0 auto calc((100vw / var(--vw-small))*53);
      line-height: 120%;

      span {
        font-size: calc((100vw / var(--vw-small))*36);
      }
    }

    ul {
      width: calc((100vw / var(--vw-small))*370);
      margin: 0 auto;

      li {
        margin: 0 auto calc((100vw / var(--vw-small))*20);

        &:last-child {
          margin: 0;
        }
      }
    }

  }
}

/* SEC09 */
/* width: calc((100vw / var(--vw-large))*485); */

.sec09 {
  background-image: url(../img/sec09-bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc((100vw / var(--vw-large))*70) 0;

  .sec09-span {
    width: calc((100vw / var(--vw-large))*252);
    display: inline-block;
    margin: 0 auto calc((100vw / var(--vw-large))*17);
  }

  h2 {
    margin: 0 auto calc((100vw / var(--vw-large))*50);
  }

  ul {
    width: calc((100vw / var(--vw-large))*961);
    margin: 0 auto calc((100vw / var(--vw-large))*61);
    gap: calc((100vw / var(--vw-large))*19);
    justify-content: space-between;
  }

  .calendar {
    display: inline-block;
    width: calc((100vw / var(--vw-large))*564);
    margin: 0 auto;
  }
}



@media(max-width:768px) {

  .sec09 {
    background-image: url(../img/sp/sec09-bg.jpg);
    padding: calc((100vw / var(--vw-small))*55) 0;

    .sec09-span {
      width: calc((100vw / var(--vw-small))*252);
      margin: 0 auto calc((100vw / var(--vw-large))*17);
    }

    h2 {
      margin: 0 auto calc((100vw / var(--vw-large))*50);
      font-size: calc((100vw / var(--vw-small))*36);
    }

    ul {
      width: calc((100vw / var(--vw-small))*296);
      margin: 0 auto calc((100vw / var(--vw-small))*44);
      gap: calc((100vw / var(--vw-small))*10);
      flex-direction: column;

      li {
        width: 100%;
      }
    }

    .calendar {
      display: inline-block;
      width: calc((100vw / var(--vw-small))*332);
      margin: 0 auto;
    }
  }

}

/* SEC10 */
.sec10 {
  background-color: #D96B23;
  padding: calc((100vw / var(--vw-large))*62) 0 calc((100vw / var(--vw-large))*89);

  h2 {
    margin: 0 auto calc((100vw / var(--vw-large))*60);
  }

  form {
    text-align: left;
    width: calc((100vw / var(--vw-large))*698);
    margin: auto;
  }

  .line_wrap {
    margin: 0 auto 1.8382352941176472vw;
  }

  .form_th {
    align-items: center;
    display: flex;
    margin: 0 auto 1.1764705882352942vw;
  }

  .form_th div {
    margin-right: 0.5147058823529411vw;
  }

  .form_td.form_add {
    display: block;
  }

  .line_wrap .block_p {
    display: block;
    width: 100%;
  }

  form span.havto {
    font-size: 1.0294117647058822vw;
    color: #fcfcfc;
    background-color: #C70C0C;
    padding: 0.29411764705882354vw 0.8823529411764706vw;
  }

  input {
    background: #fff;
    border: none;
    height: 2.5735294117647056vw;
  }

  textarea#inquiry {
    background: #fff;
    border: none;
    padding: 0.7352941176470588vw;
    width: 98%;
  }

  .wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required#drop {
    width: 100%;
    border: none;
    height: 2.5735294117647056vw;
    padding: 0 0.7352941176470588vw;
  }

  .form_td.dropdown-menu_wrapper {
    position: relative;
  }

  .form_td.dropdown-menu_wrapper::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 6px 0 6px;
    border-color: #EC6710 transparent transparent transparent;
    position: absolute;
    top: calc((100vw / var(--vw-large))*14);
    right: calc((100vw / var(--vw-large))*20);
    pointer-events: none;
  }

  option {
    &:first-child {
      color: #CECECE;
    }

    &:nth-child(n + 2) {
      color: #000;
    }
  }

  input[type="text" i] {
    padding-left: 0.7352941176470588vw;
    width: 98%;
    color: #333;
  }

  input::-webkit-input-placeholder,
  ::-webkit-input-placeholder {
    color: #a7a7a7;
  }

  ::-webkit-full-page-media,
  :future,
  :root input::-webkit-input-placeholder {
    line-height: normal;
    position: relative;
    bottom: 0.5882352941176471vw;
  }

  h4.contact_h4 {
    font-size: calc((100vw / var(--vw-large))*20);
    margin: 5.147058823529411vw 0 1.4705882352941175vw;
    text-align: center;
    letter-spacing: 0;
  }

  p.p_p {
    margin: 0 auto 2.2058823529411766vw;
    text-align: center;
    line-height: 1.75;
    font-weight: 400;
  }

  .pp_box {
    height: 17.647058823529413vw;
    overflow: scroll;
    margin: auto;
    border: solid 1px;
    padding: 2.2058823529411766vw;
    background-color: #fff;
    margin: 0 auto 1.4705882352941175vw;
  }

  .pp_box p {
    line-height: 1.5;
    word-break: break-all;
  }

  .acceptance {
    margin: 1.4705882352941175vw 0 2.2058823529411766vw;
    text-align: center;
    border-bottom: none;
  }

  .btn_wrap {
    text-align: center;
    border-bottom: none;
  }

  .send_btn {
    position: relative;
    display: inline-block;
    overflow: hidden;
    width: calc((100vw / var(--vw-large))*248);
    height: calc((100vw / var(--vw-large))*50);
    letter-spacing: .6px;
    color: #FCFCFC;
    background: #fff;
    border: #D96B23;
    border-radius: calc((100vw / var(--vw-large))*50);
    text-align: center;
    outline: none;
    transition: ease .2s;
    -webkit-border-radius: calc((100vw / var(--vw-large))*50);
    -moz-border-radius: calc((100vw / var(--vw-large))*50);
    -ms-border-radius: calc((100vw / var(--vw-large))*50);
    -o-border-radius: calc((100vw / var(--vw-large))*50);
  }

  .send_btn:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #D96B23;
    width: calc((100vw / var(--vw-large))*248);
    height: calc((100vw / var(--vw-large))*50);

    /*アニメーション*/
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: left top;
  }

  .send_btn:hover:before {
    transform-origin: right top;
    transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
  }

  .wpcf7-submit.send {
    position: relative;
    background: none;
    width: calc((100vw / var(--vw-large))*248);
    height: calc((100vw / var(--vw-large))*50);
    border: none;
    z-index: 3;
    color: #333;
    letter-spacing: 0.6px;
  }

  .wpcf7-submit.send:hover {
    color: #fff;
    z-index: 3;
  }

  .wpcf7-response-output {
    color: red;
    margin-top: 20px;
  }

  .screen-reader-response {
    color: red;
    margin-bottom: 20px;
  }

  .screen-reader-response ul {
    display: none;
  }

  span.wpcf7-not-valid-tip {
    margin-top: 10px;
    color: red;
  }

  /* Checkboxes styles */

  input[type="checkbox"] {
    display: none;
  }

  input[type="checkbox"]+.wpcf7-list-item-label {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 20px;
    color: #fff;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
  }

  input[type="checkbox"]+.wpcf7-list-item-label:before {
    content: '';
    display: block;
    color: #fff;
    width: 20px;
    height: 20px;
    border: 1px solid #fff;
    position: absolute;
    left: 0;
    top: 50%;
    opacity: .6;
    -webkit-transition: all .12s, border-color .08s;
    transition: all .12s, border-color .08s;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -moz-transition: all .12s, border-color .08s;
    -ms-transition: all .12s, border-color .08s;
    -o-transition: all .12s, border-color .08s;
  }

  input[type="checkbox"]:checked+.wpcf7-list-item-label:before {
    width: 10px;
    top: -7px;
    left: 5px;
    border: solid 2px;
    border-radius: 0;
    opacity: 1;
    border-top-color: transparent;
    border-left-color: transparent;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  .wpcf7-list-item {
    display: inline-block;
    margin: 0 0 1em 1em !important;
  }

}

@media(max-width:768px) {
  .sec10 {
    padding: calc((100vw / var(--vw-small))*50) 0 calc((100vw / var(--vw-large))*70);

    h2 {
      margin: 0 auto calc((100vw / var(--vw-small))*33);
      font-size: calc((100vw / var(--vw-small))*32);
    }

    form {
      width: calc((100vw / var(--vw-small))*332);
    }

    .line_wrap {
      margin: 0 auto calc((100vw / var(--vw-small))*23);
    }

    .form_th {
      margin: 0 auto calc((100vw / var(--vw-small))*10);
    }

    .form_th div {
      margin-right: calc((100vw / var(--vw-small))*8);
    }

    form span.havto {
      font-size: calc((100vw / var(--vw-small))*13);
      padding: calc((100vw / var(--vw-small))*3) calc((100vw / var(--vw-small))*6);
    }

    input {
      height: calc((100vw / var(--vw-small))*33);
    }

    textarea#inquiry {
      padding: calc((100vw / var(--vw-small))*10) calc((100vw / var(--vw-small))*13);
      width: 94%;
    }

    .wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required#drop {
      width: 100%;
      border: none;
      height: calc((100vw / var(--vw-small))*33);
      padding: 0 calc((100vw / var(--vw-small))*10);
    }

    .form_td.dropdown-menu_wrapper {
      position: relative;
    }

    .form_td.dropdown-menu_wrapper::after {
      top: calc((100vw / var(--vw-small))*11);
      right: calc((100vw / var(--vw-small))*20);
    }

    input[type="text" i] {
      padding-left: calc((100vw / var(--vw-small))*10);
      width: 98%;
      color: #333;
    }

    ::-webkit-full-page-media,
    :future,
    :root input::-webkit-input-placeholder {
      bottom: calc((100vw / var(--vw-small))*5);
    }

    h4.contact_h4 {
      font-size: calc((100vw / var(--vw-small))*20);
      width: calc((100vw / var(--vw-small))*262);
      margin: calc((100vw / var(--vw-small))*30) auto;
      line-height: 120%;
    }

    p.p_p {
      margin: 0 auto calc((100vw / var(--vw-small))*40);
      font-size: calc((100vw / var(--vw-small))*14);
      letter-spacing: 0;
    }

    .pp_box {
      height: 17.647058823529413vw;
      overflow: scroll;
      margin: auto;
      border: solid 1px;
      padding: 2.2058823529411766vw;
      background-color: #fff;
      margin: 0 auto 1.4705882352941175vw;
    }

    .pp_box p {
      line-height: 1.5;
      word-break: break-all;
    }

    .acceptance {
      margin: 1.4705882352941175vw 0 2.2058823529411766vw;
      text-align: center;
      border-bottom: none;
    }

    .btn_wrap {
      text-align: center;
      border-bottom: none;
    }

    .send_btn {
      position: relative;
      display: inline-block;
      overflow: hidden;
      width: calc((100vw / var(--vw-small))*248);
      height: calc((100vw / var(--vw-small))*50);
      letter-spacing: .6px;
      color: #FCFCFC;
      background: #fff;
      border: #D96B23;
      border-radius: calc((100vw / var(--vw-small))*50);
      text-align: center;
      outline: none;
      transition: ease .2s;
      -webkit-border-radius: calc((100vw / var(--vw-small))*50);
      -moz-border-radius: calc((100vw / var(--vw-small))*50);
      -ms-border-radius: calc((100vw / var(--vw-small))*50);
      -o-border-radius: calc((100vw / var(--vw-small))*50);
    }

    .send_btn:before {
      content: '';
      /*絶対配置で位置を指定*/
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      /*色や形状*/
      background: #D96B23;
      width: calc((100vw / var(--vw-small))*248);
      height: calc((100vw / var(--vw-small))*50);

      /*アニメーション*/
      transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
      transform: scale(0, 1);
      transform-origin: left top;
    }

    .send_btn:hover:before {
      transform-origin: right top;
      transform: scale(1, 1);
      -webkit-transform: scale(1, 1);
      -moz-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      -o-transform: scale(1, 1);
    }

    .wpcf7-submit.send {
      position: relative;
      background: none;
      width: calc((100vw / var(--vw-small))*248);
      height: calc((100vw / var(--vw-small))*50);
      border: none;
      z-index: 3;
      color: #333;
      letter-spacing: 0.6px;
    }

    .wpcf7-submit.send:hover {
      color: #fff;
      z-index: 3;
    }

    .wpcf7-response-output {
      color: red;
      margin-top: 20px;
    }

    .screen-reader-response {
      color: red;
      margin-bottom: 20px;
    }

    .screen-reader-response ul {
      display: none;
    }

    span.wpcf7-not-valid-tip {
      margin-top: 10px;
      color: red;
    }

    /* Checkboxes styles */

    input[type="checkbox"] {
      display: none;
    }

    input[type="checkbox"]+.wpcf7-list-item-label {
      display: block;
      position: relative;
      padding-left: 35px;
      margin-bottom: 20px;
      color: #fff;
      cursor: pointer;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      text-align: left;
    }

    input[type="checkbox"]+.wpcf7-list-item-label:before {
      content: '';
      display: block;
      color: #fff;
      width: 20px;
      height: 20px;
      border: 1px solid #fff;
      position: absolute;
      left: 0;
      top: 50%;
      opacity: .6;
      -webkit-transition: all .12s, border-color .08s;
      transition: all .12s, border-color .08s;
      -webkit-transform: translate(0, -50%);
      transform: translate(0, -50%);
      -moz-transition: all .12s, border-color .08s;
      -ms-transition: all .12s, border-color .08s;
      -o-transition: all .12s, border-color .08s;
    }

    input[type="checkbox"]:checked+.wpcf7-list-item-label:before {
      width: 10px;
      top: -7px;
      left: 5px;
      border: solid 2px;
      border-radius: 0;
      opacity: 1;
      border-top-color: transparent;
      border-left-color: transparent;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
    }

    .wpcf7-list-item {
      display: inline-block;
      margin: 0 0 1em 1em !important;
    }

  }

}

@media screen and (-webkit-min-device-pixel-ratio:0) {

  ::i-block-chrome,
  :root input::-webkit-input-placeholder {
    line-height: normal;
    position: relative;
    bottom: 0;
  }
}

/* ============================================
  THANKS - 送信完了
============================================ */
.ly_contact__thanks {
  position: relative;
  height: 85vh;

  .ly_thanks_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }

  .bl_form_body {
    display: none !important;
  }

  .el_sectTtl {
    font-size: 2vw;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.18;
    text-align: center;
    margin: auto;
    position: relative;
    z-index: 1;
  }

  .el_sectTtl:after {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: din-2014, sans-serif;
    font-weight: 700;
    font-style: italic;
    letter-spacing: .02em;
    z-index: -1;
  }

  .el_sectTtl:after {
    content: "Contact";
    color: transparent;
    font-size: 5.5vw;
    line-height: 1.27;
    -webkit-text-stroke: 1px #3b711f;
    opacity: .3;
  }

  .el_sectTtl {
    padding: 2.0625vw 0;
    margin-bottom: .4375vw;
  }

  .bl_contact_txt {
    font-size: 1vw;
    line-height: 1.87;
    text-align: center;
    width: 39vw;
    margin: 0 auto 2.8125vw;
  }

  .bl_contact_txt {
    font-size: 1vw;
    line-height: 1.87;
    text-align: center;
    width: 39vw;
    margin: 0 auto 2.8125vw;
  }
}

@media(max-width:768px) {
  .ly_contact__thanks {
    .el_sectTtl {
      font-size: 6vw;
      font-weight: 700;
      letter-spacing: .08em;
      line-height: 1.18;
      text-align: center;
      margin: auto;
      position: relative;
      z-index: 1;
    }

    .el_sectTtl:after {
      content: "Contact";
      color: transparent;
      font-size: 12.5vw;
      line-height: 1.27;
      -webkit-text-stroke: 1px #3b711f;
      opacity: .3;
      width: 100%;
      position: absolute;
      top: 50%;
      left: 43%;
      transform: translate(-50%, -50%);
      font-family: din-2014, sans-serif;
      font-weight: 700;
      font-style: italic;
      letter-spacing: .02em;
      z-index: -1;
    }

    .bl_contact_txt {
      font-size: 4vw;
      line-height: 1.87;
      text-align: center;
      width: 87vw;
      margin: 20px auto 20px;
    }
  }
}

/* PARALLAX-SECTION07 */

/* デスクトップでは非表示 */
.mobile-fullscreen-section {
  display: block;
  scroll-snap-type: y mandatory;
  overflow-y: auto;
  height: 100vh;
  width: 100%;

  /* 各スライド */
  .fullscreen-slide {
    position: relative;
    height: 100vh;
    width: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }


  /* 背景を疑似要素でフルスクリーン固定 */
  .fullscreen-slide::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: -1;
    will-change: transform;
  }

  /* コンテンツ */
  .slide-content {
    padding: calc((100vw / var(--vw-small))*40) 0;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    max-width: 90%;
    text-align: center;
    width: calc((100vw / var(--vw-large))*1000);
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s ease;

    .section-title {
      width: calc((100vw / var(--vw-large))*480);
      margin: 0 auto calc((100vw / var(--vw-large))*20);
    }

    .slide-title {
      font-size: calc((100vw / var(--vw-large))*36);
      font-weight: bold;
      margin-bottom: calc((100vw / var(--vw-large))*20);
      color: #fff;
      line-height: 135%;
    }

    .step {
      display: flex;
      width: calc((100vw / var(--vw-large))*180);
      height: calc((100vw / var(--vw-large))*48);
      flex-direction: column;
      justify-content: center;
      flex-shrink: 0;
      color: #3D5130;
      text-align: center;
      font-size: calc((100vw / var(--vw-large))*28);
      font-style: normal;
      font-weight: 700;
      line-height: 168.75%;
      background: #FFF200;
      margin: 0 auto calc((100vw / var(--vw-large))*20);
    }

    .slide-description {
      font-size: calc((100vw / var(--vw-large))*28);
      line-height: 162.5%;
      color: rgba(255, 255, 255, 0.9);
      width: 100%;
      margin: 0 auto;
      letter-spacing: 0;
    }
  }

  .slide-content.visible {
    opacity: 1;
    transform: translateY(0);
  }

  /* 背景画像 */

  .bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    transform: translateZ(0);
    /* GPU レンダリング */
  }

  .fullscreen-slide.slide-title {
    background-image: url('../img/parallax01.jpg');
  }

  .fullscreen-slide.slide-1 {
    background-image: url('../img/parallax01.jpg');
  }

  .fullscreen-slide.slide-2 {
    background-image: url('../img/parallax02.jpg');
  }

  .fullscreen-slide.slide-3 {
    background-image: url('../img/parallax03.jpg');
  }

  .fullscreen-slide.slide-4 {
    background-image: url('../img/parallax04.jpg');
  }
}


@media(max-width:768px) {
  .mobile-fullscreen-section {

    /* 各スライド */
    .fullscreen-slide {
      position: relative;
      height: 100vh;
      width: 100%;
      scroll-snap-align: start;
      scroll-snap-stop: always;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 1;
      overflow: hidden;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
    }


    /* 背景を疑似要素でフルスクリーン固定 */
    .fullscreen-slide::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center;
      z-index: -1;
      will-change: transform;
    }

    /* コンテンツ */
    .slide-content {
      padding: calc((100vw / var(--vw-small))*40) 0;
      background: rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(10px);
      max-width: 90%;
      text-align: center;
      width: calc((100vw / var(--vw-small))*350);
      opacity: 0;
      transform: translateY(40px);
      transition: all 0.8s ease;

      .section-title {
        width: calc((100vw / var(--vw-small))*220);
        margin: 0 auto calc((100vw / var(--vw-small))*16);
      }

      .slide-title {
        font-size: calc((100vw / var(--vw-small))*20);
        font-weight: bold;
        margin-bottom: calc((100vw / var(--vw-small))*16);
        color: #fff;
        line-height: 135%;
      }

      .step {
        display: flex;
        width: calc((100vw / var(--vw-small))*92);
        height: calc((100vw / var(--vw-small))*26);
        flex-direction: column;
        justify-content: center;
        flex-shrink: 0;
        color: #3D5130;
        text-align: center;
        font-size: calc((100vw / var(--vw-small))*14);
        font-style: normal;
        font-weight: 700;
        line-height: 168.75%;
        background: #FFF200;
        margin: 0 auto calc((100vw / var(--vw-small))*16);
      }

      .slide-description {
        font-size: calc((100vw / var(--vw-small))*16);
        line-height: 162.5%;
        color: rgba(255, 255, 255, 0.9);
        width: calc((100vw / var(--vw-small))*330);
        margin: 0 auto;
        letter-spacing: 0;
      }
    }

    .fullscreen-slide.slide-title {
      background-image: url('../img/sp/parallax01.jpg');
    }

    .fullscreen-slide.slide-1 {
      background-image: url('../img/sp/parallax01.jpg');
    }

    .fullscreen-slide.slide-2 {
      background-image: url('../img/sp/parallax02.jpg');
    }

    .fullscreen-slide.slide-3 {
      background-image: url('../img/sp/parallax03.jpg');
    }

    .fullscreen-slide.slide-4 {
      background-image: url('../img/sp/parallax04.jpg');
    }
  }
}

/* STEP-FULLSCREEN */

.step-fullscreen-section {
  display: block;
  scroll-snap-type: y mandatory;
  overflow-y: auto;
  height: 100vh;
  width: 100%;

  /* 各スライド */
  .fullscreen-slide {
    position: relative;
    height: 100vh;
    width: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }


  /* 背景を疑似要素でフルスクリーン固定 */
  .fullscreen-slide::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: -1;
    will-change: transform;
  }

  /* コンテンツ */
  .slide-content {
    padding: calc((100vw / var(--vw-small))*40) 0;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    max-width: 90%;
    text-align: center;
    width: calc((100vw / var(--vw-large))*1000);
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s ease;

    .flex {
      display: flex;
      width: 90%;
      margin: 0 auto;
      justify-content: center;
      align-items: center;

    }

    .section-title {
      width: calc((100vw / var(--vw-large))*480);
      margin: 0 auto calc((100vw / var(--vw-large))*20);
    }

    .slide-title {
      font-size: calc((100vw / var(--vw-large))*36);
      font-weight: bold;
      color: #fff;
      line-height: 135%;
      text-align: left;
    }

    .step {
      text-align: center;
      font-size: calc((100vw / var(--vw-large))*80);
      font-weight: 700;
      line-height: 168.75%;
      color: #D96B23;
      font-weight: 700;
      line-height: 65%;
      margin: 0 calc((100vw / var(--vw-large))*14) 0 0;
    }

  }

  .slide-content.visible {
    opacity: 1;
    transform: translateY(0);
  }

  /* 背景画像 */

  .bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    transform: translateZ(0);
    /* GPU レンダリング */
  }


  .fullscreen-slide.slide-1 {
    background-image: url('../img/parallax05.jpg');
  }

  .fullscreen-slide.slide-2 {
    background-image: url('../img/parallax06.jpg');
  }

  .fullscreen-slide.slide-3 {
    background-image: url('../img/parallax07.jpg');
  }

  .fullscreen-slide.slide-4 {
    background-image: url('../img/parallax08.jpg');

    .slide-content {
      background: initial;
      backdrop-filter: initial;
    }
  }
}


@media(max-width:768px) {
  .step-fullscreen-section {

    /* 各スライド */
    .fullscreen-slide {
      position: relative;
      height: 100vh;
      width: 100%;
      scroll-snap-align: start;
      scroll-snap-stop: always;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 1;
      overflow: hidden;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
    }


    /* 背景を疑似要素でフルスクリーン固定 */
    .fullscreen-slide::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center;
      z-index: -1;
      will-change: transform;
    }

    /* コンテンツ */
    .slide-content {
      padding: calc((100vw / var(--vw-small))*40) 0;
      background: rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(10px);
      max-width: 90%;
      text-align: center;
      width: calc((100vw / var(--vw-small))*350);
      opacity: 0;
      transform: translateY(40px);
      transition: all 0.8s ease;

      .flex {
        display: block;
        width: 90%;
        margin: 0 auto;
        justify-content: center;
        align-items: center;

      }

      .section-title {
        width: calc((100vw / var(--vw-small))*250);
        margin: 0 auto calc((100vw / var(--vw-small))*14);
      }

      .slide-title {
        font-size: calc((100vw / var(--vw-small))*18);
        margin-bottom: calc((100vw / var(--vw-small))*16);
        text-align: center;
      }

      .step {
        text-align: center;
        font-size: calc((100vw / var(--vw-small))*28);
        margin: 0 auto calc((100vw / var(--vw-small))*14);
        display: block;
      }
    }


    .fullscreen-slide.slide-1 {
      background-image: url('../img/sp/parallax05.jpg');
    }

    .fullscreen-slide.slide-2 {
      background-image: url('../img/sp/parallax06.jpg');
    }

    .fullscreen-slide.slide-3 {
      background-image: url('../img/sp/parallax07.jpg');
    }

    .fullscreen-slide.slide-4 {
      background-image: url('../img/sp/parallax08.jpg');

      .slide-content {
        width: calc((100vw / var(--vw-small))*260);
        height: auto;
        padding: 0;
      }
    }
  }
}