@charset "UTF-8";
/* CSS Document */

/*===共通部分==============
====================================================================*/
html{
	font-size: 100%;
}
body{
	position: relative;
	font-family: yu-gothic-pr6n, sans-serif;
	font-weight: 500;
	line-height: 1.7;
	color: #000;
	font-size: 16px;
	background: #fff;
	-webkit-font-smoothing: antialiased;/*アンチエイリアスを滑らかに*/
	-moz-osx-font-smoothing: grayscale;
}
@media (max-width: 450px){
	body{
		font-size: 0.9rem;
	}
}
a{
	text-decoration: none;
	color: #000;
	transition: .4s;
}
ul,ol{
	list-style: none;
	padding: 0;
}
svg{
	padding: 0;
	margin: 0;
	vertical-align: bottom;
	min-height: 0%;
}
img{
  	line-height: 1;
	vertical-align: top;
	max-width: 100%;
	transition: .4s;
}
.img{
	min-height: 0%;
}
.img img{
	display: block;
	width: 100%;
}
.img a{
	display: block;
	width: 100%;
	background: #fff;
}
.img a:hover img{
	opacity: .8;
}

.inner{
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
}


.mg80{
	margin-bottom: 80px;
}
.mg60{
	margin-bottom: 60px;
}
.mg40{
	margin-bottom: 40px;
}
.mg20{
	margin-bottom: 20px;
}
.mg10{
	margin-bottom: 10px;
}
.lh2{
	line-height: 2;
}
.pmg p{
	margin-bottom: 10px;
}
.pmg15 p{
	margin-bottom: 15px;
}


/*Title*/
h2.title{
	margin-bottom: 40px;
	color: #000;
}
h2.title span.en{
	display: block;
	font-family: 'Readex Pro', sans-serif;
	font-weight: 400;
	font-size: 3rem;
	letter-spacing: 0.2rem;
	text-transform: capitalize;
	line-height: 1.2;
	color: #26973a;
}
h2.title span.ja{
	display: flex;
  	align-items: center;
  	justify-content: center;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 1.1rem;
	font-weight: bold;
	color: #4A2E0F;
}
h2.title span.ja::before{
	content: '';
	border-top: 1px solid;
	width: 2em;
	margin-right: .5em;
}
h2.title.center span.ja{
	width: 100%;
}
h2.title.center span.ja::before{
	display: none;
}
h2.title.white span.en,
h2.title.white span.ja{
	color: #fff;
}


/*mtitle*/
.mtitle{
	border: 1px solid #c2c2c2;
	border-left: 10px solid #26973a;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 10px;
	margin-bottom: 20px;
	background: #fff;
}

/*stitle*/
.stitle{
	position: relative;
  	font-size: 1.4rem;
	font-weight: bold;
	border-bottom: 2px solid #34AD23;
	margin-bottom: 40px;
}
.stitle::before{
	content: '';
	position: absolute;
	bottom: -2px;
	width: 100px;
	height: 2px;
	background: #26973a;
}

/*dtitle*/
.dtitle{
	font-weight: bold;
	font-size: 1.4rem;
	text-align: center;
}
.dtitle::after{
	content: '';
	display: block;
	width: 150px;
	height: 1px;
	background: #000;
	margin: 20px auto 40px;
}
@media (max-width: 750px){
	.dtitle{
		font-size: 1.2rem;
	}
}

.ntitle{
	font-size: 1.2rem;
	margin-bottom: 15px;
	border-bottom: 1px solid #eee;
}
.ntitle::before{
	font-family: "Font Awesome 5 Free";
	content: "\f105";
	font-weight: bold;
	margin-right: 10px;
	color: #26973a;
}

.center{
	text-align: center;
}
.bold{
	font-weight: bold;
	font-size: 1.2rem;
}


