/*
 01.Font
 02.Base
 03.Block
 04.header
 05.fv
 06.actions
 06-2.youtube
 07.obligation
 08.resolve

 10.app
 11.about
 12.faq
 13.form
 14.footer
 15.thanks
 16.privacy

 17.opportunity
 18.calendar
 19.price-list
 20.webinar
*/

/*日本語 font-family: "Noto Sans JP", sans-serif; */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
/*英語 font-family: 'PT Sans', sans-serif; */
@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@800&display=swap');

/*====================================
  01.Font
====================================*/
html{
  font-size: 62.5%;
}
body, textarea, input, select, label, .xo-event-calendar{
  color: #000;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  font-family: "Noto Sans JP", "Work Sans", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, Arial, sans-serif;
}
.en{
  font-family: 'PT Sans', sans-serif;
}
/*====================================
  02.Base
====================================*/
body{
  background: #fff;
  margin: 0;
}
a, div{
  box-sizing: border-box;
}
a{
  color: #000;
  transition: .8s;
}
a:hover{
  opacity: .8;
  text-decoration: none;
}
ul, li{
  list-style: none;
  margin: 0;
  padding: 0;
}
.sp{
  display: none !important;
}
.br365{
  display: none;
}
.clfix:after{
  content: "";
  display: block;
  clear: both;
}
img{
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
.flex_between{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.marker {
  background: linear-gradient(transparent 60%, #f7c38e 60%);
}


/* btn Pattern -------------------*/

.btn a{
  display: block;
  color: #fff;
  border-radius: 50px;
  text-decoration: none;
  text-align: center;
  box-shadow: 0px 5px 8px 0px rgba(0, 0, 0, 0.2);
  background: #ef8419;
}
.btn{
  display: flex;
  align-items: center;
}
.btn li{
  line-height: 1;
}


/*====================================
  03.Block
====================================*/
.wrap{
  max-width: 1200px;
  margin: auto;
}
.block{
  padding: 60px 0;
}

/*====================================
  04.header
====================================*/
.head_catch{
   color: #666;
   margin: 0;
   padding: 0 3rem;
   font-size: 1.3rem;
   background: #f3f3f3;
}
header {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   padding: 10px 25px 18px;
   box-sizing: border-box;
   background: #fff;
   border-bottom: 1px solid #eee;
}
header a{
   text-decoration: none;
}
header .header__conts{
   width: 40%;
   max-width: 430px;
}
header .head_logo{
   display: flex;
   align-items: center;
   }
   header .logo_img a{
      display: block;
      text-align: center;
   }
   header .head_logo .logo_img img{
      width: 180px;
      margin: auto;
   }
   header .logo_text{
      color: #fff;
      font-size: 1.1rem;
      text-align: center;
      border-radius: 1rem;
      background: #007BC7;
      margin: 0;
      padding: 0 .5rem;
      white-space: nowrap;
   }
   header .head_logo nav{
      font-size: 16px;
      flex: 1;
   }
   header .head_logo nav ul{
      display: flex;
      align-items: center;
   }
   header .head_logo nav li{
      margin-left: 3rem;
      font-weight: 500;
   }
   @media (hover: hover) {
      header .head_logo nav li a:hover{
         color: #0061af;
      }
   }
header .head_info{
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   width: 100%;
   }
   header .head_info .head_btn{
      width: 49%;
   }
   header .head_info .head_btn a{
      width: 100%;
      padding: 10px 0 12px;
      font-size: 15px;
   }
   header .head_info .head_btn2 a{
      background: #0061af;
   }
header .head_info .tel{
   display: flex;
   justify-content: flex-end;
   align-items: center;
   width: 100%;
   line-height: 1.1;
   font-size: 14px;
   text-align: right;
   white-space: nowrap;
   margin-bottom: .7rem;
}
header .head_info .tel a{
   color: #0061af;
   display: block;
   font-size: 24px;
   text-decoration: none;
   font-family: 'Big Shoulders Display', cursive;
   background: url(../img/icon_tel.png) no-repeat left top;
   background-size: 25px;
   padding: 0 0 0 32px;
}
header .head_info .tel span{
   display: block;
}

/*PC Only*/
.clone-nav {
   position: fixed;
   top: 0;
   left: 0;
   z-index: 9999;
   width: 100%;
   transition: .3s;
   transform: translateY(-100%);
}
.is-show {
   transform: translateY(0);
   filter: drop-shadow( 0 0 10px rgba(0,0,0,0.3));
   border-bottom: 0;
}


/*====================================
  05.fv
====================================*/
.fv{
  background: url(../img/fv_bg.png) no-repeat right center #d1edfa;
  background-size: auto 100%;
}
.fv .wrap{
  width: 85%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 60px 0;
}
.fv .fv_txt {
  position: relative;
  text-align: center;
}
.fv_txt__catch{
   font-weight: 600;
   line-height: 1.5;
   text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
   margin: 0 0 15px;
}
.fv_txt__catch p{
   color: #0061af;
   font-size: 26px;
   margin: 0 0 .5rem;
}
.fv_txt__catch h1 {
   font-size: 34px;
   font-weight: 600;
   margin: 0;
}
.fv_txt__catch h1 span.bk1{
   position: relative;
   display: inline-block;
}
.fv_txt__catch h1 span.bk1 small{
   width: 100%;
   display: block;
   text-align: center;
   position: absolute;
   left: 0;
   bottom: -1.5rem;
   font-size: 1.5rem;
}
.fv_txt__catch h1 span.bk2{
   display: inline-block;
   padding-top: 1.2rem;
}
.fv_txt__name{
   text-align: center;
   line-height: 1;
   margin: 8px 0 10px;
}
.fv_txt__name span{
   color: #0061af;
   display: block;
   font-size: 18px;
   line-height: 1;
}
.fv_txt__name img{
   width: 280px;
   display: block;
   margin: 0 auto;
}
.fv_txt__name p{
   color: #fff;
   font-size: 1.4rem;
   text-align: center;
   border-radius: 2rem;
   background: #007BC7;
   margin: 0;
   padding: .5rem 1rem;
   display: inline-block;
}
.fv ul {
  max-width: 480px;
  margin: auto;
}
.fv .fv_badge{
  margin-top: 1.5rem;
}
@media screen and (max-width: 1400px) {
  .fv .wrap{
    width: 90%;
  }
}

.news{
  display: flex;
  width: 100%;
  margin-top: 5%;
  background: #fff;
  border: 1px solid #0061af;
  border-radius: 10px;
  overflow: hidden;
}
.news p{
  margin: 0;
  box-sizing: border-box;
}
.news_tit{
  color: #fff;
  font-size: 1.2em;
  width: 200px;
  background: #0061af;
  display: flex;
  padding: 1% 4%;
  align-items: center;
}
.news_body{
  flex: 1;
  padding: 1% 4%;
}
.news p a{
  color: #0061af;
}
.news p strong{
  color: #da402c;
}

/*====================================
  06.actions
====================================*/
.actions{
  padding: 40px 5%;
  text-align: center;
  background: #0061af;
}
.actions p{
  position: relative;
  display: inline-block;
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  margin: 0 0 20px;
  padding: 0 30px;
}
.actions p:before, .actions p:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 30px;
  height: .3px;
  background-color: #fff;
  transform: rotate(-60deg);
  right: 0;
}
.actions p:before{
  left: 0;
  transform: rotate(60deg);
}
.actions .btn{
  width: 350px;
  margin: auto;
}
.actions .btn a{
  width: 100%;
  padding: 20px 0;
  font-size: 18px;
}
.actions .btn2{
  display: none;
}

.bnr_area{
  text-align: center;
  padding: 20px;
}

/*====================================
  06-2.youtube
====================================*/
.youtube_wrap{
  padding: 4% 0;
  background: #f4f4f4;
}
.youtube_wrap .inner{
  display: block;
  margin: auto;
  max-width: 640px;
  overflow: hidden;
}
.youtube_wrap iframe {
}
.youtube_wrap p{
  color: #0061AF;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  margin: 8px 0;
}

.movie{
  text-align: center;
  padding: 4% 0;
  background: #f4f4f4;
}
.movie .tit_carch{
   font-weight: 600;
   color: #0061af;
   font-size: 1.8rem;
   margin-bottom: 1rem;
}
.movie .tit{
  position: relative;
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 2rem;
  display: inline-block;
}
.movie .tit img {
  position: relative;
  width: 180px;
  bottom: 5px;
  display: inline-block;
  margin-right: 2px;
}
.movie_wrap{
  max-width: 1100px;
  margin: auto;
}
.movie_body{
  max-width: 1000px;
  margin: auto;
}
@media screen and (min-width: 768px){
  .movie_body .inner{
    background: #111;
    padding: 30px 0;
    border-radius: 10px;
    border: 8px solid #0061AF;
  }
}
.movie_btn{
  display: flex;
  justify-content: center;
  margin: 0 0 30px;
}
.moviechange{
  margin: 0 4px;
  display: flex;
  align-items: center;
}
.moviechange a{
  height: 100%;
  padding: 15px 14px;
  display: flex;
  align-items: center;
  line-height: 1.3;
  font-weight: 500;
  text-decoration: none;
  transition: 0s;
  border-radius: 6px;
  background: #fff;
  box-sizing: border-box;
  border: 1px solid #fff;
}
.moviechange a:hover{
  color: #0061AF;
  border: 1px solid #0061AF;
}
.moviechange.active a{
  color: #fff;
  background: #0061AF;
  position: relative;
  border: 1px solid #0061AF;
}
.moviechange.active a:hover{
  opacity: 1;
}
.moviechange.active a:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -12px;
  border: 12px solid transparent;
  border-top: 12px solid #0061AF;
}

/*====================================
  07.obligation
====================================*/
.obligation{
   padding: 6% 5%;
   text-align: center;
}
.obligation .tit_catch{
   color: #0061AF;
   font-weight: 600;
   font-size: 22px;
   margin: 0 0 6px;
}
.obligation .tit{
   position: relative;
   font-size: 34px;
   line-height: 1.4;
   font-weight: 700;
   margin-bottom: 4.5%;
   text-align: left;
   padding-left: 180px;
   display: inline-block;
}
.obligation .tit small{
   font-size: 60%;
}
.obligation .tit::before{
  position: absolute;
  content: "";
  display: inline-block;
  width: 155px;
  height: 155px;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: url(../img/badge_obligation.png);
  background-size: cover;
}
.obligation .tit span{
  color: #ef8419;
}
.obligation .step{
  max-width: 820px;
  margin: auto auto 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.obligation .step_bar {
  position: relative;
  width: 50%;
  font-size: 18px;
  margin-right: 30px;
  text-align: left;
  align-items: center;
  justify-content: center;
  padding: 13px 0 13px 20px;
  line-height: 1.5;
  background: #0061af;
  color: #fff;
}
.obligation .step_bar::before{
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 100%;
  content: '';
  border: 40px solid transparent;
  border-left: 30px solid #0061af;
  margin: auto;
}
.obligation .step_bar:last-child{
  background: #ef8419;
}
.obligation .step_bar:last-child::before{
  border-left-color: #ef8419;
}
.obligation .step_bar span{
  display: block;
  position: absolute;
  bottom: -35px;
  left: 0;
  color: #000;
}
.obligation ul{
  position: relative;
  display: inline-block;
}
.obligation ul li{
  width: 820px;
  box-sizing: border-box;
  text-align: left;
  font-size: 22px;
  margin: 8px 0;
  padding: 14px 0 14px 85px;
  background: url(../img/icon_check.png) no-repeat 24px center #f4f4f4;
  border-radius: 6px;
}
.obligation ul::after{
  position: absolute;
  z-index: 1;
  right: -60px;
  bottom: -20px;
  display: block;
  content: "";
  background: url(../img/obligation_img.png) no-repeat center;
  background-size: cover;
  width: 256px;
  height: 304px;
}


/*====================================
  08.resolve
====================================*/
.resolve{
  overflow: hidden;
  position: relative;
  text-align: center;
  background: url(../img/resolve_bg.gif) repeat-x center top  #e8f6fc;
  padding: 6% 2% 5%;
}
.resolve h3{
  position: relative;
  margin: 30px 0 20px;
  display: inline-block;
  color: #000;
  font-size: 40px;
  line-height: 1.3;
}
.resolve h3 span{
   display: inline-block;
   position: relative;
}
.resolve h3 img{
  width: 240px;
}
.resolve h3 small{
   position: absolute;
   left: 0;
   right: 0;
   bottom: -20px;
   margin: auto;
   color: #fff;
   display: block;
   width: 100%;
   font-size: 13px;
   text-align: center;
   border-radius: 1rem;
   background: #007BC7;
   padding: .2rem .5rem;
   white-space: nowrap;
}
.resolve h3+p{
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
}
.resolve__slide{
   display: none;
   background: #fff;
   max-width: 1000px;
   padding: 30px 0;
   margin: auto auto 30px;
   border: 4px solid #a2c9e5;
}
.resolve__slide.slick-initialized{
   display: block;
}
.resolve__slide li img{
   margin: auto;
   box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
.resolve__slide li .txt{
   max-width: 860px;
   margin: 30px auto 0;
   text-align: left;
   display: flex;
   align-items: center;
}
.resolve__slide li .txt p{
   width: 65%;
   padding-left: 40px;
}
.resolve__slide li .txt img{
   box-sizing: border-box;
   width: 300px;
   box-shadow:0 0 0 1px #ddd;
}
.resolve__slide li .txt p strong{
   color: #0061af;
}
.resolve__slide li .txt p span{
   color: #dd2f31;
}
.resolve__slide .slide-arrow {
   bottom: 0;
   cursor: pointer;
   margin: auto;
   position: absolute;
   top: 0;
   width: 60px;
}
.resolve__slide .prev-arrow {
   left: -30px;
}
.resolve__slide .next-arrow {
   right: -30px;
}
.resolve__thumbnail{
   display: none;
   margin: 0 auto 80px;
   max-width: 800px;
}
.resolve__thumbnail.slick-initialized{
   display: block;
}
.resolve__thumbnail .slick-list{
   padding-top: 20px;
}
.resolve__thumbnail .slick-track {
   width: 100% !important;
   display: flex;
   align-items: center;
   justify-content: center;
   transform: unset!important;
}
.resolve__thumbnail li{
   position: relative;
   margin: 0 20px;
}
.resolve__thumbnail li a{
   cursor: pointer;
   font-weight: bold;
   display: block;
   padding: 15px 30px;
   background: #fff;
   transition: inherit !important;
   box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.1);
   border: 4px solid #fff;
}
.resolve__thumbnail li.slick-current a{
   color: #0061af;
   border: 4px solid #0061af;
}
.resolve__thumbnail li.slick-current a::before{
   position: absolute;
   top: -15px;
   left: 0;
   right: 0;
   margin: auto;
   display: block;
   content: "";
   width: 0;
   height: 0;
   border-style: solid;
   border-width: 0 20px 15px 20px;
   border-color: transparent transparent #0060af transparent;
}
.resolve__thumbnail li::after{
   position: absolute;
   display: block;
   right: -32px;
   top: 0;
   bottom: 0;
   margin: auto;
   content: "";
   width: 25px;
   height: 19px;
   background: url(../img/solution_step.png);
   background-size: cover;
}
.resolve__thumbnail li:last-child::after{
   display: none;
}

.resolve_box{
  flex-wrap: wrap;
  padding: 3% 2%;
  margin: 3.5% auto;
  background: #fff;
  box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.1);
}
.resolve_box .thumb{
  width: 40%;
}
.resolve_box .txt{
  width: 57%;
  font-size: 1.75rem;
  text-align: left;
}
.resolve_box .txt h4{
  position: relative;
  font-size: 32px;
  font-weight: 700;
  line-height: 135%;
  display: table;
  margin: 0;
  padding-left: 21%;
}
.resolve_box .txt h4 img{
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.resolve_box .txt p{
  margin: 0 0 0 3%;
  padding-top: 4%;
}
.resolve_box_event .thumb{
  order: 2;
}
.resolve_box_event .txt{
  width: 60%;
  order: 1;
  padding-left: 20px;
}

/* shousai
---------------------------------*/
.resolve_box .shousai{
  order: 3;
  width: 94%;
  margin: 4.5% auto 0;
  padding: 5.5% 0 3%;
  background: url(../img/shousai_line_pc.png) no-repeat top center;
  background-size: 100% auto;
}
.resolve_box .shousai .inner{
  max-width: 1000px;
  margin: auto;
}
.resolve_box .shousai .inner+.inner{
  margin-top: 3%;
}
.resolve_box .shousai h5{
  color: #fff;
  font-size: 2.8rem;
  line-height: 1.3;
  border-radius: 15px;
  background: #0061af;
  padding: 10px 0;
  margin: 0 0 2%;
}
.resolve_box .shousai h5 span{
  color: #fbff00;
}
.resolve_box .shousai h5+p{
  font-size: 2.2rem;
  font-weight: bold;
}
.resolve_box .shousai h5+p span{
  color: #ef8419;
}
.resolve_box .shousai_wrap{
  align-items: stretch;
}

/* shousai - detector
---------------------------------*/
.resolve_box .detector dl{
  width: 46.5%;
  border: 5px solid #ddd;
  text-align: center;
  position: relative;
}
.resolve_box .detector dl+p{
  margin-top: 16%;
  color: #0061af;
  font-size: 35px;
  font-weight: bold;
}
.resolve_box .detector dt{
  color: #0061af;
  font-weight: 600;
  line-height: 1;
  padding: 15px;
  font-size: 2.4rem;
  background: #ddd;
}
.resolve_box .detector dd{
  padding: 5% 6%;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}
.resolve_box .detector .detector_txt{
  width: 70%;
}
.resolve_box .detector dd p{
  font-weight: 600;
  font-size: 1.8rem;
  width: 100%;
  margin: 0 0 15px;
}
.resolve_box .detector img{
  width: 23%;
}
.resolve_box .detector table{
  width: 75%;
  font-size: 13px;
}
.resolve_box .detector th,
.resolve_box .detector td{
  padding: 0 0 5px;
}
.resolve_box .detector th{
  width: 68px;
  text-align: left;
}
.resolve_box .detector th img{
  width: auto;
  max-width: 60px;
}
.resolve_box .detector ul{
  position: relative;
}
.resolve_box .detector ul li{
  font-size: 15px;
  text-align: left;
  margin: 0;
  padding: 0 0 0 8px;
  position: relative;
}
.resolve_box .detector ul li span{
  font-size: 14px;
}
.resolve_box .detector ul li::before{
  position: absolute;
  left: 0;
  top: 10px;
  content: "";
  display: inline-block;
  background: #000;
  border-radius: 50%;
  width: 4px;
  height: 4px;
}

/* shousai - sensor
---------------------------------*/
.resolve_box .sensor{
}
.resolve_box .sensor dl{
  width: 31%;
  margin: 0;
  align-items: stretch;
  border: 4px solid #d4e1ec;
}
.resolve_box .sensor dl+p{
  margin-top: 10%;
  color: #0061af;
  font-size: 35px;
  font-weight: bold;

}
.resolve_box .sensor dt{
  font-size: 20px;
  font-weight: 600;
  padding: 10px;
  background: #d4e1ec;
}
.resolve_box .sensor dd{
  position: relative;
  align-items: stretch;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 6px;
  margin: 0;
}
.resolve_box .sensor dl:first-child dd{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.resolve_box .sensor dl:last-child{
  width: 62%;
}
.resolve_box .sensor dl img{
  width: 32%;
}
.resolve_box .sensor .sensor_midashi{
  margin: 0;
  padding: 0;
  font-size: 1.1em;
  color: #0061af;
  font-weight: 600;
}
.resolve_box .sensor .sensor_wrap{
  padding: 10px 15px;
}
.resolve_box .sensor .sensor_wrap+.sensor_wrap{
  border-left: 1px solid #ddd;
}
.resolve_box .sensor .sensor_box{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.resolve_box .sensor .sensor_box+.sensor_box{
  margin-top: 10px;
}
.resolve_box .sensor dl dd p{
  width: 100%;
  margin: 0;
  padding: .5em 0;
  text-align: left;
}
.resolve_box .sensor dl dd .sensor_txt{
  font-size: 13px;
  font-weight: 300;
  flex: 1;
}
.resolve_box .sensor dl dd .sensor_txt p{
  padding: 0;
}


/*====================================
  10.app
====================================*/
.app{
  padding: 6% 0;
  text-align: center;
  background: url(../img/app_bg.jpg) no-repeat center;
  background-size: cover;
}
.app h3{
  position: relative;
  text-align: left;
  font-size: 36px;
  line-height: 1.4;
  padding-left: 12%;
  display: inline-block;
  margin: 0;
  text-shadow: #fff 0 0 2rem, #fff 0 0 2rem, #fff 0 0 2rem, #fff 0 0 2rem, #fff 0 0 2rem;
}
.app h3::before{
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: inline-block;
  width: 123px;
  height: 123px;
  background: url(../img/app_badge.png) no-repeat;
  background-size: cover;
}
.app_box{
  padding: 3% 8% 6%;
  margin: 3.5% auto;
  background: #fff;
  box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.1);
}
.app_box .txt{
  text-align: left;
  font-size: 1.75rem;
}
.app_box .thumb{
  padding-right: 3rem;
}

/*====================================
  11.about
====================================*/

.about{
  padding: 6% 0 5%;
  text-align: center;
}
.about h3{
  font-size: 34px;
  margin: 0 0 6rem;
}
.about_list{
  background: #edf8fc;
  border: 1px solid #0061af;
  border-radius: 10px;
  margin-top: 40px;
}
.about_list h4{
  position: relative;
  color: #fff;
  margin: 0;
  padding: 10px;
  font-size: 36px;
  font-weight: 500;
  background: #0061af;
  border-radius: 6px 6px 0 0;
}
.about_list h4::after{
  position: absolute;
  bottom: 0;
  right: 20px;
  display: block;
  content: "";
  width: 181px;
  height: 213px;
  background: url(../img/about_hito.png) no-repeat;
  background-size: cover;
}
.about_list ul{
  padding: 5% 10%;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: inherit;
}
.about_list li{
  width: 23%;
  color: #666;
  font-size: 15px;
  box-sizing: border-box;
  border-radius: 6px;
  padding: 20px 15px;
  margin-right: 2.6%;
  margin-bottom: 2%;
  background: #fff;
  box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
}
.about_list li:nth-child(4n){
  margin-right: 0;
}
.about_list li img{
  width: auto;
  height: 50px;
  margin-bottom: 8px;
}
.about_list li span{
  font-size: 18px;
  line-height: 1.2;
  color: #000;
}
.about_list li span>span.mini{
  font-size: .8em;
}
.about_list li p{
  margin: 0;
}
.about_list li.comingsoon{
    position: relative
}
.about_list li.comingsoon::after{
    position: absolute;
    top: -4px;
    left: -4px;
    content: "Coming soon";
    display: inline-block;
    background: #ffff00;
    color: #000;
    font-size: 12px;
    padding: 2px 6px;
}

/*====================================
  12.faq
====================================*/
.faq{
  text-align: center;
  padding: 4% 2% 5%;
  background: #0061af;
}
.faq .tit{
  color: #fff;
  font-size: 3.8rem;
  font-weight: bold;
}
.faq .tit+p{
  color: #fff;
  margin-bottom: 40px;
}
.faq dl{
  text-align: left;
  background: #fff;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}
.faq dt{
  position: relative;
  font-size: 20px;
  padding: 22px 2% 22px 90px;
  cursor: pointer;
}
.faq dd{
  display: none;
  margin: 0;
  border-top: 1px solid #d9dbf0;
}
.faq dd p{
  margin: 0;
  padding: 3% 5%;
}
.faq dt::before, .faq dd::before{
  position: absolute;
  left: 25px;
  display: inline-block;
  text-align: center;
  border-radius: 50px;
  color: #fff;
  width: 50px;
  height: 50px;
  line-height: 45px;
  background: #0061af;
  box-shadow: 0 4px 8px 0 rgba(0, 97, 175, 0.4);
}
.faq dt::before{
  content: "Q";
  top: 0;
  bottom: 0;
  margin: auto;
}
.faq dt::after{
  font-size: 25px;
  color: #1c3c77;
  display: inline-block;
  content: "＋";
  position: absolute;
  right: 20px;
  top: 24%;
}
.faq dt.on::after{
  content: "－";
}

/*====================================
  13.form
====================================*/
.form{
  padding: 4% 2%;
}
.form_tel{
  color: #0061af;
  justify-content: center;
  margin-bottom: 40px;
}
.form_tel .tit,
.form_tel .tel{
  margin: 0 10px;
}
.form_tel .tit{
  font-size: 20px;
  border: 1px solid #0061af;
  padding: 2px 22px;
  border-radius: 40px;
}
.form_tel .tel{
  text-align: center;
  line-height: 1.1;
  font-size: 16px;
  padding-right: 2.2%;
  margin-right: 2.2%;
  border-right: 1px solid #0061af;
}
.form_tel .tel a{
  color: #0061af;
  display: block;
  font-size: 40px;
  text-decoration: none;
  font-family: 'Big Shoulders Display', cursive;
  background: url(../img/icon_tel.png) no-repeat left top;
  background-size: 40px;
  padding: 0 0 0 45px;
}
.form_tel .tel span{
  display: block;
  text-indent: 15%;
}
.form_tel .flyer a{
  font-size: 18px;
  position: relative;
  background: #4abfe0;
  padding: 10px 1.2em 12px 2.8em;
}
.form_tel .flyer a::before {
    font-family: 'Material Icons Outlined';
    content: '\e2c4';
    font-size: 30px;
    line-height: 1;
    font-weight: 300;
    position: absolute;
    top: 9px;
    left: .5em;
    margin-right: 8px;
  }
.form_inner{
  max-width: 1000px;
  margin: auto;
  padding: 50px 100px 60px;
  border-radius: 20px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}
.form_inner .tit{
  color: #000;
  font-weight: bold;
  text-align: center;
}
.form_inner .tit p{
  color: #0061af;
  font-size: 2.5rem;
  margin: 0;
  padding: 0 40px;
  display: inline-block;
  position: relative;
}
.form_inner .tit p::before, .form_inner .tit p::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 30px;
  height: 3px;
  background-color: #0061af;
  transform: rotate(-60deg);
  right: 0;
}
.form_inner .tit p::before {
    left: 0;
    transform: rotate(60deg);
}
.form_inner h3{
  margin: 0 0 50px;
  font-size: 4rem;
}
.form_inner dl{
  margin: auto auto 25px;
  font-size: 20px;
  line-height: 1;
}
.form_inner dl dt{
  font-size: 2rem;
  font-weight: 500 ;
  margin-bottom: 12px;
}
.form_inner dl dt span,
.form_inner .hissu{
  color: #fff;
  position: relative;
  top: -3px;
  display: inline-block;
  padding: 4px 7px 5px;
  margin-right: 10px;
  font-size: 13px;
  background: #da402c;
}
.form_inner dl dd{
  margin: 0;
  padding: 0;
}
.form_inner dl.name dd{
  display: flex;
}
.form_inner dl.name dd p{
  width: 210px;
}
.form_inner dl.name dd p+p{
  margin-left: 20px;
}
.form_inner dl.name dd p .name_tit{
  font-size: 15px;
  padding-bottom: 10px;
  display: block;
}
.form_inner dl dd p{
  margin: 0;
}
.form_inner dl dd .kome{
  font-size: 1.3rem;
  margin-top: 6px;
  color: #666;
}

/*input*/
.wpcf7-list-item, span.wpcf7-list-item{
  margin: 0;
}
.wpcf7 .ajax-loader,
.wpcf7-form-control-wrap{
  display: block;
}
.wpcf7-not-valid-tip{
  font-size: 15px;
  margin-top: 10px;
}
.form_inner input, .form_inner textarea{
  width: 100%;
  font-size: 18px;
  box-sizing: border-box;
  border-radius: 6px;
  padding: 8px 10px;
  border: 1px solid #ccc;
  background: #f6f6f6;
}
.form_inner textarea{
  height: 200px;
}
.form_inner input[type="checkbox"]{
  width: auto;
}
.form_inner .wpcf7-checkbox{
  padding: 8px 0;
}
.form_inner input#tel{
  width: 300px;
}

.form_inner label{
  position: relative;
  width: 100%;
  cursor: pointer;
  font-size: 18px;
  border-radius: 6px;
  overflow: hidden;
}
.form_inner label input{
  position: absolute;
  opacity:0;
}
.form_inner #koumoku span.wpcf7-list-item{
  /*padding: 13px 0 14px 0;*/
  margin: 0 8px 5px 0;
  display: block;
}
.form_inner label span{
  display: flex;
  align-items: center;
  height: 50px;
  padding: 0 14px 0 15px;
  z-index: 1;
  width: 100%;
  box-sizing: border-box;
  /*padding: 13px 19px 14px 14px;*/
  border-radius: 8px;
  background-color: #f3f3f3;
  box-shadow: 0 0 0 1px #ccc inset;
}
.form_inner label span:hover{
  background-color: #fff;
}
.form_inner label span::before {
  font-family: 'Material Icons Outlined';
  content: '\e835';
  color: #ccc;
  font-size: 32px;
  line-height: 1;
  font-weight: 300;
  position: relative;
  top: 1px;
  margin-right: 10px;
}

.form_inner label input:checked +span{
  color: #0061af;
  background-color: #ebfcf1;
  box-shadow: 0 0 0 2px #0061af inset;
}
.form_inner label input:checked +span::before {
  content: '\e834';
  color: #0061af;
}


.form_inner .privacy_box, .form_inner .privacy_box dl{
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
  padding: 20px;
}
.form_inner .privacy_box{
  border: 4px solid #ddd;
  margin: 20px 0;
}
.form_inner .privacy_box .inner{
  overflow-y: scroll;
  padding: 10px 20px 10px 10px;
  height: 180px;
}
.form_inner .privacy_box dl{
  padding: 0;
}
.form_inner .privacy_box dt{
  font-weight: bold;
  font-size: 15px;
  margin-top: 20px;
}
.form_inner .privacy_box dd{
  line-height: 1.7;
  padding-left: 20px;
}
.form_inner .privacy_box h3{
  font-size: 17px;
  margin-bottom: 15px;
}
.form_inner .privacy_doui{
  text-align: center;
  margin: 30px 0;
  font-size: 1.6rem;
}
.form_inner .privacy_doui > p{
  text-align: left;
}
.form_inner .privacy_doui .doui .wpcf7-list-item{
  position: relative;
}
.form_inner .privacy_doui .doui .wpcf7-list-item::after{
  text-align: center;
  content: "必須";
  color: #da402c;
  display: block;
  margin: auto;
  margin-top: 5px;
  font-size: 14px;
  font-weight: bold;
}
.form_inner .btn{
  display: block;
  text-align: center;
}
.form_inner .btn #soushin{
  font-size: 26px;
  color: #fff;
  border: none;
  width: 60%;
  height: 8rem;
  cursor: pointer;
  margin: auto;
  background-color: #0061af;
  filter: drop-shadow( 0 5px 5px rgba(0,0,0,0.3));
}
.form_inner .hissu{
  margin-bottom: 10px;
}
div.wpcf7 .ajax-loader{
  display: block;
  margin: 10px auto 0;
}
.form_inner .invalid input.wpcf7-not-valid,
.form_inner .wpcf7-not-valid label span{
  background: #ffdfdf;
}
.wpcf7 form .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output{
  /*margin: 0 0 4rem;*/
  border-width: 3px;
}

