@charset "utf-8";
/* CSS Document */
@import url("reset.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;600;700;800;900&family=Noto+Serif+JP:wght@600;700;900&display=swap');
body {
	font-family:"メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, sans-serif;
	background-color: #fff;
	/*font-size:90%;*/
	font-size:1rem;
	margin:0;
	text-align:left;
	color:#050505;
	/*line-height:2em;*/
	line-height:2;
	/*-webkit-font-smoothing: antialiased;*/
	 -webkit-text-size-adjust: 100%;
	  -moz-text-size-adjust: 100%;
	  text-size-adjust: 100%;
}

body.fix{
	 overflow: hidden;
}
.inner{
	width:95%;
	max-width: 1200px;
	margin:0 auto;
}

a{
	text-decoration: none;
}


a.pdf,
a.excel,
a.word{
	width:70px;
	display:inline-block;
	line-height: 18px;
	padding:0 8px;
	border-radius: 100px;
	font-size:14px;
	text-indent: 0;
	/*line-height: 1;*/
	color:#fff!important;
	text-decoration: none!important;
	font-weight: bold;
	margin-left:10px;
	white-space: nowrap;
}

a.pdf{
	background-color:#D1161B;
}

a.excel{
	background-color:#019245;	
}


a.word{
	background-color:#166DAA;	
}

a.pdf span,
a.excel span,
a.word span{
	display: flex;
	justify-content: space-between;
}


a.pdf span::after,
a.excel span::after,
a.word span::after{
	font-family: "Font Awesome 6 Free";
	 content: "\f0da\f0da";
	margin-left:5px;
	font-weight: bold;
	font-size:12px;
	
}

a.contact_bana{
	line-height: 50px!important;
	height: 50px;
	background: #A41114;
	background: -webkit-linear-gradient(bottom, rgba(164, 17, 20, 1) 0%, rgba(209, 22, 27, 1) 100%);
	background: -o-linear-gradient(bottom, rgba(164, 17, 20, 1) 0%, rgba(209, 22, 27, 1) 100%);
	background: linear-gradient(to top, rgba(164, 17, 20, 1) 0%, rgba(209, 22, 27, 1) 100%);
	border:2px solid #fff;
	box-shadow: 0px 0px 0px 1px #B6B6B6;
	color:#fff!important;
	text-decoration: none!important;
	font-size:1.23rem;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 5px;
	padding:0 15px;
}

a.contact_bana::after{
	font-family: "Font Awesome 6 Free";
	 content: "\f0da\f0da\f0da";
	margin-left:10px;
	font-weight: bold;
	font-size:16px;
	line-height: 1;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
	img {
		image-rendering: -webkit-optimize-contrast;
	}
}

@media screen and (min-width: 431px){
	a.contact_bana{
		transition: background 0.3s ease;
	}
	a.contact_bana:hover{
		background: #E1171B;
		background: -webkit-linear-gradient(bottom, rgba(213,22,25,1.00) 0%, rgba(233,51,56,1.00) 100%);
		background: -o-linear-gradient(bottom, rgba(213,22,25,1.00) 0%, rgba(233,51,56,1.00) 100%);
		background: linear-gradient(to top, rgba(213,22,25,1.00) 0%, rgba(233,51,56,1.00) 100%);
	}

}
/*----------------------------


		ヘッダー


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

header{
	width:100%;
	background-color: #fff;
	border-bottom:1px solid #D6D6D6;
}

header.fix{
	position: fixed;
	box-shadow: 0px 5px 9px -6px rgba(126,126,126,0.62);
	background-color: rgba(255,255,255,0.9);
	backdrop-filter: blur(30px);
	border-bottom:5px solid #65AB50;
	z-index:9999;

}

header .inner{
	font-family: 'Noto Sans JP', sans-serif;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding:5px 0;
}

#logo{
	flex:1;
	display: flex;
	align-items: center;
	line-height: 0;
}

#logo img{
	width:140px;
	height: auto;
}

#logo-name{
	font-weight: 800;
	font-size: 1.38rem;
	display: inline-block;
	margin-left:15px;
}

#login{
	width:180px;
	background-color:#65AB50;
	border-radius: 6px;
	padding:10px 8px;
	color:#fff;
	font-weight: 700;
	font-size:1.05rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#login::after{
	font-family: "Font Awesome 6 Free";
	 content: "\f0da\f0da\f0da";
	flex:1;
	text-align: right;
	font-size:1rem;
	color:rgba(255,255,255,0.5);
}

#login:hover{
	background-color:#43922B;
}


/*-----------------------
	スマホ・タブレット
-----------------------*/
@media screen and (min-width: 0) and (max-width: 890px){
	header .inner{
		width:100%;
		padding:5px;
	}
	#logo-name{
		display: none;
	}
	#login{
		width:50px;
		height: 50px;
		font-size:0.7rem;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding:5px 2px;
		line-height: 1.2;
		text-align: center;
	}
	
	#login::after{
		content: none;
	}
	
	/*#login::before{
		content:'';
		flex:1;
		width:100%;
		display: block;
		margin:3px 0;
		background-image: url("../img/login_sp.png");
		background-size: auto 100%;
		background-position: center;
		background-repeat: no-repeat;
		
	}*/
}

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


		メニュー


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

