@charset "utf-8";
htlm{
	overflow:auto;
}

body{
	color:#2a2725;
	background-color:#f0efeb;
	font-size:16px;
	line-height:28px;
	font-family:proxima-nova,fot-tsukubrdgothic-std,"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro","Quicksand","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;;
}

ul{
	letter-spacing: -.40em; /* 文字間を詰めて隙間を削除する */
}

li{
	letter-spacing: normal; /* 文字間を通常に戻す */
}
a {
	color:#000;
	text-decoration:none;
}

header a , nav a{
	text-decoration:none;
}

a:hover{
	opacity:0.7;
}

img{
	max-width:100%;
}

.clear{
	clear:both;
}

.clearfix_af:after{
	content: "";
	display: block; 
	height: 0; 
	font-size:0;    
	clear: both; 
	visibility:hidden;
}

.clearfix_bf:before{
	content: "";
	display: block; 
	height: 0; 
	font-size:0;    
	clear: both; 
	visibility:hidden;
}
.clearfix_af ,.clearfix_bf{
	display: inline-block;
} 
/* Hides from IE Mac */
* html .clearfix_af{
	height: 1%;
}
.clearfix_af ,.clearfix_bf{
	display:block;
}
/* End Hack */

.fade_animat_out{
	opacity: 0;
	transition: 0.8s;
	transform:translateY(50px);
}

.fade_animat_in{
	opacity: 1;
	transform:translateY(0);
}

.out_frame{
	max-width:1180px;
	margin:auto;
}

ul.g_menu{
	font-size:14px;
	justify-content:flex-start;
	display:flex;
	flex-wrap:wrap;
}

ul.g_menu li{
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin-right:15px;
}

.slider_wrap{
	position:relative;
}

.slider_wrap .slider_catch{
	max-width:1180px;
	margin:auto;
	position:relative;
}

.slider_wrap .slider_catch img{
	position:absolute;
	top:-140px;
	z-index:999;
	left:12.71%;
}

h3{
	font-size:20px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	box-sizing:border-box;
	padding-left:25px;
	position:relative;
}

h3.mark:after{
	content:"";
	display:block;
	width:30px;
	height:21px;
	position:absolute;
	top:-30px;
	left:27px;
	background:url(image/mark@2x.png)no-repeat center center;
	background-size:cover;
}


.content_frame{
	max-width:885px;
	margin:auto;
	justify-content:flex-start;
	display:flex;
	flex-wrap:wrap;
}

.content_frame .title_area{
	width:146px;
}

.content_frame .content_area{
	flex:1;
}

section#news{
	margin-top:50px;
}

section#about{
	margin-top:150px;
}

section#about h4{
	font-size:32px;
}

section#about .content_area > p{
	margin-top:40px;
}

section#service{
	margin-top:100px;
}

section#service .content_area > p{
}

section#service .content_area dl dd h4{
	text-align:center;
}

section#member{
	margin-top:100px;
}

section#member ul.president .president_name{
	text-align:right;
}

section#company{
	margin-top:100px;
}

section#company .map{
	margin-top:50px;
}

section#company .map iframe{
	width:100%;
}

section#contact_as{
	margin-top:100px;
}

section#contact_as .content_area{
	text-align:center;
}

section#contact_as .content_area h4{
	font-size:20px;
}

section#contact_as .content_area .free_tel{
	margin-top:20px;
	font-size:40px;
}

section#items{
	margin-top:100px;
}

section#items h4{
	font-size:26px;
	margin-bottom:10px;
}

section#items .items_detail{
	margin-bottom:40px;
}

section#items .btn_area a{
	display:block;
	width:240px;
	height:60px;
	line-height:60px;
	color:#fff;
	margin:10px auto;
	background-color:#4f8778;
	text-align:center;
	border-radius:30px;
}


footer{
	padding:20px 0;
	text-align:center;
	color:#a1a097;
	font-size:14px;
	margin-top:100px;
}

footer ul.f_menu{
	justify-content:center;
	display:flex;
	flex-wrap:wrap;
}

footer ul.f_menu li{
	margin-right:25px;
}

footer ul.f_menu li:last-child{
	margin-right:0;
}

footer ul.f_menu li a{
	color:#a1a097;
}


@media all and (min-width: 769px) {
	.sp_only{
		display:none !important;
	}

	body .content_frame .content_area{
		padding-right:0;
	}



}