/*ボタン*/
.sbtn{
	text-align: center;
}
.sbtn a{
	display: block;
	border: 1px solid #fff;
	margin: 0 auto;
	text-align: center;
	max-width: 300px;
	padding: 15px 0;
	border-radius: 40px;
	letter-spacing: 0.1em;
	font-weight: bold;
	font-size: 0.9rem;
	color: #fff;
	transition: all .5s ease;
	background-image: linear-gradient(to right,#26973a 0%,#34AD23 50%,#26973a 100%);
    background-size: 200% auto;
    background-position: left center;
}
.sbtn a:hover{
	background-position:right center;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}
.sbtn.insta a{
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
}
.sbtn.insta a:hover{
	opacity: 0.8;
}
.m_contact a{
	min-width: 280px;
}


/*2行の基本Table*/
.info_table{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	font-weight: normal;
}
.info_table tr{
	border: 2px solid #f5f5f5;
}
.info_table th {
	background: #26973a;
	color: #fff;
	width: 30%;
	border-right: 2px solid #f5f5f5;
}
.info_table th,
.info_table td {
	padding: 15px 0;
}
.info_table td{
	padding-left: 10px;
}
.info_table td {
	background: #fff;
	width: 70%;
	border-right: 2px solid #f5f5f5;
	border-left: 2px solid #f5f5f5;
}

/*スタイリッシュver*/
.info_table02{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	font-weight: normal;
}
.info_table02 tr{
	border-bottom: 2px solid #f5f5f5;
}
.info_table02 th{
	width: 30%;
	border-bottom: 2px solid #26973a;
}
.info_table02 th,
.info_table02 td {
	padding: 15px 0;
}
.info_table02 td{
	padding-left: 10px;
}
.info_table02 td{
	width: 70%;
}


/*改行*/
@media (min-width: 451px){
	br.only450{
		display: none;
	}
}

@media (max-width: 450px){
	br.not450{
		display: none;
	}
}

span.ib{
	display: inline-block;
}


/*list*/
ul.check_list li{
}
ul.check_list li::before{
	font-family: "Font Awesome 5 Free";
	content: "\f058";
	font-weight: bold;
	display: inline-block;
	color: #26973a;
	margin-right: .5em;
	font-size: .9em;
}

ul.dot_list li{
	margin-bottom: 5px;
}
ul.dot_list li::before{
	content: '・';
	color: #26973a;
	margin-right: 5px;
}

ul.care_list li{
	margin-bottom: 5px;
}
ul.care_list li::before{
	content: '※';
	color: #f05742;
	font-weight: bold;
}

/*===info_flexbox======*/
/*画像 + テキスト 通常のflex*/
.info_flexbox{
	display: flex;
	justify-content: space-between;
}
.info_flexbox .img{
	width: 48%;
}
.info_flexbox .text{
	width: 48%;
}
@media (max-width: 750px){
	.info_flexbox{
		display: block;
	}
	.info_flexbox .img{
		width: 100%;
	}
	.info_flexbox .text{
		width: 100%;
	}
}

/*画像 + テキスト 上下逆転のflex*/
.info_flexbox_reverse{
	display: flex;
	justify-content: space-between;
}
.info_flexbox_reverse .text{
	width: 48%;
}
.info_flexbox_reverse .img{
	width: 48%;
}
@media (max-width: 750px){
	.info_flexbox_reverse{
		flex-direction: column-reverse;
	}
	.info_flexbox_reverse .text{
		width: 100%;
	}
	.info_flexbox_reverse .img{
		width: 100%;
	}
}

.img_wrap3{
	display: flex;
	justify-content: space-between;
}
.img_wrap3 .img{
	width: 32%;
}

/*===// 共通部分ここまで ===========*/






/*===ヘッダー==============================*/
.site_header{
	padding: 15px 0;
	border-bottom: 1px solid #eee;
	background: #fff;
}
.sticky{
	position: sticky;
	top: 0;
	z-index: 100;
}
.site_header .header_top{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}
.site_header h1{
	width: 380px;
}
.site_header h1 a{
	display: block;
	width: 100%;
}
.site_header h1 a img{
	display: block;
	width: 100%;
	transition: .4s;
}
.site_header h1 a:hover img{
	opacity: .6;
}

.site_header .header_right{
}
.site_header .tr{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.site_header .tr p{
	color: #ff4a32;
	font-weight: bold;
	font-size: 1rem;
	text-align: right;
	line-height: 1.3;
}
.site_header .tr .sbtn a{
	min-width: 220px;
	padding: 10px 0;
	margin-left: 15px;
	font-size: 1rem;
}

/*global_nav*/
.global_nav{
}
.global_nav ul{
	display: flex;
	justify-content: space-between;
}
.global_nav li{
	width: calc(100% / 6);
	border-left: 1px solid #ccc;
}
.global_nav ul li:last-child{
	border-right: 1px solid #ccc;
}
.global_nav li a{
	display: block;
	width: 100%;
	font-size: 1rem;
	text-align: center;
	line-height: 1;
	font-weight: bold;
}
.global_nav li a span{
	display: block;
	text-transform: capitalize;
	font-family: 'Readex Pro', sans-serif;
	color: #8e6146;
	letter-spacing: 0.2rem;
	font-weight: 400;
	line-height: 1.7;
	transition: 0.4s;
}
.global_nav li a:hover{
	background: #ffe;
}
.global_nav li a:hover span{
	color: #26973a;
	text-shadow: 0px 0px rgb(63 63 63 / 20%);
}

@media (max-width: 960px){
	.site_header .header_top{
		margin-bottom: 0;
	}
	.site_header .tr{
		display: none;
	}
	.global_nav{
		display: none;
	}
}
@media (max-width: 750px){
	.site_header{
		padding: 20px 0;
	}
	.site_header h1{
		width: 260px;
	}
}



/*===スライダー==============================*/
.top_slider{
	overflow: hidden;
}
.top_slider .slider{
	width: 100%;
}
.top_slider .slider li{
	width: 100%;
	height: 80vh;
	min-height: 400px;
	position: relative;
}
.top_slider .slider li::after{
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255,1);
	z-index: 1;
	animation: apper 2s ease-in-out;
	opacity: 0;
}
@keyframes apper {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
.top_slider .slider li .slide_img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.07);
}
.top_slider .slick-active .slide_img{
	position: relative;
	animation: zoom 9s ease-in-out 0s forwards;
}
@keyframes zoom {
  0% {
		transform: scale(1);
	}
  100% {
		transform: scale(1.07);
	}
}