.wpcf7-spinner{
  display: block;
  margin: 15px auto;
}
.wpcf7 form .head_error .wpcf7-response-output {
  color: #dc3232;
  font-weight: 600;
  border: none;
  padding: 0;
  margin: 0 0 3rem;
}
.wpcf7 form .foot_error .wpcf7-response-output {
  color: #dc3232;
  border: none;
  margin: 0 0 10px;
  text-align: center;
  font-weight: 600;
}

.lp-form .form_inner .wpcf7-form-control-wrap{
  width: 100%;
}
.lp-form .form_inner .c_number,
.lp-form .form_inner .c_vehicle{
  width: auto;
}

/*====================================
  14.footer
====================================*/

footer{
  padding-bottom: 50px;
  text-align: center;
  font-size: 1.4rem;
}
footer ul{
  margin-bottom: 10px;
  justify-content: center !important;
}
footer ul li{
  margin: 0 10px;
}

#pagetop {
    position: fixed;
    bottom: 30px;
    right: 20px;
    z-index: 999;
}
#pagetop img{
  width: 50px;
  opacity: .6;
}

.foot_btn{
  font-size: 18px;
  text-align: center;
  color: #fff;
  border: none;
  width: 400px;
  height: 8rem;
  line-height: 8rem;
  cursor: pointer;
  margin: 20px auto 30px;
  border-radius: 50px;
  background-color: #1b9755;
  filter: drop-shadow( 0 5px 5px rgba(0,0,0,0.3));
}
.foot_btn a{
  display: block;
  color: #fff;
  width: 100%;
  height: 100%;
  font-weight: bold;
  text-decoration: none;
}
.btn_consultation{
  background-color: #0061af;
}
.badge{
  position: fixed;
  bottom: 20vh;
  right: 0;
  width: 120px;
  z-index: 99999;
}
.badge li{
  margin: 0;
  padding: 0;
  list-style: none;
}
.badge li+li{
  margin-top: 10px;
}

