@charset "utf-8";

/*-------------------------------common--------------------------------*/
h3.title{ font-size: 30px; line-height: 210%;  text-align: center;  font-family: "Helvetica Neue",serif, sans-serif; font-weight: 700;color: #004cad; padding: 0 0 64px; }
h3.title span{font-size: 70px;font-weight: 700; color: #000;font-family :source-han-sans-japanese, sans-serif; }



/*-------------------------------#fv--------------------------------*/
#fv {background: url(../img/fv.jpg) no-repeat center center; background-size: cover; width: 100%; margin-top: 118px;}
#fv .fv_box{padding: 126px 0 112px; width: 620px; height: auto; margin: 0 auto; text-align: center;}
#fv .fv_box .img{display: inline-block; }

/*--------------------------#marketing------------------------------*/
#marketing{background: url(../img/bg_02.jpg)no-repeat center center; background-size: cover; width: 100%; text-align: center; padding: 100px 0;}
#marketing .marketing_box{width: 1100px; margin: 0 auto;}
#marketing .img_box {width: 100%; height: auto; padding: 0 0 20px;}
#marketing .img_box img{display: inline-block; width: 288px; margin: 0 auto; }
#marketing .title_bg{font-size: 36px; background: url(../img/logo_bg_03.png) no-repeat center top; padding: 0px 57px 13px;display: inline-block;line-height: 153%; background-size: cover; font-weight: 700;}
#marketing  h3{font-size: 60px; line-height: 130%; font-weight: 700; padding: 0 0 60px;}
#marketing  h3 span{ font-family: source-han-sans-japanese, sans-serif;  font-weight: 700;     background: url(../img/logo_bg_08.png) no-repeat left bottom 0px; background-size: 544px; }

#marketing  .list_box{display: flex; justify-content: space-between; width: 100%; background:url(../img/bg_10.png) no-repeat center center ;background-size: cover; margin: 0 0 80px;}
#marketing  .list_box .box{width: 345px; height: auto; }
#marketing  .list_box .box h4 {background: #05479b; border-radius:15px 15px 0 0 ; color: #fff; line-height: 120%; font-size: 34px; font-weight: 700; display: flex; justify-content: center; align-items: center; height: 108px;}
#marketing  .list_box .box .under_box{background: #e4f4ff; border-radius:  0 0 15px 15px; font-weight: 500; line-height: 130%; padding: 30px 0 0; height: 346px;}
#marketing  .list_box .box .under_box img{width: 186px; height: auto; display: block; margin: 0 auto 28px;}
#marketing  .list_box .box .under_box p{font-size: 20px ; line-height: 140%; font-weight: 500;letter-spacing: 0.013em;}
#marketing  .answer_tt{background: #fff; border: 3px solid #d80000; position: relative; width: 1000px; margin: 0 auto;border-radius: 15px; text-align: center;}
#marketing  .answer_tt span{font-weight: 700; letter-spacing: 0.1em;}
#marketing  .answer_tt .answer_tt_1{background: #d80000; width: 300px; height:auto; color: #fff; font-size: 40px; display: inline-block; border-radius:50px; line-height: 140%; position: absolute; top: -30px; left: auto; right: 36%; color: #fff;}
#marketing  .answer_tt .answer_tt_2{font-size: 50px;text-align: center; margin: 64px 0 43px; display: inline-block; text-align: center;letter-spacing: 0.12em; }
#marketing  .answer_tt .answer_tt_2 .yellow{background:linear-gradient(transparent 60%, #fff600 60%);}
/*--------------------------#point------------------------------*/
#point{background:url(../img/bg_03.jpg) no-repeat center center; background-size: cover;width: 100%;  padding: 100px 0 120px;}
#point .point_box{ margin: 0 auto;}
#point .point_box .point{border-radius: 20px;background: #fff; position: relative;}
#point .point_box .point.point_1{  margin: 0 0 50px; padding: 55px 0;  }
#point .point_box .point.point_2{  margin: 0 0 50px; padding: 55px 0;  }
#point .point_box .point.point_3{ padding: 55px 0 0;  }
#point .point_box .point .point_img{position: absolute; top: 20px; right: 0px; left: -20px;}


#point .point_box .point h4{font-size: 40px; color: #05479b; font-weight: 700; padding: 0 0 24px;}
#point .point_box .point .tt{font-weight: 500; font-size: 22px; line-height: 130%;}
#point .point_box .point .text_box{    width: auto;     padding: 0 75px 50px 237px; }
#point .point_box .point .video_box{width: 800px; margin: 0 auto; }
#point .point_box .point .media{width: 800px; margin: 0 auto;}
#point .point_box .point .media p{font-size: 32px; font-weight: 700; text-align: center; padding: 0 0 20px;letter-spacing: 0.013em;}
#point .point_box .point .media p span{background:linear-gradient(transparent 60%, #fff600 60%);font-weight: 700; }
#point .point_box .point .media .list{display: flex;align-items: center; padding: 0 0 50px;}
#point .point_box .point .media .media_tt{width: 110px; height: 110px; border-radius: 100px; font-size: 20px; font-weight: 700; position: relative; line-height: 130%; text-align: center; padding: 30px 0; background: #05479b; color: #fff;}
#point .point_box .point .media .media_tt:before{background: url(../img/icn_07.png) no-repeat center center; background-size: 17px; width: 17px; height: 17px; content: ""; display: block; position: absolute;right: -10px; bottom: 30px;}
#point .point_box .point .media .list img{width: 120px; height: 110px; display: block; }
#point .point_box .point .media .list ul{ display: flex; flex-wrap: wrap;justify-content: center;width: 578px;}
#point .point_box .point .media .list ul li:not(:last-child){border: 1px solid #000; font-weight: 700;}
#point .point_box .point .media .list ul li:not(.not){margin-right: 15px;}
#point .point_box .point .media .list ul li:not(:nth-child(5),:nth-child(6),:nth-child(7),:nth-child(8)){margin-bottom: 12px;}
#point .point_box .point .media .list ul li{font-size: 24px; padding: 4px 10px; height: 39px;letter-spacing: 0.013em;}
#point .point_box .point .mover{text-align: center;}
#point .point_box .point .mover h5{letter-spacing: 0.013em; font-size: 23px; text-align: center;background: url(../img/logo_bg_04.png) no-repeat center center; background-size: cover; padding: 0 21px; display: inline-block; font-weight: 700; margin: 0 0 25px;}
#point .point_box .point .video_box video{width: 100%; height: auto;}

#point .point_box .point.point_2 .img_box{padding:  0 30px 0 38px; display: flex; font-weight: 700;} 
#point .point_box .point.point_2 .img_box .img_1{padding: 0 45px 0 0; }
#point .point_box .point.point_2 .img_box img{padding: 0 0 20px;}
#point .point_box .point.point_2 .img_box .box .tt{font-size: 22px; border-radius: 100px;width: 400px; color: #fff; text-align: center; padding: 15px;}
#point .point_box .point.point_2 .img_box .box .tt.blue{margin:  0 auto; background: #05479b; margin: 0 0 0 auto; }
#point .point_box .point.point_2 .img_box .box .tt.red{ margin: 0 auto;  background: #ff382e; margin: 0 auto 0 0; }

#point .point_box .point.point_3 .img_06{margin-right: 77px;}
#point .point_box .point.point_3 .point_box {padding: 0 57px 0 121px;; }

/*--------------------------#step------------------------------*/
#step{padding: 90px 0; text-align: center;}
#step h3{text-align: center; color: #05479b; font-weight: 500; font-size: 40px; padding: 0 0 30px;letter-spacing: 0.02em;}
#step h3 span{font-size: 60px; font-weight: 500; }
#step .tt{line-height: 160%; letter-spacing: 0.15em;padding:0 0 60px; font-weight: 700;  font-size: 18px;}
#step .list_box{display: flex; justify-content: center;}
#step .list_box .box{position: relative; }
#step .list_box .box img{width:202px;}
#step .list_box .box:not(:last-child){padding: 0 142px 0 0;}
#step .list_box .box:not(:last-child):before{
	content: "";
	position: absolute; 
	background: url(../img/icn_02.png) no-repeat center center; 
	background-size: 100%; width: 25px; height: 45px; z-index: 10;
	right: 55px;
	top: 72px;
}
#step .list_box .box .step{
	padding: 11px 0; 
	background: #05479b; 
	border-radius: 100px;
	font-family: "Helvetica Neue",serif, sans-serif; 
	font-weight: 400; 
	font-size: 13px; 
	text-align: center; 
	width: 62px; 
	height: 62px; 
	color: #fff;
	position: absolute; 
    top: -6px;
    left: -6px;
}
#step .list_box .box:nth-child(2) .step{ left: 30px;}
#step .list_box .box .step span{font-size: 28px; font-weight: 700;}
#step .list_box .box .content{font-size: 22px; line-height: 146%; font-weight: 700; padding: 20px 0 0; letter-spacing: 0.15em;}


