@charset "utf-8";
/* CSS Document */
/* -- common ----------------------------------------------------*/
#main h2{
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	color: #1990CF;
}
#main h2 img{
	width: 80px;
	margin: auto;
}
#main h2 span{
	display: block;
	margin: 20px 0 0;
}
#h01,#h02,#h03,#h04,#h05,#h06 {
    margin: -20px 0;
    padding: 20px 0;
}
#about,#service,#contact,#achievement{
	padding: 100px 0;
}
#reason .bg,#voice .bg{
	background: #FFF8EB;
	padding: 100px 0;
}
/* -- slide ----------------------------------------------------*/
.slider{
	width: 100%;
	height: 800px;
}
.slide01 .img{
	background: url(../img/slider01.jpg);
}
.slide02 .img{
	background: url(../img/slider02.jpg);
}
.slide03 .img{
	background: url(../img/slider03.jpg);
}
.slide01 .img,
.slide02 .img,
.slide03 .img{
	height: 800px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.slick-complete .slick-slide .img{
  transition: transform 5s linear;
}
.slick-complete .slick-slide.slick-current .img {
  transform:scale(1.1);
}
#slide{
	position: relative;
}
#slide .text{
}
#slide .text img{
	width: 100%;
	max-width: 1024px;
	position: absolute;
	margin: auto;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	padding:0 10px;
}
#slide .text img.avatar {
	max-width: 300px;
  bottom: 0;
  top: calc(100% + 15px);
  left: calc(50% + 572px);
}

/* -- feature ----------------------------------------------------*/
#feature {
	background-color: #267DA4;
	position: relative;
}
#feature .block {
	display: flex;
}
#feature .feature_area_l,#feature .feature_area_r {
	flex-basis: 50%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	padding: 32px 62px 40px;
}
#feature .feature_area_l {
	z-index: 2;
	padding-left: 40px;
}
#feature .feature_area_r {
	padding-right: 40px;
}
#feature .textarea,#feature .img_area {
	/* flex-basis: 50%; */
}
#feature .textarea {
	color: #fff;
	flex-basis: 60%;
}
#feature .img_area img {
	width: 80%;
	flex-basis: 40%;
}
#feature .feature_area_l .img_area img {
	margin-left: auto;
	margin-right: 0;
}
#feature .feature_area_r .img_area img {
	margin-left: 0;
	margin-right: auto;
}
/* #feature .textarea ul li:after {
    content: '';
    display: block;
    border-bottom: 0.5px solid #fff;
    margin: 0 0 0.4rem;
} */
#feature .textarea ul li {
    position: relative;
    padding-left: 1.5rem;
}
#feature .textarea ul li:before {
    content: "";
    position: absolute;
    top: 0.3em;
    left: 0;
    -webkit-transform: rotate(50deg);
    -ms-transform: rotate(50deg);
    transform: rotate(50deg);
    width: 5px;
    height: 10px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
}
#feature .background {
	background-color: #4096C6;
	margin-left: -50%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	z-index: 0;
}
/* -- area ----------------------------------------------------*/
#area{
	width: 100%;
	background: #1990CF;
    padding: 20px 10px;
}
#area dl{
	color: #fff;
}
#area dl dd{
	margin: 5px 0 0;
}
/* -- about ----------------------------------------------------*/
#about p{
	text-align: center;
	line-height: 30px;
	margin: 30px 0 0;
}
#about ul{
	width: 100%;
	max-width: 80%;
	margin: 30px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#about ul li{
	width: 28%;
    margin: 0 10px;
}
/* -- reason ----------------------------------------------------*/
#reason .flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#reason .box{
	width: 48%;
	background: #fff;
	margin: 50px 0 0;
	padding: 20px;
	border-top: solid 6px #1990CF;
	line-height: 30px;
}
#reason .box h3{
	text-align: center;
	font-weight: bold;
	font-size: 18px;
}
#reason .box p{
	margin: 20px 0 0;
}
/* -- service ----------------------------------------------------*/
#service .bg{
	background: #1990CF;
	padding: 20px 10px 10px;
	margin: 50px 0 0;
}
#service .bg.co{
	background: #aaa;
}
#service .bg h3{
	text-align: center;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
}
#service .service-img{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin: 50px 0 0;
}
#service .service-img li{
	width: 24%;
}
#service table {
	width: 100%;
  	margin: 20px auto 0;
}
#service .tbl-r02 th {
	background: #FFF8EB;
	border: solid 1px #ccc;
	padding: 10px 16px;
	font-weight: bold;
	font-size: 16px;
	width: 30%;
	vertical-align: middle;
}
#service .tbl-r02 th.none{
	display: none;
}
#service .tbl-r02 td {
	background: #fff;
	border-top: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
	padding: 10px 16px;
    vertical-align: middle;
}
#service .tbl-r02 td.yen{
	font-size: 24px;
	width: 30%;
	text-align: right;
}
#service .tbl-r02 td.yen .on{
	text-decoration: line-through;
}
#service .tbl-r02 td.yen p{
	color: red;
}
#service .tbl-r02 td.yen p.triangle{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #333 transparent transparent transparent;
	margin: 8px 40px 8px auto;
}
#service table small {
    font-size: 70%;
    padding: 0 0.2em;
}
#service .tbl-r02.bathroom td.yen{
	width: 30%;
	text-align: right;
}
#service .tbl-r02 sup {
    font-size: 10px;
    vertical-align: top;
    padding-bottom: 10px;
}
#service .bg .off{
	font-size: 24px;
	text-align: center;
	color: #333;
	background: #fff;
	padding: 16px;
	margin: 20px 0 0;
}
#service .bg .off .it {
    margin: 10px 0 0;
    text-indent: -1em;
    padding-left: 1em;
    display: block;
    text-align: left;
    font-size: 14px;
}
#service .bg .off .it:first-child{
    margin: 0;
}
#service .bg.application .off{
	font-size: 20px;
}
#service .bg.application .off p span{
	color: red;
	font-weight: bold;
}
#service .bg.application .off .it{
	text-align: center;
}
#service .visit {
    color: #fff;
    line-height: 30px;
}
#service .visit .box{
    text-align: center;
    color: #333;
    background: #fff;
    padding: 16px;
    margin: 20px 0 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#service .visit .box dl{
	width: 25%;
	border-right: 1px solid #aaa;
}
#service .visit .box dl:last-child{
	border-right:none;
}