.grecaptcha-badge { visibility: hidden; }


/*====================================
  15.thanks
====================================*/
.thanks{
  max-width: 800px;
  margin: 40px auto;
  padding: 60px;
  border: 10px solid #eee;
}
.thanks .tit{
  color: #1c3c77;
  font-size: 30px;
  text-align: center;
  font-weight: bold;
}
.thanks .tit+p{
  text-align: center;
}
.thanks .btn {
  width: 60%;
  margin: auto;
  margin-top: 40px;
  display: block;
}
.thanks .btn a{
  color: #fff;
  margin: auto;
  padding: 20px 40px;
  background: #1c3c77;
}
.thanks .btn a+a{
  margin-top: 20px;
}

/*====================================
  15.conts
====================================*/
.conts{
  max-width: 1000px;
  margin: 40px auto;
  padding: 60px;
  border: 10px solid #eee;
}

/*====================================
  16.privacy-policy
====================================*/
.policy h3{
  margin: 0 0 4rem;
  padding: .8rem 0 .8rem 1.5rem;
  font-size: 2.8rem;
  border-left: 6px solid #0061af;
}
.policy dt{
  font-weight: 600;
  margin: 3rem 0 1rem;
}
.policy dd{
  margin-left: 2rem;
}

/*====================================
  17.opportunity
====================================*/