/*--------------------------#simulation------------------------------*/
#simulation{background: url(../img/bg_07.jpg) no-repeat center center; background-size: cover;width: 100%; }
#simulation .simulation_box{background: url(../img/bg_07_2.png) no-repeat center center; background-size: 1600px;padding: 93px 0; }
#simulation .box{width: 672px; height: auto;}
#simulation .box h3{font-size: 44px; line-height: 125%; font-weight: 700; padding: 0 0 30px;}
#simulation .box .tt{ line-height: 175%; font-weight: 500;}
#simulation .box .tt span{font-weight: 400; font-size: 14px; display: block; padding: 15px 0 0;}
#simulation .box .btn_box{display: flex; width: 571px; justify-content: space-between; padding: 36px 0 0;}
#simulation .box .btn_box .btn{width: 271px; height: auto;display: block;  text-align: center; border-radius:45px; font-size: 18px; font-weight: 500; box-shadow: 10px 10px 10px 6px rgb(0,0,0,0.2);}

#simulation .box .btn_box .btn.blue{padding: 26px 0; background: #05479b; color: #fff;}
#simulation .box .btn_box .btn.blue:hover{ background: #fff; color: #05479b; }

#simulation .box .btn_box .btn.white{padding: 26px 0 26px 20px; background:  #fff url(../img/icn_01.png) no-repeat left 70px center; color: #000;background-size: 27px; }
#simulation .box .btn_box .btn.white:hover{ background: #000 url(../img/icn_01_W.png) no-repeat left 70px center; background-size: 27px; color: #fff; }

/* #simulation .box .btn_box .btn.blue:hover,
#simulation .box .btn_box .btn.white:hover{opacity: 0.85;transition: all 0.5s;} */


