@charset "utf-8";
/*------------------------------------------------------------
共通
------------------------------------------------------------*/

body {
  margin: 0;
  -webkit-text-size-adjust: 100%;
  font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ', sans-serif !important;
  background: #fff;
  color: #000;
  font-size: 17px;
  background: #fff;
  word-break: break-all;
}

*,
*:before,
*:after {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

a:visited, a:hover, a:active {
  color: #b83397;
}

a:vis

a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}


/*共通*/
.fsS{
    font-size: .9em;
}
.fsSS {
    font-size: .6em;
    line-height: 1.3;
    text-align: right;
	margin: 1% auto;
}
.fsL{
    font-size: 1.3em;
}
.taC {
    text-align: center;
}
.taR {
    text-align: right;
}
.taL {
    text-align: left;
}
.fwB {
  font-weight: bold;
}
.marker {
    background: linear-gradient(transparent 60%, #fff47d 60%);
}
.rel {
    position: relative;
}
.abs {
    position: absolute;
}
.pa{
    padding: 20px 10px;
}
.pa2 {
    padding: 0 10px;
}

 .pc {
    display: block;
  }
 .sp {
    display: none;
  }

.fcB{
	color: #1c44bd;
	font-size: 1vw;
}
.fcY{
	color: #ffff01;
}

.b{
	font-weight: bold;
}

@media screen and (max-width:740px){
html {
    overflow-x: hidden;
    overflow-y: scroll; -webkit-overflow-scrolling: touch
}

.pa2 {
    padding: 0 20px;
}
  .pc {
    display: none;
  }
 .sp {
    display: block;
  }
	
	p{
		font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ', sans-serif;
	}
	
	.fcB{
	font-size: 3.1vw;
}

}

/*------------------------------------------------------------
レイアウト
------------------------------------------------------------*/

body{
    margin: 0 auto;
    /*max-width: 1920px;*/
}

p,h2,h3{
    color: #000;
}
img{
    display: block;
    width: 100%;
}

.wrapper {
    margin: 3%;
}
.inside_width{
    max-width: 1200px;
    width: 95%;
    margin: auto;
}
figure{
  margin: 0 auto;
  max-width: 100%;
}

p {
    font-size: 16px;
    margin-bottom: 10px;
    line-height: 1.5;
  }

.box{
    width:100%;
    max-width:100%; 
    padding-right: 0;
    box-sizing:border-box;
    overflow: hidden;
}

@media screen and (min-width:740px) {
    p {
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 1.5;
  }
}

/*------------------------------------------------------------
ヘッダー
------------------------------------------------------------*/
header{
    background-color: #1b43bc;
    box-shadow: 0px 10px 15px -10px #c4c5c9;
    position: relative;
    top: 0;
    z-index: 1;
	height: 6vw;
}
.header_inner01{
		flex-basis: 43%;
	}

.header_icon{
	width: 4vw;
	padding-right: 3%;
}
.w_bg{
	background: #fff;
	padding: 1% 2%;
	height: 6vw;
	
}
.header_flex{
	display: flex;
	margin: 0 auto;
    width: 70%;
    align-items: center;
	justify-content: space-between;
}
.header_logo{
    width: 56%;
	padding-bottom: 2%;
}
.header_flex02{
	display: flex;
	align-items: center;
}
header .header_inner02 a{
    color: #df0000;
	text-decoration: none;
}
header .header_inner02 a>p{
    font-size: 2vw;
    color: #df0000;
	font-weight: bold;
	line-height: 1.3;
}
.fv_time{
	font-weight: bold;
	color: #1b44bd;
	line-height: 1.3;
	font-size: 0.9vw;
}
.w_bg{
    background: #fff;
}

@media screen and (max-width:740px){
	.w_bg{
		padding: 2% 1% 1%;
		height: auto;
	}
	header{
		height: auto;
	}
	.header_logo {
		width: 100%;
	}
	.header_flex {
		width: 100%;
		justify-content: space-between;
	}
	.header_inner01{
		flex-basis: 43%;
    	padding: 0 1%;
	}
	.header_icon {
		width: 40px;
		padding-right: 1%;
	}
	.fv_time{
		font-size: 10px;
    	line-height: 1.3;
	}
	header .header_inner02 a>p {
		font-size: 1.2em;
		line-height: 1.2;
	}
}

/*------------FV(pc用) ------------*/
@media screen and (min-width:740px) {
.fv_all{
    background-image: url(../img/fv_bg_pc.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}
.fv_pc{
    margin: 0 auto;
    max-width: 1200px;
    width: 90%;
}
    .mv {
        padding-top: 15px;
    }
}

/* ------------CTA------------*/

.cta_all{
	background-image: url(../img/cta_pc_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
	padding: 0 0 3%;
	overflow: hidden;
}

.cta_area_flex{
	display: flex;
	justify-content: center;
	align-items: center;
}

.cta_txt{
	width: 80%;
    margin: 0 auto 4%;
}

.card img{
	margin-left: 3%;
}

.mr2{
	margin-right: 2%;
}

.btn{
	position: relative;
	z-index: 2;
}

.tel_abs {
    position: absolute;
    top: 12px;
    left: 179px;
    font-size: 46px;
    font-weight: bold;
    color: #fff;
}

/* 時間表示箇所 */
#Realtime, #Realtime01, #Realtime02, #Realtime03 {
    font-size: 2vw;
    font-weight: 700;
    margin: 0;
    padding: 2% 2% 1%;
    text-align: center;
    font-family: 'Meiryo', 'メイリオ', sans-serif;
    color: #fffd61;
}

/* 点滅 */
.blinking{
  animation: flash 1.7s linear infinite;
}

@keyframes flash {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }


  100% {
    opacity: 1;
  }
}

/* 見出し */
h2 {
    background-repeat: repeat-x;
    text-align: center;
    margin-bottom: 0;
    background-size: contain;
}

@media screen and (max-width:740px){
	#Realtime, #Realtime01, #Realtime02, #Realtime03 {
		font-size: 20px;
		line-height: 1.5;
	}
	.btn{
		width: 85%;
		margin: 5% auto;
		position: relative;
	}
	.card img {
		margin: 0 auto;
		width: 90%;
	}
	.cta_all {
		padding: 2% 0 6%;
	}
	.btn_ani:before, .btn_ani:after {
		border-radius: 40px;
	}
	.tel_abs {
		top: 8%;
		left: 27%;
		font-size: 6vw;
	}
}