#menu{
	width:100%;
	border-top:1px solid #D6D6D6;
	display: block;
	position: relative;
	z-index: 9999;
}

#menu ul{
	width:100%;
	max-width: 1200px;
	display: flex;
	margin:0 auto;
	border-right:1px solid #D6D6D6;
}

#menu li{
	width:calc( 100% / 6);
	border-left:1px solid #D6D6D6;
	position: relative;
}

#menu li a{
	width:100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding:15px 5px;
	font-weight: bold;
	text-align: center;
	color:#2B2B2B;
	line-height: normal;
	/*background-color: #fff;*/
	 transition: all .3s ease;
 	position: relative;
	  z-index: 2;
	overflow: hidden;
	 transform: rotate(0.003deg);
}

#menu li a::before{
content: '';
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: #77B464;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

#menu li a:hover,
#menu li a.act{
	color:#fff;
}

#menu li a:hover:before {
  top: 0;
}

#menu li a.green{
	font-size:0.95rem;
	padding:5px 3px;
	cursor: pointer;
}
#menu li.act{
	background-color: #77B464;
	z-index: 3;
	color:#fff;
}

#menu li.act a{
	color:#fff;
}


#menu ul.submenu{
	width:calc(100% + 1px);
	background-color: #77B464;
	position: absolute;
	left:0;
	z-index: 99999;
	display: none;
	border-right: none;
	border-top:1px solid #B7D5AE;
	/*justify-content: center;*/
}

#menu ul.submenu li{
	width: 100%;
	border-left:none;
	color:#fff;
	font-weight: bold;
}

#menu ul.submenu li a{
	padding:15px 5px;
	transition: unset;
	color:#fff;
	/*display: flex;*/
	flex-direction: row;
	justify-content: flex-start;
	position: inherit;
	text-align: left;
	border-bottom:1px solid #B7D5AE;
}

#menu ul.submenu li a::before{
	transition: unset;
	background-color: #A0C794;
}

#menu ul.submenu li a::after{
	font-family: "Font Awesome 6 Free";
	  /*content: "\f0da\f0da\f0da";*/
	content: "\f0da";
	flex:1;
	text-align: right;
	font-size:0.7rem;
}


/*-----------------------
	スマホ・タブレット
-----------------------*/
#menuopen,#menuclose,#menu-logo{
	display: none;
}

