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


ul,li {
    list-style:none;
}

.fade{
	opacity:0;
	transition:all 0.8s;
}

.fade.active{
	opacity:1;
}

body{
	color:#000;
	font-size:14px;
	line-height:28px;
	font-family:'Roboto',"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro","Quicksand","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	word-wrap: break-word;
}

body.under_contents{
	background-color:#F5F7F5;
}

body.under_contents .container{
	background-color:#fff;
}

.mintyo{
	font-family:'Noto Serif JP',"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro","Quicksand","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

@font-face {
  font-family: 'Roboto';
	src:url('font/Roboto-Regular.woff2') format('woff2'), 
	url('font/Roboto-Regular.woff') format('woff'),
	url('font/Roboto-Regular.ttf') format('opentype');
}


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

li{
	letter-spacing: normal; /* 文字間を通常に戻す */
}
a {
	color:#008a46;
	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 */
h2{
	font-size:32px;
	line-height:1.3;
	color:#5B4C4B;
	margin-bottom:20px;
}

h2 span{
	font-size:12px;
	color:#B7B7B7;
	display:block;
	margin-top:4px;
}

.container{
	padding:70px 20px;
	max-width:1160px;
	margin:auto;
}

header{
	position:fixed;
	top:0;
	width:100%;
	z-index:9999;
	background-color:rgba(255,255,255,0.9);
}

header .header_area{
	justify-content:space-between;
	display:flex;
	flex-wrap:wrap;
	background-color:rgba(255,255,255,0);
}

header .header_area .header_right{
	justify-content:space-between;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}

header .header_area .header_right .header_contact{
	justify-content:flex-start;
	display:flex;
	flex-wrap:wrap;
}

header .header_area .header_right .siryo{
	background-color:#DB543A;
	display: flex;
	align-items: center;
}

header .header_area .header_right .top_menu a{
	margin-right:20px;
	color:#000;
}

header .header_area .header_right .visit{
	background-color:#7B9186;
	display: flex;
	align-items: center;
}
header .header_area .header_right .siryo a,
header .header_area .header_right .visit a{
	color:#fff;
	padding:18px 13px;
	display:block;
}

header .header_area .logo{
	padding:8px 30px;
}


header .header_area .logo span{
	display:inline-block;
	font-size:24px;
	font-weight:bold;
	padding-left:10px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}



header ul.bottom_menu{
	justify-content:flex-end;
	display:flex;
	flex-wrap:wrap;
	margin-right:20px;
	padding:5px 0;
}


header ul.bottom_menu li{
	margin-right:40px;
	position:relative;
}

header ul.bottom_menu > li:last-child{
	margin-right:0;
}

header ul.bottom_menu li ul{
	position:absolute;
	display:none;
	left:-10px;
}

header ul.bottom_menu li ul li{
	padding:0 5px;
}

header ul.bottom_menu li ul li a{
	background-color:rgba(255,255,255,0.9);
	padding:5px 3px;
	display:block;
	white-space: nowrap;
}


.more{
	text-align:center;
	margin:25px 0 0 0;
}

footer{
	background-color:#EAE5E5;
	text-align:center;
}

body.under_contents footer .container{
	background-color:#EAE5E5;
}

.midashi {
  border-bottom: solid 3px skyblue;
  position: relative;
}

.midashi:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #EAE5E5;
  bottom: -3px;
  width: 10%;
	left:0;
}

.f_area{
	margin-bottom:40px;
	text-align:left;
}

.midashi_title{
	color:#ff0000;
	background-color:#8dc553;
	border:solid 1px #ff0000;
	width:80%;
	padding:10px;
	margin:40px auto 0 auto;
	font-weight:bold;
	font-size:24px;
}

.midashi_title span{
	font-size:16px;
}

.midashi_title02{
	color:#fff;
	background-color:#4c7ab2;
	border:solid 1px #000;
	width:80%;
	padding:10px;
	margin:40px auto 0 auto;
	font-weight:bold;
	font-size:24px;
}

.midashi_title02 span{
	font-size:16px;
}


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

ul.human_area li{
	text-align:center;
}


.reco_list{
	justify-content:space-between;
	display:flex;
	flex-wrap:wrap;
	margin-top:20px;
}

.reco_list > div{
	width:31%;
	margin-top:10px;
}

.reco_list .reco_img{
	aspect-ratio: 4 / 3;
}

.reco_list .reco_img img{
	display:block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media all and (min-width: 767px) {
	header ul.bottom_menu{
		display:flex;
	}

	.contents_frame{
		margin-top:40px;
	}

	header ul.bottom_menu li ul li a{
		font-size:12px;
	}

	header ul.bottom_menu li ul li a:hover{
		background-color:#7B9186;
		opacity:1;
		color:#fff;
	}

	footer ul.f_frame{
		justify-content:flex-end;
		display:flex;
		flex-wrap:wrap;
	}

	footer ul.f_frame li:first-child{
		width:400px;
	}

	footer ul.f_frame li:last-child{
		flex:1;
	}


}

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

	
	header #switchBtnArea{
		display:none;
	}

}

@media all and (max-width: 768px) {
	.tab_none{
		display:none !important;
	}

	.tab_only{
		display:block !important;
	}

	.container{
		padding:40px 20px;
	}

	header{
		background-color:rgba(255,255,255,1);
	}

	header ul.bottom_menu{
		display:none;
	}

	header #switchBtnArea{
		position:fixed;
		top:20px;
		right:20px;
		display:block;
	}

	header .header_area #switchBtnArea .switchBtn {
		width: 38px;
		height: 25px;
		display: block;
		z-index:9999;
	}

	header .header_area #switchBtnArea .switchBtn span {
		height: 2px;
		display: block;
		position: absolute;
		background-color: #000;
		transition: all 0.2s linear;
	}
	header .header_area #switchBtnArea .switchBtn span:nth-of-type(1) {top:0px;transform: rotate(0);width:40px;}
	header .header_area #switchBtnArea .switchBtn span:nth-of-type(2) {top:20px;transform: scale(1);width:22px;}
	header .header_area #switchBtnArea .switchBtn span:nth-of-type(3) {top:10px;transform: rotate(0);width:32px;}

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

	header .header_area .header_right .visit{
		margin-right:80px;
	}

	header ul.bottom_menu{
		padding:20px 20px 100px 20px;
		height: calc(100vh - 220px);
		overflow:scroll;
	}

	header ul.bottom_menu li ul{
		display:block;
		position:relative;
		padding-left:30px;
	}

	header ul.bottom_menu li ul li a{
		background-color:rgba(255,255,255,0);
	}

	footer ul.f_frame{
		display:block;
	}

	footer ul.f_frame li:first-child{
		width:100%;
	}

}

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

	body{
		font-size:12px;
		line-height:20px;
	}

	.pc_only{
		display:none !important;
	}

	header .header_area .header_right{
		width:100%;
	}

	.contents_frame{
		margin-top:80px;
	}

	header .header_area .header_right{
		font-size:11px;
	}

	header .header_area .header_right .visit{
		margin-right:0;
	}

	header .header_area .header_right .siryo a, header .header_area .header_right .visit a {
		color: #fff;
		padding: 10px 10px;
		display: block;
	}

	header .header_area .header_right .top_menu a{
		margin-right:0;
		margin-left:10px;
	}

	.midashi_title{
		font-size:16px;
	}

	.midashi_title span{
		font-size:12px;
		display:block;
	}

	.midashi_title02{
		font-size:16px;
	}

	.midashi_title02 span{
		font-size:12px;
		display:block;
	}

}

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

}

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


}