/*キャッチ*/
.top_slider li .catch{
	position: absolute;
	top: 50%;
    left: 0;
	transform: translateY(-50%);
	width: 100% ;
	pointer-events: none;
	z-index: 3;
	text-align: center;
	opacity: 0;
}
.top_slider li .catch h3{
	font-family: 'Readex Pro', sans-serif;
	text-transform: capitalize;
	font-weight: 500;
	font-size: 6rem;
	letter-spacing: 0.2rem;
    padding: 0;
    color: rgba(38,151,58, 0.8);
    text-shadow: #fff 0px 0px 1px, #fff 0px 0px 2px, #fff 0px 0px 3px, #fff 0px 0px 4px, #fff 0px 0px 5px, #fff 0px 0px 6px;
}
.top_slider li .catch p{
	text-shadow: rgb(255, 255, 255) 0px 0px 1px, rgb(255, 255, 255) 0px 0px 2px, rgb(255, 255, 255) 0px 0px 3px, rgb(255, 255, 255) 0px 0px 4px, rgb(255, 255, 255) 0px 0px 5px, rgb(255, 255, 255) 0px 0px 6px;
	font-weight: bold;
	font-size: 2rem;
}
.top_slider .slick-active .catch{
	animation: UpDown 10s ease-in-out;
}
/*Safariのみ*/
_::-webkit-full-page-media, _:future, :root .top_slider li .catch{
	opacity: 1;
}
_::-webkit-full-page-media, _:future, :root .top_slider .slick-active .catch{
	animation: none;
}
@keyframes UpDown {
	0% {
		opacity: 0;
		transform: translateY(-40%);
	}
	30% {
		opacity: 1;
		transform: translateY(-50%);
	}
	40% {
		opacity: 1;
		transform: translateY(-50%);
	}
	80% {
		opacity: 1;
		transform: scale(1) translateY(-50%);
	}
	90% {
		opacity: 0;
	}
	100% {
		opacity: 0;
		transform: scale(0) translateY(-50%);
	}
}
@media (max-width: 750px){
	.top_slider .slider li{
		height: 70vh;
	}
	.top_slider li .catch h3{
		font-size: 4rem;
	}
	.top_slider li .catch p{
		font-size: 1.8rem;
	}
}
@media (max-width: 450px){
	.top_slider li .catch h3{
		font-size: 3rem;
	}
	.top_slider li .catch p{
		font-size: 1.4rem;
	}
}


