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

body {
  margin: 0;
  -webkit-text-size-adjust: 100%;
  font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ', sans-serif;
  background: #fff;
  color: #404040;
  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_n {
    display: none;
}
.sp_n {
    display: block;
}

 .br_sp {
    display: block;
  }
 .br_pc {
    display: none;
  }

@media screen and (max-width:740px){
html {
    overflow-x: hidden;
    overflow-y: scroll; -webkit-overflow-scrolling: touch
}
.sp_n {
  display: none;
}
.pc_n {
    display: block;
}
.pa2 {
    padding: 0 20px;
}
  .br_sp {
    display: none;
  }
 .br_pc {
    display: block;
  }

}



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

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

p,h2,h3{
    color: #272727;
}
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: 13px;
    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) {
section {
    margin-bottom: 2.5em;
    margin-top: 5em;
}
    p {
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 1.5;
  }
}
/*------------------------------------------------------------
ヘッダー
------------------------------------------------------------*/
header{
    background-color: #fff;
    box-shadow: 0px 10px 15px -10px #c4c5c9;
    position: relative;
    top: 0;
    z-index: 1;
}
.header---inner{
    max-width: 1230px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.2% 3%;
    box-sizing: border-box;
}
.header_logo{
    width: 80%;
}
header .detail a{
    color: #ff0b0b;
	text-decoration: none;
}
header .detail a>p{
    font-size: 2.3em;
    color: #ff0b0b;
	font-weight: bold;
}
.fv_time{
    text-align: end;
	font-weight: bold;
}
.header_tel{
    display: flex;
    align-items: flex-start; 
}
.header_tel img{
    margin: 10px 4px 0 0;
}

@media screen and (max-width:740px) {
    .header---inner{
        margin: 10px 2px 0;
        width: 100%;
        padding-bottom: 8px;
    }
    .header_logo{
        width: 100%;
    }
    header .detail a>p{
        font-size: 1.3em;
    }
    .detail{
        width: 117%;
    }
    p.fv_time{
        font-size: 10px;
    }
    .header_tel{
        justify-content: flex-end;
    }
    .header_tel img{
        margin: 0 0 0 auto;
        width: 66%;
    }
}
@media screen and (max-width:320px) {
    .detail{
        width: 166%;
    }
    header .detail a>p{
        font-size: 1.2em;
    }
}

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


/*------------ctaエリア FV下 ------------*/
.fv_cta{
    position: relative;
}
.time_area p{
    color: #fff;
}
.fvu_men{
    position: absolute;
    left: -29px;
    bottom: 2px;
}
.fv_cta .cta_area-in{
    margin-top: -2px;
    /*padding-top: 0;*/
    padding-bottom: 20px;
    background-color: #d9f1ff;
    position: relative;
}

.mv_btn {
    display: flex;
    /*margin-left: 9%;*/
}
.ma {
    margin: 3px 10px;
}
.cta_t1, .cta_t2 {
	text-align: center;
	font-weight: bold;
	color: #f12c2c;
}
.cta_t1 {
	color: #f12c2c;
}
.cta_t2 {
	color: #066fc8;
	margin-bottom: 10px;
}

/* 光らせるためのstyle */
.shine{
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}
/* 光の疑似要素 */
.shine::before{
    content: '';
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shine 3s ease-in-out infinite;
    position: absolute;
    top: -180px;
    left: 0;
    opacity: 0;
    transform: rotate(45deg);
}
/* 光の動き */
@keyframes shine{
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}


.cta_area01{
    padding: 10px 0 0 0;
}

.card {
    width: 80%;
    margin: auto;
}

@media screen and (min-width:740px) {
#mv {
    margin-top: 128px;
}
.head_tell{
    font-size:37px;
    top: 33%;
}
.mv_btn {
    width: 90%;
}
.ma {
    margin: 10px 0;
}

.cta_area01{
    margin: 0 auto 20px;
    max-width: 800px;
    width: 90%;
}
    .cta_t1, .cta_t2 {
        padding-top: 10px;
	font-size: 1.2em;
}

}
@media screen and (max-width:740px) {
    .cta_area-in{
        padding: 10px 10px 20px 10px;
    }
    .fvu_men {
        position: absolute;
        left: 3px;
        bottom: 3px;
        width: 96%;
    }
    .ma{
        margin: 0;
    }
    .cta_t1, .cta_t2 {
	font-size: 0.8em;
}
.cta_area01{
    background-color: #d9f1ff;
}
}