#service .visit .box dl dt{
	font-weight: bold;
}
#service .visit .box dl dd{
	margin: 10px 0 0;
}

#service .area{
	color: #fff;
	line-height: 30px;
}
#service .area dt{
	text-align: center;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
}
#service .area dd{
	margin: 20px 0 0;
	color: #333;
	background: #fff;
	padding: 16px;
}
#service .bg .box.tel  {
    background: #fff;
    padding: 20px;
    margin: 20px 0 0;
    display: flex;
    justify-content: space-between;
}
#service .bg .box.tel .flex{
	display: flex;
	justify-content: space-around;
	align-items: center;
}
#service .bg .box.tel .img{
	width: 50%;
}
#service .bg .box.tel .text{
	width: 50%;
}
#service .bg .box.tel .text p{
	text-align: center;
	font-weight: bold;
	font-size: 16px;
}
#service .bg .box.tel .text a.tel{
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
#service .bg .box.tel .text a.tel p{
	font-weight: bold;
	font-size: 34px;
}
#service .bg .box.tel .text a.tel img{
	width: 50px;
	height: 50px;
	margin: 0 10px 0 0;
}
#service .bg .box.tel .text a.btn{
	width: 80%;
	background: #1990CF;
	text-align: center;
	color: #fff;
	padding: 10px 0;
	margin: 10px auto 0;
	border-radius: 10px;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
}
#service .bg .box.tel .text a.btn img{
	width: 25px;
	height: 25px;
	margin: 0 10px 0 0;
}
#service .bg .box.tel .text a.btn:hover{
	opacity: 0.5;
}