/*===メイン==============================*/
main{
	display: block;
	position: relative;
}
main section{
	padding: 100px 0;
	position: relative;
}
@media (max-width: 750px){
	main section{
		padding: 60px 0;
	}
}

.notice{
	padding: 60px 0;
}
.notice .text{
	text-align: center;
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
	padding: 20px 5px;
}
.notice .text p{
	color: #ff4a32;
	font-weight: bold;
	font-size: 1.2rem;
	font-size: 1.6rem;
}
@media (max-width: 750px){
	.notice .text p{
		font-size: 1rem;
		font-size: 1.4rem;
	}
}





/*==welcome==============================*/
.welcome .flex{
	display: flex;
}
.welcome .flex .img{
	width: 50%;
	background: url(../img/welcome.jpg);
	background-size: cover;
	background-position: center;
}
.welcome .flex .text{
	width: 50%;
	padding: 40px;
}
.welcome .flex .text h3{
	font-weight: bold;
	font-size: 1.2rem;
	margin-bottom: 30px;
	text-align: center;
	color: #4A2E0F;
}
.welcome .flex .text p{
	line-height: 2;
}
@media (max-width: 960px){
	.welcome .flex{
		flex-direction: column-reverse;
	}
	.welcome .flex .img{
		width: 100%;
		height: 400px;
	}
	.welcome .flex .text{
		width: 100%;
		padding: 0 20px;
		margin: 0 auto 60px;
	}
}


/*===事業紹介==============================*/
.t_business .lede{
	font-weight: bold;
	font-size: 1.2rem;
	color: #4A2E0F;
}
.t_business .flex{
	display: flex;
	flex-wrap: wrap;
}
.t_business .flex .box{
	width: 23%;
	margin: 0 1% 40px;
}
.t_business .flex .box .img{
	margin-bottom: 3px;
}
@media (max-width: 960px){
	.t_business .flex .box{
		width: 31%;
	}
}
@media (max-width: 750px){
	.t_business .flex .box{
		width: 48%;
	}
}





/*===施工実績==============================*/
.t_works{
	z-index: 1;
}
.t_works::after{
	content: '';
	width: 90%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background: #f3f0e7;
	z-index:-1;
}
.mini li{
	margin: 0 10px;
}
.mini a{
	display: block;
	position: relative;
    overflow: hidden;
	min-height: 0%;
	background: #000;
	width: 100%;
	border-radius: 5px 0 5px 0;
}
.mini a::before{
    content: '';
    display: block;
    padding-top: 70%;
}
.mini a img{
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
    position: absolute;
    top: 0;
    left: 0;
	transition: all 0.3s ease;
}
.mini a:hover img{
	opacity: .8;
	transform: scale(1.15);
}

.mini .slide_left, .mini .slide_right{
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	z-index: 1;
	height: 101%;
	width: 50px;
	cursor: pointer;
	display: flex !important;
	justify-content: center;
	align-items: center;
	transition: .8s;
	color: #fff;
	font-weight: normal;
}
.mini .slide_left{
	left: 0;
}
.mini .slide_right{
	right: 0;
}
.mini .slide_left i, .mini .slide_right i{
	display: block;
	font-size: 50px;
	transition: .8s;
}
.mini .slide_left:hover i{
	transform: translate(-6px);
}
.mini .slide_right:hover i{
	transform: translate(6px);
}

@media (max-width: 450px){
	.mini li{
		margin: 0 5px;
	}
	.mini .slide_left, .mini .slide_right{
		font-size: 40px;
		width: 45px;
	}
}


