@charset "UTF-8";
/* CSS Document */
body {
	/*
  font-family: "游ゴシック", YuGothic, 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  */
  font-family: "SF Pro JP","SF Pro Display","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック","Helvetica Neue","Helvetica","Arial",sans-serif;
}
img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.marker {
  background: linear-gradient(transparent 80%, #f6d019 80%);
  background-position: 0px -5px;
  font-weight: bold;
}
.center, .image_center {
  text-align: center;
}
.sans {
  font-family: "Source Sans Pro";
}
.red {
  color: #ff4b36;
}
.blue {
  color: #5285ea;
}
.green {
  color: #35af91;
}
/*--------------------------------------------
header
--------------------------------------------*/
#visual {
  width: 100%;
  min-width: 1120px;
  overflow: hidden;
}
#visual-image {
  position: relative;
  left: 50%;
  margin-left: -720px;
  width: 1440px;
}
  #visual-image img {
    max-width: 100%;
  }
  .special-head {
    margin-top: 48px;
  }
/*--------------------------------------------
function
--------------------------------------------*/
.flex-content.function_column {
  margin: 60px auto;
  width: 980px;
}
.function_column .flex-content {
  align-self: center;
  width: 33%;
  margin-bottom: 30px;
}
.function_column .flex-content dt {
  width: 30%;
}
.function_column .flex-content dt img {
  max-width: 100px;
}
.function_column .flex-content dd {
  font-size: 1.25em;
  font-weight: bold;
  width: 65%;
  line-height: 1.6;
  padding-top: 15px;
}
/*--------------------------------------------
common
--------------------------------------------*/
.content_inner {
  width: 1024px;
  margin: auto;
}
.content_outer {
  background: #f6d019;
  padding: 40px 0;
  margin: 80px auto 0px;
}
.flex-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
/*--------------------------------------------
overview
--------------------------------------------*/
.overview {
  width: 960px;
  margin: 100px auto 0px;
}
.overview h2 {
  text-align: center;
  font-size: 3.8rem;
  font-weight: bold;
  letter-spacing: 0.01rem;
  margin-bottom: 0.5em;
  line-height: 1.4;
}
.overview h2 img {
  display: block;
  width: 340px;
  margin: 0 auto 0.5em;
}
/* point1 */
.overview .point1 {
  margin: 40px auto;
}
.overview .point1 .scene_img {
  width: 27%;
}
/* point2 */
.overview .point2 {
  margin: 60px auto;
}
.overview .point2 .scene_img {
  width: 45%;
  text-align: center;
}
.overview .point2 .scene_img img {
  margin-bottom: 1em;
}
/* point2 */
.overview .point3 {
  margin: 60px auto;
}
.overview .point3 .scene_img {
  width: 45%;
  text-align: center;
}
.overview .point3 .scene_img img {
  margin-bottom: 1em;
}
.overview p{
  line-height: 1.8;
}

/*--------------------------------------------
contents
--------------------------------------------*/

