@charset "utf-8";

* {
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', YuGothic, 'Yu Gothic', 'ヒラギノ角ゴ StdN', 'Hiragino Kaku Gothic StdN', sans-serif;
}

img {
	display: block;
	width: 100%;
	height: auto;
}

body {
	margin: 0;
}

.all_wrap {
	margin: 0 auto;
	max-width: 700px;
}

.pc {
	display: block !important;
}

.sp {
	display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 767px) {
	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}
	.all_wrap {
		overflow: hidden;
	}
	
}

.cta {
	margin: 10% 3% 8% 3%;
}

/* -------------------ヘッダー------------------- */
header {
	background-color: #fff;
	height: 90px;
	margin: 0 auto;
}
.head_inner{
	max-width: 700px;
	justify-content: space-evenly;
	margin: 0 auto;
}
.head_flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-right: 90px;
	height: 90px;
}
.logo{
	transform: translate3d(0,8%,0);
}
.head_btn{
display: flex;
height: 100%;
}

.head_btn a img{
	height: 100%;
}

#g-nav {
	/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
	position: fixed;
	z-index: 999;
	top: 0;
	right: -120%;
	width: 25vw;
	height: 100vh;
	/*ナビの高さ*/
	background: #f3fbff;
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
	right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
	/*ナビの数が増えた場合縦スクロール*/
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100vh;
	/*表示する高さ*/
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
	/*ナビゲーション天地中央揃え*/
	position: absolute;
	z-index: 999;
	top: 50%;
	transform: translate(0, -75%);
}

/*リストのレイアウト設定*/

#g-nav li {
	list-style: none;
}

#g-nav li a {
	color: #333;
	text-decoration: none;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
	margin-bottom: 7%;
}

/*========= ボタンのためのCSS ===============*/
.openbtn1 {
	position: fixed;
	z-index: 9999;
	/*ボタンを最前面に*/
	top: 0px;
	cursor: pointer;
	width: 90px;
    height: 90px;
    margin-left: 610px;
	background-color: #006cc0;
}

/*×に変化*/
.openbtn1 span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 14px;
	height: 3px;
	border-radius: 2px;
	background-color: #ffffff;
	width: 66%;
}

.openbtn1 span:nth-of-type(1) {
	top: 25px;
}

.openbtn1 span:nth-of-type(2) {
	top: 43px;
}

.openbtn1 span:nth-of-type(3) {
	top: 62px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 40px;
    left: 15px;
    transform: translateY(6px) rotate(-45deg);
    width: 64%;
}

.openbtn1.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn1.active span:nth-of-type(3) {
    top: 50px;
    left: 16px;
    transform: translateY(-6px) rotate(45deg);
    width: 62%;
}

.blue {
	color: #007bd1;
}

@media only screen and (max-width: 767px) {
	header {
		background-color: #fff;
		height: 66px;
		width: 100%;
	}

	.head_flex {
		display: flex;
		margin-right: 66px;
		height: 66px;
	}

	.logo {
		margin-left: 10px;
		transform: translate3d(0,3%,0);
		width: 50%;
	}

	.head_tel {
		margin-left: 10px;
		transform: translate3d(0,-6%,0);
	}

	.head_tel p {
		margin: 0;
		font-size: 12px;
		font-weight: bold;
		text-align: center;
		transform: translate3d(0,25%,0);
	}
	.openbtn1 {
		right: 0;
	}
	#g-nav {
		width: 74%;
	}

	#g-nav ul {
		transform: translate(-9%, -50%);
	}

	.openbtn1 {
		width: 66px;
		height: 66px;
	}

	.openbtn1 span:nth-of-type(1) {
		top: 19px;
	}

	.openbtn1 span:nth-of-type(2) {
		top: 31px;
	}

	.openbtn1 span:nth-of-type(3) {
		top: 44px;
	}

	.openbtn1 span {
		width: 57%;
	}

	.openbtn1.active span:nth-of-type(1) {
		top: 25px;
		left: 14px;
		transform: translateY(7px) rotate(-45deg);
		width: 56%;
	}

	.openbtn1.active span:nth-of-type(3) {
		top: 37px;
		left: 14px;
		transform: translateY(-6px) rotate(45deg);
		width: 56%;
	}

}