@media screen and (min-width:1000px) and ( max-width:1400px) {
    .fvu_men {
        position: absolute;
    left: 0px;
    bottom: -1px;
    width: 25%;
    }
}
@media screen and (min-width:740px) and ( max-width:1000px) {
    .fvu_men {
        position: absolute;
        left: 0px;
        bottom: -2px;
        width: 24%;
    }
    .cta_area01{
        margin: auto;
        max-width: 800px;
        width: 90%;
    }
}
@media screen and (min-width:1400px) {
    .cta_area01{
        margin: 0 auto 20px;
    max-width: 1000px;
    width: 90%;
    }
    .fvu_men {
        position: absolute;
        left: 0px;
        bottom: 0px;
    }
}


/* ------------cta_area 普通------------*/
section.service{
    position: relative;
}
.cta_men{
    position: absolute;
    left: 2px;
    bottom: 3px;
}
.cta_area-in{
    /*margin-top: -2px;
    padding-top: 90px;*/
    background-color: #d9f1ff;
    /*position: relative;*/
}

.cta_area-in2{
    padding-bottom: 20px;
}
.mv_btn {
    display: flex;
	    margin-bottom: 10px;
	    margin: auto;
}

@media screen and (min-width:1600px){
    .mv_btn {
        padding-left: 2%;
    }
    /*.cta_area-in{
        padding-top: 6em;
    }*/
}
@media screen and (min-width:740px) {
    .cta_area{
        max-width: 800px;
    width: 90%;
    margin: auto;
    }
}
@media screen and (min-width:1400px) {
    .cta_area{
        margin: auto;
    max-width: 1000px;
    width: 90%;
    }
}

/* 時間表示箇所 */
#Realtime, #Realtime01, #Realtime02, #Realtime03 {
    font-size: 1em;
    font-weight: 700;
    margin: 0;
    padding: 5% 2%;
    text-align: center;
    font-family: 'Meiryo', 'メイリオ', sans-serif;
    color: #fffd61;
}
h2 {
    background-repeat: repeat-x;
    text-align: center;
    margin-bottom: 0;
    background-size: contain;
}
.comment_abs {
    top: -38px;
    width: 45%;
    left: 10px;
    position: absolute;
}

.fcB_1{
    color: #257fcb;
    margin-top: 15px;
    font-weight: bold;
}

.card_ma{
    width: 96%;
    margin: 0 2% 5%;
}


@media screen and (min-width:740px) {
#Realtime, #Realtime01, #Realtime02, #Realtime03 {
    font-size: 1.4em;
    padding: 2% 2% 1.5%;
    margin-top: 20px;
}
.comment_abs {
    top: -64px;
    height: 55%;
    left: 10px;
    position: absolute;
}
.fcB_1{
    margin-top: 72px;
}
.card_ma{
    margin: 0 2% 5%;
}

}
@media screen and (max-width:740px) {
    #Realtime, #Realtime01, #Realtime02, #Realtime03 {
        font-size: 0.8em;
        padding: 3% 0 3%;
    }
    /*.cta_area {
        margin: 0 -10px -10px -10px;
    }*/
    
    .cta_area-in2{
            /*border: solid 3px #0b61c5;
            margin-top: -3px;
            padding-top: 136px;
            padding-bottom: 4px;*/
            background-color: #d9f1ff;
		padding: 10px 10px 20px 10px;
    }
    .mv_btn2{
        
		margin-bottom: 10px;
    }
    /*.cta_men {
        position: absolute;
        left: 3px;
        bottom: 3px;
    }*/
}
@media screen and (min-width:1000px) and ( max-width:1400px) {
    #Realtime, #Realtime01, #Realtime02, #Realtime03 {
        font-size: 1.15em;
    }
}
@media screen and (min-width:740px) and ( max-width:1000px) {
    #Realtime, #Realtime01, #Realtime02, #Realtime03 {
        font-size: 1em;
    }
}
/*@media screen and (min-width:740px) and ( max-width:1700px) {
    .cta_area-in{
        padding-top: 10%;
    }
}*/



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

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

  50% {
    opacity: 0;
  }


  100% {
    opacity: 1;
  }
}

/*------------------------------------------------------------
コンテンツ
------------------------------------------------------------*/
/*三冠達成*/
.crown_area{
    background-color: #0039a1;
    padding: 1% 2% 2%;
}
.crown_area div{
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
}
@media screen and (max-width:740px){
.crown_area{
    padding: 0;
}
.crown_area div{
    width: 100%;
}
}


/*-------------水トラブル-------------*/
section.trouble{
    /*padding: 3% 0;*/
}
.trouble p.fsSS{
    font-size: 14px;
    color: #fff;
    max-width: 90%;
}
.trouble_ttl{
    /*margin: 0 auto;*/
     width: 100%;
}

@media screen and (max-width:740px){
    .trouble p.fsSS {
        font-size: 12px;
        color: #fff;
        max-width: 97%;
        padding: 10px;
    }
}
@media screen and ( min-width:1460px) {
    .trouble p.fsSS{
        max-width: 90%;
        width: 80%;
}
}