/*===link==============================*/
.link{
	background: url(../img/link_bg.png);
	background-size: 300px;
	background-repeat: no-repeat;
	background-position: center right;
}
.link .flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 960px;
	margin: 0 auto;
}
.link .box{
	width: calc(100% / 3);
	position: relative;
	overflow: hidden;
	transition: .6s;
}
.link .box a{
	display: block;
	transition: .6s;
	width: 100%;
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
}
.link .box a::before{
    content: '';
    display: block;
    padding-top: 100%;
}
.link .box a::after{
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.3);
	z-index:-1;
}
.link .link01 a{
	background-image: url(../img/link01.jpg);
}
.link .link02 a{
	background-image: url(../img/link02.jpg);
}
.link .link03 a{
	background-image: url(../img/link03.jpg);
}
.link .wrapper{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid white;
	color: white;
	width: 200px;
	height: 200px;
	flex-direction: column;
	pointer-events: none;
	z-index: 2;
}
.link .wrapper p{
	font-weight: bold;
	font-size: 2rem;
	text-indent: 0.2em;
	letter-spacing: 0.2em;
	font-family: 'Readex Pro', sans-serif;
}
.link .wrapper span{
	display: block;
	font-weight: bold;
}
.link a:hover{
	transform: scale(1.1);
}

@media (max-width: 960px){
	.link{
		background: none;
	}
	.link .box{
		width: 100%;
	}
	.link .box a::before{
		content: '';
		display: block;
		padding-top: 40%;
	}
	.link .wrapper{
		width: 70%;
		height: 160px;
	}
}
@media (max-width: 750px){
	.link .wrapper{
		width: 70%;
		height: 120px;
	}
}
@media (max-width: 450px){
}


/*===フッター==============================*/
.footer_top{
	background: url(../img/footer.jpg);
	background-size: cover;
	background-position: bottom;
	padding: 60px 0;
	text-align: center;
	color: #fff;
	background-attachment: fixed;
	position: relative;
	z-index: 1;
}
/*Safariのみ*/
_::-webkit-full-page-media, _:future, :root .footer_top{
	background-attachment: scroll;
}
.footer_top::after{
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.3);
	z-index:-1;
	display: none;
}
.footer_top .tail{
	font-weight: bold;
	text-align: center;
	color: #ff4a32;
	background-color: #fff;
	padding: 5px 40px;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
}


.footer_tel a{
	display: block;
	font-size: 1.8rem;
	background: #26973a;
	border: 1px solid #26973a;
	padding: 8px 0;
	max-width: 350px;
	border-radius: 40px;
	color: #fff;
	font-weight: bold;
	margin: 0 auto;
}
.footer_tel a:hover{
	background: #fff;
	color: #26973a;
}

.footer_middle{
	text-align: center;
	padding: 20px;
}
.footer_middle h3{
	width: 80%;
	max-width: 400px;
	margin: 0 auto 10px;
	margin-top: 40px;
}
.footer_middle h3 a{
	display: block;
	width: 100%;
}
.footer_middle h3 a img{
	display: block;
	width: 100%;
}
.footer_middle h3 a:hover img{
	opacity: 0.7;
}
.footer_middle p{
}

.footer_nav{
	margin: 0 auto;
	max-width: 960px;
}
.footer_nav ul{
	display: flex;
	justify-content: space-around;
	width: 100%;
}
.footer_nav ul li{
	width: calc(100% / 6);
	text-align: center;
	border-right: 1px solid #eee;
}
.footer_nav ul li:last-child{
	border: none;
}
.footer_nav ul li a:hover{
	opacity: 0.7;
}

.footer_bottom{
	background: #26973a;
	text-align: center;
	padding: 10px 0;
	color: #fff;
}
@media (max-width: 750px){
	.footer_top::after{
		display: block;
	}
	.footer_nav{
		display: none;
	}
}


/*トップに戻る*/
.page_top{
	opacity: 0;
	pointer-events: none;
  	width: 50px;
  	height: 50px;
  	position: fixed;
  	right: 10px;
  	bottom: 10px;
	border-radius: 50%;
	opacity: 0;
	transition: 1s;
  	background: #26973a;
  	z-index: 50;
}
.page_top a{
	display: block;
	position: relative;
	z-index: 10;
  	width: 100%;
	height: 100%;
	border-radius: 50%;
	box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}
.page_top a i{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  	font-weight: 900;
  	font-size: 25px;
  	color: #fff;
}
.page_top.is_animation{
	opacity: 1;
	pointer-events: all;
	opacity: .6;
}
.page_top.is_animation:hover{
	opacity: 1;
	transform: translateY(-10px);
}


