@charset "UTF-8";
/* ================================================ */
/*  レイアウト																			*/
/* ================================================ */
/*----------------------------
	Body
----------------------------*/
body{
	width:100% ;
	-webkit-text-size-adjust: 100%;
	font-size:87.5%;
	line-height:1.6 ;
	padding: 0 0 0 0 ;
}

	#body_wrap{
		min-width: 1280px ;
    max-width: 1920px ;
		margin: 0 auto ;
		overflow: hidden ;
	}

@media screen and (max-width:767px ){
	body{
		padding: 5px 0 ;
	}
	#body_wrap{
		min-width:100% ;
	}
  input[type="submit"],
  input[type="input"],
  input[type="button"]{
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
  }
}


/*----------------------------
	Header	
----------------------------*/
/*  header  */
header{
	width:100% ;
	position: fixed ;
  display: flex ;
	z-index: 999 ;
  background: #ffffff ;
}

	/*  h1  */
	header h1{
		width: 180px ;
    padding: 10px ;
    box-sizing: border-box ;}

		header h1 img{
			max-width: 100% ;}

  /*  subHeader */
	header #subHeader{
    width: calc(100% - 180px);
    padding: 10px 10px 10px 10px ;
    box-sizing: border-box ;}

		/*  subHeader  */
		header #subHeader #subHeader_inner{
			text-align: right ;
		}

			/*  favorite  */
			header #subHeader #favorite{
				display: inline-block ;
				margin-right: 5px ;
			}

				header #subHeader #favorite a{
					display:block ;
					border: 1px solid #24B0AE ;
					padding: 6px 15px 6px 15px;
					box-sizing: border-box ;
					background-color:#24B0AE ;
					color: #ffffff ;
				}

				header #subHeader #favorite a i{
					display: inline-block ;
					margin-right: 5px ;
				}

			/*  search  */
			header #subHeader #search{
				display: inline-block ;
				border: 1px solid #b6b6b6 ;
				padding: 2px 2px 2px 8px;
				box-sizing: border-box ;
			}

				header #subHeader #search input[type=text]{
					border: none !important;
					padding: 2px ;
					box-sizing: border-box ;
				}

				header #subHeader #search input[type=submit]{
					width: 40px ;
					height: 30px ;
					border: none ;
					background: none ;
					background-image: url(../img/top/search_icon.png) ;
					background-position: center center ;
					background-repeat: no-repeat ;
					text-indent: -9999em ;
					cursor: pointer ;
				}

			/*  lang  */
			header #subHeader #lang{
				display: inline-block ;
				margin-left: 15px ;
			}

				header #subHeader #lang select{
          position: relative ;
					border: none ;
					padding: 2px 5px 2px 30px ;
          box-sizing: border-box ;
				}

					header #subHeader #lang select option{
            position: relative ;
            padding: 0 0 0 25px ;
            box-sizing: border-box ;}
					header #subHeader #lang select option:after{
            display: block ;
            content: url("../img/lang_ja.png");
            width: 25px ;
            height: 15px ;
            top: 0 ;
            left: 0 ;
            background-image: url("../img/lang_ja.png"); }




@media screen and (max-width:767px ){
	/*  header  */
	header{
		position: relative ;
		width:100% ;
		height: auto ;
		padding: 15px 0 0 0;
		margin: 0 auto ;
	}

		/*  h1  */
		header h1{
			width: 45% ;
			margin: 0 0 15px 0;
			padding: 0 0 0 10px ;
			text-align: left ;
		}

    /*  subHeader */
    header #subHeader{
      display: none ;}
}
		
				
/*----------------------------
	main	
----------------------------*/
main{
  position: relative ;
  width: 100% ;
  min-width: 1280px ;
  margin: 0 auto ;
  display: flex ;
	min-height: 500px ;
  padding-top: 60px ;
}

@media screen and (max-width:767px ){
  main{
    min-width:inherit ;
    display: block ;
    padding-top: 0 ;
  }
}

