@charset "UTF-8";
/* CSS Document */

@media screen and (min-width: 981px) {
  .section-content--inner {
    margin: auto; }
  .w1204 {
      width: 1204px; }
  .w1100 {
      width: 1100px; }
  .w928 {
      width: 928px; }
}
  .GR {
    color: #33C1B1;
  }
  /*--kv--*/
  section.kv {
    margin-top: 86px;
    background-color: #F0FBFA;
    padding:0 0 60px; }
    @media screen and (min-width: 981px) {
      section.kv .section-content--inner {
        background-image:url(/wp-content/themes/loov-video2025/img/partner/kv_bg.png);
        background-repeat:no-repeat;
        background-position: right;
        background-size: contain;
        padding: 30px 0; }
      }
    section.kv h1 {
      font-size: 45px;
      line-height: 1.7; }
      section.kv h1 .loov {
        font-size: 140%; }
      section.kv h1 .large {
        font-size: 56px }
    section.kv a {
      background: #FFA05B;
      color: #FFF;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 50px;
      padding: 20px 0;
      font-weight: bold;
      font-size:24px; }
      @media screen and (min-width: 981px) {
        section.kv a {
          width: 480px;
          margin-top:30px;
        }
      }
      section.kv a::after {
        content: "";
        background: no-repeat url(/wp-content/themes/loov-video2025/img/partner/icon_right.png) 0 0 / contain;
        width: 36px;
        height: 36px;
        display: block;
        margin: 0 0 0 10px; }

  /*--achievements--*/
  section.achievements .section-content--inner {
    display: flex; 
    margin: 20px auto;
    justify-content: space-between;
    align-items: flex-start; }
    section.achievements .section-content--inner img {
      height: 70px;
      width: auto; } 

  /*--section01--*/
  section#section01 {
    padding: 100px 0; }
    section#section01 .text1 {
      font-size: 24px;
      font-weight: bold;
      text-align: center;
      margin:30px 0; }
    section#section01 .text2 {
      width: 80%;
      margin: 0 auto; }
    section#section01 .img {
      margin:0 auto 40px; }
    section#section01 .point {
      margin: 40px 0;
      background-color: #f0fbfa;
      box-shadow: 0px 5px 15px 0px #cdcdcd;
      padding:40px;
      gap: 60px;
      border-radius: 20px; }
      @media screen and (min-width: 981px) {
        section#section01 .point {
          display: flex;
          align-items: flex-start;
          justify-content: space-between;
        }
      }
      section#section01 .point img {
        width: 600px; }
      section#section01 .point dl dt {
        font-weight: bold; }
        section#section01 .point dl dt .number {
          line-height: 1;
          padding-bottom: 15px; }
        section#section01 .point dl dt .number span {
          font-size: 48px; }
        section#section01 .point dl dt .text {
          font-size: 24px;
          margin-bottom: 20px; }
          section#section01 .point dl dt .text small {
            font-size: 13px;
            letter-spacing: 1rem; }
    section#section01 .arrow {
      text-align: center;
      margin: 40px; }
      section#section01 .arrow img {
        width: 90px; }
    section#section01 .datas {
      background: linear-gradient(to bottom right, #49CED5, #00B29E);
      padding: 40px;
    } 
      section#section01 .datas h3 {
        text-align: center;
        color: #fff;
        font-size: 32px;
        position: relative;
        padding: 0 45px;
      }
        section#section01 .datas h3:before ,
        section#section01 .datas h3:after {
          content: '';
          position: absolute;
          top: 50%;
          display: inline-block;
          width: 44px;
          height: 2px;
          background-color: #fff;
        }
        section#section01 .datas h3:before {
          -webkit-transform: rotate(60deg);
          transform: rotate(60deg);
          left: 100px;
        }
        section#section01 .datas h3:after {
          -webkit-transform: rotate(-60deg);
          transform: rotate(-60deg);
          right: 100px;
        }
      section#section01 .datas .items {
        display: flex;
        justify-content: space-around;
        margin: 20px auto 0;
      }
      @media screen and (min-width: 981px) {
        section#section01 .datas .items {
          width: 900px;
        }
      }
        section#section01 .datas .items dl {
          background-color: #fff;
          border-radius: 50%;
          text-align: center;
          font-weight: bold;
          flex-basis: 18vw;
          height: 18vw;
          padding: 2.5rem 0;
        }
          section#section01 .datas .items dl dt {
            font-size: 32px;
          }
          section#section01 .datas .items dl dd .text {
            display: flex;
            align-items: center;
            justify-content: center;
          }
          @media screen and (min-width: 981px) {
            section#section01 .datas .items dl dd .text {
              height: 52px;
            }
          }
          section#section01 .datas .items dl dd .number {
            font-size: 32px;
            line-height: 1;
          }
            section#section01 .datas .items dl dd .number .large {
              font-size: 58px;
            }
            section#section01 .datas .items dl dd .number img {
              width: 38px;
              vertical-align: -5px;
            }
    
  /*--section02--*/
  section#section02 {
    background-color: #f0fbfa;
    padding: 100px;
  }
    section#section02 p {
      font-size: 24px;
      text-align: center;
      margin: 40px auto;
    }
    section#section02 .img {
      background-color: #fff;
      border-radius: 20px;
      box-shadow: 0px 5px 15px 0px #33C1B1;
      padding: 80px;
    }
    
  /*--section03--*/
  section#section03 {
    padding: 100px;
  }
  @media screen and (min-width: 981px) {
    section#section03 .merits {
      display: flex;
      justify-content: space-between;
      margin-top: 40px;
    }
  }
      section#section03 .merits .merit {
        flex-basis: 30%;
        text-align: center;
      }
        section#section03 .merits .merit .number {
          font-size: 48px;
          font-weight: bold;
          margin-bottom: 20px;
        }
        section#section03 .merits .merit h3 {
          font-size: 24px;
          margin: 20px 0;
        }
        section#section03 .merits .merit .text {
          text-align: left;
        }

  /*--section04--*/
  section#section04 {
    background-color: #f2f2f2;
    padding: 100px;
  }
  @media screen and (min-width: 981px) {
    section#section04 .voices {
      display: flex;
      justify-content: space-around;
      flex-wrap: wrap;
      margin-top: 40px;
    }
  }
    section#section04 .voices dl {
      flex-basis: 46%;
      background-color: #fff;
      border-radius: 20px;
      padding: 30px 30px 50px;
      margin-bottom: 40px;
    }
      section#section04 .voices dl dd {
        margin-bottom: 40px;
      }
      section#section04 .voices dl dt {
        font-size: 24px;
        font-weight: bold;
      }
        section#section04 .voices dl dt span {
          background-repeat: no-repeat;
          background-position: left center;
          background-size: 70px;
          padding: 20px 0 20px 80px;
        }
          section#section04 .voices dl dt span.A {
            background-image: url(/wp-content/themes/loov-video2025/img/partner/voices_A.png);
          }
          section#section04 .voices dl dt span.B {
            background-image: url(/wp-content/themes/loov-video2025/img/partner/voices_B.png);
          }
          section#section04 .voices dl dt span.C {
            background-image: url(/wp-content/themes/loov-video2025/img/partner/voices_C.png);
          }
    
  /*--form--*/
  section#form {
    background-color: #f0fbfa;
    padding: 100px;
  }
    section#form form {
      width: 800px;
      margin: 40px auto 0;
    }
      section#form form .form_box {
        margin-bottom: 10px;
      }
        section#form form .form_box .form_box_name {
          font-size: 18px;
          font-weight: bold;
          margin-bottom: 5px;
        }
          section#form form .form_box .form_box_name span {
            background-color: #33C1B1;
            font-size: 14px;
            border-radius: 4px;
            padding: 2px 4px;
            color: #fff;
            margin-left: 5px;
          }
        section#form form .form_box input ,
        section#form form .form_box textarea {
          width: 100%;
          border-radius: 10px;
          border: solid 1px #969696;
          padding: 14px 16px;
          box-sizing: border-box;
        }
          section#form form .form_box input::placeholder ,
          section#form form .form_box textarea::placeholder {
            font-size: 16px;
            color: #969696;
          }
        section#form form .form_box .form_box--inner {
          display: flex;
          justify-content: space-between;
        }
        section#form form .form_box .form_box--inner input {
          width: 48%;
        }
    section#form form .pri {
      text-align: center;
      margin: 20px auto;
    }
      section#form form .pri a {
        display: inline;
        text-decoration: underline;
        color: #33C1B1;
        padding: 0 2px;
      }
        section#form form .pri a:hover {
          text-decoration: none;
        }
    section#form form button {
      width: 380px;
      margin: 0 auto;
      background-color: transparent;
      border: none;
      display: block;
      transition: .4s;
      opacity: 0.2;
    }