/*=================================*/
/*===下層ページ===============================================================*/
/*下層トップ*/
.kasou_top{
	background: url(../img/kasou_top.jpg);
	background-size: cover;
	background-position: center;
	height: 400px;
	width: 100%;
	display: flex;
	align-items: center;
}
.kasou_top h2{
	font-size: 1.8rem;
	font-weight: bold;
	text-shadow: #fff 0px 0px 1px, #fff 0px 0px 2px, #fff 0px 0px 3px, #fff 0px 0px 4px, #fff 0px 0px 5px, #fff 0px 0px 6px;
}
.kasou_top h2::before{
	content: '';
	display: inline-block;
	width: 6px;
	height: 1.2em;
	background: #26973a;
	margin-right: 8px;
	transform: translateY(20%);
	border-radius: 5px;
}
@media (max-width: 450px){
	.kasou_top{
	  height: 300px;
	}
}

/*パンくず*/
.breadcrumb{
	z-index: 1;
	font-size: 0.9rem;
	color: #000;
}
.breadcrumb li {
	display: inline;
	list-style: none;
	font-weight: normal;
}
.breadcrumb li:after {
	content: '>';
	padding: 0 0.2em;
	vertical-align: top;
}
.breadcrumb li:last-child:after {
	content: '';
}
.breadcrumb li a {
	text-decoration: none;
	font-size: 1.1em;
	color: #26973a;
}
.breadcrumb li:first-child a::before{
	font-family: "Font Awesome 5 Free";
	content: '\f015';
	font-weight: bold;
}


/*===事業紹介ページ==============================*/
.business{
	background: url(../img/trouble02.png);
	background-size: 400px;
	background-repeat: no-repeat;
	background-position: bottom 10px right 10px;
}
.kv_info{
	position: relative;
	overflow: hidden;
}
.kv_info .img{
	position: relative;
	width: 85%;
	z-index: 1;
	box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}