/*  サイド
++++++++++++++++++++++++++++*/
#side{
  width: 180px ;
  padding-left: 5px ;
  box-sizing: border-box ;}

  /*  nav  */
  #side nav{
    position:relative;
    z-index: 100 ;}

	#top #side nav{
		margin-top: 240px ;
	}

		#side nav ul{}
		#side nav ul li{
			list-style: none ;
			text-align: right ;
			font-weight: bold ;
			font-size: 1rem ;
		}
			#side nav ul li a{
				display: block ;
				padding: 10px 0 ;
			}

			#side nav ul li.myList{
				margin-top: 30px ;
			}
				#side nav ul li.myList a{
					text-align: center ;
					background-color: #24B0AE ;
					border-radius:5px ;
					color: #ffffff ;
					padding: 3px 0 ;
				}

				#side nav ul li.myList a:hover{
					background-color: #FEAA09 ;
				}

	/*  SP : Navi  */
	#sp_navi{
		display: none ;
	}

@media screen and (max-width:767px ){
  #side{
    padding: 0 ;
    display: none ;
    width: 100% ;}

  /*  nav  */
  #side nav{
    position: relative ;
    width: 100% ;
  }
	
		#top #side nav{
			margin-top: 0 !important;
		}

			#side nav ul{}
			#side nav ul li{
				list-style: none ;
				text-align: right ;
				font-weight: bold ;
				font-size: 1rem ;
			}
				#side nav ul li a{
					display: block ;
					padding: 10px 0 ;
				}

				#side nav ul li.myList a{
					border-radius:0 ;
					padding: 10px 0 ;
				}

	/*  SP : Navi  */
	#sp_navi{
		display: block ;
		width: 20% ;
		position: absolute ;
		top: 15px ;
		right:5px ;
	}

		#sp_navi a{
			display: block ;
			width: 100% ;
			padding: 5px 0 ;
			text-align: center ;
			color: #64A523 ;
			border: 1px solid #64A523 ;
		}

		/*  nav  */
	#top #side{
    position: absolute ;
		top: 0 ;
  }
	#top #side nav{
		width: 100% ;
		margin: 0 auto 0 auto ;
		border-top: 1px solid #64A523 ;
	}

		#side nav ul{}
		#side nav ul li{
			text-align: left ;
			border-bottom: 1px solid #64A523 ;
		}
			#side nav ul li a{
				padding: 10px 10px ;
				background-color: #f8feee ;
			}

				#side nav ul li.myList{
				margin-top: 0 ;
			}

}
	

/*  メイン
++++++++++++++++++++++++++++*/
#main{
  width: calc(100% - 180px);
  padding-left: 15px ;
  padding-right: 5px ;
  box-sizing: border-box ;}

		
	/*  pageHeader  */
	main #pageHeader{
		margin: 0 0 25px 0 ;
		overflow: hidden ;
	}

		main #pageHeader .pageType{
			margin-bottom: 15px ;
			color: #64A523 ;
			font-size:0.8rem ;
		}

		main #pageHeader h2{
			font-size: 1.2rem ;
			font-weight: bold ;
			line-height: 1.8 ;
		}

	/*  subHeader  */
	main .content{
		position: relative ;
		line-height: 1.9 ;
		margin: 0 auto 90px auto ;
	}

		main .content .content_inner{
			width: 100% ;
		}


@media screen and (max-width:767px ){
  #main{
    width:100% ;
    padding: 0 ;
    min-height: auto ;
    margin: 0 auto ;
  }

	/*  pageHeader  */
	main #pageHeader{
		margin: 0 0 25px 0 ;
		overflow: hidden ;
	}

		main #pageHeader .pageType{
			margin-bottom: 15px ;
			color: #64A523 ;
			font-size:0.8rem ;
		}

		main #pageHeader h2{
			font-size: 1.2rem ;
			font-weight: bold ;
			line-height: 1.8 ;
		}

	/*  subHeader  */
	main #subHeader{
		display: none ;
	}

	main .content{
		width: 95% ;
	}
	main .content .content_inner{
		width:100% ;
	}

}