/* ボタンアニメーション */
@keyframes anime{
  0%{transform:scale(.95); opacity:1}
  90%{opacity:.1}to{transform:scale(1.2,1.5); opacity:0}
  }
.btn_ani:before {
    animation: anime 2s ease-out infinite;
}
.btn_ani:before, .btn_ani:after {
    content: "";
    position: absolute;
	z-index: -1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 40px;
    background: rgba(255,132,0,1);
    border: 1px solid rgba(255,132,0,1);
    transform: translate3d(0,0,0);
}
.btn_ani:after {
    animation: anime 2s ease-out 1s infinite;
}

@media screen and (max-width:740px){
	.btn_ani:before, .btn_ani:after {
		border-radius: 16px;
	}
}

/*-------------トラブル-------------*/
.trouble {
    background-color: #a7a4a4;
}


/*-------------悪徳業者-------------*/
.attention {
    background-color: #a7a4a4;
}

.attention {
    background-color: #a7a4a4;
	padding: 0 0 5%;
}

.attention img {
    max-width: 62%;
    margin: 0 auto;
    padding-top: 5%;
}

@media screen and (max-width:740px){
	.attention {
    	padding: 4% 0 8%;
	}
	.attention img {
		max-width: 93%;
	}
}


/*-------------サービス一覧-------------*/

.service{
	background-image: url(../img/service_bg_pc.jpg);
    background-size: 100%;
    background-repeat: no-repeat;
    position: relative;
	padding-bottom: 5%;
}



.service h2{
	width: 30%;
    margin: 0 auto;
    padding: 5% 0 5%;
}

.service_content{
	display: flex;
    justify-content: center;
	width: 70%;
    margin: 0 auto;
	flex-wrap: wrap;
}

.service_item {
	position: relative;
	width: 32%;
}

.service_item ul {
	position: absolute;
	top: 62%;
    left: 12%;
}

