@charset "utf-8";

#title h1{
	display: inline-flex;
	align-items: flex-end;
	gap:15px;
}

h1 span{
	font-size:1.3rem;
}

h1 strong{
	font-size:40px;
	display: block;
	margin-top:5px;
}

h1 img{
	height: 1.3em;
	width:auto;
	vertical-align: bottom;
	margin-bottom:-5px;
}


#contant main{
	width:min(100%,1200px);
	display: flex;
	justify-content:space-between;
	align-items: flex-start;
	gap:20px;
	padding:100px 0;
	position: relative;
}

#pan li:nth-last-child(2){
	background-image:url("../../../com/img/pan04.png");
	background-position: center right;
	background-repeat:no-repeat;
}


/*------------------------------

	レスポンシブ

------------------------------*/
@media screen and (max-width: 1200px){
	#contant main{
		padding:100px 20px;
	}
}

@media screen and (max-width: 980px){
	#contant main{
		display: block;
		padding:100px 0 0 0;
		/*padding:50px 4vw;*/
	}
}

@media screen and (max-width: 430px){
	#contant main{
		padding:50px 0 0 0;
	}
	h1 span{
		font-size:1rem;
	}

	h1 strong{
		font-size:1.9rem;
		display: block;
		margin-top:8px;
		letter-spacing: normal;
	}
}
/*------------------------------



	スライド



------------------------------*/

section{
	width:calc(100% - 300px);
	padding:0;
	/*display: none;*/
}
#slide{
	width:100%;
}
#photo{
	width:100%;
	display: block;
	box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.2);
}

#photo.flexslider{
	/*width:746px;*/
	width:100%;
	margin:0 auto;
}

.slick-slider{
	 line-height: 0!important;
}

#photo .item{
	width:100%;
	align-items: center;
	display: none;
	/*position: relative;/
	/*border:1px solid #ddd;*/
	background-color: #E7E7E7;
	border-radius: 5px;
	overflow: hidden;
}

#photo .image,
#photo .image-tate{
	width:100%;
	aspect-ratio: 16 / 9;
	line-height: 0;
	border-radius: 5px;
}

#photo .item img{
	width:100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 5px;
}

#photo .item img.top{
	 object-position:top;
}

#photo .item img.bottom{
	object-position:bottom;
}

#photo dl{
	width:100%;
	background-color:rgba(67,137,109,0.60);
	backdrop-filter: blur(8px);
	padding:8px 10px;
	font-weight: bold;
	position: absolute;
	bottom:0;
	left:0;
	color:#fff;
	border-radius: 0 0 5px 5px;
	line-height: 1.6;
	text-align: center;
}

#photo dt{
	font-size:20px;
	line-height: 1em;
}

#photo dt.small{
	font-size:16px;
}

#photo dd{
	font-size:0.95rem;
	margin-top:5px;
}


#sum{
	width:100%;
	border-radius: 5px;
	background-color:rgba(67,137,109,0.6);
	box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.2);
	margin-top:5px;
}

#sum ul{
	width:100%;
	justify-content: center;
	line-height: 0;
	padding:5px 20px;
	text-align: center;
}

#sum li{
	width:100px;
	background-color: rgba(232,232,232,1.00);
	position:relative;
}

#sum li img{
	width:100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	opacity: 0.5;
	cursor: pointer;
	transition:0.3s;
	object-fit: cover;
}

#sum .slick-current img{
	opacity: 1!important;
	cursor: default;
}


#sum .slick-arrow{
	width:20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items:center;
	translate: none;
	cursor: pointer;
	padding:0 5px;
	position: absolute;
	top:50%;
}

#sum .slick-prev{
	left:0;
	z-index: 10;
}

#sum .slick-next{
	right:0;
}

#sum .slick-track {
  display: flex;
}
#sum .slick-slide {
  height: auto !important;
}


#sum .flex-direction-nav a{
	line-height: 1;
}