.lp-form .page_login{
  text-align: center;
}
.lp-form .page_login form{
  max-width: 400px;
  margin: auto;
}
.lp-form .page_login input{
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
}
.lp-form .page_login .button_pw{
  font-size: 18px;
  color: #fff;
  border: none;
  width: 60%;
  height: 8rem;
  cursor: pointer;
  margin: 20px auto auto;
  background-color: #0061af;
  filter: drop-shadow( 0 5px 5px rgba(0,0,0,0.3));
}
.lp-form .form{
  padding: 0;
}
.lp-form .form_inner dl dt,.lp-form .form_inner dl dd{
  font-size: 16px;
}
.lp-form .form_inner .form_box{
  padding: 10px 20px 0;
}
.lp-form .form_inner .form_box dl{
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  padding: 20px 0;
  border-bottom: 1px dashed #c9c9c9;
}
.lp-form .form_inner .form_box dt{
  width: 30%;
  line-height: 1.3;
}
.lp-form .form_inner .form_box dt span,
.lp-form .hissu{
  color: #da402c;
  font-weight: bold;
  top: 0px;
  font-size: 13px;
  margin: 0;
  padding: 0 0 0 8px;
  background: none;
}
.lp-form .form_inner .form_box .no_hissu{
  color: #666;
}
.lp-form .form_inner .form_box dd{
  width: 70%;
}
.lp-form .form_inner{
  padding: 0;
  box-shadow: none;
  border-radius: 0;
}

.lp-form .form_inner .box{
  display: flex;
  justify-content: space-between;
}
.lp-form .form_inner .box .wpcf7-form-control-wrap:first-child{
  width: 30%;
}
.lp-form .form_inner .box .wpcf7-form-control-wrap:last-child{
  width: 66%;
}

.lp-form .form_inner .date p{
  margin-bottom: 8px;
}
.lp-form .form_inner .date label{
  font-size: 15px;
}
.lp-form .form_inner .date label span{
  width: 80px;
  height: 40px;
  margin: 0 2px 5px;
  padding: 0 0 0 7px;
}
.lp-form .form_inner .date label span::before{
  font-size: 20px;
  margin-right: 5px;
  top: 1px;
}
.lp-form .form_inner input,
.lp-form .form_inner textarea{
  font-size: 16px;
  padding: 10px;
}
.lp-form .form_inner input.size100{
  width: 100px;
}

/*参加者の情報*/
.lp-form .sankasya_tit{
  padding-top: 10px;
  margin: 0;
}
.lp-form .form_inner .sankasya label{
  font-size: 17px;
}

/*会議リンク送付先*/
.lp-form .form_link_box{
  position: relative;
  width: 80%;
}
.lp-form .form_link_box+.form_link_box{
  margin-top: 20px;
}
.lp-form .form_link_box ul{
  width: 85%;
}
.lp-form .form_link_box ul+p{
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 0;
}
.lp-form .form_inner .form_link_box ul+p label{
  font-size: 16px;
}
.lp-form .form_inner .form_link_box ul+p label span{
  background-image: none;
  padding: 0 15px 0 10px;
}
.lp-form .form_inner .form_link_box ul+p label span::before {
    content: '\e147';
    font-size: 20px;
    top: 1px;
}
.lp-form .form_link_box li:first-child{
  margin-bottom: 8px;
}

.lp-form h2{
  font-size: 3.5rem;
  text-align: center;
}
.lp-form h3 {
  color: #0061af;
  font-size: 25px;
  margin: 50px 0 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #0061af;
}
.lp-form h3.no_mg{
  margin-top: 0;
}

.lp-form .kome{
  font-size: 1.3rem;
  color: #666;
}
.lp-form .form_inner .form_box{
  padding: 0;
}
.lp-form .form_inner dl dd .kome{
  line-height: 1.3;
}
.lp-form .form_inner .privacy_doui .tit{
  font-weight: bold;
  font-size: 20px;
}
.lp-form .form_inner .privacy_doui{
  margin: 60px 0 30px;
}
.lp-form .form_inner .privacy_box{
  background: #f3f3f3;
}
.lp-form .form_inner .privacy_box h3{
  color: #000;
  margin: 0px 0 20px;
  border: none;
  padding: 0;
}
.lp-form .form_inner .privacy_box dd{
  font-size: 14px;
}

.custom-password-message{
  text-align: center;
  color: #dc3232;
  font-weight: bold;
}

/*====================================
  18.calendar
====================================*/
.foot_actions{
  text-align: center;
  padding: 4% 0 6%;
}
.foot_actions h3{
  font-size: 3.6rem;
  margin: 0;
  font-weight: bold;
}
.foot_actions ul{
  max-width: 800px;
  margin: 3rem auto 0;
}
.foot_actions ul li{
  width: 48%;
}
.foot_actions ul li a{
  color: #0061af;
  width: 100%;
  height: 100%;
  padding: 20px 0;
  font-size: 18px;
  font-weight: 600;
  background: #fff;
  border: 1px solid #0061af;
}

#calendar{
  text-align: center;
  padding: 4% 0 5%;
  background: #edf8fc;
}
#calendar h3{
  color: #0061af;
  font-size: 3.6rem;
  margin: 0 0 1rem;
  font-weight: bold;
}

/*head*/
.xo-event-calendar table.xo-month .month-header{
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.xo-event-calendar table.xo-month .month-header > span{
  font-weight: 600;
  margin: 0 25px;
}
.xo-event-calendar table.xo-month .month-prev{
  float: auto;
}
.xo-event-calendar table.xo-month button{
  width: 44px;
  height: 44px;
  border-radius: 50px;
  border: 1px solid #eee;
  background: #fff;
  box-shadow: 0px 2px 3px 0px rgb(0 85 160 / 15%);
}
.xo-event-calendar table.xo-month button > span{
  width: auto;
  height: auto;
  line-height: auto;
}

/*body*/
.xo-event-calendar table.xo-month > thead th{
  padding: 10px;
}
.xo-event-calendar table.xo-month .month-dayname-space{
  height: 2em;
}
.xo-event-calendar table.xo-month .month-dayname td div{
  padding: 4px 8px;
  font-size: 1.1em;
  font-family: 'Big Shoulders Display', cursive;
}
.xo-event-calendar table.xo-month .month-event td a{
  text-decoration: none;
}
.xo-event-calendar table.xo-month .month-event-title{
  font-size: 1em;
  margin: 2px 8px;
  padding: 2px 3px;
  text-align: center;
  font-weight: bold;
  letter-spacing: 1px;
  font-family: 'Big Shoulders Display', cursive;
  color: #0061af !important;
  background: #ddd !important;
  white-space: normal;
}
.xo-event-calendar table.xo-month .month-event-title
.xo-event-calendar table.xo-month .month-event td a:hover .month-event-title{
  color: #fff !important;
  background: #0061af !important;
}
.xo-event-calendar table.xo-month .month-week table:last-child {
  padding-bottom: 1rem;
}


/* 申込ページ　詳細
---------------------------------*/
.cat{
  color: #fff;
  font-size: 22px;
  text-align: center;
  padding: 50px 25px;
  margin-bottom: 60px;
  background: #0061af;
}

.application{
  max-width: 900px;
  margin: auto!important;
}
.application .logo{
  width: 250px;
  margin: auto;
}
.application table{
  width: 100%;
  margin-top: 20px;
  border-collapse: collapse;
  border-spacing: 0;
}
.application table th,
.application table td{
  border: 1px solid #ccc;
  padding: 10px 1em;
  line-height: 1.5;
}
.application table th{
  background: #eee;
  width: 25%;
}
.application table td p{
  margin: .5em 0;
}
.application table td a{
  color: #0061af;
}
.application table td.event_info{
  font-weight: 500;
  font-size: 1.2em;
}
.application table td ul{
  margin-left: 2em;
  list-style-type: inherit;
}
.application table td ul li{
  list-style-type: inherit;
  margin: .2em 0;
}

.application .action{
  max-width: 650px;
  margin: 6% auto 15%;
}
.application .action li{
  width: 48%;
}
.application .action li a{
  padding: 20px 0;
  width: 100%;
  font-size: 1.1em;
  border: 1px solid #ef8419;
}
.application .action li.btn_back a{
  color: #0061af;
  background: #fff;
  border: 1px solid #0061af;
}
.application .action+#moushikomi{
  padding-top: 50px;
  margin-top: 0;
}

.application .form_inner #nichiji{
  background: #edf8fc;;
}
.application .form_inner .tel{
  width: 13em;
}
.application .form_inner textarea{
  height: 150px;
}
.application .privacy_doui{
  padding: 10px 0 0;
  margin: 0 0 10px !important;
}

/*====================================
  20.webinar
====================================*/
#webinar{
   position: relative;
   text-align: center;
   padding: 4% 0 5%;
   overflow: hidden;
}
#webinar::after {
   position: absolute;
   left: 0;
   bottom: 0;
   z-index: -1;
   content: "";
   display: block;
   width: 100%;
   height: 65%;
   background: #eceff6;
}
#webinar h3{
   color: #0061af;
   font-size: 3rem;
   margin: 0 0 2rem;
   font-weight: bold;
}
.webinar__inner{
   max-width: 1000px;
   margin: auto;
}
.webinar__slide{
   display: none;
}
.webinar__slide.slick-initialized{
  display: block;
}
.webinar__slide .slick-track {
   display: flex;
}
.webinar__slide .slick-slide {
   height: auto !important;
}
.webinar__slide .slick-list .slick-slide .webinar__item_thumbnail{
   position: relative;
   border: 3px solid #000;
}
.webinar__slide .slick-list .slick-slide .webinar__item_thumbnail::before{
   content: "";
   display: block;
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   z-index: 10;
   margin: auto;
   width: 70px;
   height: 70px;
   background: url("../img/icon_play.png") no-repeat center;
   background-size: cover;
   pointer-events: none;
}
.webinar__slide .slick-list .slick-slide:not(.slick-current) .webinar__item_thumbnail:after{
   position: absolute;
   top: 0;
   left: 0;
   content: "";
   width: 100%;
   height: 100%;
   background: #000;
   opacity: 0.5;
   transition: 0.3s ease 0s;
}
.webinar__item_inner{
   padding: 1em;
}
.webinar__item-title{
   font-weight: 700;
   font-size: 1.1em;
   margin: 1em 0;
}
.webinar__slide .slick-dots {
   position: static;
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
}
.webinar__slide .slick-dots li {
   margin: 0 0.5rem 0.8rem 0;
   width: 40px;
   height: 40px;
}
.webinar__slide .slick-dots li button {
   color: #0061af;
   font-size: .9em;
   font-weight: 700;
   background: #fff;
   width: 40px;
   height: 40px;
   border: none;
   cursor: pointer;
}
.webinar__slide .slick-dots li.slick-active button {
   color: #fff;
   background: #0061af;
}
.webinar__slide .slide-arrow {
   top: calc( 50% - 85px );
   cursor: pointer;
   position: absolute;
   width: 40px;
   z-index: 99;
}
.webinar__slide .next-arrow {
   right: 30px;
}
.webinar__slide .prev-arrow {
   left: 30px;
}