@media screen and (min-width: 0) and (max-width: 890px){
	#menuopen{
		width:50px;
		height:50px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		color:#fff;
		font-size:0.7rem;
		font-weight: bold;
		margin-left:3px;
		background-color:#65AB50;
		border-radius: 6px;
		line-height: 1.2;
	}
	#menuopen .fa-bars{
		font-size:25px;
	}
	
	#menuclose{
		display: block;
		position: absolute;
		right:5px;
		top:5px;
		clor:#fff;
	}
	
	#menuclose .fa-xmark{
		font-size:30px;	
	}
	
	#menu{
		width:100%;
		background-color: #77B464;
		height: 100vh;
		position: fixed;
		top:0;
		left:0;
		z-index: 9999;
		padding:30px 0;
		color:#fff;
		display: none;
		overflow-y: auto;
	}
	
	#menu-logo{
		display: block;
		width:200px;
		margin:0 auto 30px auto;
		text-align: center;
		line-height: 0;
	}
	
	#menu-logo img{
		width:100%;
		height: auto;
	}
	#menu ul{
		width:90%;
		display: block;
		border-right:none;
		border-top:1px solid rgba(255,255,255,0.77);
	}
	
	#menu li{
		width:100%;
		border-left:none;
		border-bottom:1px solid rgba(255,255,255,0.77);
	}
	
	#menu li a,
	#menu li a.green{
		/*display: block;*/
		text-align: left;
		color:#fff;
		padding:20px 5px;
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
		transition: unset;
		position: static;
	}
	
	#menu li a.green{
		font-size:1rem;
		margin-bottom:15px;
		padding:20px 5px 0 5px;
	}
	

	#menu ul.submenu{
		display: block;
		position: static;
		border-top:none;
	}
	
	#menu ul.submenu li{
		border-bottom:none;
	}
	
	#menu ul.submenu li a{
		border-bottom:none;
		padding:0 0 20px 0;
		transition: unset;
		display: flex;
		align-items: center;
		line-height: 1;
	}
	
	#menu ul.submenu li a::after{
		content: none;
	}
	#menu li a::before{
		font-family: "Font Awesome 6 Free";
	  	content: "\f0da";
		transition: unset;
		position: static;
		width:15px;
		line-height: 15px;
		font-size:10px;
		display: block;
		background-color: #A0C794;
		border-radius: 3px;
		margin-right:8px;
		color:#fff;
		text-align: center;
	}
	
	#menu li a.green::before{
		font-family: "Font Awesome 6 Free";
	  	content: "\f0da";
	}
}


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


		フッダー


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

#info{
	width:100%;
	background-color: #7DB387;
	line-height: 0;
	padding:10px 0;
	display: flex;
	justify-content: center;
}

#info-name{
	width:300px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-right: 50px;
	border-right:1px dotted #E3EEE6;
	line-height: 0;
}

#info-name img{
	width: 100%;
	height: auto;
}

#info-address{
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	/*width:610px;*/
	margin-left:50px;
	padding:10px 0;
}

#info-address dl{
	width:100%;
	display: inline-flex;
	font-weight: bold;
	line-height: normal;
}

#plant{
	margin-top:30px;
}

#info-address dt{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 1.1rem;
	text-align: center;
	width:150px;
	background-color: #E3EEE6;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color:#528B5B;
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0 -1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
	border-radius: 8px;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6) 
}


#info-address dd{
	display: inline-block;
	color:#fff;
	margin-left:15px;
	font-size: 0.95rem;
	letter-spacing: 0.05em;
	padding:5px 0;
}

#info-address dd a{
	color:#fff;
}

#info-address dd p.chu{
	font-size:0.85rem;
	padding-left:1em;
	text-indent: -1em;
}

#expo{
	width:200px;
	margin:0 auto 15px auto;
	line-height: 0;
	display: block;
}

#expo img{
	width:100%;
	height: auto;
}

footer{
	background-color: #528B5B;
	font-size:0.7rem;
	color:#FFFFFF;
	text-align: center;
	padding:15px 0;
	line-height: 1.4;
}

footer a{
	color:#FFFFFF;
}

footer a:hover{
	text-decoration: underline;
}


