@charset "UTF-8";
/* CSS Document */
/*--------------------------------------------
header
--------------------------------------------*/
#visual {
    width: 100%;
    min-width: 1120px;
    overflow: hidden;
	}
#visual-image {
    position: relative;
    left: 50%;
    margin-left: -720px;
	}  
  .main_subcontent {
    width: 88%;
  }
    .main_subcontent h2 {
      font-size: 2.0rem;
      margin-top: 0px;
    }
      .main_subcontent img {
        width: 88%;
        height: auto;
        margin: 20px auto 0px;
      }
.marker {
  background: linear-gradient(transparent 80%, #f6d019 80%);
  background-position: 0px -1px;
  font-weight: bold;
}
      
/*--------------------------------------------
contents
--------------------------------------------*/

.dp.special-head {
  position: relative;
  top: 144px;
}
.dp_aipatentbanner{
  width: 88%;
  margin: 0px auto;
  position: relative;
  top: -80px;
  right: 0%;
  filter: drop-shadow(2px 2px 2px #aaa);
}
header p.catch{
  width: 44%;
  margin: 0px;
  text-align: justify;
  line-height: 1.8;
  font-size: 1.2rem;
  position: relative;
  top: -260px;
  left: 6%;
  margin-bottom: -120px;
  font-weight: bold;
}
  @media screen and (min-width:820px) and (max-width:979px){
    header p.catch{
    font-size: 1.8rem;
    top: -480px;
    }
  }
  @media screen and (min-width:640px) and (max-width:819px){
    header p.catch{
    font-size: 1.8rem;
    top: -420px;
    }
  }
  @media screen and (min-width:480px) and (max-width:639px){
    header p.catch{
    font-size: 1.6rem;
    top: -320px;
    }
  }
.dp_intro {
  width: 100%;
  margin: 120px auto 0px;
}
.dp_intro h2{
  margin-bottom: 40px!important;
  font-size: 2.4rem!important;
}
.dp_intro_one{
  width: 100%;
  margin-bottom: 60px;
  text-align: center;
}
  .dp_intro_one img {
    width: 80%;
    margin: 0px auto;
    text-align: center;
  }
  .dp_intro_one h3 {
    font-size: 1.8rem;
    margin-bottom: 20px;
    text-align: center;
  }
  .dp_intro_one p {
    margin-top: 20px;
    font-size: 1.4rem;
    text-align: justify;
    }
.dp_about{
  width: 100%;
  margin: 60px auto 0px;
}
.dp_about h2 {
  margin-bottom: 40px!important;
  text-align: center;
  font-size: 2.4rem!important;
}
.dp_about_one{
  width: 100%;
  text-align: center;
  margin-bottom: 60px;
}
  .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{
}
.dp_about_one p{
  text-align: justify;
  margin-top: 10px;
  font-size: 1.4rem;
}
  .underline_blue{
  }
  .underline_red{
  }
  
.dp_zirei{
}
  .dp_zirei_inner {
    width: 88%;
    margin: 20px auto 0px;
    padding-top: 60px;
    padding-bottom: 10px;
  }
  .dp_zirei h2{
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 40px;
    line-height: 1.4;
  }
    .dp_zirei_one{
      margin-bottom: 40px;
    }
    .dp_zirei_one h3{
      font-size: 1.8rem;
      margin-bottom: 40px;
      line-height: 1.6
    }
    .dp_zirei_one h3 span{
      padding-bottom: 10px;
    }
    .dp_zirei_one h3 span:before {
    }
    .dp_zirei_one h3 span:after {
    }
    
    .dp_zirei_submidashi{
      text-align: center;
      font-weight: bold;
      margin-bottom: 20px;
      font-size: 1.8rem;
    }
      .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{
        font-size: 1.4rem;
      }
  .dp_kadai {
    width: 100%;
    margin:60px auto 0px!important;
  }
    .dp_kadai h2 {
      margin-bottom: 30px;
    }
    .dp_kadai_one{
      margin-bottom: 60px;
      margin-top: 60px;
    }
    .dp_kadai_one img{
      margin-top: 30px;
      margin-bottom: 0px;
    }
    .dp_kadai_one h3{
      font-size: 1.6rem;
      height: 64px;
      line-height: 64px;
      width: 88%;
    }
    .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: 100%;
        margin: 40px auto 0px;
        align-items: center;
      }
        .dp_kadai_one_remarkpic{
          width: 20%;
          }
          .dp_kadai_one_remarktxt{
            width: 74%;  
            padding: 10px 20px;
          }
          .dp_kadai_one_remarktxt {
              height: 114px;
            }
            .dp_kadai_one_remarktxt p{
              font-size: 1.6rem;
              text-align: justify;
            }
            
                @media screen and (max-width:600px) {
                  .dp_kadai_one_remarktxt p{
                    font-size: 1.3rem;
                    text-align: justify;
                  }
                  .dp_kadai_one_remarktxt{
                    width: 74%;  
                    padding: 16px 20px;
                  }
                  }
            .dp_kadai_one_remarktxt:before {
                content: "";
                position: absolute;
                top: 50%;
                left: -16px;
                margin-top: -6px;
                border: 8px solid transparent;
                border-right: 8px solid #f6d019;
            }
              .dp_kadai_one_remarktxt_effect{
                height: 80px!important;
              }
                @media screen and (max-width:374px) {
                  .dp_kadai_one_remarktxt_effect {
                      height: 114px!important;
                    }
                  }
            .dp_kadai_one_remarktxt_effect:before {
                border-right: 8px solid #5186ec;
              }
      .dp_kadai_badpoint,.dp_kadai_goodpoint{
        width: 100%;
        justify-content: flex-start;
      }
      .dp_kadai_badpoint > div:nth-child(2){
        margin-left: 0px;
      }
      .dp_kadai_goodpoint > div:nth-child(2){
        margin-left: 0px;
      }
        .dp_kadai_badpoint_one{
        }
          .dp_kadai_badpoint_one p{
            font-size: 1.6rem;         
          }
          .dp_kadai_badpoint_one p:before{
          }
          .dp_kadai_goodpoint_one p{
            color: #35ae92;
            font-size: 1.6rem;
            font-weight: bold;
            line-height: 1.4;
            margin-bottom: 6px;
          }
          .dp_kadai_goodpoint_one p:before{
          }
  .dp_kaiketsu{
  }
    .dp_kaiketsu02 {
      margin-top: 60px!important;
    }
    .dp_kaiketsu_header{
    }
      .dp_kaiketsu_header h2{
        text-align: center;
        font-size: 2.0rem;
        line-height: 1.4;
        width: 88%;
        margin: 0px auto;
      }
    .dp_kaiketsu_intro{
      width: 100%;
      text-align: center;
    }
      .dp_kaiketsu_intro img {
        width: 88%;
      }
    .dp_kaiketsu_one_head{
      text-align: center;    
      margin-bottom: 30px;
    }
    .dp_kaiketsu_one_head_img{
      width: 60px;
    }
    .dp_kaiketsu_one_head p{
      font-size: 1.8rem;
    }
    .dp_kaiketsu_one_head p span{
      font-size: 2.8rem;    
    }
    .dp_kaiketsu_img{
      width: 100%;
      margin-bottom: 0px;
    }
      .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: 0px;  
    }
      .dp_kaiketsu_tuning h3{
        font-size: 1.8rem;
        margin-top: 20px;
      }
      .dp_kaiketsu_tuning p{
        font-size: 1.4rem;
      }
    .dp_kaiketsu_result{
      }
      .dp_kaiketsu_result h3{
        font-size: 2.0rem;
      }
      .dp_kaiketsu_tuning_arr{
        width: 30px;
        margin: 10px auto 20px;
      }
  
    .dp_kaiketsu_sub{
      margin-top: 60px;
      margin-bottom: 60px;
    }
      .dp_kaiketsu_sub h3{
        font-size: 1.8rem;
        line-height: 1.4;
        padding: 0px 12%;
      }
  
        .dp_kaiketsu_sub h3:before, .dp_kaiketsu_sub h3:after {
          content: '';
          position: absolute;
          top: 50%;
          display: inline-block;
          width: 14px;
          height: 1px;
          background-color: #29486d
        }
        .dp_kaiketsu_sub h3:before {
          left:0px;
        }
        .dp_kaiketsu_sub h3:after {
          right: 0px;
        }

  .dp_app{
    
  }
    .dp_app h2{
      color: #5186ec;
      border: 2px solid #5186ec;
      border-radius: 10px;
      height: 48px;
      font-size: 1.8rem!important;
      padding: 10px;
      margin-bottom: 10px;
    }
  .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: 100%;
      }
      .dp_upcoming_content_txt{
        width: 100%;
      }
        .dp_upcoming_content_txt p{
          font-size: 1.2rem;
          margin-top: 20px;
        }
        .dp_upcoming_content_attention{
          font-size: 1.2rem;
        }
  
  