#sum .flex-direction-nav a:before,
#sum .flex-direction-nav a.flex-next:before{
	content:'';
	color: rgba(255,255,255,0.80);
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
	opacity: 0;
}

#sum .slick-prev, .slick-next {
	display: block;
	z-index: 1000;
}

#sum .slick-arrow::before{
	content: '';
}

#sum .slick-track{
	justify-content: center;
}
#sum .slick-prev::before{
	content:'';
	width:100%;
	height: 30px;
	display: block;
	background-color: #fff;
	clip-path: polygon(100% 0, 100% 100%, 0 50%);
	opacity: 0.8;
}

#sum .slick-next::after{
	content:'';
	width:100%;
	height: 30px;
	display: block;
	background-color: #fff;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	opacity: 0.8
}

#sum .slick-prev:hover::before,
#sum .slick-next:hover::after{
	opacity: 1;
}

#cachi{
	width:100%;
	margin:40px auto 0 auto;
	text-align: center;
	font-weight: bold;
}

#cachi sup,
#cachi sub{
	font-size:30%;
}

#cachi sup{
	vertical-align: super;
}

#cachi sub{
 vertical-align: sub;
}


/*------------------------------

	レスポンシブ

------------------------------*/

@media screen and (min-width: 981px){
	#sum li:hover img{
		opacity: 0.6;
	}
}

@media screen and (max-width: 980px){
	section{
		width:100%;
		padding:0 4vw;
		display: flex;
		flex-direction: column;
	}
	
	#photo dl{
		text-align: left;
	}
	
}

@media screen and (max-width: 430px){
	#slide{
		width:100%;
		display: flex;
		flex-direction: column;
	}
	#photo .item{
		width:100%;
		flex:1;
		/*aspect-ratio: 9 / 12;	*/
		aspect-ratio:auto;
	}
	#photo .image img{
		aspect-ratio:auto;
	}
	
	#photo dl{
		line-height: 1.4;
	}

	#photo dt{
		font-size:1.15rem;
		line-height: 1.4;
		margn-bottom:5px;
	}

	#photo dt.small{
		font-size:1rem;
	}

	#photo dd{
		font-size:0.95rem;
	}

	#cachi{
		text-align: left;
		font-size:1rem;
	}
}
/*------------------------------

	施工メニュー

------------------------------*/

#work-menu{
	width:250px;
	background-color:#F0F0F0;
	border:1px solid #eaeaea;
	padding:3px 3px 0 3px;
	/*box-shadow:2px 1px 3px 0px #b7b7b7;*/
	border-radius: 3px;
	/*position:sticky;
	top:0;
	right:0;*/
}

#work-menu h2{
	background-color: #5CA48A;
	/*font-family: var(--manchou);*/
	font-size:1.05rem;
	font-weight: 700;
	text-align: center;
	color:#fff;
	line-height: normal;
	padding:10px 0;
	letter-spacing: 0.3em;
	border-radius: 3px 3px 0 0;
}

#work-menu ul{
	display: flex;
	flex-direction: column;
	gap:5px;
	padding:5px 2px;
}

#work-menu li{
	background: #EEEEEE;
background: -webkit-linear-gradient(bottom, rgba(240,240,240,1.00) 0%, rgba(255, 255, 255, 1) 100%);
background: -o-linear-gradient(bottom, rgba(240,240,240,1.00) 0%, rgba(255, 255, 255, 1) 100%);
background: linear-gradient(to top, rgba(240,240,240,1.00) 0%, rgba(255, 255, 255, 1) 100%);
	border-radius: 3px;
	border:1px solid #ddd;	
}

#work-menu li a{
	width:100%;
	height: 100%;
	display: flex;
	align-items: center;
	gap:8px;
	padding:3px;
	color:#111111;
	font-size:0.9rem;
	font-weight: 700;
	text-decoration: none;
	/*background-color: #fff;*/
}

#work-menu li .ico{
	width:50px;
	height: 50px;
	line-height: 0;
}

#work-menu li .ico img{
	width:100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

