@charset "UTF-8";

/* select_cat
--------------------------------*/
.select_cat {
	margin-top: 30px;
	margin-bottom: 50px;
}
.select_cat .txt {
	text-align: center;
	margin-top: 20px;
}
.select_cat .marker {
	text-align: center;
	background: linear-gradient(transparent 70%, #ffff00 70%);
}
.select_cat .cate {
	display: flex;
	flex-wrap: wrap;
	max-width: 1118px;
	margin: 20px auto 0;
}
.select_cat .cate li {
	position: relative;
	margin-right: 10px;
}
.select_cat .cate li:nth-child(4n) {
	margin-right: 0;
}
.select_cat .cate li:nth-child(n+5) {
	margin-top: 10px;
}
.select_cat .cate label {
	display: inline-block;
}
.select_cat .cate label input {
	visibility: hidden;
	width: 1px;
	position: absolute;
	top: 0;
}
.select_cat .cate label span {
	font-size: 1.8rem;
	color: #969696;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 272px;
	height: 60px;
	border: 5px solid #969696;
	border-radius: 5px;
	cursor: pointer;
}
.ie .select_cat .cate label span {
	padding-top: 1px;
}
.select_cat .cate label span::before, .select_cat .cate label span::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 15px;
}
.ie .select_cat .cate label span::before, .ie .select_cat .cate label span::after {
	margin-top: -4px;
}
.select_cat .cate label span::before {
	width: 20px;
	height: 20px;
	background: #969696;
	border-radius: 50%;
	transform: translateY(-50%);
}
.select_cat .cate label span::after {
	left: 20px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	width: 10px;
	height: 8px;
	transform: translateY(-65%) rotate(-45deg);
}
.select_cat .cate label input:checked + span {
	color: #00a53c;
	border-color: #00a53c;
}
.select_cat .cate label input:checked + span::before {
	background: #00a53c;
}
.select_cat .btn {
	margin-top: 40px;
}

.deco_btn{
    position: relative;
    width: 300px;
    margin: 0 auto 40px;
}
.deco_btn:after{
    content: "";
    width: 30px;
    height: 30px;
    background:linear-gradient(45deg,#018832 50%,transparent 50%);
    display: block;
    position: absolute;
    transform: rotate(-45deg);
    bottom: -15px;
    left: calc(50% - 15px);
}
.deco_btn:before{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url(../img/reform/btn_deco.png) no-repeat;
    position: absolute;
    z-index: 1;
    bottom: -9px;
    left: calc(50% - 8px);
    background-size: contain;
    cursor: pointer;
}
.deco_btn input.btn_normal{
    background: linear-gradient(to top,#018832 5%,#00a53c);
}
#photo .list li{
    height: 222px;
}
#photo .list li a figure{
    height: 100%;
}
#photo .list li a figure img{
    height: 100%;
    object-fit: cover;
}



@media screen and (max-width: 767px) {
	.select_cat {
		margin-top: 3%;
	}
	.select_cat .txt {
		margin-top: 4%;
	}
	.select_cat .cate {
		max-width: 100%;
		margin: 4% auto 0;
	}
	.select_cat .cate li, .select_cat .cate li:nth-child(4n) {
		position: relative;
		width: 49%;
		margin-right: 2%;
	}
	.select_cat .cate li:nth-child(2n) {
		margin-right: 0;
	}
	.select_cat .cate li:nth-child(n+3) {
		margin-top: 2%;
	}
	.select_cat .cate label {
		display: block;
		width: 100%;
	}
	.select_cat .cate label span {
		font-size: 3vw;
		width: 100%;
		height: 12.7vw;
		border-width: 3px;
		border-radius: 1.25vw;
		padding-left: 1vw;
		letter-spacing: -1px;
	}
	.select_cat .cate label span::before, .select_cat .cate label span::after {
		left: 2.5vw;
	}
	.select_cat .cate label span::before {
		width: 5.5vw;
		height: 5.5vw;
	}
	.select_cat .cate label span::after {
		left: 3.9vw;
		width: 2.7vw;
		height: 2vw;
	}
	.select_cat .btn {
		margin-top: 11.2%;
	}
    #photo .list li{
        height: 41vw;
    }
}

#reform{
	background-color: #e6e6e6;
	padding: 70px 0;
}
.result{
	padding-bottom: 8px;
	border-bottom: 1px solid #c8c8c8;
	margin-bottom: 40px;
}
.reform_list{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
}
.reform_article{
	width: 31%;
	margin-right: 3.5%;
	margin-bottom: 50px;
}
.reform_article:nth-of-type(3n){
	margin-right: 0;
}
.reform_article figure{
    width: 100%;
    height: 270px;
    background-color: #fff;
}
.reform_article figure img{
    display: block;
    width: auto;
    height: 100%;
    margin: 0 auto;
}


.reform_area{
	font-size: 16px;
	margin-top: 6px;
	margin-bottom: 10px;
}
.reform_title{
	font-size: 20px;
	line-height: 1.4;
}
.reform_area .icon {
    width: 16px;
    margin-top: -.7em;
    margin-right: 5px;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
}