@media screen and (max-width: 1250px) {
/*
 01.Font
 02.Base
 03.Block
 04.header
 05.fv
 06.actions
 07.obligation
 08.resolve
 10.app
 11.about
 12.faq
 13.contact
 14.footer
*/

  .pc1250{
    display: none;
  }
/*====================================
  03.Block
====================================*/
.wrap{
  margin-left: 2.5%;
  margin-right: 2.5%;
}
/*====================================
  04.header
====================================*/

header .head_logo nav{
   font-size: 15px;
}
header .head_logo nav li{
   margin-left: 3rem;
}
header .head_info .head_btn a{
   font-size: 14px;
}
header .head_info .head_btn2 a {
   font-size: 13px;
}

/*====================================
  05.fv
====================================*/
.fv .wrap {
   width: auto;
}
.fv_txt__catch p{
   font-size: 2.6vw;
}
.fv_txt__catch h1{
  font-size: 2.8vw;
}
.fv_txt__name {
   margin: 2% 0 3%;
}
.fv_txt__name span{
   font-size: 1.5vw;
}
.fv_txt__name img{
   width: 50%;
}
.fv .fv_txt{
   width: 53%;
}
.fv .fv_img{
   width: 45%;
}
.fv ul{
   max-width: 480px;
}

/*====================================
  07.obligation
====================================*/
.obligation .tit_catch{
  font-size: 2vw;
  margin: 0 0 7px;
}
.obligation .tit{
  font-size: 2.8vw;
  padding-left: 14vw;
}
.obligation .tit::before{
  width: 12vw;
  height: 12vw;
}
.obligation ul{
  padding-top: 2%;
}
.obligation ul li{
  font-size: 1.9vw;
}
@media screen and (max-width: 950px) {
  .obligation ul{
    width: 90%;
  }
  .obligation ul li{
    width: 100%;
  }
}

/*====================================
  08.resolve
====================================*/
.resolve{
  padding: 8% 2% 5%;
}
.resolve h3{
  font-size: 3.6vw;
  padding-top: 3%;
}
.resolve h3 img{
   width: 220px;
}
.resolve h3 small{
   font-size: 12px;
}
.resolve h3 + p{
  font-size: 2.4vw;
}
.resolve__slide{
   width: 90% !important;
   max-width: auto!important;
   padding: 4% !important;
   margin: auto auto 10px;
}
.resolve__slide .slide-arrow{
   width: 4.8vw;
}
.resolve__thumbnail{
   width: 85% !important;
}
.resolve__thumbnail li a{
   font-size: .9em;
   padding: 15px 10px;
}
.resolve_box{
  padding: 5% 3%;
}
.resolve_box .thumb{
  width: 30%;
}
.resolve_box .txt{
  width: 65%;
  font-size: 1.4vw;
}
.resolve_box .txt h4{
  font-size: 2.6vw;
  padding-left: 11vw;
}
.resolve_box .txt h4 img{
  width: 9vw;
  padding-left: 1vw;
}
.resolve_box .txt p{
  margin: 0 0 0 2.6%;
}
.resolve_box_event .txt{
  width: 68%;
  padding-left: 0;
}
.resolve_box:last-child .thumb {
   width: 40%;
}

.resolve_box:last-child .txt{
  width: 58%;
}

/* shousai
---------------------------------*/
.resolve_box .shousai h5{
  font-size: 2.2vw;
  padding: 10px 1.4vw;
}
.resolve_box .shousai h5 br{
  display: none;
}

/* shousai - detector
---------------------------------*/
.resolve_box .detector dl+p{
  font-size: 2vw;
}
.resolve_box .detector dd p{
  font-size: 1.6vw;
  line-height: 1.4;
}
.resolve_box .detector dt{
  font-size: 1.8vw;
}
.resolve_box .detector ul li{
  line-height: 1.3;
  font-size: 14px;
}
.resolve_box .detector ul li span{
  font-size: 13px;
}

/*====================================
  10.app
====================================*/
.app{
  padding: 8% 2% 5%;
}
.app h3{
  font-size: 2.8vw;
  padding-left: 12vw;
}
.app h3::before{
  width: 10vw;
  height: 10vw;
}
.app_box{
  padding: 3% 10% 6%;
}
.app_box .thumb{
  width: 45%;
}
.app_box .txt{
  font-size: 1.4vw;
}

/*====================================
  11.about
====================================*/
.about h3{
  font-size: 2.8vw;
}
.about h3+img{
  width: 61vw;
}
.about_list h4{
  font-size: 2.9vw;
}
.about_list h4::after{
  width: 12vw;
  height: 14vw;
}


/*====================================
  12.faq
====================================*/
.faq{
  font-size: 1.7vw;
}
.faq .tit{
  font-size: 3vw;
}
.faq dt{
  font-size: 2vw;
}
.faq dt::before, .faq dd::before{
  width: 4rem;
  height: 4rem;
  line-height: 3.5rem;
}

/*====================================
  12.form
====================================*/
.form{
  padding: 8% 3%;
}
.form_inner{
  padding: 8%;
}
.form_inner h3{
  font-size: 3.5vw;
}
.form_inner .tit p{
  font-size: 2vw;
}
.form_inner .tit p::before, .form_inner .tit p::after{
  width: 3vw;
}
.form_inner dl{
  font-size: 1.7vw;
}
.form_inner dl dt span{
  font-size: 1.6vw;
}




/*====================================
  15.thanks
====================================*/
.thanks{
  width: 90%;
  max-width: 90%;
  box-sizing: border-box;
  margin: 4rem auto;
}

/*====================================
  17.opportunity
====================================*/
.lp-form h3{
  font-size: 25px;
}
.lp-form .form_link_box{
  width: 100%;
}
.lp-form .form_link_box ul {
  width: 80%;
}


}/* 1250px */
@media screen and (max-width: 1150px) {
  header .head_logo nav{
    display: none;
  }
}
@media screen and (max-width: 1149px) {
  header .head_logo{
    width: 50%;
  }
  header .head_logo nav{
    padding-left: 7%;
    width: 50%;
    font-size: 15px;
  }
  header .head_logo nav{
    display: none;
  }
  header .head_info{
    max-width: inherit;
  }

  /*====================================
    15.privacy
  ====================================*/
  .conts{
    width: 90%;
    max-width: 90%;
  }

}


@media screen and (max-width: 1000px) and (min-width: 768px) {

.tb{
  display: none;
}
header .head_info .head_btn a {
    font-size: 13px;
}

header .head_info .head_btn li a{
   font-size: 1.2rem;
}
   
header .header__conts {
   width: 45%;
   max-width: auto;
}

/*====================================
  06-2.youtube
====================================*/
.youtube_wrap{
  padding: 4% 8%;
}

.movie{
  padding: 8% 0;
}
.movie_wrap{
  padding: 0 5%;
}
.movie_btn{
  flex-wrap: wrap;
  justify-content: start;
  margin: 0 0 30px;
}
.movie_btn li{
  width: 32%;
  min-height: 66px;
}
.moviechange{
  margin: 5px 0.6%;
}
.moviechange a{
  width: 100%;
  padding: 10px;
  justify-content: center;
}
.moviechange.active a:before{
  display: none;
}
.moviechange br{
  display: none;
}
.movie_body{
  background: #111;
  padding: 20px;
  border-radius: 10px;
  border: 8px solid #0061AF;
}
.movie_body .inner {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  background: no-repeat;
  border: none;
  border-radius: 0;
}
.movie_body iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*====================================
  07.obligation
====================================*/
.obligation .tit{
  font-size: 3.3vw;
}
.obligation .step{
  max-width: 660px;
  margin: auto auto 5%;
}
.obligation .step_bar{
  font-size: 15px;
}
.obligation .step_bar span{
  font-size: 14px;
  bottom: -25px;
}
.obligation .step_bar::before{
  border: 35px solid transparent;
  border-left: 30px solid #0061af;
}
.worries li{
  font-size: 17px;
}

/*====================================
  08.resolve
====================================*/
.resolve_box{
  padding: 5% 4%;
}
.resolve_box .thumb {
  width: 36%;
}
.resolve_box .txt{
  width: 62%;
}
.resolve_box .txt h4{
  font-size: 25px;
}
.resolve_box .txt p{
  font-size: 15px;
}
.resolve_box .txt p br.pc{
  display: none;
}
.resolve_box:last-child .txt {
    width: 58%;
}

/* shousai
---------------------------------*/
.resolve_box .shousai{
  width: 100%;
  margin: 5% auto 0;
  padding: 6% 0 3%;
}
.resolve_box .shousai .inner+.inner {
    margin-top: 6%;
}
.resolve_box .shousai h5{
  font-size: 20px;
  border-radius: 8px;
  padding: 10px 15px;
  margin-bottom: 4%;
}
.resolve_box .shousai h5+p{
  font-size: 18px;
  margin: -2% 0 3%;
}

/* shousai - detector
---------------------------------*/
.resolve_box .detector dl{
  margin: 0;
  width: 46%;
  border: 4px solid #ddd;
}
.resolve_box .detector dl+p{
  margin-top: 25%;
  font-size: 26px;
}
.resolve_box .detector dt{
  font-size: 18px;
}
.resolve_box .detector dd{
  padding: 5%;
  align-items: center;
}
.resolve_box .detector dd p{
  font-size: 15px;
  text-align: left;
  width: 60%;
}
.resolve_box .detector dd p br{
  display: none;
}
.resolve_box .detector img{
  width: 30%;
}
.resolve_box .detector table{
  width: 100%;
}
.resolve_box .detector th span{
  font-size: 13px;
}

/* shousai - sensor
---------------------------------*/
.resolve_box .sensor{
  display: block;
}
.resolve_box .sensor dt{
  font-size: 17px;
  padding: 8px;
}
.resolve_box .sensor dl,
.resolve_box .sensor dl:last-child{
  width: 100%;
}
.resolve_box .sensor dl+p{
  margin: 1% auto;
  font-size: 22px;
}
.resolve_box .sensor dl img{
  width: 80px;
}
.resolve_box .sensor dd{
  display: block;
}
.resolve_box .sensor .sensor_wrap{
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.resolve_box .sensor .sensor_midashi{
  width: 100%;
  padding-bottom: .2em;
  margin-bottom: .2em;
  border-bottom: 1px solid #0061af;
}
.resolve_box .sensor .sensor_box{
  width: 49%
}
.resolve_box .sensor .sensor_wrap+.sensor_wrap {
  border:none;
}


.about_list ul{
  padding: 5%;
}

.app_box{
  padding: 3% 5% 4%;
}
.app_box .thumb{
  padding-right: 4%;
}
.app_box .txt{
  font-size: 15px;
}

.about_list li{
  font-size: 14px;
}
.about_list li span{
  font-size: 15px;
}


.form_tel{
  display: block;
  max-width: 450px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.form_tel .tit{
  width: auto;
  display: inline-block;
  margin-bottom: 2%;
}
.form_tel .tel{
  padding: 0;
  margin: 0;
  border: 0;
}
.form_tel .tel a{
  display: inline-block;
}
.form_tel .flyer{
  width: 80%;
  margin: 4% auto 0;
  display: block;
}
.form_tel .flyer a{
  font-size: 20px;
  padding: 3% 1.2em 3% 2.8em;
}
.form_tel .flyer a::before{
  top: 10px;
}

.form_inner{
  padding: 6%;
}
.form_inner h3{
  margin-bottom: 3rem;
}
.form_inner dl dt span, .form_inner .hissu{
  font-size: 1.4rem;
}
.form_inner dl,
.form_inner label span,
.form_inner label,
.form_inner input, .form_inner textarea{
  font-size: 1.6rem;
}
.form_inner #koumoku span.wpcf7-list-item{
  margin-top: 0;
}
.form_inner .privacy_box, .form_inner .privacy_box dl{
  font-size: 1.4rem;
}
.form_inner .btn #soushin{
  font-size: 2rem;
}

/*====================================
17.opportunity
====================================*/
.lp-form{
  padding: 40px;
}
.lp-form h2{
  font-size: 3rem;
}
.lp-form h3{
  font-size: 2.2rem;
  margin-bottom: 0;
}
.lp-form .form_inner .form_box{
  padding: 0;
}
.lp-form .form_inner .form_box dl{
  display: block;
}
.lp-form .form_inner .form_box dt,
.lp-form .form_inner .form_box dd{
  width: 100%;
}
.lp-form .form_link{
  margin-top: 15px;
}
.lp-form .form_inner .form_box .naiyou{
  margin-top: 20px;
}

.lp-form .form_inner .wpcf7-form-control-wrap{
  width: 100%;
}
.lp-form .form_inner .c_number,
.lp-form .form_inner .c_vehicle{
  width: auto;
}


}/* tb */