.service_item li {
	font-size: 1.2vw;
	line-height: 1.5;
	font-weight: bold;
	padding-left: 1em;
    text-indent: -1em;
}

.mfr_title{
	width: 28%;
    margin: 3% auto 1%;
}

.mfr_content{
	width: 68%;
    margin: 0 auto;
}

@media screen and (max-width:740px) {
    .service h2 {
		width: 85%;
		padding: 10% 0 8%;
	}
	.service{
		background-image: url(../img/service_bg_sp.jpg);
		background-size: 100%;
		background-repeat: no-repeat;
		position: relative;
		padding-bottom: 10%;
	}
	.service h2 {
		width: 85%;
		margin: 0 auto;
		padding: 10% 0 8%;
	}
	.service_content{
		display: flex;
		justify-content: center;
		width: 100%;
		margin: 0 auto;
		padding: 0 3%;
	}
	
	.service_item li {
		font-size: 3.1vw;
    	line-height: 1.6;
	}
	.service_item ul {
		top: 50%;
    	left: 10%;
	}
	.mfr_title {
		width: 77%;
		margin: 3% auto 2%;
	}
	.mfr_content {

		width: 92%;
	}
	.service_item {
		width: 50%;
	}
}

/*-------------お客様の声-------------*/

.uservoice h2{
	width: 19%;
    margin: 0 auto;
    padding: 5% 0 3%;
}

.uservoice {
	background: #ededed;
	padding-bottom: 5%;
}

.voice_in img {
    width: 65%;
    margin: 0 auto;
}

.voice_in {
   position: relative;
}

.voice-p {
    font-size: 1.5vw;
	line-height: 1.5;
    position: absolute;
    top: 59%;
    left: 67%;
    transform: translate(-60%,-50%);
}
.slick_pc {
	display: block !important;
}
.slick_sp {
	display: none !important;
}

.slider .slick-prev:before {
	background: url(../img/prev.png) no-repeat center!important;
    background-size: contain!important;
    width: 100% !important;
    height: 100% !important;
}

.slider .slick-next:before {
	background: url(../img/next.png) no-repeat center!important;
    background-size: contain!important;
    width: 100% !important;
    height: 100% !important;
}
.slick-arrow::before {
    content: ""!important;
    width: 100%!important;
    height: 100%!important;
    position: absolute;
    top: 0;
    left: 0;
}
.slick-arrow {
    z-index: 2!important;
    width: 40px!important;
    height: 40px!important;
}
.slider .slick-prev{
	left: 13%
}
.slider .slick-next{
	right: 13%;
}
.slick-prev:before, .slick-next:before{
	font-size: 60px !important;
}

@media screen and (max-width:740px){
  .slick_pc {
    display: none !important;
  }
 .slick_sp {
    display: block !important;
  }
	.slick-prev:before, .slick-next:before {
		font-size: 26px !important;
	}
	.slider .slick-next {
		right: 2%;
		z-index: 2;
	}
	.slider .slick-prev {
		left: 2%;
		z-index: 2;
	}
	.uservoice h2 {
		width: 58%;
		padding: 8% 0 8%;
	}
	.voice_in img {
		width: 90%;
	}
	.voice-p{
		font-size: 3.8vw;
		line-height: 1.5;
		top: 54%;
		left: 21%;
		transform: translate(-12%,0);
	}
	.slick-arrow {
		width: 30px!important;
		height: 30px!important;
	}
}

/*-------------他社との違い-------------*/
.difference{
    background-image: url(../img/difference_bg_pc.jpg);
    background-size: cover;
    background-repeat: no-repeat;
	padding: 5% 0;
}
.difference h2{
    width: 56%;
    margin: 0 auto;
}

.chart{
    max-width: 62%;
    margin: 0 auto;
    padding-top: 5%;
}

@media screen and (max-width:740px){
	.difference h2 {
		width: 90%;
	}
	.difference {
    	padding: 8% 0;
	}
	.chart {
		max-width: 93%;
		padding-top: 8%;
	}
	
}


/*-------------トラブルから解決までの流れ-------------*/
.flow{
    background-image: url(../img/flow_bg_pc.jpg);
    background-size: 100%;
    background-repeat: no-repeat;
	padding: 5% 0;
}