@media screen and (max-width: 767px) {
	#reform{
		padding: 10vw 3vw;
	}
	.reform_article{
		width: 100%;
		margin-right: 0!important;
	}
}




/* contact
--------------------------------*/
.marker {
    background: linear-gradient(transparent calc(100% - 5px), #ffff00 5px);
	background-position: 0 -5px;
}
#reform_contact > div{
	padding: 55px 0 0;
	margin-top:80px;
	position: relative;
	border: 2px solid #2e9994;
	border-radius: 5px;
	background: url(../img/case/img01.png) 10px 243px no-repeat,
				url(../img/case/img02.png) calc(100% - 10px) 243px no-repeat;
}
#reform_contact h2 {
	color: #fff;
	text-align: center;
	width: 340px;
	background-color: #2e9994;
	height: 40px;
	border-radius: 20px;
	position: absolute;
	top: -20px;
	left: calc(50% - 170px);
	font-size: 18px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
}
#reform_contact .txt1{
	font-size: 30px;
	text-align: center;
	margin-bottom: 20px;
}
#reform_contact .txt2{
	text-align: center;
	font-size: 18px;
	margin-bottom: 20px;
}
#reform_contact h2 .icon{
	margin-right: 6px;
}
#reform_contact .btn {
	margin-top: 35px;
}
#reform_contact .btn_normal {
	font-size: 24px;
	height: 110px;
	max-width: 606px;
	color: #fff;
	border-radius: 5px;
	background-color: #2e9994;
}
#reform_contact .btn_normal::before {
    border: 6px solid transparent;
    border-left: 5px solid #fff;
}
#reform_contact .btn_normal::after{
	content: "";
	background: url(../img/case/icon_mail.png) 0 0 no-repeat;
	width: 42px;
	height: 42px;
	display: block;
	position: absolute;
	top: calc(50% - 21px);
	left: 40px;
}
#reform_contact .tel_area_wrap{
	background-color: #2e9994;
	padding: 40px 0;
	margin-top: 50px;
}
#reform_contact .tel_area_wrap > p{
	text-align: center;
	color: #fff;
	font-size: 18px;
	margin-bottom: 24px;
}
#reform_contact .tel_area {
	display: flex;
	justify-content: center;
}
#reform_contact .tel_area p{
    margin-right: 20px;
    width: 336px;
}
#reform_contact .tel_area p:last-child {
	margin-right: 0;
}
#reform_contact .tel_area p a{
    font-size: 3rem;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-radius: 5px;
    padding: 0;
    border: 1px solid #fff;
    pointer-events: none;
    flex-wrap: wrap;
}
#reform_contact .tel_area .pref{
    font-size: 2.4rem;
    text-align: center;
    color: #2e9994;
    border-radius: 3px 3px 0 0;
    background: #fff;
    display: inline-block;
    width: 100%;
    height: 40px;
    margin-right: 0;
    line-height: 40px;
}
#reform_contact .tel_area .icon{
    width: 53px;
    line-height: 1;
    display: inline-block;
    margin-right: 10px;
    margin-left: 20px;
}

#reform_contact .tel {
	text-align: center;
	margin-top: 10px;
}

#reform_contact .tel a {
	font-size: 6rem;
	line-height: 1;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

#reform_contact .tel .free {
	font-size: 2rem;
	color: #2e9994;
	border-radius: 5px;
	background: #fff;
	width: 205px;
	height: 55px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 5px;
	margin-right: 10px;
}

#reform_contact .tel .icon {
	margin-right: 10px;
}

@media screen and (max-width: 767px) {
	#reform_contact > div{
		background: none;
	}
	#reform_contact .txt1 {
		font-size: 4.5vw;
		text-align: left;
		padding: 0 5%;
	}
	#reform_contact .txt2 {
		font-size: 3.5vw;
		text-align: left;
		padding: 0 5%;
		line-height: 1.4;
	}
	#reform_contact .btn {
		margin-top: 4.2%;
	}
	#reform_contact .btn_normal {
		font-size: 4vw;
		max-width: 90%;
		height: 14vw;
	}
	#reform_contact .btn_normal::after{
		display: none;
	}
	#reform_contact .tel_area {
		display: block;
		width: 94.5%;
		margin: 5.7% auto 0;
	}
	#reform_contact .tel_area p {
		margin-right: 0;
		margin-top: 5.7%;
		width: 100%;
	}
	#reform_contact .tel_area p:first-child {
		margin-top: 0;
	}
	#reform_contact .tel_area p a {
    font-size: 6.5vw;
    border-radius: 1.25vw;
    padding: 0;
    justify-content: center;
    pointer-events: auto;
}
	#reform_contact .tel_area .pref{
    font-size: 4.5vw;
    border-radius: 3px 3px 0 0;
    width: 100%;
    height: 35px;
    margin-right: 0;
    line-height: 35px;
}
	#reform_contact .tel_area .icon {
		width: 13.5vw;
		margin-right: 2.5vw;
		margin-left: 0;
	}
	#reform_contact .tel {
		margin-top: 4%;
	}

	#reform_contact .tel a {
		font-size: 9.5vw;
		display: block;
		pointer-events: auto;
	}

	#reform_contact .tel .free {
		font-size: 4vw;
		border-radius: 1.25vw;
		width: 92%;
		height: 12vw;
		margin: 0 auto 2%;
	}

	#reform_contact .tel .icon {
		width: 16.5vw;
		margin-right: 2.5vw;
		display: inline-block;
	}
}