/*--------------------------#operation------------------------------*/
#operation{background:url(../img/bg_11.jpg) no-repeat center center; background-size: cover; width: 100%; height: auto; padding: 100px 0; }
#operation h3.title {padding: 0 0 34px;}
#operation h4{font-size: 36px; background: url(../img/logo_bg_02.png) no-repeat center bottom 30px; background-size: 255px; text-align: center; padding: 0 0 45px; font-weight: 700;}
#operation h4 span{padding-top: 0.4em;background-position: top left -2px;background-repeat: repeat-x;    background-size: 37px 26px; background-image: radial-gradient(3px 3px at center center,#000,#000 99%,transparent,transparent); font-weight: 700;}
#operation .tt_bg{font-size: 20px; font-family: 'Hiragino Sans','ヒラギノ角ゴシック',serif, sans-serif; text-align: center; background:url(../img/logo_bg_06.png) no-repeat center top; background-size: 360px; color: #fff; padding: 15px 0 40px; font-weight: 500;}
#operation .list_box{ display: flex; flex-wrap: wrap; padding: 15px 0 0;}
#operation .list_box .box{background: #fff; width: 531px; height: 234px; position: relative; border-radius: 15px; box-shadow: 10px 10px 10px 6px rgb(0,0,0,0.2);display: flex; padding: 34px 0 0 35px;flex-wrap: wrap;
    flex-direction: column;align-content: flex-start}
#operation .list_box .box h5{font-size: 32px; font-weight: 700; color: #05479b; display: flex; align-items: center; line-height: 120%;}
#operation .list_box .box h5 span{border: 2px solid #05479b;display: block ;width: 65px; height: 65px; text-align: center; padding: 5% 0; border-radius: 100px; font-family: "Helvetica Neue",serif, sans-serif; font-weight: 700; margin: 0 16px 0 0;}
#operation .list_box .box .text{line-height: 163%; font-weight: 400;padding: 10px 0 0; font-size: 15px;}

#operation .list_box .box:nth-child(1) {margin: 0 38px 40px 0;}
#operation .list_box .box:nth-child(2) {margin: 0 0 40px;}
#operation .list_box .box:nth-child(3) {margin: 0 38px 0 0;}
#operation .list_box .box:nth-child(4) {margin: 0 0 0 0;}
#operation .list_box{position: relative;}
#operation .list_box:after {
    background: url(../img/arrow.png) no-repeat center center;
    background-size: 100%;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    display: block;
}
#operation .list_box .box:nth-child(1) img{width: 139px; height: 139px;margin: 20px 0 0 40px;}
#operation .list_box .box:nth-child(2) img{width: 102px; height: 129px;margin: 40px 0 0 8px;}
#operation .list_box .box:nth-child(3) img{width: 117px; height: 117px;margin: 30px 0 0 21px;}
#operation .list_box .box:nth-child(4) img{width: 118px; height: 120px;margin: 20px 0 0 16px;}


/*--------------------------#problem------------------------------*/
.problem_price{position: relative; padding:70px 0 742px;background: #fff;}

#problem h3.title span{font-size: 40px;}
#problem h3.title span.mini{font-size: 31px;}

#problem .img{ padding: 0 50px;}
#problem .img img{max-width: 1242px; width: 100%; margin: 0 auto; display: block;}
/*--------------------------#price------------------------------*/
#price{padding:200px 0 100px; background: url(../img/bg_13.png) no-repeat center top; background-size: cover;position: absolute; bottom: 0px; width: 100%;}
#price .price_box{background: #fff; border-radius: 30px;position: relative; padding: 60px 0;}
#price .price_box h4{background: url(../img/logo_bg_01.png) no-repeat center center; background-size: 600px;text-align: center; font-size: 20px; font-weight: 700; padding: 20px 56px; position: absolute; top: -40px; left: auto; right: 22%;}
#price .price_box h4 span{font-size: 40px;  font-weight: 700;}
#price .price_box .text{text-align: center; font-size: 40px; font-weight: 700;  line-height: 160%; padding: 0 0 20px;}
#price .price_box .text span{border: 3px solid #000; font-size: 36px; display: inline-block; padding: 5px 65px 8px; font-weight: 700; }
#price .price_box .box .tt{font-size: 50px; font-weight: 700; text-align: center;background:url(../img/logo_bg_07.png)no-repeat right 40px bottom; background-size: 699px; padding: 0px 0 15px; display: flex; justify-content: center;
align-items: flex-end;line-height: 200%;}
#price .price_box .box .mini{text-align: center; padding: 20px 0 0 ;}
#price .price_box .box .mini:after{content: ""; width: 43px; height: 43px; background: url(../img/icn_05.png) no-repeat center center; background-size: cover; display: block; margin: 28px auto 31px; }
#price .price_box .box .tt_box{background: #05479b; width: 932px; margin: 0 auto; border-radius: 50px; position: relative; }
#price .price_box .box .tt_box img{width: 166px; height: 160px;position: absolute; top: -35px; left: -30px;}
#price .price_box .box .tt_box .planner{color: #fff; font-size: 36px; font-weight: 700; padding: 20px 0 20px 76px; text-align: center;}
#price .price_box .box .wave_box img{width: 626px; height: auto; display: block; padding: 0 0 0 14px;}

/*--------------------------#faq------------------------------*/
#faq{padding: 100px 0;}
#faq h3.title span{font-size: 40px;}
#faq ul{width: 881px; margin: 0 auto;}
#faq ul li{background: #fff; box-shadow: 10px 10px 10px 6px rgb(0,0,0,0.2); border-radius: 15px}
#faq ul li h3{display: flex; align-items: center; width: auto; font-size: 18px; padding: 30px 30px 20px 29px; position: relative;}
#faq ul li h3:before{content: ""; width: 10px; height: 10px; border-bottom: 2px solid #05479b; border-left: 2px solid #05479b; transform: rotate(-45deg); position: absolute; right: 30px; transition: 0.5s;}
#faq ul li h3.active:before{transform: rotate(135deg); transition: 0.5s;}