.flow h2{
    width: 27%;
    margin: 0 auto;
	padding-bottom: 2%;
}
.step01,.step02,.step03,.step04{
    position: relative;
}

.step01_abs {
    position: absolute;
    top: 13%;
    left: 39%;
}
.step02_abs {
    position: absolute;
    top: 13%;
    left: 39%;
}
.step03_abs {
    position: absolute;
    top: 13%;
    left: 39%;
}
.step04_abs {
    position: absolute;
    top: 13%;
    left: 39%;
}

.step img{
    width: 60%;
    margin: 0 auto;
}

.triangle{
    width: 5%;
    margin: 0 auto;
	padding: 1% 0;
}
.step_title{
	font-size: 1.9vw;
    color: #fff;
    font-weight: bold;
}
.step_title02{
	font-size: 1.9vw;
    color: #fff;
    font-weight: bold;
}
.step_txt{
	font-size: 1.2vw;
    padding: 4% 0;
}

@media screen and (max-width:740px){
	.flow h2 {
		width: 70%;
		padding-bottom: 8%;
	}
	.flow{
		padding: 8% 0;
	}
	.step img{
		width: 97%;
	}
	.triangle {
		width: 15%;
		padding: 2% 0;
	}
	.step_txt {
		font-size: 3.8vw;
		line-height: 1.5;
		padding: 4% 0;
	}
	.step_title {
		font-size: 5.2vw;
		padding: 0 0 8% 31%;
		line-height: 1.3;
	}
	.step_title02 {
		font-size: 5.2vw;
		padding: 0 0 5% 31%;
		line-height: 1.3;
	}
	.step01_abs {
		top: 54%;
		left: 14%;
		transform: translate(-9%,-50%);
	}
	.step02_abs {
		top: 56%;
		left: 13%;
		transform: translate(-8%,-50%);
	}
	.step03_abs {
		top: 56%;
		left: 17%;
		transform: translate(-10%,-50%);
	}
	.step04_abs {
		top: 57%;
		left: 17%;
		transform: translate(-10%,-50%);
	}
	.step04_abs .step_title{
		padding: 0 0 11% 31%;
	}
	.step03_abs .step_title{
		padding: 0 0 12% 31%;
	}
	
	
}

/*-------------対象エリア-------------*/
.area{
    background-image: url(../img/area_bg_pc.jpg);
    background-size: cover;
    background-repeat: no-repeat;
	padding: 5% 0;
	position: relative;
}
.area h2{
    width: 20%;
    margin: 0 auto;
}
.area_flex{
	width: 65%;
    margin: 0 auto;
    padding-top: 3%;
}
.area_sta{
	padding: 0 0 2%;
    width: 60%;
    margin: 0 auto;
}
.area_map{
	width: 80%;
    margin: 0 auto;
    padding-left: 2%;
}

@media screen and (max-width:740px){
	.area h2 {
		width: 56%;
	}
	.area{
		padding: 8% 0;
	}
	.area_flex{
		width: 94%;
		display: block;
		padding-top: 8%;
	}
	.area_sta{
		padding: 0 0 2%;
		width: 88%;
		margin: 0 auto;
	}
	.area_map{
		width: 100%;
		margin: 0 auto;
		padding-left: 2%;
	}
}

/*-------------QA-------------*/
.qa{
    background: #ceedff;
    padding: 5% 0;
}
.qa h2{
    width: 12%;
    margin: 0 auto;
	padding-bottom: 2%;
}
.qa_box img{
    width: 65%;
    margin: 0 auto;
    padding: 2% 0;
}
.qa_box{
    position: relative;
}
.qa_abs,.qa_abs03,.qa_abs04  {
    position: absolute;
    top: 15%;
    left: 21%;
}
.qa_abs02 {
    position: absolute;
    top: 15%;
    left: 21%;
}
.q_txt {
    font-weight: bold;
    font-size: 1.9vw;
    color: #fff;
    padding-bottom: 7%;
}
.q_txt03 {
    font-weight: bold;
    font-size: 1.9vw;
    color: #fff;
    padding-bottom: 10%;
}
.q_txt02{
	font-weight: bold;
    font-size: 1.9vw;
    color: #fff;
	padding-bottom: 7%;
}
.a_txt {
    font-size: 1.2vw;
    line-height: 1.5;
}