@media (min-width: 480px) and (max-width: 749px) {
	.logo {
		width: 25%;
	}

	.head_tel {
		width: 25%;
	}
}

/* -------------------FV----------------- */
h1 {
	margin: 0;
}

h2 {
	margin: 0;
}

.fv_wrap {
	position: relative;
}

.fv_cta {
	position: absolute;
	margin: 0 auto;
	left: 0;
	right: 0;
	width: 93%;
	bottom: 8%;
}

.fv_cta img {
	filter: drop-shadow(5px 5px 5px #5088a6);
}

.time_wrap {
	margin: 0 auto;
	left: 0;
	right: 0;
	position: absolute;
	bottom: 19%;
}

.blue {
	color: #00579a;
}

.time {
	font-weight: bold;
	font-size: 25px;
	text-align: center;
}

.marker {
	background-color: #fdfe02;
}

@media only screen and (max-width: 767px) {
	.time {
		font-size: 14px;
	}
}
/* -------------------先月の工事件数----------------- */
.number_wrap {
	background-color: #e2f5ff;
	padding: 5%;
}


/* -------------------キャンペーン----------------- */
.campaign_wrap {
	background-image: url(../img/waribiki_bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	padding: 6% 0 14% 0;
	margin-bottom: 20px;
}

.drop {
	text-align: center;
	padding: 0 ;
}

.drop p {
	font-weight: bold;
	color: #fff;
	text-align: center;
	margin: 0;
}

.drop img {
	width: 14px;
	object-fit: contain;
	margin-top: -2%;
	margin: 0 auto;
	animation: scroll 2.5s infinite;
	display: inline-block;
}

@keyframes scroll {
	0% {
		transform: translate(0, 0);
	}
	80% {
		transform: translate(0px, 25px);
	}
	0%,
	80%,
	100% {
		opacity: 0;
	}
	40% {
		opacity: 1;
	}
}

.campaign_inner {
	width: 95%;
	margin: 0 auto;
	margin-top: 6%;
}

@media only screen and (max-width: 767px) {
	.drop {
		padding:0;
	}
	.drop p {
		font-size: 13px;
	}
	@keyframes scroll {
		0% {
			transform: translate(0, 0);
		}
	
		80% {
			transform: translate(0px, 17px);
		}
	
		0%,
		80%,
		100% {
			opacity: 0;
		}
	
		40% {
			opacity: 1;
		}
	}
	

	.campaign_inner {
		margin-top: 7%;
	}

	.drop img {
		width: 11px;
	}
}

/* -------------------取り扱い----------------- */
.maker_wrap {
	background-color: #e2f5ff;
	padding: 10% 0;
	position: relative;
}

.tri{
	position: absolute;
	top: 0;
}

.maker_ttl {
	width: 80%;
	margin: 0 auto;
	margin-bottom: 4%;
}

.marker_inner {
	width: 90%;
	margin: 0 auto;
}

/* -------------------エラー表示----------------- */
.error_wrap {
	background-color: #e2f5ff;
	padding: 10% 0 3%;
}

.error_ttl {
	width: 80%;
	margin: 0 auto;
	margin-bottom: 4%;
}

.error_inner {
	width: 90%;
	margin: 0 auto;
	-webkit-transform: translate3d(0, -40%, 0);
	transform: translate3d(0, -6%, 0);
}

/* -------------------お悩み----------------- */
.worries_wrap {
	margin-bottom: -7%;
}

.worries_bg {
	background-image: url(../img/worries_bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	padding-top: 10%;
}

.worries_ttl {
	width: 65%;
	margin: 0 auto;
	margin-bottom: 4%;
}

.worries_inner {
	width: 95%;
	margin: -7px auto;

}

.achievements {
	/* transform: translate3d(0, -8%, 0); */
	width: 100%;
    margin: 0 auto;
	filter: drop-shadow(5px 5px 5px #bacfdb);
}



/* -------------------ポイント----------------- */
.point_wrap {
	background-color: #e2f5ff;
	padding-top: 10%;
}
.hikaku_ttl{
	width: 40%;
	margin: 0 auto;
	margin-top: 5%;
	margin-bottom: 5%;
}
.chart{
	width: 90%;
	margin: 0 auto;
	margin-bottom: 7%;
}
.point01 {
	width: 90%;
	margin: 0 auto;
	margin-bottom: 5%;
}

.point02 {
	width: 90%;
	margin: 0 auto;
}

.akutoku {
	width: 80%;
	margin: 0 auto;
	margin-top: 10%;
}

.akutoku_inner {
	width: 90%;
	margin: 0 auto;
	margin-top: 5%;
}

/* -------------------お見積り----------------- */
.estimate_wrap {
	position: relative;

}

.estimate_cta {
	position: absolute;
	margin: 0 auto;
	left: 0;
	right: 0;
	width: 93%;
	top: 45%;
}

.pay {
	background-color: #e2f5ff;
	padding-bottom: 10%;
}

.pay img {
	width: 80%;
	margin: 0 auto;
	padding-top: 17%;
}

/* -------------------選ばれる理由----------------- */
.reason_wrap {
	background-image: url(../img/reason_bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
    padding-top: 10%;
    padding-bottom: 10%;

}
.reason_ttl {
	width: 65%;
	left: 0;
	right: 0;
	margin: 0 auto;
    margin-bottom: -4%;
    transform: translate3d(0, 10%, 0);
}
.reason_inner{
	margin-top: 11%;
}

/* -------------------対応地域----------------- */
.region_wrap{
	background-image: url(../img/region_bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	padding: 10% 0;
}
.region_inner{
	width: 80%;
	margin: 0 auto;
}

/* -------------------お客様の声----------------- */
.voice_wrap{
	background-image: url(../img/voice_bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	padding-bottom: 8%;
}
.voice_ttl{
	width: 100%;
	margin: 0 auto;
}
/*------ スライダーの横幅 ------*/
.slider{
	width:90%;
	margin:0 auto;
	filter: drop-shadow(5px 5px 5px #bacfdb);
  }
  
  /*------ スライダー画像 ------*/
  .slider img{
	  width:100%;
	 
  }
  
  /*-------- 高さ調整 ----------*/
  .slider .slick-slide{
	  height:auto!important;
  }
  
  /*---------- 矢印 ----------*/

  .slick-next{ right:-20px!important;}
  .slick-prev{ left:-20px!important; }
  .slick-next:before{
	background: url(../img/arrow02.png)!important;
	background-size: contain!important;
  }
  .slick-prev:before{
	background: url(../img/arrow01.png)!important;
	  background-size: contain!important;

  }
  .slick-arrow{
	  z-index:2!important;
	  width:45px!important;
	  height:45px!important;
  }
  .slick-arrow:before{
	  content:""!important;
	  width: 100%!important;
	  height: 100%!important;
	  position: absolute;
	  top: 0;
	  left: 0;
	  opacity:1!important;
  }
  .slick-dotted.slick-slider {
    margin-top: 3%!important;
}
@media only screen and (max-width: 767px){
	.slick-arrow{
		z-index:2!important;
		width:30px!important;
		height:30px!important;
	}
	.slick-next{ right:-14px!important;}
	.slick-prev{ left:-14px!important; }

}
/* -------------------QA----------------- */
.QA_wrap{
	padding-top: 10%;
}
.QA_ttl{
	width: 60%;
	margin: 0 auto;
	margin-bottom: 5%;
}
.accordion-area{
	list-style: none;
	width: 96%;
	max-width: 710px;
	margin:0 auto;
	padding: 0;
  }
  .accordion-area li{
	margin: 10px 0;
  }

  .title {
	position: relative;
	cursor: pointer;
	font-size:1.3rem;
	font-weight: bold;
    padding: 2.5% 0 2.5% 3%;
	transition: all .5s ease;
	background-color: #006cc0;
	color: #fff;
	border-radius: 10px;
  }
  .title::before,
  .title::after{
	position: absolute;
	content:'';
	width: 15px;
	height: 2px;
	background-color: #fff;
	
  }
  .title::before{
	top:48%;
	right: 25px;
	transform: rotate(0deg);
	
  }
  .title::after{    
	top:48%;
	right: 25px;
	transform: rotate(90deg);
  
  }
  .title.close::before{
  transform: rotate(45deg);
  }
  .title.close::after{
  transform: rotate(-45deg);
  }
  .box {
	display: none;
	background: #fff;
	border: solid 3px #006cc0;
	padding: 2% 0 2.5% 3%;
	position: relative;
	line-height: 1.7;
	font-size:1.1rem;
	border-radius: 10px;
	margin-top: 1%;
	color: #006cc0;
	font-weight: bold;
  }
  .QA_flx {
	display: flex;
	justify-content: flex-start;
	max-width: 80%;
	align-items: center;
  }
  .QA_icon_Q {
	margin: 0 3% 0 0;
	width: 30px;
  }
  .QA_icon_A {
	margin: 0.7% 3% 0 0;
	width: 30.5px;
  }
  .QA_flx2 {
	display: flex;
	justify-content: flex-start;
	max-width: 90%;
  }
  .QA_question{
	width: 100%;
  }
  .QA_answer {
	font-size: 1.2rem;
	width: 100%;
  }
  .title.rounded {
	border-radius: 10px 10px 0 0;
  }
  @media (max-width: 767px) {
	.accordion-area{
		list-style: none;
		width: 92%;
		max-width: 700px;
		margin:0 auto;
	}
	.title {
		font-size:0.9rem;
		padding: 0.5% 2.7% 2.9%;
	}
	.box {
		font-size:0.9rem;
		padding: 1.2% 2.5% 2.5%;
		position: relative;
		line-height: 1.7;
	}
	.accordion-area section {
		margin-bottom: 20px;
	}
	.QA_ttl {
	width: 55%;
	  margin: 0 auto 5%;
	  padding: 0;
	}
	.title {
	  font-size: 1.1rem;
	  padding: 2.5% 4.7% 3.4%;
	  line-height: 1.3; 
	}
	.QA_icon_Q {
	  margin: 0 4% 0 0;
	  width: 22.5px;
	}
	.QA_icon_A {
	  margin: 0.7% 4% 0 0;
	  width: 22.5px;
  }
	.box {
	  font-size: 0.9rem;
	  padding: 3% 2.5% 4% 4%;
	  line-height: 1.5;
	}
	.QA_answer {
	  max-width: 87%;
	  font-size: 1rem;
	}
	.QA_question {
	  max-width: 80%;
	}
	.QA_flx {
	  display: flex;
	  justify-content: flex-start;
	  max-width: 100%;
	  align-items: center;
	}
	.QA_bg {
	  padding: 0 0 7%;
	}
  }

/* -------------------プラポリ----------------- */
h2 p{
	margin: 0;
	margin-bottom: 5%;
}
.policy_ttl{
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	color: #3e3e3e;
    margin-top: 10%;
}
.accordion-box {
    position: relative;
	width: 90%;
    margin: 0 auto;
}
.accordion-box label {
    height: 140px; /* グラデーションの高さ */
    cursor: pointer;
    text-align: center;
    font-size: 12px;
    position: absolute;
    bottom: 0;
    width: 100%;

    /* 以下グラデーションは「背景が白」に併せて設定しています */ 
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
}
.accordion-box input:checked + label {
    background: inherit; /* 開いた時には背景グラデーションを消す */
}
.accordion-box label:after {
    content: "続きをよむ"; /* ラベルの文字 */
    letter-spacing: .05em;
    line-height: 2.5rem;
    position: absolute;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    color: #fff;
    background-color: #494949;
    width: 8.75rem;
	font-size: 16px;
}

.accordion-box input {
    display: none;
}
.accordion-box .accordion-container {
    overflow: hidden;
    height: 200px; /* 開く前に見えている部分の高さ */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
	margin-bottom:10%;
	border: solid 1px #494949;
    padding: 2%;
}
.accordion-box input:checked + label {
    /* display: none ; 閉じるボタンは要らないとき */
}
.accordion-box input:checked + label:after {
    content: "閉じる";
}

.accordion-box input:checked ~ .accordion-container {
    height: auto;
    padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}
  .policy p {
	width: 95%;
    padding: 1%;
  }
  @media (max-width: 767px){
	.policy_ttl{
		margin-top: 0;
		font-size: 21px;
	}
	.policy p {
		font-size: 10px;
	}
  }

/* -------------------追従CTA------------------- */


.floating_inner{
	position: fixed;
    bottom: 0px;
    text-align: center;
    z-index: 800;
    transition: 0.5s;
}
.following_bg{
    max-width: 700px;
}
.floating_cta{
	position: absolute;
	bottom: 0%;
	width: 95%;
	margin: 0 auto;
	left: 0;
	right: 0;
	filter: drop-shadow(3px 3px 3px #04406f);
}

/* -------------------離脱ポップ----------------- */
  .madal_container {
	background: rgba(0, 0, 0, .7);
	position: fixed;
	width: 100%;
	height: 100%;
	display: none;
	z-index: 10000;
}

.madal_contents {
    width: 29%;
    height: auto;
    position: absolute;
    top: 44%;
    left: 50%;
	  -ms-transform: translate(-50%, -50%);
	  -webkit-transform: translate(-50%, -50%);
	  transform: translate(-50%, -50%);
}

.madal_contents span {
	  cursor: pointer;
	  position: absolute;
	  top: -38px;
	  right: -33px;
	  color: #fff;
	  font-size: 2em;
	  z-index: 11111;
	  font-weight: bold;
}

.active {
	  display: block !important;
	  animation-name: fadeIn;
	  animation-duration: .2s;
	  animation-fill-mode: both;
}

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

.madal_contents {
	  width: 70%;
	  height: auto;
	  position: absolute;
	  top: 35%;
	  left: 0;
	  right: 0;
	  margin: auto;
	  transform: inherit;
}

.madal_contents span {
	  cursor: pointer;
	  position: absolute;
	  top: -26px;
	  right: -23px;
	  color: #fff;
	  font-size: 1.5em;
	  Z-INDEX: 11111;
	  font-weight: bold;
}
}
.rela{
    position: relative;
}
.madal_contents img{
    width: 100%;   
}
/* -------------------フッター----------------- */
footer{
	padding: 5% 0;
	background-color: #707070;
	text-align: center;
}
footer a{
	color: #fff;
}
@media (max-width: 767px){
	footer{
		padding: 10% 0;
	}
}

/* 点滅 */
.blinking{
	-webkit-animation:blink 0.8s ease-in-out infinite alternate;
    -moz-animation:blink 0.8s ease-in-out infinite alternate;
    animation:blink 0.8s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

/* ---------中古洗濯機買取り販売会社募集-------- */

.bosyu_ttl{
	width: 60%;
	margin: 0 auto;
	margin-bottom: 5%;
}
.bosyu_box {
    margin-bottom: 50px;
    padding-bottom:20px;
    background: #fff;
    border: solid 3px #006cc0;
    line-height: 1.5;
    font-size: 1.5rem;
    border-radius: 10px;
    margin-top: 1%;
    color: #006cc0;
    font-weight: bold;
    text-align: center;
}
.bosyu_box img {
    display: inline;
}
.bosyu_img {
    width: 70%
}
.fv_cta02 {
    width: 93%;
    margin: auto;
}
  @media (max-width: 767px) {
    .bosyu_box {
        max-width: 87%;
        font-size: 1.1rem;
        padding: 0% 2% 3% 2%;
        margin: 0 auto 50px;
    }
    .bosyu_img {
        width: 90%
    }
    .fv_cta02 {
        width: 100%;
    }
 }



 .cta {
    position: relative;
    width: 100%;
    z-index: 1;
    max-width: 650px;
    margin: 1% auto;
}
.cta a::before,
.cta a::after {
    content: "";
    position: absolute;
    z-index: -10;
    width: 100%;
    height: 84%;
    top: 7%;
    right: 0;
    margin: 0 auto;
    border-radius: 10px;
    transform: translate3d(0, 0, 0);
}
.cta a::before {
    animation: aura 3s ease-out infinite;
}
.cta a::after,
.cta02 a::after {
    animation: aura 3s ease-out 1.5s infinite;
}
.cta a::before,
.cta a::after {
    background: #f5354d;
}
@keyframes aura {
    0% {
        transform: scale(0.95);
        opacity: 1;
    }
    90% {
        opacity: 0.1;
    }
    to {
        transform: scale(1.2, 1.5);
        opacity: 0;
    }
}
@keyframes aura2 {
    0% {
        transform: scale(0.95);
        opacity: 1;
    }
    90% {
        opacity: 0.1;
    }
    to {
        transform: scale(1.1, 1.2);
        opacity: 0;
    }
}

#current-time{
	color: #fff;
	padding: 0 0 0 95px;
	margin-top: 10px;
}