/* -- voice ----------------------------------------------------*/
#achievement {
	background-color: #1990CF;
	color: #fff;
}
#h06{
	/* margin-bottom: 50px; */
}
#h06 span {
	color: #fff;
}
#achievement .block {
	display: flex;
	justify-content: center;
  flex-wrap: wrap;
}
#achievement .achievement_example2,#achievement .achievement_example3 {
	margin-top: 150px;
}
#achievement .achievement_example1 {
	margin-top: 50px;
}
#achievement h3,#achievement .achievement_example1 > p,
#achievement h3,#achievement .achievement_example2 > p,
#achievement h3,#achievement .achievement_example3 > p {
	display: block;
	margin-bottom: 1rem;
	text-align: center;
	width: 100%;
}
#achievement h3 {
	font-size: 2rem;
}
#achievement .achievement_example1 > p,
#achievement .achievement_example2 > p,
#achievement .achievement_example3 > p {
	font-size: 1.6rem	;
	padding: 0 10rem;
}
#achievement .example {
	display: flex;
	justify-content: space-between;
}
#achievement .example_before,#achievement .example_after {
	flex-basis: 48%;
	position: relative;
}
#achievement .example_before {
	margin-right: 1%;
}
#achievement .example_after {
	margin-left: 1%;
}
#achievement .before,#achievement .after{
	border: 1px solid #73C3ED;
	border-radius: 50%;
	height: 155px;
	width: 155px;
	display: inline-flex;
	flex-direction: column;
	margin-top: -13rem;
	padding: 46px 0;
	position: absolute;
	text-align: center;
}
#achievement .after{
	right: 0;
}
#achievement p.white.bold,#achievement p.bule.sub {
	font-size: 2rem;
}
#achievement p.white.bold {
  font-weight: bold;
  margin-bottom: 1.5rem;
}
#achievement p.bule.sub {
  color: #73C3ED;
}
#achievement .example img {

}
/* -- voice ----------------------------------------------------*/
#voice .flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#voice .box{
	width: 48%;
	background: #fff;
	margin: 50px 0 0;
	padding: 20px;
	border-top: solid 6px #1990CF;
	line-height: 30px;
}
#voice .box h3{
	font-weight: bold;
	font-size: 18px;
}
#voice p{
	text-align: center;
	margin: 30px 0 0;
}
#voice .box p{
	text-align: left;
}
#voice .box .area{
	border-top: dashed 1px #eee;
	margin: 20px 0 0;
}
#voice .box .area dl{
	margin: 20px 0 0;
}
#voice .box .area dt{
	width: 100%;
	font-weight: bold;
	background: #1990CF;
    padding: 8px 10px;
    color: #fff;
    text-align: center;
    margin: 0 10px 0 0;
}
#voice .box .area dd{
	margin: 10px 0 0;
}
/* -- recruit ----------------------------------------------------*/
#recruit .bg-img{
	width: 100%;
    padding-top: 450px;
	background: url(../img/bg-recruit.jpg);
	background-repeat: no-repeat;
	background-size: cover;
    background-position: center center;
    position: relative;
}
#recruit .bg-img .mask{
    background: rgba(0,0,0,0.15);
    width: 100%;
	height: 0;
    position: absolute;
    z-index: 100;
    top: 0;
    padding-top: 450px;
}
#recruit .bg-img .box{
	font-weight: bold;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 24%;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 100;
}
#recruit .bg-img .box h2{
	color: #fff;
}
#recruit .bg-img .box h2{
	font-size: 30px;
}
#recruit .bg-img .box p{
	margin: 20px 0 0;
	font-size: 20px;
	line-height: 34px;
}
#recruit .bg-img .box a{
	width: 100%;
	max-width: 280px;
	border: solid 1px #fff;
	font-size: 18px;
	height: 50px;
	line-height: 50px;
	margin: 30px auto 0;
}
#recruit .bg-img .box a:hover{
	border: solid 1px #fff;
	background: #fff;
	color: #333;
	opacity: 1;
}
/* -- contact ----------------------------------------------------*/
#contact .text{
	margin: 30px 0 0;
	text-align: center;
}
#contact  #mail_form{
	margin: 30px 0 0;
}