/* SP */
@media screen and (max-width: 767px) {
/*
 01.Font
 02.Base
 03.Block
 04.header
 05.fv
 06.actions
 07.worries
 08.resolve


 11.about
 12.faq
 13.contact
 14.footer

 17.opportunity
 20.webinar
*/
/*====================================
  01.Font
====================================*/
body, textarea, input, select, label{
  font-size: 1.4rem;
  line-height: 1.7;
}

/*====================================
  02.Base
====================================*/
.pc{
  display: none;
}
.sp{
  display: block !important;
}
/*====================================
  04.header
====================================*/
.head_catch{
   padding: 0;
   font-size: 3vw;
   text-align: center;
}
header{
   padding: 1rem 1.5rem;
}
header .head_logo{
   width: 50%;
}
header .logo_img a{
   text-align: left;
}
header .head_logo .logo_img img{
   width: 140px;
   margin: 0;
}
header .logo_text{
   line-height: 1.2;
   font-size: .9rem;
   padding: .2rem .5rem;
   border-radius: 3rem;
}
header .header__conts{
   max-width: inherit;
}
header .head_info{
   align-items: center;
   justify-content: flex-end;
}
header .head_info .head_btn{
   display: none;
}
header .head_info .tel{
   display: inline-block;
   font-size: 1rem;
   margin: 0;
   width: auto;
}
header .head_info .tel a{
   font-size: 1.8rem;
   background-size: 2rem;
   padding: .1rem 0 .1rem 2.6rem;
}

/*====================================
  05.fv
====================================*/
.fv{
  background-position: right top;
  background-size: cover;
}
.fv .wrap{
  display: block;
  /*padding: 14% 0;*/
  padding: 10% 0 5%;
}
.fv .fv_txt{
  width: 100%;
}
.fv_txt__catch p{
   font-size: 5.3vw;
}
.fv_txt__catch h1{
  font-size: 5.8vw;
}
.fv_txt__catch h1 span.bk1 small{
   font-size: 3vw;
}
.fv_txt__name{
  line-height: 1.2;
  margin: 4% 0;
}
.fv_txt__name span {
  font-size: 3.6vw;
}
.fv_txt__name img {
  width: 50%;
}
.fv_txt__name p{
   font-size: 1.2rem;
}
.fv ul {
  width: 85%;
}
.fv .fv_img{
  width: 70%;
  text-align: center;
  margin: 2% auto 0;
}

.fv .fv_badge{
  padding: 0 2%;
}

.fv_bnr{
  padding: 2rem 1.5rem 1.5rem;
}

.news{
  display: block;
  width: 95%;
  margin: auto;
  margin-top: 2.5%;
}
.news_tit{
  display: block;
  width: 100%;
  text-align: center;
  font-size: 1em;
}
.news_body{
  font-size: .9em;
  padding: 4% 4%;
  line-height: 1.4;
}

/*====================================
  06.actions
====================================*/
.actions{
  padding: 2rem 2.5rem 2.5rem;
  text-align: center;
}
.actions p{
  padding: 0 2.5rem;
  margin: 0 0 1rem;
  font-size: 1.4rem;
}
.actions p::before, .actions p::after{
  width: 2.5rem;
  height: .2rem;
}
.actions .btn{
  width: 80%;
}
.actions .btn a{
  font-size: 1.5rem;
  padding: 1.4rem 0 1.6rem;
}
.actions .btn2{
  display: block;
  margin-top: 1.2rem;
}
.actions .btn2 a{
  font-size: 1.3rem;
  background: none;
  border: 1px solid #fff;
}

/*====================================
  06-2.youtube
====================================*/
.youtube_wrap{
  padding: 6% 8%;
}
.youtube_wrap .inner{
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.youtube_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.youtube_wrap p{
  font-size: 3.5vw;
}

.movie{
   padding: 4rem 2rem 5rem;
}
.movie .tit_carch{
   font-size: 3.5vw;
   line-height: 1.4;
   margin-bottom: .8rem;
}
.movie .tit {
    font-size: 5vw;
    margin-bottom: 1.5rem;
}
.movie_btn{
   margin: 0 0 30px;
   flex-wrap: wrap;
   justify-content: space-between;
}
.movie_btn li{
  width: 49%;
  display: block;
  margin: 3px 0;
  font-size: 13px;
}
.movie_btn li a{
  position: relative;
  justify-content: center;
  padding: 8px 22px 8px 8px;
  min-height: 68px;
}
.movie_btn li br{
  display: none;
}
.movie_btn li br.pc{
  display: block!important
}
.movie_btn li a:after {
  content: "";
  position: absolute;
  margin-top: 5px;
  right: 10px;
  margin-left: -6px;
  border: 4px solid transparent;
  border-top: 6px solid #0061AF;
}
.moviechange.active a:before{
  display: none;
}
.moviechange.active a:after{
  border-top: 6px solid #fff;
}
.movie_body .inner{
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.movie_body iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*====================================
  07.obligation
====================================*/
.obligation {
    padding: 15vw 2rem 3rem;
}
.obligation .tit_catch{
   font-size: 3.4vw;
}
.obligation .tit{
   font-size: 4.6vw;
   text-align: center;
   padding-left: 0;
   width: 100%;
}
.obligation .tit small {
   font-size: 80%;
}

.obligation .tit::before{
   width: 22vw;
   height: 22vw;
   top: -50vw;
   left: -1rem;
   max-width: 120px;
   max-height: 120px;
   background-size: cover;
}
.obligation .step{
  align-items: stretch;
  margin: auto auto 4vh;
}
.obligation .step_bar{
  line-height: 1.4;
  font-weight: bold;
  margin: 0;
  padding: 2.5vh 7vw 2.5vh 2vw;
  font-size: 3vw;
  background: url(../img/step_bar1.gif) no-repeat right center;
  background-size: cover;
}
.obligation .step_bar:last-child{
  background: url(../img/step_bar2.gif) no-repeat right center;
  background-size: cover;
}
.obligation .step_bar::before{
  display: none;
}
.obligation .step_bar br{
  display: none;
}
.obligation .step_bar span{
  bottom: -4vh;
}
.obligation ul{
  width: 100%;
}
.obligation ul li{
  width: 100%;
  font-size: 3.7vw;
  line-height: 1.4;
  margin: 6px 0;
  padding: 4% 4% 4% 10%;
  background-size: 5vw;
  background-position: 2vw center;
}
.obligation ul li:nth-child(n+4){
  padding-right: 27%;
}
.obligation ul::after{
  width: 27vw;
  height: 32vw;
  right: -2vw;
  bottom: -1vh;
}

/*====================================
  08.resolve
====================================*/
.resolve{
  padding: 10vh 2rem 6rem;
  background: url(../img/resolve_bg_sp.gif) no-repeat center top #e8f6fc;
  background-size: 100% auto;
}
.resolve::before{
  border-width: 4vh 15vw 0 15vw;
}
.resolve h3{
  font-size: 5.5vw;
  line-height: 1.4;
  padding: 2.5vh 0 0;
}
.resolve h3 img{
  width: 34vw;
  min-width: 150px;
}
.resolve h3 span{
   min-width: 150px;
}
.resolve h3 small{
  font-size: 2vw;
  bottom: -15px;
}
.resolve h3 + p{
  font-size: 3.6vw;
  margin: 1.8vh 0 2.5vh;
}
.resolve__slide{
   width: 100%!important;
   margin: auto auto 0 !important;
}
.resolve__slide li .txt{
   display: block;
   max-width: auto;
   width: 100%;
   margin: 20px auto 0;
}
.resolve__slide li .txt img{
   width: 50%;
}
.resolve__slide li .txt p{
   width: 100%;
   padding: 0;
   font-size: 3.5vw;
}
.resolve__slide .slide-arrow{
   width: 8vw !important;
   height: 8vw !important;
}
.resolve__slide .prev-arrow {
  left: -20px !important;
}
.resolve__slide .next-arrow {
  right: -20px !important;
}
.resolve__thumbnail {
   width: 100% !important;
   margin-bottom: 50px;
}
.resolve__thumbnail li{
  line-height: 1.3;
  font-size: 3vw;
  margin: 0;
  width: 30%;
}
.resolve__thumbnail li:nth-of-type(2){
  margin: 0 5%;
}
.resolve__thumbnail li.slick-current a::before{
   border-width: 0 10px 8px 10px;
   top: -8px;
}
.resolve__thumbnail li a,
.resolve__thumbnail li.slick-current a{
   padding: 10% 5%;
   border-width: 2px;
   font-size: 1em;
}
.resolve__thumbnail li::after{
   width: 15px;
   height: 11px;
   right: -15px;
}
.resolve__thumbnail .slick-track {
   transform:unset!important;
}
.resolve_box{
  display: block;
  padding: 8% 5vw 10%;
  margin: 5% auto;
}
.resolve_box .thumb{
   width: 80% !important;
   margin: auto auto 2rem;
}
 .resolve_box .txt{
  width: 100%;
  font-size: 3.4vw;
  line-height: 1.5;
}
.resolve_box .txt h4{
  display: block;
  font-size:5vw;
  font-weight: bold;
  padding-left: 14vw;
}
.resolve_box .txt h4 img {
    width: 12.5vw;
    position: absolute;
    left: -.5rem;
}
.resolve_box:last-child .txt{
  width: 100%;
}

/* shousai
---------------------------------*/
.resolve_box .shousai{
  width: 100%;
  padding-top: 15%;
  margin-top: 12%;
  background: url(../img/shousai_line_sp.png) no-repeat top center;
  background-size: 100% auto;
}
.resolve_box .shousai .inner+.inner {
    margin-top: 12%;
}
.resolve_box .shousai h5{
  font-size: 4vw;
  line-height: 1.4;
  border-radius: 6px;
  padding: 2.5vw 3vw;
}
.resolve_box .shousai h5+p{
  font-size: 3.6vw;
  line-height: 1.4;
}
.resolve_box .shousai_wrap{
  display: block;
}

/* shousai - detector
---------------------------------*/
.resolve_box .detector dl{
  width: 100%;
  margin: 0;
  border-width: 4px;
  box-sizing: border-box;
}
.resolve_box .shousai dl:first-child{
  margin-top: 2rem;
}
.resolve_box .detector dl+p{
  font-size: 5vw;
  line-height: 1;
  margin: 2vh 0;
}
.resolve_box .detector dt{
  font-size: 3.8vw;
  padding: 2vw 2vw 3.5vw;
}
.resolve_box .detector dd{
  padding: 4vw;
  align-items: center;
}
.resolve_box .detector img{
  width: 18vw;
}
.resolve_box .detector dd p{
  font-size: 3.6vw;
  text-align: left;
  width: 50vw;
  margin: 0;
}
@media screen and (max-width: 355px) {
  .resolve_box .detector dd p{
    width: 48vw;
  }
}
.resolve_box .detector table{
  width: 100%;
  font-size: inherit;
}
.resolve_box .detector th{
  width: auto;
  padding-right: 1vw;
}
.resolve_box .detector th img{
  width: 12vw;
}
.resolve_box .detector ul li{
  font-size: 3.4vw;
  padding-left: 2vw;
}
.resolve_box .detector ul li::before{
  top: 1vh;
  width: 1vw;
  height: 1vw;
}
.resolve_box .detector ul li span{
  font-size: 3.1vw;
}
/* shousai - sensor
---------------------------------*/
.resolve_box .sensor{
  display: block;
}
.resolve_box .sensor dl,
.resolve_box .sensor dl:last-child{
  width: 100%;
  box-sizing: border-box;
  border-width: 4px;
}
.resolve_box .sensor dl+p{
  font-size: 5vw;
  line-height: 1;
  margin: 2vh 0;
}
.resolve_box .sensor dl:first-child dd{
  align-items: flex-start;
}
.resolve_box .sensor dt{
  font-size: 3.8vw;
  padding: 2vw 2vw 3.5vw;
}
.resolve_box .sensor dd{
  display: block;
  font-size: inherit;
  padding: 2vw 4vw 6vw;
}
.resolve_box .sensor .sensor_wrap{
  padding: 0;
}
.resolve_box .sensor .sensor_wrap+.sensor_wrap {
  border-left: none;
}
.resolve_box .sensor .sensor_box{
  width: 100%;
  justify-content: space-between;
}
.resolve_box .sensor .sensor_box+.sensor_box{
  border-top: 1px solid #d4e1ec;
  margin-top: 3vw;
  padding-top: 2vw;
}
.resolve_box .sensor .sensor_midashi{
  margin-bottom: 4px;
  font-size: 3.7vw;
  margin-top: 1.5vw;
  padding-bottom: 1.2vw;
  border-bottom: 1px solid #0061af;
}
.resolve_box .sensor dl dd .sensor_txt{
  width: 75%;
  line-height: 1.4;
  font-size: inherit;
}
.resolve_box .sensor dl dd p{
  font-size: 3.4vw;
}
.resolve_box .sensor dl img{
  width: 25%;
}
.resolve_box .sensor dl:last-child dd::after{
  display: none;
}

/*====================================
  10.app
====================================*/
.app{
  padding: 4rem 2rem;
}
.app h3{
   font-size: 4.8vw;
   padding-left: 0;
   text-align: center;
}
.app h3::before {
   width: 60px;
   height: 60px;
   bottom: -13rem;
}
.app .wrap{
  margin: 0;
}
.app_box{
  display: block;
}
.app_box .thumb{
  width: 80%;
  padding: 0;
  margin: 2rem auto;
}
.app_box .txt {
    font-size: 3.5vw;
}
/*====================================
  11.about
====================================*/
.about {
    padding: 9vw 2rem;
    margin: 0;
}
.about h3{
  font-size: 5vw;
  line-height: 1.4;
  margin: 0 0 2vh;
}
.about h3 + img{
  width: 90%;
}
.about_list{
  margin-top: 1rem;
}
.about_list h4{
  font-size: 4vw;
  line-height: 1.4;
  text-align: center;
}
.about_list h4::after{
  right: 0;
  width: 20vw;
  height: 23vw;
}
.about_list ul{
  padding: 4vw;
  justify-content: space-between;
}
.about_list li,
.about_list li:nth-child(4n) {
  width: 48%;
  padding: 6% 0;
  margin: 0 0 3%;
  font-size: 3vw;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.2);
}
.about_list li p{
  line-height: 1.3;
}
.about_list li span {
  font-size: 3.5vw;
}
.about_list li img{
  height: 6vh;
}



/*====================================
  12.faq
====================================*/
.faq{
  padding: 10% 2rem 12%;
  font-size: 3.5vw;
}
.faq_inner{
  margin: 0;
}
.faq .tit{
  font-size: 5vw;
}
.faq .tit + p {
  font-size: 3.5vw;
  margin-bottom: 3vh;
}
.faq dt{
  font-size: 3.5vw;
  line-height: 1.4;
  padding: 4vw 6vw 4vw 10vw;
}
.faq dt::before, .faq dd::before{
  left: 2vw;
  width: 6vw;
  height: 6vw;
  line-height: 5.5vw;
  font-size: 3vw;
}
.faq dd p{
  padding: 2.5vh 6.5vw;
}
.faq dt::after{
  right: 1rem;
  font-size: 4vw;
}

/*====================================
  13.form
====================================*/
.form{
  padding: 5vh 5vw;
}
.form_tel{
  width: 80%;
  display: block;
  margin: auto auto 3.5rem;
  text-align: center;
}
.form_tel .tit{
  font-size: 3.5vw;
  text-align: center;
  display: inline-block;
  margin: auto;
}
.form_tel .tel{
  display: inline-block;
  font-size: 3vw;
  padding-right: 0;
  margin-right: 0;
  border: 0;
}
.form_tel .tel a{
  font-size: 8vw;
  padding: 1vh 0 1vh 10vw;
  background-size: auto 8vw;
  background-position: left center;
}
.form_tel .tel span{
  text-indent: inherit;
}
.form_tel .flyer{
  margin-top: 1.6vh;
  display: block;
}
.form_tel .flyer a{
  font-size: 16px;
}

.form_inner{
  padding: 4vh 4.7vw;
  border-radius: 1rem;
}
.form_inner h3{
  font-size: 5vw;
  margin: 0 0 2rem;
}
.form_inner .tit p{
  font-size: 3vw;
  padding: 0 2rem;
}
.form_inner dl,
.form_inner label span,
.form_inner label,
.form_inner input, .form_inner textarea{
  font-size: 1.4rem;
}
.form_inner input, .form_inner textarea{
  font-size: 1.6rem;
}
.form_inner dl dt{
  margin-bottom: 1rem;
  font-size: 1.4rem;
}
.form_inner dl dt span, .form_inner .hissu{
  font-size: 1.2rem;
  padding: .3rem .8rem .5rem;
}
.form_inner dl.name dd{
  display: block;
}
.form_inner dl.name dd p,
.form_inner input#tel{
  width: 100%;
  display: block;
}
.form_inner dl.name dd p+p{
  margin: 1rem 0 0;
}
.form_inner dl.name dd p .name_tit{
  font-size: 1.3rem;
}
.form_inner #koumoku{
  display: block;
}
.form_inner .wpcf7-checkbox{
  padding: 0;
}
.form_inner textarea{
  height: 15rem;
}
.form_inner label{
  height: 4.4rem;
  display: block; 
}
.form_inner label span{
  position: absolute;
  left: 0;
  right: 0;
  padding: 0 0 0 1rem;
  height: 4.4rem;
  line-height: 4.4rem;
}
.wpcf7-list-item, span.wpcf7-list-item{
  display: block;
}
.form_inner #koumoku span.wpcf7-list-item{
  padding: 0;
  margin: 5px 0 0;
}
.form_inner #koumoku span + span{
  margin: 1rem 0 0;
}
.form_inner .privacy_doui{
  font-size: 1.3rem;
  text-align: left;
  margin: 30px 0 20px;
}
.form_inner .privacy_doui p > br{
  display: none;
}
.form_inner .privacy_doui .doui .wpcf7-list-item{
  width: 270px;
  margin: auto;
}
.form_inner .privacy_doui .doui .wpcf7-list-item::after{
  position: static;
  font-size: 1.2rem;
  padding: 2px 4px;
  margin: auto;
}