#faq ul li h3 span{background: #05479b; color: #fff; border-radius: 100px; display: block; width: 40px; height: 40px;text-align: center; padding: 1% 0; margin: 0 10px; 0 0; font-weight: 500;}
#faq ul li:not(:last-child){margin: 0 0 20px;}
#faq ul li .accordion_box{display: none; border-top: 1px solid #000; padding: 30px 30px 32px 29px;}
#faq ul li .accordion_box p{font-size: 14px; font-weight: 400; line-height: 160%;}


/*--------------------------#contact------------------------------*/
#contact{background: #eef7fd; padding: 100px 0; }
#contact .contact_box{background: #fff; border-radius: 15px; padding: 80px 0;}
#contact .contact_box .text{font-weight: 100; text-align: center; padding: 0 0 71px;}
#contact .contact_box .red{ color: #de5d5d; font-size: 11px;}
#contact  h3 span{font-size: 36px;}
#contact .contact_box table{width: 983px; margin: 0 auto;  padding: 0 0 28px;}
#contact .contact_box table tr th{font-size: 18px; text-align:left; width: 27%;}
#contact .contact_box table tr td{width: calc(100% - 260px); }

#contact .contact_box table tr:not(:last-child) th,
#contact .contact_box table tr:not(:last-child) td{padding: 0 0 25px; }
#contact .contact_box form{}
#contact .contact_box table tr td input{background: #f5f5f5; height: 50px; width: 100%; border: none; padding: 0 17px;}
#contact .contact_box table tr.double_tag td{width:300px;}
#contact .contact_box table tr.double_tag td input{ width: 84%;}
#contact .contact_box table tr.double_tag td.name_1 label{padding: 0 30px 0 0;}
#contact .contact_box table tr.double_tag td.name_2 label{padding: 0 30px 0 10px;}
#contact .contact_box table tr .radio_box{padding: 20px 0 50px !important;}
#contact .contact_box table tr .radio_box .box{display: flex;}
#contact .contact_box table tr .radio_box .box input{width: 15px; height: 15px; border-radius: 10px; border: 1px solid #000;}
#contact .contact_box table tr .radio_box .box label{display: flex; align-items: center;margin: 0 10px 0 0;}

#contact .contact_box table tr .radio_box .box label span { font-size: 16px; position: relative; padding: 0 0 0 27px; display: block;}
#contact .contact_box table tr .radio_box .box input{ display: none; }

#contact .contact_box table tr .radio_box .box input:checked + span:after{ display: block; content: "";width: 13px;height: 13px;position: absolute;background-color: #000;
			border-radius: 50%; 			top: 3px; 			left: 5px;	}
#contact .contact_box table tr .radio_box .box label span:before {    display: block;    content: "";    width: 23px;    height: 23px;    border: 1px solid #000;    border-radius: 50%;
    position: absolute;    top: -2px;    left: 0px;}

#contact .contact_box table tr textarea{width: 100%; height: 250px; background: #f5f5f5; padding: 20px 33px; border: none;}
#contact .contact_box table .check_box{width: 100%;}
#contact .contact_box table .check_box .text{display: flex; align-items: center;}
#contact .contact_box table .check_box .text input{width: 17px; height: 17px; background: #f5f5f5; margin: 0 10px 0 0; padding: 0px; position: relative; }
#contact .contact_box table .check_box .text input[type="checkbox"] {    
  border: 1px solid #cccccc;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

#contact .contact_box table .check_box .text input[type="checkbox"]:checked:before {
  position: absolute;
  top: 1px;
  left: 4px;
  transform: rotate(50deg);
  width: 8px;
  height: 12px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: '';
}


#contact .contact_box table .check_box .text span{font-weight: 500; font-size: 18px;}
#contact .contact_box table .check_box td{padding: 0 0 28px; }

#contact .contact_box .explanation{width: 983px; margin: 0 auto; border-bottom: 1px solid #e5e5e5; border-top: 1px solid #e5e5e5; padding: 28px 0}
#contact .contact_box .explanation p{ line-height: 180%; font-size: 14px; padding: 0 0 20px;}
#contact .contact_box .explanation p span{ font-weight: 500; }
#contact .contact_box .explanation a { display: flex;    align-items: flex-start;}
#contact .contact_box .explanation a span{border-bottom: 1px solid #05479b; color: #05479b; font-weight: 400; font-size: 14px; display: block; margin-left: 10px; padding: 0 0 8px;}

#contact .white{background: #fff; border-radius: 15px; padding: 50px 0;}
#contact .black_btn{width: 300px; display: block; background: #000; color: #fff; font-size: 18px; padding: 20px 0; text-align: center; margin: 0 auto;}

#contact .confirm .caution{text-align: center; padding: 0 0 50px;}
#contact .confirm form{width: 800px; margin: 0 auto;}
#contact .confirm  table th,
#contact .confirm  table td{text-align: left; padding: 20px 0 20px 20px ;}
#contact .confirm  table th{background: #e1e1e1;width: 200px;border-bottom: 1px solid #000; border-left: 1px solid #000;}
#contact .confirm  table td{width: 600px;border-bottom: 1px solid #000; border-right: 1px solid #000;}
#contact .confirm  table tr:nth-child(1) th,
#contact .confirm  table tr:nth-child(1) td{border-top: 1px solid #000;}
#contact .confirm .btns{width: 650px; margin: 50px auto 0; display: flex; justify-content: space-between;}
#contact .confirm .btns .black_btn{ padding: 20px 0; text-align: center;line-height: 160%; background: #eeeeee; color: #000}
#contact .confirm .btns .forward_btn input{width: 300px; display: block;text-align: center;background: #000; padding: 20px 0; font-size: 18px;line-height: 160%; color: #fff;}