/*----------------------------
	Footer	
----------------------------*/
footer{
	min-width: 1280px ;
	position: relative ;
	background-color:#64A523 ;
	padding: 20px 0 50px 0;
}

	footer .footer_outer{
		width: 100% ;
		margin: 0 auto ;
		text-align: center ;
	}

		footer .footer_inner{
			position: relative ;
			color: #ffffff ;
			box-sizing: border-box ;
		}

			footer .footer_inner #footer_link{
				margin: 0 auto 10px auto ;
			}

				footer .footer_inner #footer_link ul{}

					footer .footer_inner #footer_link ul li{
						list-style: none ;
						display: inline-block ;
						padding-right: 10px ;
					}

						footer .footer_inner #footer_link ul li a{
							text-decoration: none ;
							color:#ffffff ;
						}

			footer .footer_inner #footer_lang{
				margin: 0 auto 10px auto ;
			}

				footer .footer_inner #footer_lang ul{
          text-align: center ;}

					footer .footer_inner #footer_lang ul li{
						list-style: none ;
						display: inline-block ;
						padding-right: 10px ;
					}

						footer .footer_inner #footer_lang ul li a{
							text-decoration: none ;
							color:#ffffff ;
              background-position: 0 0 ;
              background-repeat: no-repeat ;
              background-size: contain ;
              padding: 0 0 0 35px ;
              box-sizing: border-box ;
					}
						footer .footer_inner #footer_lang ul li.ja a{
              background-image: url("../img/ja.png") ;}
						footer .footer_inner #footer_lang ul li.en a{
              background-image: url("../img/en.png") ;}
						footer .footer_inner #footer_lang ul li.cn a{
              background-image: url("../img/cn.png") ;}
						footer .footer_inner #footer_lang ul li.tw a{
              background-image: url("../img/cn.png") ;}

			footer .footer_inner #footer_information{
				margin: 0 auto 15px auto ;
			}

				footer .footer_inner #footer_information p{}
				footer .footer_inner #footer_information p#footer_tel,
				footer .footer_inner #footer_information p#footer_fax{
					display: inline-block ;
					margin-right: 10px ;
				}

			footer .footer_inner #copyright{
				margin: 0 auto 0 auto ;
			}

			footer .footer_inner #footer_sns{
				margin: 0 auto 15px auto ;
			}

				footer .footer_inner #footer_sns ul{}
				footer .footer_inner #footer_sns ul li{ display: inline-block ; width: 30px ; text-align: center ; margin-left: 10px ;}
				footer .footer_inner #footer_sns ul li a{
					display: block ;
					width: 29px ;
					height: 29px ;
					background-position: center center ;
					background-repeat: no-repeat ;
					text-indent: -9999em ;
				}
				footer .footer_inner #footer_sns ul li.fsns1 a{ background-image: url(../img/base/footer_sns01.png) ; }
				footer .footer_inner #footer_sns ul li.fsns2 a{ background-image: url(../img/base/footer_sns02.png) ; }
				footer .footer_inner #footer_sns ul li.fsns3 a{ background-image: url(../img/base/footer_sns03.png) ; }


@media screen and (max-width:767px ){
	footer{
		min-width: 100% ;
		padding-bottom: 70px ;
	}

	footer .footer_outer{
		width: 95% ;
	}
}


/*--------------------------------------
		pagetop
---------------------------------------*/
#btn_top{
    position: fixed;
    bottom: 40px;
    right: 20px;
    z-index:1000 ;
}
	#btn_top a {
			background: #64A523;
			text-decoration: none;
			color: #fff;
			padding: 8px 14px;
			text-align: center;
			display: block;
	}
	#btn_top a:hover {
			text-decoration: none;
			background: #335303;
			filter: alpha(opacity=100);
			-moz-opacity:1;
			opacity:1;
	}

@media screen and (max-width:767px ){
	#btn_top{
		right:10px ;
		bottom: 25px;
	}
}