/*******single-case*******/
.reformtag{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
	margin-top: 20px;
	margin-bottom: 40px;
}
.reformtag li{
	margin-right: 10px;
}
.reformtag li a{
	display: block;
	padding: 8px 15px;
	color: #fff;
	border-radius: 5px;
	background-color: #2e9994;
}
.bfaf{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	background-color: #e6e6e6;
	padding: 40px;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.bfaf .bfaf_img{
	width: 780px;
	height: 510px;
	position: relative;
    background-color: #fff;
}
.bfaf .bfimg,
.bfaf .afimg{
	background-color: #fff;
}
.bfaf .bfimg,
.bfaf .afimg,
.bfaf .bfimg .land_box,
.bfaf .afimg .land_box,
.bfaf figure{
	width: 780px;
	height: 510px;
	position: absolute;
	top: 0;
	left: 0;
}
.bfaf .land_box figure,
.bfaf .afimg .land_slider,
.bfaf .bfimg .land_slider{
	width: 780px;
	height: 510px;
	position: relative;
}
.bfaf .afimg img,
.bfaf .bfimg img,
.bfaf figure img{
    display: block;
	width: auto;
	height: 510px;
	margin: 0 auto;
}
.bfaf > .bfaf_btn{
	width: 260px;
}
.bfaf ul li{
	width: 140px;
	height: 140px;
	font-size: 24px;
	color: #00a53c;
	text-align: center;
	border-radius: 50%;
	background-color: #ffffff;
	box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
	cursor: pointer;
	line-height: 1.4;
	padding-top: 40px;
	margin: 0 auto 16px;
}
.bfaf ul li.on{
	border-radius: 50%;
	background-color: #00a53c;
	color: #fff;
	box-shadow: 0px 0px 15px -5px rgba(0,0,0,0.5) inset;
}

.bfaf ul li span{
	display: block;
	font-size: 14px;
}
.bfaf h3{
	font-size: 24px;
	padding-bottom: 12px;
	border-bottom: 1px solid #c6c6c6;
	margin-bottom: 20px;
}
.bfaf p{
	margin-bottom: 40px;
	position: relative;
}
.bfaf p::after{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 8.5px 0 8.5px;
	border-color: #000 transparent transparent transparent;
	position: absolute;
	left: calc(50% - 8.5px);
	top: calc(100% + 10px);
}
#reform_beforeafter .text{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#reform_beforeafter .text > p{
	width: min(580px, 100%);
    font-size: 1.8rem;
    line-height: 36px;
}
#reform_beforeafter .text > dl{
	width: min(540px, 100%);
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #c8c8c8;
}
#reform_beforeafter .text > dl dt,
#reform_beforeafter .text > dl dd{
	border-bottom: 1px solid #c8c8c8;
	padding: 10px 20px;
}
#reform_beforeafter .text > dl dt{
	width: 37%;
	background-color: #e6e6e6;
}
#reform_beforeafter .text > dl dd{
	width: 63%;	
}
.ttl_b_line{
	margin-top: 0;
}

.btn_reform_link{
	display: block;
	margin: 80px auto;
	width: 300px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	color: #fff;
	font-size: 16px;
	border-radius: 5px;
	background-image: url(../img/whatsnew/link_dots.png);
	background-position: 10px center;
	background-repeat: no-repeat;
	background-color: #323232;
}

@media screen and (max-width: 767px) {
	.reformtag li{
		margin-bottom: 10px;
	}
	.bfaf{
		flex-direction: column-reverse;
		padding: 20px;
	}
	.bfaf > .bfaf_btn{
		width: 100%;
	}
	.bfaf ul{
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		justify-content: center;
	}
	.bfaf ul li{
		width: 30vw;
		height: 30vw;
		margin: 0 10px 30px;
		padding-top: 7.5vw;
		font-size: 6vw;
	}
	.bfaf ul li span{
		font-size: 3vw;
	}
	.bfaf .land_box figure,
	.bfaf .afimg .land_slider,
	.bfaf .bfimg .land_slider,
	.bfaf .bfimg,
	.bfaf .afimg,
	.bfaf .bfimg .land_box,
	.bfaf .afimg .land_box,
	.bfaf figure,
	.bfaf .bfaf_img,
	.bfaf .bfaf_img figure{
		width: 100%;
		height: 60vw;
	}
	.bfaf .afimg img,
	.bfaf .bfimg img,
	.bfaf figure img{
		height: 100%;
		object-fit: contain;
	}
	.bfaf .slick-arrow{
		top: 50%;
	}
	#reform_beforeafter .text > p{
		margin-bottom: 20px;
	}
	#reform_contact h2{
		width: 94%;
		left: 3%;
	}
}
	

