#contact .contact_box .explanation a img{width: 18px;}
#contact .contact_box .btns{width: 300px;margin: 0 auto; padding: 60px 0 0;}
#contact .contact_box .btns input{ transition: all .8s; width: 100%; background: #000; color: #fff; border: 1px solid #000; font-size: 18px; padding: 20px 0;}
#contact .contact_box .btns input:hover{ transition: all .8s; background: #fff; color: #000; }

#contact .thanks .caution{line-height: 180%; padding: 0 0 50px;text-align: center; font-size: 24px;}
#contact .thanks small{line-height: 180%; display: block; text-align: center; margin: 0 auto; padding: 0 0 60px;}

#contact .error p{text-align: center; font-size: 16px; padding: 0 0 35px;}
#contact .error p span{display: block; text-align: ; padding: 0 0 25px;}
#contact .error .caution{padding: 0 0 50px; line-height: 180%;}
@media only screen and (max-width: 768px) {
	/*-------------------------------common--------------------------------*/
	h3.title{ font-size: 20px; padding: 0 0 25px; }
	h3.title span{font-size: 30px;}
	
	
	/*-------------------------------link_box_sp--------------------------------*/
	.link_box_sp{position: fixed; z-index: 10; width: 100%; bottom: 0px; left: 0px;}
	.link_box_sp ul {display: flex; width: 100%;}
	.link_box_sp ul li{width: 50%; text-align: center;}
	.link_box_sp ul li a{display: block; width: 100%; font-size: 14px; padding: 17px 0; color: #fff;}
	.link_box_sp li.estimate a{    padding: 20px 0 20px 30px; background:  #05479b url(../img/icn_08.png) no-repeat center left 52px; background-size: 17px;}  
	.link_box_sp ul li.simulation a{ padding: 20px 0 20px 30px; background: #ff7e00 url(../img/icn_04.png) no-repeat center left 10px; ; background-size: 20px;}
	
	/*-------------------------------#fv--------------------------------*/
	#fv {background: url(../img/fv_sp.png) no-repeat center center; background-size: cover; width: 100%; height: 100vh; margin-top: 55px;}
	#fv .fv_box{ padding: 11% 0 71%; width:90%; }

	
	/*--------------------------#marketing------------------------------*/
	#marketing{background: url(../img/bg_02.jpg)no-repeat center center; background-size: cover; width: 100%; padding: 32px 0;}
	#marketing .marketing_box{width: auto; margin: 0 auto;}
	#marketing .img_box {width: 70%; height: auto;    padding: 0 0 20px;     margin: 0 auto;}
	#marketing .img_box img{ width: auto;  }
	#marketing .title_bg{font-size: 20px; background: url(../img/logo_bg_03.png) no-repeat center top; padding: 0px 7% 13px;  background-size: 100%;}
	#marketing  h3{font-size: 27px; padding: 0 0 25px;}

#marketing h3 span {    background: url(../img/logo_bg_08_sp.png) no-repeat center bottom 0px;    background-size: 281px;    display: block;    padding: 0 0 10px; }
	#marketing  .list_box{width: 100%; background:url(../img/bg_10_sp.png) no-repeat center center ;background-size: cover; margin: 0 0 30px; flex-direction: column;}
	#marketing  .list_box .box{width: auto; height: auto; }
	#marketing  .list_box .box:not(:last-child){margin-bottom: 20px;}
	#marketing  .list_box .box h4 {border-radius:15px 15px 0 0 ; font-size: 20px;  height: auto;    padding: 15px 0;}
	#marketing  .list_box .box .under_box{padding: 12px 27px; height: auto; display: flex; align-items: center;}
	#marketing  .list_box .box .under_box img{ width: 35%; height: 35%; margin: 0px 6% 0 0;}
	#marketing  .list_box .box .under_box p{font-size: 15px; text-align: left}
	#marketing  .answer_tt{ width: auto;}
	#marketing  .answer_tt span{font-weight: 700; letter-spacing: 0.1em;}
	#marketing  .answer_tt .answer_tt_1{ width: 46%; font-size: 20px; top: -17px; right: 28%;}
	#marketing  .answer_tt .answer_tt_2{font-size: 30px; margin: 31px 0 17px; line-height: 140%;}
	
	/*--------------------------#point------------------------------*/
	#point{background:url(../img/bg_03_sp.jpg) no-repeat center center; background-size: cover;width: 100%;  padding: 40px 0 50px;}
	#point .point_box{ margin: 0 auto;}
	#point .point_box .point{padding: 74px 14px 35px;  }
	#point .point_box .point.point_1{ margin: 0 0 50px;height: auto;padding: 15px 0 35px;}
	#point .point_box .point.point_2{margin: 0 0 50px;height: auto;padding: 15px 0 35px;}
	#point .point_box .point.point_3{  height: auto;padding: 15px 0 0; }
#point .point_box .point .point_img{position: static; width: 50%;padding: 0 0 20px;}
	
	
	#point .point_box .point h4{font-size: 25px;  padding: 0 0 10px; text-align: center; line-height: 150%;}
	#point .point_box .point .tt{font-size: 13px; line-height: 180%; padding: 0 0 40px;}
	#point .point_box .point .text_box{ width: 100%; max-width: 309px;margin: 0 auto; padding: 0;font-weight: 400;}
	#point .point_box .point .video_box{width: auto; margin: 0 auto; }
	#point .point_box .point .media{    width: 100%;    max-width: 309px; margin: 0 auto;}
	#point .point_box .point .media .media_tt{width: 50%; height: auto;  font-size: 13px;  padding: 5px 0; margin: 0 0 15px; }
#point .point_box .point .media .media_tt:before{display: none}
	#point .point_box .point .media p{font-size: 15px;  padding: 0 0 20px; line-height: 160%;}
	#point .point_box .point .media .list{flex-direction: column;padding: 0 0 15px;}
	#point .point_box .point .media .list img{width: auto; height: auto; }
	#point .point_box .point .media .list ul{ width: auto;}
	#point .point_box .point .media .list ul li{font-size: 18px; padding: 4px 10px; height: auto;margin:0 5px 12px 5px !important;}
	#point .point_box .point .mover{text-align: center;}
	#point .point_box .point .mover h5{font-size: 15px; background: url(../img/logo_bg_04.png) no-repeat center center; background-size: cover; padding: 0 21px;  margin: 0 0 25px;}
	#point .point_box .point .video_box video{width: 100%; height: auto;}
	
	#point .point_box .point.point_2 .img_box{ flex-direction: column; padding:  0 25px; }
	#point .point_box .point.point_2 .img_box .box{margin:  0 auto;}
	#point .point_box .point.point_2 .img_box .box.box_1{  width: 100%;max-width: 309px;  height: auto; padding: 0 0 30px;}
	#point .point_box .point.point_2 .img_box .box img{ padding: 0 0 20px;}
	#point .point_box .point.point_2 .img_box .box.box_2{width: 100%;max-width: 309px; height: auto;}
	#point .point_box .point.point_2 .img_box .box .tt{width: auto;  font-size: 20px; ; padding: 10px 0}
	
	#point .point_box .point.point_2 .img_box{padding:  0 30px 0 38px; display: flex; font-weight: 700;} 
	#point .point_box .point.point_2 .img_box .img_1{padding: 0 0 32px 0; }
	#point .point_box .point.point_2 .img_box img{padding: 0 0 24px;}
	#point .point_box .point.point_2 .img_box .box .tt{font-size: 20px; width: 100%;  padding: 3px 0;}
	
	#point .point_box .point.point_3 .point_box{ padding: 0px 35px; width: 100%;}
	#point .point_box .point.point_3 .img_06 {   display: block; margin-right: 0px; padding: 0 0 22px;}
	#point .point_box .point.point_3 .point_box {width: 100%; max-width: 309px; margin: 0 auto 0 ; padding: 0;}
	#point .point_box .point.point_3 .point_box img{margin: 0 auto; width: 100%; }
	
	
	/*--------------------------#step------------------------------*/
	#step{padding: 35px 0; }
	#step h3{  font-size: 25px; padding: 0 0 30px;}
	#step h3 span{font-size: 35px; }
	#step .tt{padding:0 0 60px; font-size: 12px; line-height: 180%; font-weight: 500;}
	#step .list_box{flex-direction: column;}
	#step .list_box .box{display: flex; align-items: center; justify-content: center; }
	#step .list_box .box img{width:38%; margin-right: 4%;}
	#step .list_box .box:not(:last-child){padding: 0 0 20% 0;}
	#step .list_box .box:not(:last-child):before {content: "";background: url(../img/icn_02_sp.png) no-repeat center center; 
		background-size: 100%; 
	    width: 36%;
		height: 9%;
	    z-index: 1;
	    right: 30%;
	    top: 75%;
	}
	#step .list_box .box .step{
		padding: 3% 0; 
		font-size: 13px; 
		width: 55px; 
		height: 55px; 
	    top: -6px;
	    left: -6px;
	}
	#step .list_box .box:nth-child(2) .step{ left: -6px;}
	#step .list_box .box .step span{font-size: 24px; }
	#step .list_box .box .content{font-size: 16px;  padding: 10px 0 0; width: calc(100% - 47%); text-align: left; letter-spacing: -0.01em;}
	
	
	/*--------------------------#simulation------------------------------*/
	#simulation{background: url(../img/bg_07_sp.jpg) no-repeat center center; background-size: cover;width: 100%; }
	#simulation .simulation_box{background: none; padding: 45px 0 0px ; }
	#simulation .box{width: auto; height: auto;}
	#simulation .box h3{font-size: 25px;  padding: 0 0 30px; text-align: center; line-height: 160%;}
	
	#simulation .box .tt { font-size: 13px;}
	#simulation .box .tt span{ font-size: 12px;  padding: 15px 0 0;}
	#simulation .box .btn_box{display: flex; flex-direction: column; width: auto; padding: 36px 0 0;}
	#simulation .box .btn_box .btn{width: 90%; font-size: 18px; margin: 0 auto }
	#simulation .box .btn_box .btn.blue{padding: 15px 0; margin-bottom: 15px;}
	#simulation .box .btn_box .btn.white{padding: 15px 0 15px 20px; background:  #fff url(../img/icn_01.png) no-repeat left  36% center;background-size: 21px; }
	
	/*--------------------------#operation------------------------------*/
	#operation{background:url(../img/bg_11.jpg) no-repeat center center; background-size: cover; width: 100%; height: auto; padding: 50px 0; }
	#operation h3.title {padding: 0  0 15;}
	#operation h4{font-size: 36px; background: url(../img/logo_bg_02.png) no-repeat center bottom 16px; background-size: 40%; padding: 0px 0 27px; font-size: 15px; }
	#operation h4 span{text-emphasis: filled; font-weight: 700;}
	#operation .tt_bg{font-size: 15px;  background:url(../img/logo_bg_06.png) no-repeat center top 5px; background-size: 81%; color: #fff; padding: 15px 0 48px; background-size: 69%;}
	#operation .list_box{ display: flex; flex-wrap: wrap; padding:  0 0; position: relative;}
	#operation .list_box .box{width: 85%; height: auto; position: relative; ;padding: 15px 19px 15px 19px; margin: 0 auto;flex-wrap: wrap; display: flex; align-content: normal; flex-direction: row; border-radius: 7px;}
	#operation .list_box:after{background:url(../img/arrow_sp.png) no-repeat center center ;background-size: 100%;}
	#operation .list_box .box h5{font-size: 18px; display: flex; align-items: center; width: 100%; padding: 0 0 10px; }
	#operation .list_box .box h5 span{width: 30px; height: 30px;  padding: 1% 0; margin: 0 10px 0 0;}
	#operation .list_box .box .text{padding: 0; font-size: 13px; width: 68%;}
	
	#operation .list_box .box:nth-child(1) ,
	#operation .list_box .box:nth-child(2) ,
	#operation .list_box .box:nth-child(4)  {margin: 0 auto 20px;}
	#operation .list_box .box:nth-child(3) {margin: 0 auto 0;}

	#operation .list_box .box:nth-child(1) img{ width: 23%; height: auto; margin: 0 0 0 7%;}
	#operation .list_box .box:nth-child(2) img{width: 19%; height: auto;margin: 0 0 0 10%;}
	#operation .list_box .box:nth-child(3) img{ width: 22%; height: auto; margin: 0 0 0 9%;}
	#operation .list_box .box:nth-child(4) img{ width: 22%; height: auto; margin: 0 0 0 8%;}
		#operation .list_box .box:nth-child(3){order: 4;}
	
		#operation .list_box .arrow_sp{width: 100%; height: auto; position: absolute; top: 0%;}
	/*--------------------------#problem------------------------------*/
	.problem_price{padding:70px 0 585px;}
	
	#problem h3.title span{font-size: 30px;}
	#problem h3.title span.mini{font-size: 30px;}
	
	#problem .img{ padding: 0 15px;}
	/*--------------------------#price------------------------------*/
	#price{padding:55px 0 50px; background: url(../img/img_13_sp.png) no-repeat center top; background-size: cover;}
	#price h3.title{padding: 0 0 15%;}
	#price .price_box{padding: 35px 15px;}
	#price .price_box h4{background: url(../img/logo_bg_01.png) no-repeat center center; background-size: 80%;text-align: center; font-size: 13px;  padding: 20px 26px; top: -6%; left: auto; width: 100%; right: 0;}
	#price .price_box h4 span{font-size: 20px;  }
	#price .price_box .text{text-align: center; font-size: 20px; padding: 0 0 15px;}
	#price .price_box .text span{ font-size: 18px;  padding: 4px 0; line-height: 160%; width: 100%; margin: 5px 0 0; border: 1px solid #000}
	#price .price_box .box .tt{font-size: 18px; background:url(../img/logo_bg_07.png)no-repeat right  bottom; background-size: 100%; padding: 0px 0 7px; flex-direction: column; align-items: center;align-items: center;}

	#price .price_box .box .mini{font-size: 13px; text-align: center; padding: 22px 0 0; line-height: 160%;}
	#price .price_box .box .mini:after{content: ""; width: 28px; height: 28px; margin: 13px auto 15px; }
	#price .price_box .box .tt_box{wwidth: auto; margin: 0 auto; border-radius: 50px; position: relative; max-width: 307px;}
	#price .price_box .box .tt_box img{ width: 42%; height: auto; top: -24%; left: -8%;}
	#price .price_box .box .tt_box .planner{font-size: 18px; padding: 10px 0 10px 32%;; line-height: 160%; text-align: left; }
	#price .price_box .box .wave_box{display: inline-block;padding: 25px 0 0;}
	#price .price_box .box .wave_box img{width: 100%; height: auto;  padding: 0 0 0 14px;}
	
	/*--------------------------#faq------------------------------*/
	#faq{padding: 50px 0;}
	#faq ul{width: auto; margin: 0 auto;}
	#faq ul li{border-radius: 15px}
	#faq ul li h3{width: auto; font-size: 15px; padding: 15px 15px 10px 15px; line-height: 160%; font-weight: 500;}
	#faq ul li h3:before{content: ""; width: 10px; height: 10px; right: 3%; transition: 0.5s; display: none}
	#faq ul li h3.active:before{display: none;}
	
	#faq ul li h3 span{ width:25px; height: 25px; padding: 1% 0; margin: 0 10px 0 0;}
	#faq ul li:not(:last-child){margin: 0 0 20px;}
	#faq ul li .accordion_box{display: none;  padding: 15px 15px 10px 15px;}
	#faq ul li .accordion_box p{font-size: 12px; }
	
	
	/*--------------------------#contact------------------------------*/
	#contact{padding: 50px 0; }
	#contact .contact_box{ padding: 40px 0;}
	#contact  h3 span{font-size: 25px;}
	#contact .contact_box table{width: 100%; margin: 0 auto;  padding: 0 0 28px;}
	#contact .contact_box table tr th{font-size: 14px; text-align:left; width: 100%;display: block;}
	#contact .contact_box table tr td{width: auto; display: block;}
	#contact .contact_box .text {    line-height: 160%; font-size: 13px; padding: 0 0 25px;}
	#contact .contact_box table tr:not(:last-child) th{padding: 0 0 12px; }
	#contact .contact_box table tr:not(:last-child) td{padding: 0 0 25px; }
	#contact .contact_box form{ padding: 0 24px;}
	#contact .contact_box table tr td input{background: #f5f5f5; height: 50px; width: 100%; border: none; padding: 0 17px;font-size: 13px;}
	#contact .contact_box table tr.double_tag td{width:auto; display: flex; justify-content: space-between; align-items: center; }
	#contact .contact_box table tr.double_tag td input{ width: 90%;}
	#contact .contact_box table tr.double_tag td.name_1 label{padding: 0px; font-size: 13px; display: block;}
	#contact .contact_box table tr.double_tag td.name_2 label{padding: 0px; font-size: 13px; display: block; }
	#contact .contact_box table tr .radio_box .box input{width: 15px; height: 15px;}
	#contact .contact_box table tr textarea{width: 100%; height: 150px; font-size: 13px; padding: 13px 11px; border: none;}
	#contact .contact_box table .check_box .text input{ width: 20px; height: 20px;  margin: 0 10px 0 0;}
	#contact .contact_box table .check_box .text span{ font-size: 15px;}
	#contact .contact_box table .check_box td{padding: 0 0 14px; }
	#contact .contact_box table tr .radio_box .box {    display: flex;    flex-direction: column;}
	#contact .contact_box table tr .radio_box .box label {    display: flex;    width: 100%;    align-items: center;}
	#contact .contact_box table tr .radio_box .box label:not(:last-child){padding-bottom: 15px;}
	#contact .contact_box .explanation{width: auto; margin: 0 auto;  padding: 28px 0}
	#contact .contact_box .explanation p{  font-size: 13px; padding: 0 0 20px;}
	#contact .contact_box .explanation a {font-size: 13px; padding: 0 0 0 ; }
	#contact .contact_box .explanation a { display: flex;   }
	#contact .contact_box .explanation a span{font-size: 13px;margin-left: 5px; }
	#contact .contact_box .btns{width: auto; padding: 30px 0 0;}
	#contact .contact_box .btns input{font-size: 14px; padding: 20px 0;}
	#contact .contact_box .explanation p span {padding: 0 0 15px ;display: block;}
	#contact .contact_box .explanation a img { width: 14px;}
	#contact .contact_box table tr .radio_box .box input{ display: none; }

	#contact .contact_box table tr .radio_box .box input:checked + span:after{ width: 14px; height: 14px; top: 1px; left: 3px;}
	#contact .contact_box table tr .radio_box .box label span:before {width: 20px;    height: 20px;top: -2px;    left: 0px;}
	#contact .contact_box table tr .radio_box .box label span { font-size: 13px;padding: 0 0 0 27px; }
	
	#contact .contact_box table .check_box .text input{width: 17px; height: 17px; background: #f5f5f5; margin: 0 10px 0 0; padding: 0px; position: relative; }

	#contact .confirm .caution{text-align: center; padding: 0 0 50px;}
	#contact .confirm form{width: 90%; margin: 0 auto;}
	#contact .confirm  table{width: 100%;}
	#contact .confirm  table tr:nth-child(1) th{}
	#contact .confirm  table tr:nth-child(1) td{border-top: none;}
	#contact .confirm  table th,
	#contact .confirm  table td{ padding: 20px 0 20px 20px ; border-right: none;width: 100%; display: block; border-right: 1px solid #000; border-left: 1px solid #000;}
	#contact .confirm table th{border-bottom: none; border-right: 1px solid #000;}
	#contact .confirm .btns{width: auto; margin: 50px auto 0; display: flex;flex-direction: column;}
	#contact .black_btn{ padding: 20px 0; text-align: center; margin: 0 0 25px; width: 100%;}
	#contact .confirm .btns .forward_btn input{width: 100%; display: block;text-align: center; background: #a4dbf2;padding: 20px 0; font-size: 18px;}
	
	#contact .contact_box .explanation a img{width: 18px;}
	#contact .contact_box .btns{width: auto;margin: 0 auto; padding: 30px 0 0;}
	#contact .contact_box .btns input{width: 100%; ; font-size: 14px; padding: 10px 0;}

	#contact .thanks{ padding: 50px 0;}
	#contact .thanks .caution{padding: 0 0 25px;text-align: center; font-size: 14px; width: 90%; margin: 0 auto;}
	#contact .thanks small{ padding: 0 0 30px; font-size: 13px}

	#contact .thanks a{  width: 90%; font-size: 18px; padding: 20px 0; font-size: 14px; margin: 0 auto;}

	#contact .error{ padding: 50px 0; width: 90%; margin: 0 auto;} 
	#contact .error p{font-size: 13px; padding: 0 0 35px;}
	#contact .error p span{ padding: 0 0 15px;}
	#contact .error .caution{padding: 0 0 50px;}
	#contact .error a{ width: 90%; font-size: 18px; padding: 10px 0; font-size: 14px; margin: 0 auto;}

#contact .contact_box table .check_box .text input[type="checkbox"]:checked:before {  top: -1px;  left: 4px;  width: 8px;  height: 12px;}
}