.dp_aipatentbanner{
  width: 360px;
  position: absolute;
  top: 240px;
  right: 10%;
  filter: drop-shadow(2px 2px 2px #aaa);
}
header {
  margin-bottom: -60px;
}
header p.catch{
  width: 960px;
  margin: 60px auto 0px;
  text-align: center;
  line-height: 1.8;
}
.dp_intro {
  width: 960px;
  margin: 120px auto 0px;
}
.dp_intro h2{
  margin-bottom: 60px;
}
.dp_intro_one{
  width: 30%;
}
  .dp_intro_one img {
    width: 88%;
    margin: 0px auto;
  }
  .dp_intro_one h3 {
    font-size: 2.2rem;
    margin-bottom: 20px;
  }
  .dp_intro_one p {
    margin-top: 20px;
    }
.dp_about{
  width: 960px;
  margin: 120px auto 0px;
}
.dp_about h2 {
  margin-bottom: 60px;
}
.dp_about_one{
  width: 47%;
}
  .dp_about_one img {
    width: 88%;
    margin: 0px auto;
  }
.dp_about .dp_about_one:nth-child(2) h3{
  background-color: #35ae92;
  border:none;
  color: #FFF;
}
.dp_about_one h3{
  text-align: center;
  height: 46px;
  line-height: 46px;
  border-radius: 23px;
  border: 1px solid #111111;
  margin-bottom: 20px;
}
.dp_about_one p{
  text-align: justify;
  margin-top: 10px;
}
  .underline_blue{
    border-bottom: #5285ea 1px solid;

  }
  .underline_red{
    border-bottom: #ff4b36 1px solid;
  }
  
.dp_zirei{
  width: 100%;
  background-color: #f5fbfa;
}
  .dp_zirei_inner {
    width: 800px;
    margin: 120px auto 0px;
    padding-top: 90px;
    padding-bottom: 30px;
  }
  .dp_zirei h2{
    font-size: 3.8rem;
    text-align: center;
    margin-bottom: 80px;
  }
    .dp_zirei_one{
      margin-bottom: 100px;
    }
    .dp_zirei_one h3{
      color: #29486d;
      text-align: center;
      font-size: 2.6rem;
      margin-bottom: 40px;
    }
    .dp_zirei_one h3 span{
      position: relative;
      display: inline-block;
      border-bottom: solid 3px #29486d;
      box-sizing: border-box;
      padding-bottom: 10px;
    }
    .dp_zirei_one h3 span:before {
      content: "";
      position: absolute;
      bottom: -20px;
      left: 50%;
      margin-left: -15px;
      border: 10px solid transparent;
      border-top: 10px solid #f5fbfa;
      z-index: 2;
    }
    .dp_zirei_one h3 span:after {
      content: "";
      position: absolute;
      bottom: -26px;
      left: 50%;
      margin-left: -17px;
      border: 12px solid transparent;
      border-top: 12px solid #29486d;
      z-index: 1;
    }
    
    .dp_zirei_submidashi{
      text-align: center;
      font-weight: bold;
      margin-bottom: 20px;
      font-size: 2.2rem;
    }
      .dp_zirei_submidashi span{
        font-size: 14px;
        height: 30px;
        border-radius: 15px;
        line-height: 30px;
        font-weight: bold;
        background-color: #f6d019;
        display: block;
        width: 120px;
        margin: 0px auto 10px;
      }
      .dp_zirei_one img{
        margin-bottom: 20px;
      }
      .dp_zirei_one p.discription{
        line-height: 1.8;
        text-align: justify;
      }
  .dp_kadai {
    width: 960px;
    margin: 120px auto 0px;
  }
    .dp_kadai h2 {
      margin-bottom: 80px;
    }
    .dp_kadai_one{
      margin-bottom: 60px;
    }
    .dp_kadai_one h3{
      position: relative;
      display: block;
      border: solid 3px #29486d;
      box-sizing: border-box;
      padding-bottom: 10px;
      font-size: 2.8rem;
      margin: 0px auto 20px;
      height: 84px;
      border-radius: 8px;
      text-align: center;
      line-height: 84px;
      box-sizing: border-box;
    }
    .dp_kadai_one h3:before {
      content: "";
      position: absolute;
      bottom: -20px;
      left: 50%;
      margin-left: -15px;
      border: 10px solid transparent;
      border-top: 10px solid #f5fbfa;
      z-index: 2;
    }
    .dp_kadai_one h3:after {
      content: "";
      position: absolute;
      bottom: -26px;
      left: 50%;
      margin-left: -17px;
      border: 12px solid transparent;
      border-top: 12px solid #29486d;
      z-index: 1;
    }
      .dp_kadai_one_remark {
        width: 580px;
        margin: 40px auto 0px;
        align-items: center;
      }
        .dp_kadai_one_remarkpic{
          width: 120px;
          }
          .dp_kadai_one_remarktxt{
            width: 440px;          
          }
          .dp_kadai_one_remarktxt {
              position: relative;
              display: inline-block;
              height: 94px;
              color: #111;
              background: #f6d019;
              box-sizing: border-box;
              border-radius: 10px;
              padding: 20px;
            }
              .dp_kadai_one_remarktxt p {
                 font-weight: bold;
              }
            .dp_kadai_one_remarktxt:before {
              content: "";
              position: absolute;
              top: 50%;
              left: -34px;
              margin-top: -20px;
              border: 20px solid transparent;
              border-right: 36px solid #f6d019;
            }
              .dp_kadai_one_remarktxt_effect{
                background-color: #5186ec;
                color: #FFF;
              }
            .dp_kadai_one_remarktxt_effect:before {
                border-right: 36px solid #5186ec;
              }
      .dp_kadai_badpoint,.dp_kadai_goodpoint{
        width: 720px;
        margin: 20px auto 0px;
        justify-content: center;
      }
      .dp_kadai_badpoint > div:nth-child(2){
        margin-left: 20px;
      }
      .dp_kadai_goodpoint > div:nth-child(2){
        margin-left: 20px;
      }
        .dp_kadai_badpoint_one{
        }
          .dp_kadai_badpoint_one p{
            color: #ff4b36;
            font-size: 2.0rem;
            font-weight: bold;          
          }
          .dp_kadai_badpoint_one p:before{
            content: "";
            background-image: url("/lib/images/lp/dp/dp_kadai_icon_bad.png");
            background-size: 20px 20px;
            background-repeat: no-repeat;
            padding-left: 28px;
            vertical-align: middle;
          }
          .dp_kadai_goodpoint_one p{
            color: #35ae92;
            font-size: 2.0rem;
            font-weight: bold;          
          }
          .dp_kadai_goodpoint_one p:before{
            content: "";
            background-image: url("/lib/images/lp/dp/dp_kadai_icon_good.png");
            background-size: 20px 20px;
            background-repeat: no-repeat;
            padding-left: 28px;
            vertical-align: middle;
          }

  .dp_kaiketsu{
    width: 100%;
  }
    .dp_kaiketsu_header{
      background-color: #5186ec;
      padding-top: 20px;
      padding-bottom: 20px;
    }
      .dp_kaiketsu_header h2{
        color: #FFF;
        text-align: center;
        font-size: 2.8rem;
        line-height: 1.6;
      }
    .dp_kaiketsu_intro{
      width: 640px;
      margin: 20px auto 0px;
    }
    .dp_kaiketsu_one_head{
      text-align: center;    
      margin-bottom: 40px;
    }
    .dp_kaiketsu_one_head_img{
      width: 80px;
      margin: 0px auto 20px;
    }
    .dp_kaiketsu_one_head p{
      font-size: 2.4rem;
      color: #5186ec;
      font-weight: bold;
      line-height: 1.4;
    }
    .dp_kaiketsu_one_head p span{
      font-size: 4.2rem;    
    }
    .dp_kaiketsu_img{
      width: 47%;
      margin-bottom: 20px;
    }
      .dp_kaiketsu_img img{
        width: 100%;
        margin: 0px auto 20px;
      }
      .dp_kaiketsu_img_width{
        width: 100%;
        margin: 0px auto 20px;
      }
    .dp_kaiketsu_tuning{
      margin-bottom: 20px;    
    }
      .dp_kaiketsu_tuning h3{
        font-size: 2.4rem;
        text-align: center;
        margin-bottom: 10px;
        line-height: 1.4;
      }
      .dp_kaiketsu_tuning p{
        font-size: 1.6rem;
        text-align: justify;
      }
    .dp_kaiketsu_result{
      }
      .dp_kaiketsu_result h3{
        font-size: 2.8rem;
        color: #35ae92;
        text-align: center;
        line-height: 1.4;
      }
      .dp_kaiketsu_tuning_arr{
        width: 40px;
        margin: 0px auto 20px;
      }
  
    .dp_kaiketsu_sub{
      margin-top: 80px;
    }
      .dp_kaiketsu_sub h3{
        color: #29486d;
        font-size: 2.4rem;
        position: relative;
        padding: 0 55px;
        margin: 0px auto 20px;
        text-align: center;
      }
        .dp_kaiketsu_sub h3:before, .dp_kaiketsu_sub h3:after {
          content: '';
          position: absolute;
          top: 50%;
          display: inline-block;
          width: 45px;
          height: 1px;
          background-color: #29486d
        }
        .dp_kaiketsu_sub h3:before {
          left:100px;
        }
        .dp_kaiketsu_sub h3:after {
          right: 100px;
        }
  .dp_app{
  }
    .dp_app h2{
      color: #5186ec;
      border: 2px solid #5186ec;
      border-radius: 10px;
      height: 64px;
      line-height: 64px;
      font-size: 2.8rem;
      margin-bottom: 60px;
    }
  .dp_upcoming{
    border: 1px dashed #5e7691;
    box-sizing: border-box;
    padding: 30px 40px;
    justify-content: flex-start;
  }
    .dp_upcoming h2{
      color: #fff;
      text-stroke: 1px #5e7691;
      -webkit-text-stroke: 1px #5e7691;
      letter-spacing: 0.6rem;
      }
      .dp_upcoming_content_img{
        width: 320px;
      }
      .dp_upcoming_content_txt{
        width: 510px;
      }
        .dp_upcoming_content_attention{
          font-size: 1.2rem;
        }

/* ai content 20211102______________________ */
.dp_aicontent {
    border: 4px solid #5e7691;
    border-radius: 12px;
    box-sizing: border-box;
    padding: 30px 84px;
    position: relative;
}
  .dp_aicontent_iconpatent{
    width: 160px;
    height: auto;
    position: absolute;
    top: -90px;
    right: -10px;
  }
  .dp_aicontent h2 {
    width: 100%;
    border-bottom: 2px solid #29486d;
    margin-bottom: 30px;
    line-height: 1.4;
  }
  .dp_aicontent h2 img{
    width: 100%;
    margin-bottom: 0px;
  }
  .dp_aicontent_staffprice{
    width: 620px;
    margin: 0px auto 50px;
  }
  .dp_aicontent_staffprice h3{
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 20px;
    line-height: 1.4;
    }
  .dp_aicontent_on{
    text-align: center;
  }
    .dp_aicontent_on h2{
      font-size: 2.4rem;
      color: #ff4b36;
      margin-bottom: 12px;
      line-height: 1.4;
      }
    .dp_aicontent_on h3{
      font-size: 2.8rem;
      font-weight: bold;
      border-bottom: none;
    }
    .dp_aicontent_on h3 span{    
      background: -webkit-linear-gradient(transparent 80%, #f6d019 80%);
      background: -o-linear-gradient(transparent 80%, #f6d019 80%);
      background: linear-gradient(transparent 80%, #f6d019 80%);
      background-position: 0px -5px;
      font-weight: bold;
    }
  .dp_aicontent_inner {
  
    }
    .dp_aicontent_innerhead{
      width: 208px;
      height: auto;
      margin: 0px auto;
      }
      .dp_aicontent_innerhead_arr{
        width: 28px;
        height: auto;
        margin: 12px auto;
      }
  .dp_aicontent_screenimg{
    display:  flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 40px;
  }
    .dp_aicontent_screenimgmanage{
      width: 520px;
      height: auto;      
    }
    .dp_aicontent_screenimgreserve{ 
      width: 280px;
      height: auto;
      padding-top: 10px;
    }
    .dp_aicontent_screenimgmanage p{
      background-color: #35ae92;
      border-radius: 6px;
      display: block;
      color: #FFF;
      line-height: 1.2;
      font-weight: bold;
      width: 120px;
      margin: 12px auto 0px;    
      font-size: 1.4rem;
      padding: 10px;
    }
    .dp_aicontent_screenimgmanage p span{
      display: block;
      font-size: 10px;
      font-size: 1.2rem;
    }
    .dp_aicontent_screenimgreserve p{
      background-color: #5186ec;
      border-radius: 6px;
      display: block;
      color: #FFF;
      line-height: 1.2;
      font-weight: bold;
      width: 120px;
      margin: 12px auto 0px;    
      font-size: 1.4rem;
      padding: 10px;
    }
    .dp_aicontent_screenimgreserve p span{
      display: block;
      font-size: 10px;
      font-size: 1.2rem;
    }
    .dp_aicontent_maincopy{
      margin-top: 20px;
    }
    .dp_aicontent_maincopy p{
      text-align: center;
      font-weight: bold;
      line-height: 1.6;
      font-size: 2.2rem;
      margin-bottom: 24px;
    }
    .dp_aicontent_maincopy p span{    
      background: -webkit-linear-gradient(transparent 80%, #f6d019 80%);
      background: -o-linear-gradient(transparent 80%, #f6d019 80%);
      background: linear-gradient(transparent 80%, #f6d019 80%);
      background-position: 0px -2px;
    }
    .dp_aicontent_result{
      display: flex;
      justify-content: flex-start;
      align-items: center;
    }
    .dp_aicontent_resultcopy{
      width: 410px;
      }
      .dp_aicontent_resultcopy p {
        text-align: left;
        font-size: 3.0rem;
        font-weight: bold;
        line-height: 2.0;
      }
      .dp_aicontent_resultcopy p span.tag_yellow{
        background-color: #f6d019;
        height: 52px;
        border-radius: 26px;
        padding: 3px 20px;
        box-sizing: border-box;
        font-size: 80%; 
        display: inline-block;
        margin-right: 10px;
        margin-left: -6px;
        line-height: 1.8;
        }
      .dp_aicontent_resultcopy p span.tag_red{
        background-color: #ff4b36;
        color: #FFF;
        height: 52px;
        border-radius: 26px;
        padding: 3px 20px;
        box-sizing: border-box;
        font-size: 80%;
        display: inline-block;
        margin-left: 10px;
        margin-right: 10px;
        line-height: 1.8;
        }
    .dp_aicontent_resultimg {
      width: 290px;
      margin-left: 60px;
      }