/*--------------------------------------------
function
--------------------------------------------*/
.flex-content.function_column {
  margin: 30px auto 40px;
  width: 95%;
}
.function_column .flex-content {
  align-self: center;
  width: 48%;
  margin-bottom: 10px;
}
.function_column .flex-content dt {
  width: 30%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; 
}
.function_column .flex-content dt img {
  max-width: 100%;
}
.function_column .flex-content dd {
  font-size: 76%;
  font-weight: bold;
  width: 66%;
  line-height: 1.6;
  padding-top: 5px;
}
.function_column .flex-content.triple dd{
}
.function_column .flex-content dd.single {
  padding-top: 0;
}
  
  
/*--------------------------------------------
lead
--------------------------------------------*/
.lead_wrapper {
  width: 90%;
  margin-top: 50;
}
.lead h2 img {
  width: 80%;
}
.lead p {
  font-weight: bold;
  font-size: 1.3rem;
  margin-top: 0px;
}

/*--------------------------------------------
スマホコンテンツ
*/

/*--------------------------------------------
overview
--------------------------------------------*/
.overview {
  width: 88%;
  margin: 90px auto 0px;
}
.overview h2 {
  text-align: center;
  font-size: 2.0rem;
  line-height: 1.4;
}
.overview h2 img {
  display: block;
  width: 60%;
  margin: 0 auto 0.5em;
}
/*--------------------------------------------
point
--------------------------------------------*/
/* point1 */
.overview .point1 {
  margin: 30px auto;
}
.overview .point1 + p {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: bold;
}
.overview .point1 .scene_img {
  width: 84%;
  text-align: center;
}
	.point1 div {
  		margin: 0 auto 80px;
	}
	.point1 div:last-child {
  		margin: 0 auto 0px;
	}