/* -- 共通スタイル ----------------------------------------------------*/
#area dl dd,#service .area dd,footer .area dd {
	font-size: 12px;
	line-height: 2em;
}






@media screen and (max-width:1423px){
	/* -- slide ----------------------------------------------------*/
	#slide .text img.avatar {
		display: none;
	}
}
@media screen and (max-width:1023px){
	/* -- feature ----------------------------------------------------*/

	#feature .feature_area_l,#feature .feature_area_r {
		flex-wrap: wrap;
		justify-content: center;
	}
	#feature .feature_area_l {
		flex-wrap: wrap-reverse;
	}
	#feature .textarea,#feature .img_area{
		width: 100%;
	}
	#feature .feature_area_l .img_area {
		margin-bottom: 2rem;
	}
	#feature .feature_area_l .img_area img,#feature .feature_area_r .img_area img {
		width: 30%;
		max-width: 150px;
		margin: 0 auto;
	}
	#feature .textarea {
		flex-basis: auto;
		margin: 0 auto;
		width: auto;
	}

}

@media screen and (max-width:899px){
/* -- common ----------------------------------------------------*/
	#main{
		padding: 67px 0 0;
	}
	#main h2{
		font-size: 20px;
	}
	#main h2 img{
		width: 60px;
	}
	#main h2 span{
		margin: 14px 0 0;
	}
	#h01,#h02,#h03,#h04,#h05,#h06 {
	    margin: -80px 0;
	    padding: 80px 0;
	}
	#about,#service,#contact,
	#reason .bg,#voice .bg{
		padding: 50px 0;
	}
/* -- slide ----------------------------------------------------*/
	.slider{
		height: 350px !important;
	}
	.slide01 .img,
	.slide02 .img,
	.slide03 .img{
		height: 350px !important;
	}
	#slide .text img{
		max-width: 500px;
	}

/* -- service ----------------------------------------------------*/
	#service .last td:last-child {
		border-bottom: solid 1px #ccc;
		width: 100%;
	}
	#service .tbl-r02 {
		width: 100%;
		margin: 10px auto;
	}
	#service .tbl-r02 th,
	#service .tbl-r02 td {
	　　	border-bottom: none;
		display: block;
		width: 100%;
		margin: -1px 0 0;
		line-height: 34px;
	}
	#service .tbl-r02 th{
		margin: 10px 0 0;
	}
	#service .tbl-r02 td.none{
		display: none;
	}
	#service .tbl-r02.bathroom td.yen,
	#service .tbl-r02 td.yen {
	    font-size: 24px;
		width: 100%;
		text-align: right;
	}

	/* -- achievement ----------------------------------------------------*/
	#achievement .example {
		justify-content: start;
		flex-direction: column;
	}
	#achievement .example_before,#achievement .example_after {
		margin-top: 15.5rem;
	}
	#achievement .example_before {
		margin-right: 0;
	}
	#achievement .example_after {
		margin-left: 0;
	}
	#achievement .achievement_example3 .before {
    right: 0;
	}
	#achievement .achievement_example1 > p,
	#achievement .achievement_example2 > p,
	#achievement .achievement_example3 > p {
		padding: 0;
	}
	#achievement br {
	  display: none;
	}


/* -- recruit ----------------------------------------------------*/
	#recruit .bg-img{
	    padding-top: 240px;
	}
	#recruit .bg-img .mask{
	    padding-top: 240px;
	}
	#recruit .bg-img .box{
		top: 14%;
	}
	#recruit .bg-img .box h2{
		font-size: 22px;
	}
	#recruit .bg-img .box p{
		margin: 10px 0 0;
		font-size: 18px;
		line-height: 30px;
	}
}
@media screen and (max-width:767px){
	#about p{
		text-align: left;
	}
	#about ul{
		max-width: 100%;
	}
	#about ul li{
		width: 26%;
	}
	#slide .text img{
		width: 70%;
	}
/* -- feature ----------------------------------------------------*/
	#feature .feature_area_l .img_area img,#feature .feature_area_r .img_area img {
	  margin: 0 auto;
	}
	#feature .feature_area_l ,#feature .feature_area_r {
	  padding-left: 20px;
		padding-right: 20px;
	}