#work-menu li .text{
	flex:1;
}
#work-menu li a.active{
	background-color: rgba(239,239,239,0.34)
}

#work-menu li a.active .ico,
#work-menu li a.active .text{
	opacity: 0.4;
}

/*------------------------------

	レスポンシブ

------------------------------*/
@media screen and (min-width: 981px){
	#work-menu li{
		position: relative;
	}
	
	#work-menu li::before{
		content:'';
		width:0;
		height: 100%;
		display: block;
		position: absolute;
		left:0;
		top:0;
		z-index: 1;
		background-color: rgba(92,164,138,0.8);
		border-radius: 3px;
		 transition: 0.3s;
	}
	
	#work-menu li:hover::before{
		width: 100%;
	}
	
	#work-menu li a{
		position: relative;
		z-index: 2;
	}
	#work-menu li:hover a .text{
		color:#fff;
	}

}

@media screen and (max-width: 980px){
	#work-menu{
		width:100%;
		margin-top: 150px;
		/*background-color: #fff;*/
		padding:0 0 20px 0;
		border:none;
	}
	
	#work-menu h2{
		text-align: left;
		padding:2px 20px;
		border-radius: 0 0 5px 0;
		margin:0 0 10px 0;
		color: #fff;
		font-size:1.05rem;
		font-weight: 600;
		line-height: 30px;
		display: inline-block;
		box-shadow: inset -2px -2px 3px 0px rgba(0, 0, 0, 0.3);
	}
	
	/*#work-menu h2::after{
		content: '';
		flex:1;
		height: 2px;
		display: block;
		border-top: 1px solid #999999;
		border-bottom: 1px solid #999999;
	}*/
	#work-menu ul{
		padding:0 5px;
		display: grid;
	 	grid-template-columns: repeat(4, 1fr);
	}
	
	#work-menu li{
		
	}
	
	#work-menu li a{
		flex-direction: column;
		border-radius: 3px;
		border:1px solid #ddd;
		position: relative;
	}
	
	#work-menu li a::after{
		
	}
}

@media screen and (min-width:431) and (max-width: 980px){
	#work-menu ul{
	 	grid-template-columns: repeat(4, 1fr);
	}	
}


@media screen and (max-width: 430px){
	#work-menu ul{
	 	grid-template-columns: repeat(2, 1fr);
	}
}



/*------------------------------

	文化財復元技術
	樹木医
	キャッチ

------------------------------*/
#doc #photo .setumei{
	text-align: center;
}

#fukugen-cachi,
#doc-cachi{
	width:100%;
	/*margin:80px auto 0 auto;*/
	margin:0 auto 100px auto;
	display: flex;
	justify-content: space-between;
	gap:30px;
	/*border-bottom:1px solid #ddd;**/
}

#doc-cachi{
	align-items: center;
}

#fukugen-cachi .sagyou,
#doc-cachi .sagyou{
	width:400px;
	line-height: 0;
}

#fukugen-cachi .sagyou img,
#doc-cachi .sagyou img{
	width:100%;
	height:100%;
	border-radius: 5px;
	object-fit: cover;
}

#fukugen-cachi .sagyou p,
#doc-cachi .sagyou p{
	margin-top:8px;
}

#fukugen-cachi .text,
#doc-cachi .text{
flex:1;
}

#doc #sum li img{
	aspect-ratio: 4 / 3;	
}
/*------------------------------

	レスポンシブ

------------------------------*/

@media screen and (max-width: 980px){
	#fukugen-cachi,
	#doc-cachi{
		flex-direction: column;
	}
	
	#fukugen-cachi .sagyou,
	#doc-cachi .sagyou{
		width:min(100%,400px);
		margin:0 auto;
		text-align: center;
	}
	
	#fukugen-cachi .sagyou img,
	#doc-cachi .sagyou img{
		height: auto;
	}
}

@media screen and (max-width: 430px){
	
	#fukugen-cachi .sagyou img,
	#doc-cachi .sagyou img{
		width:90%;
		height: auto;
	}
}