/* point2,3 */
.overview .point2, .overview .point3 {
  font-size: 1rem;
  line-height: 1.6;
  font-weight: bold;
  margin: 30px auto 60px;
}
.overview .point2 .scene_img, .overview .point3 .scene_img {
  width: 90%;
  text-align: center;
  margin:0 auto;
}
.overview .point2 .scene_img+.scene_img , .overview .point3 .scene_img+.scene_img {
  margin-top:40px;
}
.overview .point2 .scene_img img, .overview .point3 .scene_img img {
  margin-bottom: 1em;
}

/*--------------------------------------------
contact
--------------------------------------------*/
.content_contact {
  width: 90%;
  margin: 40px auto 0px;
}
.content_contact_head {
  height: auto;
  padding: 10px;
}
.content_contact_head p {
  font-size: 1.4rem;
  line-height: 1.4;
}
.content_contact_tel {
  width: 100%;
  display: block;
  margin-top: 20px;
}
.content_contact_tel img {
  width: 8%;
}
p.content_contact_tel_head {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: auto;
  line-height: 100%;
}
p.content_contact_tel_num {}
p.content_contact_tel_num a {
  font-size: 2.7rem;
  font-weight: bold;
  margin-bottom: 0px;
}
p.content_contact_tel_time {
  font-size: 1.4rem;
}
.content_contact_mail {
  width: 100%;
  display: block;
  margin-top: 20px;
}
.content_contact_mail img {
  width: 10%;
}
.content_contact_mail a {
  font-size: 1.8rem;
  width: 100%;
  height: 72px;
  line-height: 72px;
}
.content_contact_mail a:before {
  padding-left: 38px;
  background-size: 32px;
}
/* follow */
.follow_mailcontact {
  position: fixed;
  bottom: 0;
  right: 0px;
  width: 100%;
}
.f_cta_mail {
  margin: 0px auto;
  width: 100%;
  text-align: center;
}
.f_cta_mail a {
  color: #ffffff;
  background: #5186ec;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 2em;
  justify-content: center;
  align-items: center;
  height: 64px;
  border-radius: 0px;
  display: inline-block;
  vertical-align: middle;
  padding-left: 10px;
  padding-top: 15px;
  width: 100%;
}
.f_cta_mail a:before {
  content: "";
  height: 1.75em;
  width: 1.75em;
  background: url(/lib/images/lp/dp/images/icon_mail.svg) no-repeat left center;
  background-size: 1.75em 1.75em;
  margin-right: 0.25em;
  display: inline-block;
  vertical-align: middle;
}