/*-----------------------
	スマホ・タブレット
-----------------------*/
@media screen and (min-width: 0) and (max-width: 890px){
	#info{
		display: block;
		padding:30px 0;
	}
	
	#info-name{
		width:200px;
		margin:0 auto 20px auto;
		padding-right:0;
		border-right: none;
	}
	
	#info-address{
		width:700px;
		margin:0 auto;
		padding:0 10px;
		display: block;
	}
	@media screen and (min-width: 0) and (max-width: 700px){
		#info-address{
			width:100%;
		}
		#info-address dl,
		#plant{
			display: block;
			margin-top:15px;
		}
		
		#info-address dt{
			width:100%;
			margin-bottom:15px;
		}
		
		#info-address dd{
			margin-left:0;
			line-height: 1.6;
		}
		
		#info-address dd p.time{
			padding-left:1em;
			text-indent: -1em;
		}
	}
	
}


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


		コンテンツ


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

#wrap{
	width:95%;
	max-width:1200px;
	margin:50px auto;
}

section{
	widht:100%;
}

@media screen and (min-width: 0) and (max-width: 480px){
	#wrap{
		margin:30px auto;
	}
}


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


		下層ページ


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

#content #title{
	width:100%;
	border-bottom:1px solid #D6D6D6;
}

#content #title h1{
	font-family: 'Noto Serif JP', serif;
	font-weight: 800;
	font-size:3.12rem;
	line-height: 1;
	width:95%;
	max-width: 1200px;
	min-height:130px;
	margin:0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-image: url("../img/titile-back.png");
	background-position: bottom right;
	background-repeat: no-repeat;
	color:#3D453D;
	text-align: left;
}

nav{
	width:95%;
	max-width: 1200px;
	margin:5px auto 0 auto;
}

nav ul{
	width:100%;
	display: flex;
	align-items: center;
}

nav li{
	display: inline-block;
	font-size:0.7rem;
	line-height: 1;
	margin-left:5px;
}

nav li::after{
	font-family: "Font Awesome 6 Free";
	 content: "\f105";
	font-weight: bold;
	margin-left:5px;
	color:#4B6149;
}

nav li.now::after{
	content: none;
}

nav li a{
	color:#050505;
}

nav li a:hover{
	text-decoration: underline;
}

#content #wrap{
	margin:50px auto;
}

#content section{
	margin:0 auto 80px auto;
}

#content section:last-child{
		margin:0 auto;
}


/*-----------------------
	スマホ・タブレット
-----------------------*/
	
@media screen and (min-width: 0) and (max-width: 480px){
	#content #title{
		display: flex;
		flex-direction: column;
	}
	#content #title::after{
		content:'';
		width:100%;
		height: 35px;
		display: block;
		background-image: url("../img/titile-back_sp.png");
		background-position: bottom center;
		background-repeat: no-repeat;
		background-size: auto 40px;
	}
	#content #title h1{
		width:100%;
			font-weight: 900;
			font-size:2.5rem;
		min-height:auto;
		padding:30px 0;
		text-align: center;
		background-image:none;
	}
	#content section{
		margin:0 auto 30px auto;
	}
	#content #wrap{
		margin:30px auto;
	}

}

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


		ページエラー


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

#pageerror section{
	width:98%;
	max-width: 1200px;
	margin:0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:80px 0;
	font-weight: bold;
	font-size:1.2rem;
}

#pageerror section h1{
	font-size:3rem;
	color:#467737;
	margin-bottom:20px;
	line-height: 1.4;
}

#pageerror section #error-photo{
	width:50%;
	max-width: 480px;
	line-height: 0;
}

#pageerror section #error-photo img{
	width:100%;
	height: auto;
}

#pageerror section #error-text{
	display: inline-block;
	margin-left:50px;
} 

/*-----------------------
	スマホ・タブレット
-----------------------*/
	
@media screen and (min-width: 0) and (max-width: 890px){
	
	#pageerror section{
		display: block;
		padding:50px 0;
	}
	
	#pageerror section #error-photo{
		width:80%;
		max-width: 350px;
		margin:0 auto 30px auto;
	}
	
	#pageerror section #error-text{
		display: block;
		text-align: center;
		margin-left:0;
	}
}