/*-- sp --*/

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

  .section-content--inner {
    padding: 0 10px;
  }

  /*--kv--*/
  section.kv {
    margin-top: 45px;
    background-color: #F0FBFA;
    padding:0; }
    section.kv .section-content--inner {
      padding: 0 10px 20px; }
      section.kv h1 {
      text-shadow: 2px 2px 0 #F0FBFA, -2px 2px 0 #F0FBFA, 2px -2px 0 #F0FBFA, -2px -2px 0 #F0FBFA;
      font-size: 6vw;
      line-height: 1.7;
      background-image:url(/wp-content/themes/loov-video2025/img/partner/kv_bg_sp.png);
      background-position: right bottom;
      background-repeat: no-repeat;
      background-size: 70%;
      padding: 50px 0 30px; }
        section.kv h1 .large {
          font-size: 8vw; }
      section.kv a {
        font-size: 18px;
        padding: 10px 0; }
        section.kv a::after {
          width: 24px;
          height: 24px; }

  /*--achievements--*/
  section.achievements .section-content--inner {
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    padding: 10px 0 0;
    margin: 0; }
    section.achievements .section-content--inner img {
      max-width: 45%;
      height: 38px;
      margin-bottom: 10px; } 

  /*--section01--*/
  section#section01 {
    padding: calc(105 *(100vw/750)) 0; }
    section#section01 .text1 {
      font-size: 18px;
      margin:30px 0 20px;
      line-height:1.2 }
    section#section01 .text2 {
      width: 100%; }
    section#section01 .img {
      padding: 10px 0;
      margin-bottom: 20px; }
    section#section01 .point {
      margin: 20px 0;
      padding: 20px;
      line-height:1.4 }
      section#section01 .point img {
        margin-top: 20px; }
      section#section01 .point dl dt {
        font-weight: bold; }
        section#section01 .point dl dt .number span {
          font-size: 36px; }
        section#section01 .point dl dt .text {
          font-size: 18px;
          margin-bottom: 20px; }
          section#section01 .point dl dt .text small {
            font-size: 12px;
            letter-spacing: 1rem; }
    section#section01 .arrow {
      text-align: center;
      margin: 20px; }
      section#section01 .arrow img {
        width: 20%; }
    section#section01 .datas {
      background: linear-gradient(to bottom right, #49CED5, #00B29E);
      padding: 20px 10px;
    }
      section#section01 .datas h3 {
        font-size: 18px;
        padding: 0 20px;
        line-height: 1.4;
      }
        section#section01 .datas h3:before ,
        section#section01 .datas h3:after {
          }
        section#section01 .datas h3:before {
          left: 10px;
        }
        section#section01 .datas h3:after {
          right: 10px;
        }
      section#section01 .datas .items {
        flex-wrap: wrap;
      }
        section#section01 .datas .items dl {
          padding: 1rem 0;
          width: 42vw;
          height: 42vw;
          flex-basis: 42vw;
        }
          section#section01 .datas .items dl dt {
            font-size: 18px;
          }
          section#section01 .datas .items dl dd .text {
            line-height: 1.2;
            font-size: 4vw;
            margin: 10px auto 0;
          }
          section#section01 .datas .items dl dd .number {
            font-size: 18px;
            line-height: 1;
          }
            section#section01 .datas .items dl dd .number .large {
              font-size:48px;
              text-shadow: 2px 2px 0 #FFF, -2px 2px 0 #FFF, 2px -2px 0 #FFF, -2px -2px 0 #FFF;
            }
            section#section01 .datas .items dl dd .number img {
              width: 30px;
              vertical-align: -5px;
            }

  /*--section02--*/
  section#section02 {
    background-color: #f0fbfa;
    padding: calc(105 *(100vw/750)) 0;
  }
    section#section02 p {
      font-size: 18px;
      text-align: center;
      margin: 20px auto;
      line-height: 1.4;
    }
    section#section02 .img {
      padding: 20px;
      margin: 0 20px;
    }

  /*--section03--*/
  section#section03 {
    padding: calc(105 *(100vw/750)) 0;
  }
    section#section03 .merits {
      padding: 0 10px;
      margin-top: 20px;
    }
      section#section03 .merits .merit {
        text-align: center;
        margin-bottom: 30px;
      }
        section#section03 .merits .merit .number {
          font-size: 28px;
          margin-bottom: 10px;
          font-weight: bold;
        }
        section#section03 .merits .merit img {
          width: 75%;
        }
        section#section03 .merits .merit h3 {
          font-size: 18px;
          margin: 10px 0;
          line-height: 1.4;
        }
        section#section03 .merits .merit .text {
          text-align: left;
          line-height: 1.4;
        }

  /*--section04--*/
  section#section04 {
    background-color: #f2f2f2;
    padding: calc(105 *(100vw/750)) 0;
  }
  section#section04 .voices {
    margin-top: 20px;
  }
    section#section04 .voices dl {
      background-color: #fff;
      border-radius: 20px;
      padding: 20px 20px 40px;
      margin-bottom: 20px;
    }
      section#section04 .voices dl dd {
        margin-bottom: 25px;
        line-height: 1.4;
      }
      section#section04 .voices dl dt {
        font-size: 4.5vw;
        font-weight: bold;
      }
        section#section04 .voices dl dt span {
          background-repeat: no-repeat;
          background-position: left center;
          background-size: 50px;
          padding: 15px 0 15px 60px;
        }
          section#section04 .voices dl dt span.A {
            background-image: url(/wp-content/themes/loov-video2025/img/partner/voices_A.png);
          }
          section#section04 .voices dl dt span.B {
            background-image: url(/wp-content/themes/loov-video2025/img/partner/voices_B.png);
          }
          section#section04 .voices dl dt span.C {
            background-image: url(/wp-content/themes/loov-video2025/img/partner/voices_C.png);
          }

  /*--form--*/
  section#form {
    background-color: #f0fbfa;
    padding: calc(105 *(100vw/750)) 0;
  }
    section#form form {
      margin: 20px auto 0;
      width: 85%;
    }
      section#form form .form_box {
        margin-bottom: 10px;
      }
        section#form form .form_box .form_box_name {
          font-size: 16px;
          font-weight: bold;
          margin-bottom: 5px;
        }
          section#form form .form_box .form_box_name span {
            background-color: #33C1B1;
            font-size: 12px;
            border-radius: 4px;
            padding: 2px 4px;
            color: #fff;
            margin-left: 5px;
          }
        section#form form .form_box input ,
        section#form form .form_box textarea {
          width: 100%;
          border-radius: 10px;
          border: solid 1px #969696;
          padding: 10px 8px;
          box-sizing: border-box;
        }
          section#form form .form_box input::placeholder ,
          section#form form .form_box textarea::placeholder {
            font-size: 14px;
            color: #969696;
          }
        section#form form .form_box .form_box--inner {
          display: flex;
          justify-content: space-between;
        }
        section#form form .form_box .form_box--inner input {
          width: 48%;
        }
    section#form form .pri {
      text-align: center;
      margin: 20px auto;
    }
      section#form form .pri a {
        display: inline;
        text-decoration: underline;
        color: #33C1B1;
        padding: 0 2px;
      }
        section#form form .pri a:hover {
          text-decoration: none;
        }
    section#form form button {
      width: 80%;
      margin: 0 auto;
      background-color: transparent;
      border: none;
      display: block;
      transition: .4s;
      opacity: 0.2;
    }
}

  /*--thanks--*/

  #mv-content {
    width: 100%;
    margin-top: 86px;
    background: linear-gradient(to right, #e5f5f2, #b0e4ed);
  }
  .thanks .cont-inner {
      padding: 30px 0;
    }
  @media screen and (max-width: 980px) {
    .thanks .cont-inner {
      padding: 20px;
    }
  }
  .thanks h2 {
    text-align: left;
    margin-bottom: 0;
  }
  #m-contact-download-content {
      width: 1090px;
      height: auto;
      margin: 60px auto;
  }
  @media screen and (max-width: 980px) {
    #m-contact-download-content {
        width: calc(650 * (100vw / 750));
        height: calc(100vh - 360px);
        margin: calc(60 * (100vw / 750)) auto;
    }
  }
  #m-contact-download-content h2 {
      font-size: 30px;
      font-weight: bold;
      position: relative;
      padding: 4px 0 4px 28px;
      letter-spacing: 0.05em;
      text-align: left;
  }
  @media screen and (max-width: 980px) {
    #m-contact-download-content h2 {
      font-size: calc(30 *(100vw/750));
      padding: calc(4 * (100vw / 750)) 0 calc(4 * (100vw / 750)) 1.4em;
    }
  }
  #m-contact-download-content h2::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      display: block;
      width: 8px;
      height: 1.267em;
      background: #00B29E;
  }
  #m-contact-download-content p {
      font-size: 16px;
      line-height: 1.875;
      margin-top: 2.5em;
  }
  @media screen and (max-width: 980px) {
    #m-contact-download-content p {
      font-size: max(1.87vw, 12px);
      line-height: 1.875;
      margin-top: 1.875em;
    }
  }