/* ai content 20211102______________________ */
.dp_aicontent {
    padding: 36px 6%;
    margin-top: 90px;
}
  .dp_aicontent_iconpatent{
    width: 22%;
    height: auto;
    position: absolute;
    top: -70px;
    right: -14px;
  }
    @media screen and (max-width:785px){
      .dp_aicontent_iconpatent{
        width: 24%;
        top: -80px;
        right: -14px;
      }
    }
    @media screen and (max-width:700px){
      .dp_aicontent_iconpatent{
        width: 28%;
        top: -80px;
        right: -14px;
      }
    }
    @media screen and (max-width:600px){
      .dp_aicontent_iconpatent{
        width: 30%;
        top: -70px;
        right: -14px;
      }
    }
  .dp_aicontent h2 {
    margin-bottom: 30px;
  }
  .dp_aicontent h2 img{
    width: 100%;
    margin-bottom: 0px;
  }
  .dp_aicontent_staffprice{
    width: 100%;
    margin: 0px auto 50px;
  }
  .dp_aicontent_staffprice h3{
    font-size: 2.4rem;
    }
  .dp_aicontent_on{
    text-align: center;
  }
    .dp_aicontent_on h2{
      font-size: 1.8rem;
      color: #ff4b36;
      margin-bottom: 6px;
      }
    .dp_aicontent_on h3{
      font-size: 2.0rem;
      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 -3px;
      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: block;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 40px;
  }
    .dp_aicontent_screenimgmanage{
      width: 100%;
      margin: 0px auto 40px;
    }
    .dp_aicontent_screenimgreserve{ 
      width: 88%;
      margin: 0px auto 20px;
    }
    .dp_aicontent_screenimgmanage p{
      font-size: 1.6rem;
      margin-top: 32px;
    }
    .dp_aicontent_screenimgmanage p span{
      font-size: 1.4rem;
    }
    .dp_aicontent_screenimgreserve p{
        font-size: 1.6rem;
        margin-top: 32px;
    }
    .dp_aicontent_screenimgreserve p span{
      font-size: 1.4rem;
    }
    .dp_aicontent_maincopy{
    }
    .dp_aicontent_maincopy p{
    }
    .dp_aicontent_maincopy p span{    
    }
    .dp_aicontent_result{
      display: flex;
      justify-content: flex-start;
      align-items: center;
      margin-top: 40px;
      flex-wrap: wrap;
    }
    .dp_aicontent_resultcopy{
      width: 100%;
      order: 2;
      }
      .dp_aicontent_resultcopy p {
        font-size: 2.4rem;
        text-align: center;
      }
      .dp_aicontent_resultcopy p span.tag_yellow{
        background-color: #f6d019;
        height: 42px;
        border-radius: 21px;
        padding: 2px 20px;
        box-sizing: border-box;
        font-size: 80%; 
        display: inline-block;
        margin-right: 4px;
        margin-left: -6px;
        margin: 0px auto;
        width: 80%;
        display: block;
        line-height: 2.0;
        }
      .dp_aicontent_resultcopy p span.tag_red{
        background-color: #ff4b36;
        color: #FFF;
        height: 42px;
        border-radius: 21px;
        padding: 2px 20px;
        box-sizing: border-box;
        font-size: 80%;
        display: inline-block;
        margin-left: 4px;
        margin-right: 4px;
        margin: 0px auto;
        width: 80%;
        display: block;
        line-height: 2.0;
        }
        .dp_aicontent_resultcopy_arr{
          transform: rotate(90deg);
          display: block;
        }
    .dp_aicontent_resultimg {
      width: 88%;
      margin: 0px auto;
      order: 1;
      }