/* -- reason----------------------------------------------------*/
	#reason .box{
		width: 100%;
		margin: 30px 0 0;
	}
/* -- service----------------------------------------------------*/
	#service .bg{
		margin: 30px 0 0;
		padding: 20px 6px;
	}
	#service .service-img{
		margin: 30px 0 0;
	}
	#service .service-img li{
		width: 48%;
		margin: 10px 0 0;
	}
	#service .service-img li:nth-child(-n+2){
		margin: 0;
	}
	#service .bg .box .img{
		width: 70%;
		margin: auto;
	}
	#service .bg h3{
	    font-size: 18px;
	}
	#voice .box {
    	width: 100%;
        margin: 30px 0 0;
	}
	#service .bg .box.tel .flex{
		flex-wrap: wrap;
	}
	#service .bg .box.tel .img,
	#service .bg .box.tel .text{
		width: 100%;
	}
	#service .bg .box.tel .img{
		max-width: 80%;
	}
	#service .bg .box.tel .text a.tel {
		margin: 14px 0;
	}
	#service .bg .box.tel .text a.tel p{
		font-size: 28px;
	}
	#service .bg .box.tel .text a.tel img{
		width: 40px;
		height: 40px;
		margin: 0 10px 0 0;
	}
	#service .visit .box dl{
		width: 100%;
		border-top: 1px solid #aaa;
		border-right: none;
		padding: 10px 0;
	}
	#service .visit .box dl:last-child{
		border-bottom: 1px solid #aaa;
	}

	#service .visit .box dl dt{
		font-weight: bold;
	}
	#service .visit .box dl dd{
		margin: 10px 0 0;
	}

	#service .area dt{
	    font-size: 18px;
	}
	#service .bg.application .off,
	#service .bg.application .off .it {
    	text-align: left;
	}

/* -- achievement ----------------------------------------------------*/
#achievement .achievement_example1 > p,
#achievement .achievement_example2 > p,
#achievement .achievement_example3 > p {
	text-align: left;
}

/* -- voice ----------------------------------------------------*/
	#voice p {
		text-align: left;
	}
/* -- contact ----------------------------------------------------*/
	#contact .text{
		text-align: left;
	}
}
@media screen and (max-width:599px){
	#slide .text img{
		width: 100%;
	}
	/* -- feature ----------------------------------------------------*/
	#feature .block {
    flex-direction: column;
	}

	#feature .background {
    display: none;
	}

	.feature_area_l {
    background-color: #4096C6;
		flex-direction: column-reverse;
	}

	#feature .feature_area_l, #feature .feature_area_r {
    padding-left: 0;
    padding-right: 0;
	}

	#feature .feature_area_l {
    margin-left: -10px;
    margin-right: -10px;
	}

	#feature .feature_area_r {
    flex-direction: column;
	}

	#feature .feature_area_l .img_area,#feature .feature_area_r .img_area {
		flex-basis: 60%;
		margin-bottom: 2rem;
	}

	#feature .img_area img {
    margin: 0 auto;
		width: 50%;
	}

	#feature .textarea {
		width: fit-content;
		margin: 0 auto;
	}
}
@media screen and (max-width:320px){
	#service .bg .box .text .price dt p,
	#service .bg .box .text .item p{
		font-size: 10px;
		width: 120px;
	}
	#service .bg .box .text .price dd{
		font-size: 20px;
	}
	#service .bg .box .text .price dt span,
	#service .bg .box .text .item span{
		font-size: 10px;
	}
	#service .bg .box .text .item:first-child:after {
		top: 18px;
		left: 35%;
	}
	#service .bg .box .text .item.br01:first-child:after{
		top: 32px;
	}
	#service .bg .box .text .price2.br01{
		top: 45px;
	}
	#service .bg .box.tel .img{
		max-width: 100%;
	}
	#service .bg .box.tel .text a.tel img {
		width: 30px;
		height: 30px;
	}
	#service .bg .box.tel .text a.tel p {
		font-size: 24px;
	}
	#service .bg .box.tel .text a.btn {
		width: 100%;
	}
}