@media all and (min-width: 768px) {

	.slider_wrap{
		top:-50px;
	}

	body .tab_show{
		display:block !important;
	}
	.sp_only{
		display:none !important;
	}

	header{
		justify-content:space-between;
		display:flex;
		flex-wrap:wrap;
	}

	header h1{
		margin-left:40px;
		position:relative;
		z-index:999;
	}

	ul.g_menu{
		margin-top:0;
	}

	ul.g_menu li{
		padding-top:30px;
	}

	.content_frame .content_area{
		padding-right:20px;
	}

	section#service .content_area ul.labo{
		justify-content:flex-start;
		display:flex;
		flex-wrap:wrap;
		margin-top:50px;
	}

	section#service .content_area ul.labo li{
		width:33.3%;
	}

	section#member ul.president{
		justify-content:flex-start;
		display:flex;
		flex-wrap:wrap;
	}

	section#member ul.president li:first-child{
		width:210px;
	}

	section#member ul.president li:last-child{
		flex:1;
	}

	section#member ul.members{
		justify-content:flex-start;
		display:flex;
		flex-wrap:wrap;
		margin-top:40px;
	}

	section#member ul.members li{
		margin-right:30px;
	}

	section#member ul.members li:last-child{
		margin-right:0;
	}

	section#news dl{
		justify-content:flex-start;
		display:flex;
		flex-wrap:wrap;
		margin-top:20px;
	}

	section#news dl:first-child{
		margin-top:0;
	}

	section#news dl dt{
		text-align:center;
		width:150px;
	}

	section#news dl dd{
		flex:1;
	}

	section#service .content_area dl{
		justify-content:flex-start;
		display:flex;
		flex-wrap:wrap;
		margin-top:50px;
	}

	section#service .content_area dl dt{
		text-align:center;
		width:180px;
		padding-right:40px;
		box-sizing:border-box;
	}

	section#service .content_area dl dd{
		flex:1;
	}

	section#company dl{
		justify-content:flex-start;
		display:flex;
		flex-wrap:wrap;
	}

	section#company dl dt{
		width:148px;
		color:#a1a097;
	}

	section#company dl dd{
		flex:1;
	}

	section#top_link{
		max-width:900px;
		margin:100px auto 0 auto;
	}

	section#top_link ul{
		justify-content:center;
		display:flex;
		flex-wrap:wrap;
	}

	section#top_link ul li{
		width:32%;
		margin-right:2%;
	}

	section#top_link ul li:last-child{
		margin-right:0;
	}

}

@media all and (min-width: 1280px) {

}

@media all and (max-width: 767px) {

	.pc_only{
		display:none !important;
	}

	h1{
		position:absolute;
		top:0;
		left:20px;
		z-index:999999;
	}

	.head_logo{
		position: absolute;
		left: 0;
		right: 0;
		text-align: center;
		top: 25px;
	}

	.content_frame .content_area{
		padding-right:30px;
	}

	.sp_head{
		position:fixed;
		width:100%;
		height:70px;
		top:0;
		z-index:99999;
		background-color:rgba(240,239,235,0.9);
	}

	ul.g_menu{
		background-color:#f0efeb;
		width:100%;
		height:100vh;
		top:0;
		z-index:99999;
		position:fixed;
		left:-100vw;
		transition:all 0.4s;
		justify-content:center;
		padding-top:230px;
		box-sizing:border-box;
	}

	ul.g_menu.on{
		left:0;
	}

	.slider_wrap .slider_catch{
		margin-left:50px;
		display:none;
	}

	.slider_wrap .slider_catch img{
		top:-30px;
	}

	.bx-wrapper{
		margin-top:70px;
		overflow:hidden;
	}

	#switchBtnArea {
		position: absolute;
		top:0;
		right:0;
		width:70px;
		height:70px;
	}

	#switchBtnArea .switchBtn {
		top: 22px;
		right: 25px;
		width: 38px;
		height: 25px;
		display: block;
		position: absolute;
		z-index:9999999;
	}

	#switchBtnArea .switchBtn span {
		left: 10%;
		width: 100%;
		height: 4px;
		display: block;
		position: absolute;
		background-color: #2a2725;
		transition: all 0.2s linear;
	}
	#switchBtnArea .switchBtn span:nth-of-type(1) {top:0px;transform: rotate(0);}
	#switchBtnArea .switchBtn span:nth-of-type(2) {top:20px;transform: scale(1);}
	#switchBtnArea .switchBtn span:nth-of-type(3) {bottom:12px;transform: rotate(0);}

	#switchBtnArea .switchBtn.btnClose span:nth-of-type(1) {top:12px;transform: rotate(-45deg);}
	#switchBtnArea .switchBtn.btnClose span:nth-of-type(2) {transform: scale(0);}
	#switchBtnArea .switchBtn.btnClose span:nth-of-type(3) {bottom:9px;transform: rotate(45deg);}

	.content_frame .title_area{
		width:90px;
	}

	section#news dl{
		margin-bottom:20px;
	}

	section#about h4{
		line-height:50px;
	}

	section#about .content_area > p{
		margin-top:20px;
	}

	section#service .content_area > p{
		margin-top:20px;
	}

	section#service .content_area ul.labo{
		margin-top:20px;
	}

	section#service .content_area dl{
		margin-top:30px;
	}

	section#service .content_area dl dt{
		text-align:center;
	}

	section#member ul.members{
		margin-top:20px;
	}

	section#member ul.members li{
		margin-top:20px;
	}

	section#member ul.members li img{
		width:200px;
	}

	section#company dl{
		margin-top:20px;
	}

	section#company dl dt{
		color:#a1a097;
	}

	section#company .map iframe{
		height:185px;
	}

	section#top_link{
		margin:60px;
		text-align:center;
	}

	section#contact_as .content_area h4{
		font-size:14px;
	}

	section#contact_as .content_area p{
		font-size:12px;
	}

	section#items h4{
		font-size:18px;
	}

	section#items .btn_area a{
		display:block;
		width:200px;
		height:40px;
		line-height:40px;
		color:#fff;
		margin:10px auto;
		background-color:#4f8778;
		text-align:center;
		border-radius:30px;
	}




}

@media all and (max-width: 375px) {

}

@media all and (max-width: 320px) {


}