.form_inner .privacy_box{
  padding: 1.5rem;
  margin: 1rem 0 2rem;
}
.form_inner .privacy_box .inner{
  padding: 0 1rem 0 0;
  height: 13rem;
}
.form_inner .privacy_box h3{
  font-size: 1.3rem;
}
.form_inner .privacy_box, .form_inner .privacy_box dl{
  font-size: 1.2rem;
}
.form_inner .privacy_box dl{
  margin: 0;
}
.form_inner .privacy_box dd{
  padding-left: 1rem;
}
.form_inner .btn #soushin{
  width: 100%;
  height: 6rem;
  font-size: 1.8rem;
}
.wpcf7-not-valid-tip{
  font-size: 1.3rem;
  margin-top: .7rem;
}

.wpcf7 form .wpcf7-response-output, .wpcf7 form.invalid .wpcf7-response-output{
  margin: 2rem 0 0;
  padding: 0;
  line-height: 1.3;
  font-size: 1.3rem;
}
.wpcf7 form .head_error .wpcf7-response-output{
  padding-bottom: 2rem;
}
.wpcf7 form .foot_error .wpcf7-response-output{
  padding-bottom: 2rem;
}
.form_inner .btn+.wpcf7-response-output{
  margin-top: 0!important;
}
.wpcf7-spinner{
  margin: 0 auto;
}


/*====================================
  14.footer
====================================*/

footer{
  font-size: 1.3rem;
  padding-bottom: 18vh;
}

#pagetop img{
  width: 4rem;
}
#pagetop {
  bottom: 70px;
}

.footer_menu {
  display: none;
  width: 100%;
  text-align: center;
  background: #fff;
  position: fixed;
  bottom: 0;
  z-index: 2;
  padding: 2rem 2.5rem;
  box-shadow: 0px -2px 10px 0px rgba(0, 0, 0, 0.18);
}


.foot_btn{
  width: 85%;
  height: auto;
  line-height: 1.4;
  font-weight: normal;
  font-size: 3.5vw;
}
.foot_btn a{
  padding: 10px 0;
}

/*====================================
  15.thanks
====================================*/
.thanks .tit{
  font-size: 2rem;
}
.thanks .tit+p{
  text-align: left;
}
.thanks{
  margin: 1rem auto 3rem;
  padding: 3rem 2.5rem;
}
.thanks .btn{
  width: 100%;
  margin-top: 3rem;
}
.thanks .btn a{
  padding: 1.5rem .5rem;
}


/*====================================
  16.privacy
====================================*/
.conts{
  margin: 1rem auto 3rem;
  padding: 3rem 2.5rem;
}
.policy h3{
  font-size: 1.7rem;
  margin: 0 0 2rem;
}

/*====================================
17.opportunity
====================================*/
.lp-form .page_login p:first-child{
  text-align: left;
}
.lp-form .page_login p br{
  display: none;
}
.lp-form .page_login .button_pw{
  height: 6rem;
}
.lp-form .page_login input{
  font-size: 1.6rem;
}
.lp-form+footer{
  padding-bottom: 5vh;
}
.lp-form+footer+.footer_menu{
  display: none!important;
}
.lp-form{
  padding: 3rem 2rem;
}