@media screen and (max-width:740px){
	.qa h2 {
		width: 30%;
		padding-bottom: 8%;
	}
	.qa {
		padding: 8% 0;
	}
	.qa_box img {
		width: 94%;
		margin: 0 auto;
		padding: 2% 0;
	}
	.qa_abs {
		top: 14%;
		left: 14%;
		transform: translate(-8%,0);
	}
	.q_txt {
		font-weight: bold;
		font-size: 4.3vw;
		line-height: 1.3;
		padding-bottom: 15%;
	}
	.a_txt {
		font-size: 4.2vw;
		line-height: 1.3;
	}
	.q_txt02 {
		font-size: 4.3vw;
		padding-bottom: 16%;
	}
	.q_txt03 {
		font-size: 4.3vw;
		line-height: 1.3;
		padding-bottom: 18%;
	}
	.qa_abs02 {
		top: 12%;
		left: 17%;
		transform: translate(-11%,0);
	}
	.qa_abs03 {
		top: 14%;
		left: 13%;
		transform: translate(-7%,0);
	}
	.qa_abs04 {
		top: 14%;
		left: 16%;
		transform: translate(-11%,0);
	}
}

/*-------------フッター-------------*/
footer{
    background-image: url(../img/footer_bg_pc.jpg);
    background-size: cover;
    background-repeat: no-repeat;
	padding: 3% 0 !important;
	text-align: center;
}
footer a{
    font-size: 15px;
    color: #fff !important;
    font-weight: bold;
	text-decoration: none !important;
}
.footer_logo{
	width: 20%;
    margin: 0 auto;
	padding-bottom: 1%;
}
footer p{
	color: #fff;
	line-height: 1.5;
	padding-bottom: 1%;
}

@media screen and (max-width:740px){
	footer{
		padding: 9% 0 !important;
	}
	.footer_logo {
		width: 60%;
		padding-bottom: 6%;
	}
}

/*-------------追従エリア-------------*/
/* デザインに関する記述 */
.cta_follow{
    background-color:rgba(255,255,255,0.8);
}
.cta_follow_p p{
    color: #fff;
    font-size: 1.3em;
    font-weight: bold;
    background:linear-gradient(135deg, #3355b6 0%, #3355b6 50%, #1439a7 50%, #1439a7 100%); 
	padding: 0.3% 0 0;
    text-align: center;
}
.cta_follow_p p span{
    color: #ffff01;
}
.cta_follow .inner_flex{
    /*display: flex;*/
    width: 440px; /* width: 700px;*/
    margin: 0 auto;
}
.inner_flex{
	position: relative;
}
.cta_follow_abs{
	position: absolute;
    top: 15px;
    left: 113px;
    font-size: 31px;
    font-weight: bold;
}
.cta_follow_abs p{
	color: #fff;
}

/* 動きに関する記述 */
.ScrollTop {
    opacity: 0;
    transition: all 0.65s;
    width: 100%;
    position: fixed;
    z-index: 10;
    bottom: 0;
}
.ScrollTop.isActive {
    opacity: 1;
    transition: all 0.65s;
}
@media screen and (max-width:740px){
	.cta_follow .inner_flex {
		width: 96%;
	}
	.cta_follow_p p {
		font-size: 1.1em;
	}
	.cta_follow_abs {
		top: 19%;
		left: 25%;
		font-size: 6vw;
	}
}


/*  ipad用記述   */
@media screen and (min-width:741px) and ( max-width:1200px) {
	.saitama, .tokyo, .chiba, .kanagawa {
		font-size: 0.3em;
		padding: 2px 5px;
	}
	.cta_all {
		padding: 0 5% 3%;
	}
	.slider .slick-next {
		right: 12%;
	}
	.tel_abs {
		top: 10%;
		left: 29%;
		font-size: 4vw;
	}
}
@media screen and (min-width:741px) and ( max-width:803px) {
	.step01_abs {
		top: 14%;
	}
	.step03_abs {
		top: 12%;
	}
	.service_item ul {
    left: 5%;
}
}