.kv_info .img::before{
    content: '';
    display: block;
    padding-top: 55%;
}
.kv_info .img img{
	display: block;
	object-fit: cover;
	width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.kv_info .img::after{
	content: '';
	width: 1000%;
	height: 100%;
	position: absolute;
    top: 40px;
    left: 20px;
	background: #f3f0e7;
	z-index:-1;
}

.kv_info .text{
	background: #fff;
	position: relative;
	z-index: 2;
	width: 80%;
	margin: 0 10px 0 auto;
	padding: 40px;
	transform: translateY(-50%);
	border-radius: 10px 0 10px 0;
	box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
}
.kv_info .text ul li{
	display: inline-block;
	margin-right: 1em;
	margin-bottom: 1em;
	font-weight: bold;
}
.kv_info .text ul li span{
	background: linear-gradient(transparent 60%, #ff6 60%);
}
.kv_info .text{
	font-size: 1.1rem;
}
@media (max-width: 960px){
	.business{
		background: none;
	}
	.kv_info .img{
		width: 94%;
	}
	.kv_info .img::after{
		left: 0;
	}
	.kv_info .text{
		z-index: 2;
		width: 96%;
		transform: translateY(-40px);
	}
}
@media (max-width: 750px){
	.kv_info{
		margin-bottom: 40px;
	}
	.kv_info .text{
		padding: 30px 20px;
	}
}

.trouble .info_flexbox{
	align-items: center;
}
.trouble .text ul li{
	padding: 10px 0;
	border-bottom: 1px dotted #ccc;
	font-size: 1.4rem;
	color: #4A2E0F;
	font-weight: bold;
}
.trouble .text ul li::before{
	font-family: "Font Awesome 5 Free";
	content: "\f4ad";
	font-weight: bold;
	margin-right: 10px;
	color: #26973a;
}
.trouble .info p{
	font-size: 1.1rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.trouble .info p span{
	background: linear-gradient(transparent 60%, #ff6 60%);
	font-size: 1.4em;
}
@media (max-width: 750px){
	.trouble .text ul li{
		font-size: 1.2rem;
	}
}

/*===ご依頼の流れページ==============================*/
.flow_s .box{
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
	border-bottom: 1px dashed #ccc;
	padding-bottom: 20px;
}
.flow_s .box .img{
	position: relative;
	width: 30%;
	z-index: 1;
}
.flow_s .box .img::before{
    content: '';
    display: block;
    padding-top: 100%;
}
.flow_s .box .img img{
	display: block;
	object-fit: cover;
	width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.flow_s .box .img::after{
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
    top: -10px;
    left: -10px;
	background: #f3f0e7;
	z-index:-1;
}

.flow_s .box .text{
	width: 67%;
}
.flow_s .box .text h3{
	border-bottom: 1px solid #eee;
	font-size: 1.6rem;
	margin-bottom: 30px;
}
.flow_s .box .text h3 span{
	text-transform: uppercase;
	font-family: 'Readex Pro', sans-serif;
	font-weight: bold;
	font-size: 2rem;
	letter-spacing: 0.2rem;
	color: #34AD23;
	display: block;
}
.flow_s .box .text h3 span::before{
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	content: "\f00c";
	font-weight: bold;
	margin-right: 10px;
	font-size: 0.8em;
	transform: translateY(-5px);
}
.flow_s .box .text p{
	font-size: 1.1rem;
	line-height: 2;
}
@media (max-width: 750px){
	.flow_s .box{
		flex-direction: column-reverse;
		margin-bottom: 40px;
	}
	.flow_s .box .img{
		position: relative;
		width: 100%;
	}
	.flow_s .box .img::before{
		content: '';
		display: block;
		padding-top: 60%;
	}
	.flow_s .box .text{
		width: 100%;
		margin-bottom: 20px;
	}
	.flow_s .box .text h3{
		margin-bottom: 20px;
	}
}
@media (max-width: 450px){
	.flow_s .box .text h3{
		font-size: 1.4rem;
	}
	.flow_s .box .text h3 span{
		font-size: 1.8rem;
	}
	.flow_s .box .text p{
		font-size: 1rem;
	}
}



/*===施工実績ページ==============================*/
.works .works_list{
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap-reverse;
}
.works .box{
	width: 49%;
	margin-bottom: 90px;
}
.works .box .flex{
	display: flex;
	justify-content: space-between;
}
.works .box .img{
	width: 45%;
}
.works .box .text{
	width: 53%;
}
.works .box h3{
	background-image: linear-gradient(to right,#26973a 0%,#34AD23 50%,#26973a 100%);
	color: #fff;
	padding: 3px 10px;
	font-size: 1.4rem;
	margin-bottom: 10px;
}
.w_slider li a{
	display: block;
	width: 100%;
	position: relative;
    overflow: hidden;
	min-height: 0%;
}
.w_slider li a::before{
	content: '';
    display: block;
    padding-top: 80%;
}
.w_slider li a img{
	display: block;
	object-fit: cover;
	width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
	transition: all 0.3s ease;
}
.w_slider li a:hover img{
	transform: scale(1.15);
}

/*before/afterの記述*/
.w_slider li a.before::after,
.w_slider li a.after::after{
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
	text-align: right;
	text-shadow: #fff 0px 0px 1px, #fff 0px 0px 2px, #fff 0px 0px 3px, #fff 0px 0px 4px, #fff 0px 0px 5px, #fff 0px 0px 6px;
	color: #26973a;
	text-transform: capitalize;
	font-family: 'Readex Pro', sans-serif;
    font-weight: 400;
	padding-right: 5px;
	letter-spacing: 0.05em;
}
.w_slider li a.before::after{
	content: 'before';
}
.w_slider li a.after::after{
	content: 'after';
}

@media (max-width: 960px){
	.works .box .flex{
		display: block;
	}
	.works .box .img{
		width: 100%;
		margin-bottom: 10px;
	}
	.works .box .text{
		width: 100%;
	}
}
@media (max-width: 750px){
	.works .box{
		width: 100%;
	}
}
@media (max-width: 450px){
	.w_slider li a.before::after,
	.w_slider li a.after::after{
		font-size: 2rem;
	}
}



/**/
.box_opener{
	height: 450px;
	overflow: hidden;
	position: relative;
	animation-duration: 1s;
	animation-fill-mode: both;
}

.slide-down {
	-webkit-animation-name: slideDown;
	animation-name: slideDown;
}
@keyframes slideDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.slide-up {
	-webkit-animation-name: slideUp;
	animation-name: slideUp;
}
@keyframes slideUp {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}

.close-btn, .more-btn{
  display: block;
  width: 100%;
  padding: 80px 0 0;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  background: -moz-linear-gradient(
    top,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 60%
  );
  background: -webkit-linear-gradient(
    top,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 60%
  );
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 60%
  );

}
.close-btn {
	background: none;
}
.slide-up {
	height: 320px;
	padding-bottom: 0;
	overflow: hidden;
}
.slide-down {
	height: auto;
	overflow: visible;
	padding-bottom: 50px;
}
.more-btn p {
	display: inline-block;
	color: #fff;
	cursor: pointer;
	background: #26973a;
	padding: 5px 20px;
	width: 250px;
	border-radius: 20px;
	font-weight: 500;
}
.close-btn {
	padding:0;
}
.close-btn p {
	background: #666;
	font-weight: 500;
}

@media (max-width: 960px){
	
}
@media (max-width: 750px){

}


.anchor_text{
	text-align: center;
	margin-bottom: 20px;
}
.works_anchor{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
.works_anchor a{
	display: block;
	width: 18%;
	text-align: center;
	border: 1px solid #26973a;
	color: #26973a;
	font-weight: bold;
	padding: 3px;
}
.works_anchor a:hover{
	opacity: 0.6;
}
@media (max-width: 960px){
	.works_anchor a{
		width: 48.5%;
		margin-bottom: 10px;
	}
}
@media (max-width: 450px){
	.works_anchor a{
		width: 100%;
	}
}



/*===よくある質問ページ==============================*/
/*アコーディオン*/
.accordion_area{
}
.accordion_area li{
	margin: 10px 0;
}
.accordion_area li .area_wrap{
	border: 1px solid #ccc;
}
.accordion_area li .area_wrap .area_subject{
	cursor: pointer;
	font-size:1rem;
	font-weight: bold;
	transition: all .5s ease;
	display: flex;
	align-items: center;
	padding: 20px 40px;
	position: relative;
	background-image: linear-gradient(to right,#26973a 0%,#34AD23 50%,#26973a 100%);
}
.accordion_area li .area_wrap .en{
	display: block;
	margin-right: 1em;
	color: #e10100;
}
.accordion_area li .area_wrap .area_subject .en{
	color: #fff;
}
.accordion_area li .area_wrap .area_subject h3{
	width: 100%;
	color: #fff;
}
/*アイコンの＋と×*/
.accordion_area li .area_wrap .area_subject::before,
.accordion_area li .area_wrap .area_subject::after{
	position: absolute;
	top:48%;
	right: 15px;
	content:'';
	width: 15px;
	height: 2px;
	background-color: #fff;
}
.accordion_area li .area_wrap .area_subject::before{
	transform: rotate(0deg);
}
.accordion_area li .area_wrap .area_subject::after{
	transform: rotate(90deg);
}
/*area_closeクラスがついたら形状変化*/
.accordion_area li .area_wrap .area_subject.area_close::before{
transform: rotate(45deg);
}
.accordion_area li .area_wrap .area_subject.area_close::after{
transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.accordion_area li .area_wrap .area_box{
	position: relative;
	display: none;/*はじめは非表示*/
	padding: 20px 40px;
	background: #fff;
}
.accordion_area li .area_wrap .area_box .flex{
	display: flex;
}
.accordion_area li .area_wrap .area_box .flex .en{
	color: #e10100;
}
.accordion_area li .area_wrap .area_box .flex .text{
	width: 100%;
	color: #333;
}
.accordion_area li .area_wrap .area_box .flex .text p{
	margin-bottom: 10px;
}


/*===会社概要ページ==============================*/
.bg{
	position: relative;
	z-index: 1;
}
.bg::after{
	content: '';
	width: 100%;
	height: 50%;
	position: absolute;
	top: 0;
	left: 0;
	background: #f3f0e7;
	z-index:-1;
}


/*===倉庫==============================*/
@media (max-width: 960px){
}
@media (max-width: 750px){
}
@media (max-width: 450px){
}

/*Safariのみ*/
_::-webkit-full-page-media, _:future, :root .class{
	background-attachment: scroll;
}