.lp-form h2{
  font-size: 20px;
  line-height: 1.4;
  margin: 0;
}
.lp-form h3{
  font-size: 17px;
  margin: 3rem 0 0;
}
.lp-form h3.no_mg{
  margin: 2rem 0 0;
}
.lp-form .form_inner dl dd .kome,
.form_inner dl dd .kome{
  font-size: 12px;
}
.lp-form .form_inner .form_box{
  padding: 0;
}
.lp-form .form_inner .form_box dl{
  display: block;
}
.lp-form .form_inner .form_box dt,
.lp-form .form_inner .form_box dd{
  width: 100%;
  font-size: 1.4rem;
}
.lp-form .form_inner .form_box dt span,
.lp-form .form_inner .form_box .hissu,
.lp-form .form_inner .form_box .no_hissu{
  font-size: 1.2rem;
}
.lp-form .form_inner .form_box .naiyou{
  margin-top: 20px;
}

.lp-form .form_inner .box{
  display: block;
}
.lp-form .form_inner .box .wpcf7-form-control-wrap:first-child,
.lp-form .form_inner .box .wpcf7-form-control-wrap:last-child{
  width: 100%;
}
.lp-form .form_inner .box .wpcf7-form-control-wrap:last-child{
  margin-top: 5px;
}
.lp-form .form_inner .date .wpcf7-checkbox{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.lp-form .date .wpcf7-list-item{
  width: 24%;
  height: 3.8rem;
  margin: 3px 0;
}
.lp-form .form_inner .date label{
  height: 3.8rem;
}
.lp-form .form_inner .date label span{
  width: 100%;
  margin: 0;
  font-size: 1.3rem;
  padding: 4px 0 8px 8px;
  box-sizing: border-box;
  height: 3.8rem;
  line-height: 3.8rem;
}
.lp-form .form_inner .date label span::before{
  font-size: 18px;
  margin-right: 3px;
}

.lp-form .sankasya_tit{
  padding-top: 0;
}
.lp-form .form_link{
  padding-top: 10px;
}
.lp-form .form_link_box+.form_link_box{
  margin-top: 10px;
}
.lp-form .form_link_box ul{
  width: 100%;
}
.lp-form .form_link_box ul+p{
  position: static;
  margin-top: 10px;
}
.lp-form .form_inner .form_link_box ul+p label{
  width: 90px;
}
.lp-form .form_inner .form_link_box ul+p label span{
  padding: 0 0 0 10px;
}

.lp-form .form_inner .privacy_doui {
    margin: 40px 0 30px;
}
.lp-form .form_inner .privacy_doui .tit{
  font-size: 16px;
  margin-bottom: 0;
}
.lp-form .form_inner .privacy_doui .tit+p{
  margin-top: 3px;
}
.lp-form .form_inner .privacy_doui .wpcf7-list-item{
  height: auto;
}
.lp-form .form_inner .privacy_box{
  margin: 0 auto 20px;
}
.lp-form .form_inner .privacy_box,
.lp-form .form_inner .privacy_box dl,
.lp-form .form_inner .privacy_box dt,
.lp-form .form_inner .privacy_box dd{
  font-size: 1.2rem;
}
.lp-form .wpcf7 form .head_error .wpcf7-response-output{
  padding-bottom: 0;
}
.wpcf7 form .foot_error .wpcf7-response-output{
  text-align: left;
}


/*====================================
  18.calendar
====================================*/
.foot_actions{
  padding: 10% 5vw 12%;
}
.foot_actions h3{
  font-size: 5vw;
  margin-bottom: 5px;
}
.foot_actions ul{
  display: block;
  margin: 0;
}
.foot_actions ul li{
  width: 100%;
  margin-top: 1rem;
}
.foot_actions ul li a{
  font-size: 1.5rem;
  padding: 1.4rem 0 1.6rem;
}
#calendar{
  padding: 10% 2rem 12%;
}
#calendar h3{
  font-size: 5vw;
  margin-bottom: 5px;
}
#calendar h3+p{
  margin-top: 0;
}
#calendar .wrap{
  margin: 0;
}
.xo-event-calendar table.xo-month .month-header > span{
  font-size: 4vw;
}
.xo-event-calendar table.xo-month .month-dayname-space{
  height: 1.6em;
}
.xo-event-calendar table.xo-month .month-dayname td div{
  font-size: .9em;
}
.xo-event-calendar table.xo-month .month-event-title{
  margin: 2px 3px;
  padding: 7px 2px;
  font-size: .8em;
  letter-spacing: normal;
  line-height: 1.3;
}

/* 申込ページ　詳細
---------------------------------*/
.cat{
  font-size: inherit;
  padding: 30px 25px;
  margin-bottom: 0;
}
.cat h2{
  margin: 0;
  font-size: 17px;
 }
 .application .logo{
  width: 180px;
 }
 .application .action{
  margin: 8% auto 4%;
  padding-bottom: 8%;
  border-bottom: 1px solid #ccc;
 }
 .application .action ul{
  display: block;
  width: 90%;
  margin: auto;
 }
 .application .action li{
  width: 100%;
  margin-top: 14px;
 }
 .application .action li a{
  padding: 16px 0;
 }
 .application .action+#moushikomi{
  padding-top: 30px;
 }
 .application .messages{
  margin-bottom: 0;
 }
.application .form_inner .privacy_box h3{
  margin: 0px 0 10px;
}

.application table{
  border-bottom: 1px solid #ccc;
}
.application table th,
.application table td{
  display: block;
  width: 100%;
  box-sizing: border-box;
}
.application table th,
.application table td{
  text-align: left;
  border: 0;
}
.application table td{
  padding: .5em 1em 1.5em;
}
.application table td.event_info {
    font-size: 1.1em;
}
   
/*====================================
  20.webinar
====================================*/
#webinar{
   padding: 10% 2rem 12%;
}
#webinar h3{
   font-size: 4.8vw;
}
.webinar__item_inner{
   padding: .2em;
}
.webinar__slide .slick-list .slick-slide .webinar__item_thumbnail::before{
   width: 50px;
   height: 50px;
}
.webinar__item-title{
   font-size: 1em;
}
.webinar__slide .slide-arrow {
   top: calc( 40% - 25px );
   width: 25px;
}
.webinar__slide .next-arrow {
   right: 15px;
}
.webinar__slide .prev-arrow {
   left: 15px;
}

}/* 768px */

@media screen and (max-width: 550px) {
   .webinar__slide .slide-arrow {
      top: calc( 40% - 35px );
      width: 25px;
   }
   .webinar__slide .next-arrow {
      right: 0px;
   }
   .webinar__slide .prev-arrow {
      left: 0px;
   }
}
@media screen and (max-width: 450px) {
   header .head_catch{
      font-size: 3vw;
   }
   .obligation .step_bar span{
     bottom: -3.3vh;
   }
   .obligation .tit::before{
      top: -55vw;
   }
}
@media screen and (max-width: 400px) {
   
   .webinar__slide .slide-arrow {
      top: calc( 40% - 45px );
      width: 22px;
   }
}

@media screen and (max-width: 355px) {
   .lp-form h2{
      font-size: 18px;
   }
   .lp-form h3{
      font-size: 16px;
   }
   .lp-form .form_inner .date .wpcf7-checkbox{
      justify-content: start;
   }
   .lp-form .date .wpcf7-list-item{
      width: 32%;
      margin-right: 2%;
   }
   .lp-form .date .wpcf7-list-item:nth-of-type(3n){
      margin-right: 0;
   }
}

/*====================================
price-table
====================================*/
.price {
  padding: 0 2% 5%;
}
.price .tit{
  color: #0061af;
  text-align: center;
  font-size: 3.8rem;
  font-weight: bold;
  margin: 0;
}
.price-list{
  max-width: 1000px;
  margin: auto;
}
.price-item{
  margin: 0 0 40px;
}
.price-item__name{
  margin: 0;
  text-align: center;
  font-weight: 700;
  font-size: 2.6rem;
  
}
.page-plan .price-item__name{
  font-size: 24px;
}
.color_light{
  color: #56B975;
}
.bg_light{
  background:rgba(86,185,117,0.1);
}
.color_normal{
  color: #F48C40;
}
.bg_normal{
  background:rgba(244,140,64,0.1);
}
.color_advance,
.text_red{
  color: #ED333C;
}
.bg_advance{
  background:rgba(237,51,60,0.1);
}
.color_ex{
  color: #1d9bbf;
}
.bg_ex{
  background:rgba(25,167,207,0.1);
}

.price-table{
  padding-top: 25px;
}
.price-table table{
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.price-table table th,
.price-table table td{
  vertical-align: middle;
  padding: 12px 15px;
  border: 1px solid #ddd;
  font-size: 1.1em;
}
.price-table table th{
  width: 16%;
  text-align: center;
  background: #f3f3f3;
}
.price-table table td{
  width: 20%;
  text-align: center;
}
.price-table table .recommend{
  width: 24%;
  position: relative;
}
.price-table table .recommend::before{
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  margin: auto;
  width: 90px;
  content: "おすすめ！";
  font-size: 13px;
  color: #fff;
  display: inline-block;
  padding: 5px 0;
  line-height: 1;
  border-radius: 50px;
  background: #ED333C;
}
.price-table .upgrade{
  position: relative;
}
.price-table .upgrade_icon{
  position: absolute;
  top: -25px;
  right: -63px;
  width: 120px;
  color: #1959c2;
  padding-top: 32px;
  /* height: 57px; */
  line-height: 1.2;
  font-size: 13px;
  font-weight: bold;
  background: url(../img/hp/upgrade.png) no-repeat center top;
  background-size: 60% auto;
}
.price-table table td span.kome{
  font-size: .85em;
}
.price-table table+p{
  margin-top: 10px;
}

.plan_name td{
  vertical-align: top!important;
}

.plan_name-tit{
  font-weight: 900;
  font-size: 1.35em;
  padding: 14px 5px 5px;
}
.plan_name-text{
  font-size: 12px;
  text-align: left;
  padding: 0 5px 5px 5px;
}
.plan_name span{
  display: block;
}

.plan_price{
  color: #ed333c;
  text-align: center;
  font-weight: 900;
}
.plan_price span{
  font-size: 1.4em;
}
.plan_price_tax{
  font-size: 14px;
  display: block;
}
@media only screen and (max-width: 900px){
  .scloll-table{
    overflow-x: scroll;
  }
  .price-table table{
    min-width: 1000px;
  }
}

@media only screen and (max-width: 767px){
  .price {
    padding: 0 2rem 5%;
  }
  .price .tit {
    font-size: 5.2vw;
  }
  .price-item__name{
    font-size: 4.5vw;
    margin-bottom: 0;
  }
  .price-table table{
    min-width: 680px;
    line-height: 1.4;
  }
  .price-table table th,
  .price-table table td{
    font-size: 13px;
    padding: 8px 10px;
  }
  .price-table table .recommend::before{
    font-size: 12px;
    padding: 4px 0;
    width: 18vw
  }
  .price-table .upgrade_icon{
    top: -20px;
    font-size: 12px;
    padding-top: 28px;
    background-size: 46% auto;
  }
  .price-table table td span.kome{
    font-size: .85em;
  }

  .plan_name-tit{
    padding: 20px 0 15px;
    font-size: 1.25em;
  }
  .plan_name-text{
    display: none;
  }
  .plan_price span {
    font-size: 1.3em;
  }
   
}