/*-------------悪徳業者に注意-------------*/
section.caution {
    padding: 4% 0 1%;
    background: linear-gradient(to bottom, #b7e3ff, #fff);
}
.caution h2 img{
    margin: 0 auto;
}
.caution img {
    margin: 30px auto;
    max-width:85%;
}
.com {
    text-align: center;
    margin-top: 15px;
    font-weight: bold;
    font-size: 1.3em;
}
.red{
    color:#f12c2c;
}

.caution_contents {
    display: flex;
    justify-content: center;
}
.caution_item {
    background-color: #fff;
    border: 3px solid #0f65c8;
    border-radius: 15px;
    padding: 1.5% 1.5% 1.5%;
    margin: 3% 1% 0;
    flex: 1;
}
.caution_item .h4_area {
    height:43px;
    width:43px;
    border-radius:50%;
    line-height:50px;
    text-align:center;
    background:#0f65c8;
    font-size:22px;
    margin: -35px 0px 0px -25px;
}
.caution_item h4{
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding-top: 11px;
}
.s_ttl{
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}
.marker{
    background:linear-gradient(transparent 60%, #ff6 60%);
}

.point {
    display: block;
    margin: 10px auto 0;
    text-align: center;
    background-color: #0f65c8;
    width: 570px;
    padding: 12px 0;
    border-radius: 25px;
}

.point p{
	font-size: 24px;
    font-weight: bold;
    color: #ffffff;
	text-align: center;
}

@media screen and (max-width:740px){
    .com{
        font-size: 1em;
        margin-top: 9px;
    }
    .caution_contents {
        display:block;
    }
    .caution .inside_width {
        width: 85%;
        margin: auto;
		padding-bottom: 15%;
		
    }
    .s_ttl {
        margin-top: -20px;
    }
    .caution_item .h4_area {
        margin: -15px 0px 0px -25px;
    }
    .caution_item {
        padding: 2% 4%;
        margin: 3% 1% 0;
    }
    .area_com {
        font-size: 0.85em;
        line-height: 1.3em;
    }
    .point {
        width: 330px;
        padding: 12px 0;
        border-radius: 25px;
		text-align: center;
		display: block;
		margin: 10px auto 0;
		background-color: #0f65c8;
    }
	
	.point p{
		font-size: 16px;
		text-align: center;
		font-weight: bold;
		color: #ffffff;
	}
	
	.show_more span {
	  	background: #0f65c8;
		border: 7px solid #0f65c8;
		border-radius: 5px;
		color: #ffffff;
		padding: 0.5% 10%;
		font-size: 4.5vw;
		border-radius: 5px;
	}

	.show_more {
	  	position: absolute;
		bottom: 0px;
		left: 0px;
		width: 100%;
		height: 15px;
		padding-top: 90px;
		text-align: center;
		line-height: 15px;
		background: linear-gradient(180deg,rgb(255, 255, 255, 0) 0%,rgb(246, 251, 255, 1) 90%);
		cursor: pointer;
		transition: bottom 0.2s;
	}

	.acc_wrapper {
	  margin: 20px auto;
	}

	.acc_content_wrapper {
	  position: relative;
	  margin-bottom: 45px;
	}

	.acc_content {
	  height: 12vh;
	  overflow: hidden;
	}
}


/*-------------サービス一覧-------------*/
section.service{
    background-image: url(../img/service_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    /*background: -moz-linear-gradient(top, #f3faff, #b7e3ff);
    background: -webkit-linear-gradient(top, #f3faff, #b7e3ff);
    background: linear-gradient(to bottom, #f3faff, #b7e3ff);*/
    padding-bottom: 7%;
}
.service h2 img{
    margin: 0 auto;
    padding-top: 5%;
}
.service_contents{
    display: flex;
    justify-content: center;
    width: 90%;	
    margin: auto;
}

.service_contents_area {
    display: flex;
    justify-content: center;
}

.service_contents:last-child{
    padding-bottom: 6%;
}
.service_item{
    background-color: #fff;
    border: 3px solid #0f65c8;
    border-radius: 15px;
    padding: 2% 3% 2%;
    margin: 5% 1% 0;
    width: 100%;
}
.service_item h4{
    color: #fff;
    background-color: #0f65c8;
    border-radius: 40px;
    padding: 3% 2%;
    font-weight: bold;
    font-size: 1.6em;
    text-align: center;
    margin: 0 10px;
}

#h4_area2_ttl {
    padding: 2%;
    margin: 0 110px;
}

.h4_after{
    color: #0f65c8;
    font-size: 1.5em;
    font-weight: 500;
    text-align: center;
}
.service_item .h4_area{
    margin-top: -2.5em;
}
.service_item .h4_area2 {
    margin-top: -3em;
}
.service_item img{
    margin: 2% auto 4%;
}
.service_item ul{
    margin: 0 5%;
}
.service_item li{
    font-size: 22px;
    padding-left: 6%;
    color: #000;
    position: relative;
}
.service_item li:before{
    content: '●';
    font-size: 0.5rem;
    color: #1369cc;
    padding-right: 5px;
    position: absolute;
    top: 9px;
    left: 0;
}

@media screen and (max-width:740px){
    section.service{
        padding: 10px;
    }
    .service h2 img {
        margin: 0 auto;
        padding: 8% 0 4%;
        width: 80%;
    }
    .service_contents, .service_item{
        display: none;
    }
}
@media screen and (min-width:740px) and ( max-width:1200px) {
    .service_item li{
        font-size: 18px;
        padding-left: 9%;
    }
    .service_item h4{
        padding: 5% 2%;
        font-size: 1.4em;
        margin: 0;
    }
}


/*-------------メーカー-------------*/
.maker {
    margin: 4% auto;
    max-width: 700px;
	text-align: center;
}

@media screen and (max-width:740px){

}

/*-------------お客様の声-------------*/
section.voices {
    padding-bottom: 60px;
    background: -moz-linear-gradient(top, #fff 60%, #b7e3ff);
    background: -webkit-linear-gradient(top, #fff 60%, #b7e3ff);
    background: linear-gradient(to bottom, #fff 60%, #b7e3ff);
}
.voices h2 img{
    margin: 0 auto;
    margin-top: 5%;
}

.slider{
    margin: auto;
    margin-top: 25px;
    width: 88%;
}
.slider img{
    height: auto;
    width: 50%;
}

.voice {
    width: 80%;
    margin: 0 auto;
    padding: 2%;
    /*clip-path: polygon(100% 0, 100% 19%, 100% 100%, 0 100%, 0 0);*/
}
.voice_in{
    /*box-shadow: 6px 6px 6px 3px #abababa3;*/
    border: 4px solid #0f65c8;
    display: flex;
    align-items: center;
    padding: 3%;
    position: relative;
    background-color: #fff;
}
.voice_in::after{
    content: '';
    width: 80px;
    height: 80px;
    position: absolute;
    background: linear-gradient(45deg, #0f65c8 0%, #0f65c8 50%, #ffffff 50%, #ffffff 100%);
    clip-path: polygon(100% 1%, 100% 100%, 83% 83%, 0px 83%, 0px 0px);
    top: -5px;
    right: -19px;
}
.voice_text{
    margin-left: 2%;
}
.voice-type{
    color: #fff54e;
    font-size: 2em;
    font-weight: bold;
    margin-bottom: 10px;
}
.voice-type span{
    background: #0f65c8;
    padding: 0.5% 2%;
}

@media screen and (max-width:900px){
    section.voices{
        padding-bottom: 16px;
    }
    .voices h2 img {
        margin: 0 auto;
        margin-top: 7%;
        width: 70%;
    }
    .voice {
        width: 100%;
        padding: 10px 8px 15px;
        /*clip-path: polygon(75% 0, 100% 17%, 100% 100%, 0 100%, 0 0);*/
    }
    .voice_in{
        display: block;
        width: 100%;
        /*box-shadow: 5px 4px 7px 2px #abababa3;*/
        padding: 5% 5% 10%;
    }
    .voice_in::after{
        clip-path: polygon(100% -15%, 100% 100%, 64% 60%, 0px 60%, 0px 0px);
    top: -4px;
    right: -36px;
    }
    .slider{
        width: 90%;
    }
    .slider img{
        height: auto;
        width: 100%;
        margin: 2% 2% 2% 0;
    }
    .voice_text{
        margin-left: 0;
    }
    .voice-type {
        font-size: 1.2em;
        margin: 10px 0;
    }
}
@media screen and (min-width:740px) and ( max-width:1200px) {
    .voice-type{
        font-size: 1.5em;
    }
}
@media screen and (min-width:1000px){
    .voice-p{
        line-height: 1.8;
    }
}


/*-------------５つの理由-------------*/
section.reason {
    padding: 6%;
    background: linear-gradient(to bottom, #fff 25%, #b7e3ff);
}
.reason h2 img {
    margin: 0 auto 25px;
}
.reason_box_wrapper {
    margin: auto;
}
.reason_box {
    margin-bottom: 5%;
    background-color: #ffffe8;
    border: 3px solid #0f65c8;
    border-radius: 15px;
    padding: 2.5% 3.5% 1.5%;
}
.reason_ttl {
    background: #0f65c8;
    padding: 6px;
}
.reason_ttl> p {
    font-size: 16px;
    color: #fff;
    font-weight: bold;
}
.reason_con {
    margin-top:10px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.reason_con> p {
    text-align: justify;
    display: block;
    font-size: 12px;
    width: 52%;
}
.reason_con> img {
    width: 45%;
    margin: auto;
    margin-left: 3%
}
@media screen and (min-width: 740px){
    .reason_box_wrapper {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .reason_box {
        width: 32%;
        margin-bottom: 2%;
        padding: 1.5% 1.5% 1.5%;
    }
    .reason_con> p {
        font-size: 14px;
    }
    .reason_box:nth-child(2), .reason_box:nth-child(3), .reason_box:nth-child(5) {
        margin-left: 1%;
    }
}

/*-------------他社との違い-------------*/
section.comparison {
    padding: 6%;
    background: linear-gradient(to bottom, #fff 25%, #b7e3ff);
}
.comparison h2 img{
    margin: 0 auto;
}
.comparison img {
    margin: 40px auto;
}
@media screen and (max-width:740px) {
    .comparison img {
    margin: 17px auto;
    }
}

/*-------------流れ-------------*/
section.flow {
    background-image: url(../img/flow_bg_pc.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    padding-bottom: 7%;
}
.flow h2 img{
    margin: 0 auto;
    padding-top: 5%;
}

.flow img{
    margin: 0 auto;
}
.flow_content{
    margin: 2% 5%;
}

.flow_content .flow_co{
    margin-bottom: 5%;
}

@media screen and (max-width:740px) {
    section.flow{
        background-image: url(../img/flow_bg_sp.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        padding-bottom: 0;
    }
    .flow h2 img {
        margin: 0 auto;
        padding-top: 7%;
        width: 86%;
    }
    .flow_content {
        margin: 2%;
    }
    .flow img{
        margin-bottom: 0; 
    }
}

/*-------------対応エリア-------------*/
.area h2 img {
    margin: 0 auto;
}

.area_abs {
    position: absolute;
    left: 50%;
    top: 82%;
    transform: translate(-50%,-50%);
}

.fs17{
	font-size: 17px;
}

@media screen and (min-width:740px) and ( max-width:1200px) {
	.area_abs {
    left: 22%;
    top: 84%;
    transform: translate(-16%,-50%);
}
	.spfs16{
		font-size: 16px;
	}
}

@media screen and (max-width:740px) {
	.area_abs {
    left: 17%;
    top: 82%;
    transform: translate(-10%,-50%);
}
	
	.spfs16{
		font-size: 16px;
	}
	
	.area_abs p{
		color: #fff;
	}
	
}


@media screen and (min-width:740px){
    section.area {
        background-image: url(../img/area_bg_pc.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        /*position: relative;*/
        padding-bottom: 60px;
    }
    .area_pc {
        position: relative;
        /*width: 1000px;*/
        margin: auto;
    }
    }
/*-------------○名稼働中！-------------*/
.area a,
.area a:visited,
.area a:hover{
    color: #333;
}
.blink {
    animation:blink 1s ease-in-out infinite alternate;
}

@keyframes blink {
    0% {opacity:0;}
    50% {opacity:1;}
    100% {opacity:1;}
}
@keyframes blinkColor {
  0% {
    color: #00bfff;
  }
  100% {
    color: #cc2200;
  }
}
.text-color {
  animation: blinkColor 1s ease-in-out infinite alternate;
}


.saitama ,.tokyo ,.chiba ,.kanagawa {
    font-size: 0.8em;
    padding: 3px;
    position: absolute;
    font-weight: bold;
    color: #ff4c00;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0px 0px 15px -7px #000000;
}

.saitama {
    top: 61%;
    left: 68%;
}
.tokyo {
    top: 70%;
    left: 70%;
}
.chiba {
    top: 70%;
    left: 85%;
}
.kanagawa {
    top: 80%;
    left: 69%;
}
@media screen and (max-width:740px) {
    .area {
    position: relative;
}
.saitama {
    top: 61%;
    left: 34%;
}
.tokyo {
    top: 70%;
    left: 37%;
}
.chiba {
    top: 75%;
    left: 69%;
}
.kanagawa {
    top: 79%;
    left: 32%;
}
}

/*-------------Q&A-------------*/
section.qa {
    background: -moz-linear-gradient(top, #b7e3ff, #fff);
    background: -webkit-linear-gradient(top, #b7e3ff, #fff);
    background: linear-gradient(to bottom, #b7e3ff, #fff);
    /*padding: 0 23% 5% 23%;*/
    padding-bottom: 6%;
}

.qa h2 img{
    margin: 0 auto;
    padding-top: 6%;
}
.inside_width2{
    max-width: 1000px;
    width: 100%;
    margin: auto;
}
.Q_A{
    margin-top: 2%;
}
.Q h4{
    padding: 2% 2% 2% 7%;
    font-size: 1.5rem;
    font-weight: 400;
    color: #fff;
    background: -moz-linear-gradient(69deg, #21b1ed 5%, #16317f);
    background: -webkit-linear-gradient(69deg, #21b1ed 5%, #16317f);
    background: linear-gradient(69deg, #21b1ed 5%, #16317f);
    clip-path: polygon(3% 0, 100% 0, 100% 64%, 97% 100%, 0 100%, 0 35%);
    position: relative;
}
.Q h4::before{
    position: absolute;
    left: 3%;
    top: 26%;
    content: "";
    display: inline-block;
    width: 1.3em;
    height: 1.3em;
    background: url(../img/q_before.png) no-repeat;
    background-size: contain;
}
.Q_A p{
    padding: 18px 0 20px 0;
    position: relative;
    margin-left: 75px;
}
.Q_A p::before{
    position: absolute;
    left: -5%;
    top: 18%;
    content: "";
    display: inline-block;
    width: 1.7em;
    height: 1.7em;
    background: url(../img/a_before.png) no-repeat;
    background-size: contain;
}


@media screen and (min-width:740px) and ( max-width:1200px) {
    .inside_width2{
        max-width: 90%;
        /*width: 95%;*/
    }
    /*.Q_A p:nth-child(2) {
    margin: 0 10px 0 70px;
    }*/
    .Q_A p::before {
        left: -5%;
        top: 14%;
    }
}
/*@media screen and (min-width:376px) and ( max-width:739px) {
   .Q_A p::before {
        left: -7%;
    }
        .Q_A p:nth-child(2){
        margin: 0 10px 0 80px;
    }
}*/


@media screen and (max-width:740px) {
    
    section.qa{
        padding-bottom: 14%;
    }
    .qa h2 img {
        margin: 0 auto;
        padding-top: 15%;
        width: 35%;
    }
    .inside_width2 {
        max-width: 100%;
        /*width: 95%;*/
        margin: auto;
    }
    .Q h4{
        padding: 4% 2% 4% 9%;
        font-size: 1.15rem;
        clip-path: polygon(5% 0, 100% 0, 100% 64%, 95% 100%, 0 100%, 0 33%);
        /*margin: 0 10px;*/
    }
    .Q h4::before {
        position: absolute;
        left: 3%;
        top: 29%;
        content: "";
        display: inline-block;
        width: 1.1em;
        height: 1.1em;
        background: url(../img/q_before.png) no-repeat;
        background-size: contain;
    }
    .Q_A{
    margin: 2% 2% 0 2%;
    }
    
    .Q_A p {
        padding: 3% 0 6% 10%;
        position: relative;
        font-size: 17px;
    }
    .Q_A p:nth-child(2){
        padding: 20px 0 40px 0;
        margin: 0 10px 0 50px;
    }
    .Q_A p::before {
        position: absolute;
        left: -9%;
        top: 14%;
        content: "";
        display: inline-block;
        width: 1.3em;
        height: 1.3em;
        background: url(../img/a_before.png) no-repeat;
        background-size: contain;
    }
}

@media screen and (max-width: 480px){
.Q_A p::before {
    left: -7%;
}
.Q_A p:nth-child(2) {
    margin: 0 10px 0 9%;
}

}



/*-------------お問い合わせ-------------*/
.form h2 img{
    margin: 0 auto;
    padding-top: 8%;
}
.toiawase{
    max-width: 900px;
    text-align: center;
    margin: 4% auto 6%;
    width: 95%;
}

@media screen and (max-width:740px) {
    .form h2 img {
        margin: 0 auto;
        padding-top: 13%;
        width: 70%;
    }
}



/*-------------フッター-------------*/

.footer_area {
    max-width: 1000px;
    margin: 0 auto;
}

footer {
    background: #122869;
    padding: 5% !important;
}
.footer_pc {
    display: flex;
}
.ff {
    display: flex;
}

.footer_number p {
    text-align: center;
}

@media screen and (max-width:740px){
   footer {
    padding: 5% 0 45% !important;
   }
   .footer_pc {
    display: block;
}
   .form_footer {
      padding: 5% 0 !important; 
   }
   
}


footer img{
    width: 230px;
    margin: 0 auto;
    margin-bottom: 2%;
}

footer{
        padding: 3% 0;
    }
    footer div{
        width: 100%;
        /*margin: 1% auto;*/
        padding: 1%;
    }
    footer h5{
        margin-bottom: 1.5%;
    }
    footer>p{
        margin-top: 1.5%;
    }
    .formhead{
        padding-left: 15%;
        padding-right: 15%;
    }

footer{
    padding: 10% 0;
}
footer h5,
footer p{
    color: #fff;
    display: block;
}
footer h5{
    text-align: center;
    /*margin: 5% 5% 0 5%;*/
    padding: 4%;
    border-bottom: 1px solid;
}
footer div{
    /*display: flex;*/
    /*margin: 1% auto;*/
}
footer div p{
    font-size: 14px;
}
footer div p:first-child{
    width: 25%;
}
footer div p:last-child{
    width: 100%; /*90%*/
}
footer>p{
    display: block;
    text-align: center;
    font-size: 12px;
    /*margin-top: 7%;*/
}

@media screen and (max-width:769px){
    footer div{
    width: 97%;
    margin: 3% auto;
    padding: 0;
}
    footer div p{
    font-size: 12px;
}

}



/*-------------追従エリア-------------*/
/* デザインに関する記述 */
.cta_follow{
    background-color: rgba(73,73,73,0.5);
}
.cta_follow p{
    color: #fff;
    font-size: 1.3em;
    font-weight: bold;
    background: #16307c;
    padding: 0.5%;
    text-align: center;
}
.cta_follow p span{
    color: #fff54e;
}
.cta_follow .inner_flex{
    /*display: flex;*/
    width: 440px; /* width: 700px;*/
    padding: 0.5%;
    margin: 0 auto;
}


/* 動きに関する記述 */
.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: 100%;
        padding: 10px 0 20px;
        height: 117px;
    }
    .cta_follow p{
        font-size: 1em;
        padding: 1%;
    }
    .cta_men2{
        position: absolute;
        left: 0;
        bottom: 0;
        width: 96%;
    }
    .floow_btn{
        /*position: absolute;
        bottom: 12px;
        right: 20px;*/
        width: 90%;
        margin: 0 auto;
    }
}

@media screen and (max-width:420px) {
    .cta_follow p{
        font-size: 0.8em;
    }
}
@media screen and (max-width:320px) {
    .cta_follow .inner_flex{
        height: 99px;
    }
}

@media screen and (min-width:740px) and ( max-width:1200px) {
    .cta_follow .inner_flex{
        width: 35%;
    }
}

/*  ipad用記述   */
@media screen and (min-width:750px) and ( max-width:880px) {
    section.service .h4_after{
        font-size: 1.2em;
    }

    .cta_area-in{
        padding-top: 9%;
    }
    .mv_btn{
        width: 86%;
        /*margin-left: 13%;*/
    }
    #Realtime, #Realtime01, #Realtime02, #Realtime03 {
        font-size: 0.9em;
    }
    .Q h4{
        padding: 2% 2% 2% 9%;
    }
    .Q h4::before{
        top: 17%;
    }
    .Q_A p{
    margin-left: 57px;
    }
    .cta_follow p{
        font-size: 1.1em;
    }
    .voice{
        clip-path: polygon(99% 0, 100% 41%, 100% 100%, 0 100%, 0 0);
    }
    .voice_in::after{
        top: -5px;
    }
}


/*フォーム*/
.form {
    background-color: #8ad0f7;
    padding-bottom: 5%;
}
.error, .error-wrap {
    color: #ff0000;
}
#contact{
    max-width: 900px;
    margin: 4% auto 0;
    background-color: #fff;
    border-radius: 5px;
    padding: 3%;
}
#contact h1{
    background-color: #1a42ab;
    padding: 10px 0 15px;
    color: #fff;
    text-align: center;
}
#contact h1+p{
    display: block;
    text-align: center;
    font-weight: 500;
    font-size: 16px;
    margin: 5% auto 2%;
}
#contact h1+p+a{
    display: block;
    width: 90%;
    margin: auto;
}

.form-box{
    margin: 5% auto;
}
.formhead{
    background-color: #1e91d2;
    color: #fff;
    display: flex;
    justify-content: space-between;
    padding: 10px 5%;
    border-radius: 5px;
        align-items: center;
}
.require-pc{
    background-color: #f12c2c;
    color: #fff;
    text-align: center;
    font-weight: 700;
    border-radius: 5px;
    border: 2px solid;
}
.formhead .form-ttl{
    width: 70%;
}
.formhead .require-pc{
    width: 15%;
}
.preparing{
    color: #bbb;
    font-size: 13px;
    display: block;
    text-align: center;
    margin: 20% auto;
}
.form-input{
    width: 90%;
    margin: 2% auto;
}
.form-input label{
    display: block;
}
.form-box input[type="text"]{
    width: 100%;
    padding: 3px;
    border-radius: 5px;
}
.form-remark{
    font-size: 13px;
}
.form-box .date,
.form-box .time{
    margin: 3% auto;
}
.time+.form-remark{
    color: #f0003c;
}
.form-box .zip{
    display: flex;
    margin-bottom: 3%;
    justify-content: center;
    align-items: center;
}
.form-box .zip label{
    margin-right: 10px;
}

.submit,
.submit button{
    border: none;
    background: none;
}
.submit{
    width: 70%;
    margin: 3% auto;
}
/*
.confirm_top {
    background-color: #8ad0f7;
}*/

h1.confirm{
    margin-top: 50px;
    text-align: center;
    color: #16307c;
}
.confirm-title,
.confirm-text,
.thanksText>p,
.thanksText>a{
    display: block;
    text-align: center;
    padding: 0 20px;
}

@media screen and (max-width: 740px){
.thanksText>p {
    text-align: left;
    padding: 0 20px;
}
}

.thanksText>a{
    max-width: 300px;
    color: #fff;
    text-decoration: none;
    background-color: #122869;
    padding: 10px 0;
    margin: 0 auto 10%;
    border-radius: 5px;
}
.confirm-title{
    font-size: 20px;
    font-weight: bold;
    margin: 3% auto 1%;
}
.confirm-text{
    margin: 1% auto 2%;
}
#confirm table{
    margin:  5% auto;
    max-width: 1000px;
    /*border-collapse: collapse;*/
    border-spacing: 5px;
}
#confirm table th{
    text-align: left;
    background-color: #1e91d2;
    color: #fff;
    padding: 10px;
    width: 100%;
    border-radius: 5px;
    display: block;
}

#confirm tr {
    margin: 10px 0;
    /*display: block;*/
}

#confirm table td{
    padding-left: 15px;
    border-bottom: 2px solid #d5ebff;
}

.head_text {
    color:#173f8b;
}

@media screen and (max-width: 740px){
#confirm tr {
    display: block;
}

#confirm table td{
    border-bottom: none;
}

.head_text {
    font-size: 10px;
}
}



/*#confirm table th,
#confirm table td{
    border: 1px solid #ddd;
}*/

.submit-btn{
    text-align: center;
    margin-bottom: 5%;
    
}
.submit-btn>button{
    border: none;
    padding: 10px 40px;
}
.submit-btn>button:first-child{
    background-color: #ccc;
    margin-right: 10px;
    border-radius: 5px;
    font-weight: bold;
}
.submit-btn>button:last-child{
    background-color: #00c405;
    color: #fff;
    border-radius: 5px;
    font-weight: bold;
}

.center_anno{
    display: block;
    text-align: center;
    font-size: 18px;
}
@media screen and (min-width:769px){
.formhead{
        /*padding-left: 15%;
        padding-right: 15%;*/
    }
    .form-ttl{
        font-size: 20px;
        font-weight: 700;
    }
    .require-pc{
        font-size: 18px;
    }
    .form-input{
        width: 95%;
    }
    .submit{
        text-align: center;
        max-width: 400px;
    }
    .formhead .require-pc{
        width: 10%;
    }
    .form-box{
        margin: 2% auto;
    }
  
}
.policy {
    background: #fff;
    height: 150px;
    overflow-y: scroll;
    color: #000;
    border: 1px solid #666 !important;
    padding: 10px;
    font-weight: normal;
}
.consent {
    text-align: center;
}
#consent {
    display: inline;
    width: auto;
    margin-right: 10px;
}


@media screen and (max-width:1000px){
#contact{
    margin: 2%;
}
}

/*-------------私たちがトラブルを解決いたします！-------------*/
section.staff {
    padding-bottom: 60px;
    background: -moz-linear-gradient(top, #fff 60%, #b7e3ff);
    background: -webkit-linear-gradient(top, #fff 60%, #b7e3ff);
    background: linear-gradient(to bottom, #fff 60%, #b7e3ff);
}
.staff h2 img{
    margin: 0 auto;
    margin-top: 5%;
}

.slider{
    margin: auto;
    margin-top: 25px;
    width: 88%;
}
.slider img{
    height: auto;
    width: 50%;
}

.staff {
    width: 100%;
    margin: 0 auto;
    padding: 2%;
}
.staff_in{
    border: 4px solid #0f65c8;
    display: flex;
    align-items: center;
    padding: 3%;
    position: relative;
    background-color: #fff;
}
.staff_text{
    margin-left: 2%;
}

@media screen and (max-width:900px){
    section.staff{
        padding-bottom: 16px;
    }
    .staff h2 img {
        margin: 0 auto;
        margin-top: 7%;
        width: 70%;
    }
    .staff {
        width: 100%;
        padding: 10px 8px 15px;
    }
    .staff_in{
        display: block;
        width: 100%;
        padding: 5% 5% 10%;
    }
    .staff_in::after{
        clip-path: polygon(100% -15%, 100% 100%, 64% 60%, 0px 60%, 0px 0px);
    top: -4px;
    right: -36px;
    }
    .slider{
        width: 90%;
    }
    .slider img{
        height: auto;
        width: 100%;
        margin: 2% 2% 2% 0;
    }
    .staff_text{
        margin-left: 0;
    }
}
@media screen and (min-width:1000px){
    .staff-p{
        line-height: 1.8;
    }
}
.ffs {
    text-align: right;
    display: block;
    font-size: 10px;
    margin-top: 20px;
}