/*----------------------------------------------------------------------------******************************************************************************PC******************************************************************************----------------------------------------------------------------------------*/

@media screen and (min-width: 769px){

/*----------------------------------------------------------------------------

******************************************************************************

Layout

******************************************************************************

----------------------------------------------------------------------------*/

/* ==== Base === */

body {

}

.layout {

	max-width: 960px;

	margin: 0 auto;

	overflow: hidden;

}

/* ==== Backgraund === */

#wrap {

	background: #fff;

	position: relative;
}

#wrap:before {
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	background: linear-gradient(to right, rgba(0, 128, 0, 0.4) 0%, #fff 50%, rgba(0, 102, 255, 0.4) 100%);
	position: absolute;
	top: 0;
	left: 0;
}

/* ==== Header === */

#hd {

	height: 100px;

	position: relative;

}
header h1{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
header h1 .hd_logo{
	margin-right: 10px;
}
header h1 .hd_logo img{
	width: 63px;
}
header h1 .hd_ttl{
	text-shadow: 2px 2px 2px #d4d4d4;
}

/* ==== Navigation === */

#nav {

	height: 50px;

}

#nav_bg {

	background: linear-gradient(to right, rgba(0, 128, 0, 0.4) 0%, #fff 50%, rgba(0, 102, 255, 0.4) 100%)
}

#nav ul {

}

#nav li {

	float: left;

	width: calc(100%/6);

	line-height: 50px;

}

#nav li:first-child {

	border-left: 1px solid rgba(0, 128, 0, 0.4);

}

#nav li:last-child {

	border-right: 1px solid rgba(0, 128, 0, 0.4);

}

#nav li a {

	color: #008000;

	text-decoration: none;

	display: block;

	text-align: center;

	font-size: 14px;

	font-weight: bold;

	text-shadow : 1px 1px 2px rgba(255,255,255,0.8);

	background: transparent;

	border-left: 1px solid rgba(0, 128, 0, 0.4) ;

	-webkit-transition: All 0.5s ease;

	-moz-transition: All 0.5s ease;

	-o-transition: All 0.5s ease;

	-ms-transition: All 0.5s ease;

	transition: All 0.5s ease;

	position: relative;

	z-index: 1;

}
#nav li a:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(25deg, rgba(0, 128, 0, 0.4) 0%, #fff 45%, #fff 55%, rgba(0, 102, 255, 0.4) 100%);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: 0;
	transition: all 0.5s ease;
}

#nav li a:hover:after,
#nav li a.current:after {
	opacity: 1;
}

#menu {

	display:none;

}

/* ==== Content === */

#con_bg {

	background: url(../images/common/con_bg.jpg) repeat-x top center;

}

#con {

}

#sidenav {

	width:23%;

	max-width: 220px;

	float: left;

	margin-top: 20px;

	border:1px solid #95c895;

}

#sidenav ul {

	padding: 0px;

}

#sidenav li {

}

#sidenav li a {

	width:100%;

	box-sizing: border-box;

	height: auto;

	padding: 12px 5px 5px 23px;

	display: block;

	text-decoration: none;

	background: url(../images/common/sidenav_icon.png) no-repeat 6px 16px;

	font-size: 12px;

	color: #333333;

	border-bottom: dotted 1px #95c895;

}

#main {

	width:75%;

	max-width: 720px;

	float: right;

	margin-top: 20px;

}

/* ol,ul */

#main ol, #main ul {

	padding: 5px 0px 5px 25px;

}

#main ul {

	list-style-type: disc;

}

#main ol li, #main ul li {

	padding: 5px 0px;

}

/* table */

#main table {

	margin: 10px 0px;

}

#main table th, #main table td {

	padding: 5px;

}

/* img */
img{
	image-rendering: -webkit-optimize-contrast;
}

#main img {

	max-width:100%

}

#main a img {

	display: inline-block;

	-webkit-transition-duration: 0.3s;

	transition-duration: 0.3s;

	-webkit-transition-property: transform;

	transition-property: transform;

	-webkit-transform: translateZ(0);

	transform: translateZ(0);

	box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

#main a img:hover, .shrink:focus, .shrink:active {

	-webkit-transform: scale(0.9);

	transform: scale(0.9);

}

/* ==== Footer === */

#ft {

	margin-top: 20px;

	padding-top: 35px;

	padding-bottom: 35px;

	text-align: center;

	color: #008000;
	text-shadow: 1px 1px 2px rgb(255 255 255 / 80%);

	background: linear-gradient(to right, rgba(0, 128, 0, 0.4) 0%, #fff 50%, rgba(0, 102, 255, 0.4) 100%)

}

/*----------------------------------------------------------------------------

******************************************************************************

Head

******************************************************************************

----------------------------------------------------------------------------*/

h1, h2, h3, h4, h5, h6 {

}

h1 {

	position: absolute;

	top: 25px;

	left: 0px;

	line-height: 1.1em;

	font-size: 1.4rem;

}
h1.hd_en {
	top: 22px;
}
h1.hd_en span {
	line-height: 1.1rem;
	padding-bottom: 3px;
}

h1 a {

	color: #000!important;

	text-decoration: none;

}

h1 span {

	display: block;

	font-size: 0.68em;

}

h2 {

	color: #fff;

	border:1px solid #95c895;

	font-size: 34px;

	font-weight:normal;

	text-shadow : 2px 2px 5px rgba(0,0,0,1.0), 3px 3px 2px rgba(255,255,255,0.8);

	height:80px;

	padding: 0.9em 0 0.0em 0.5em;
}

.research h2{
	background: url(../images/pg_ttl_01.jpg) bottom right no-repeat;
	background-size: cover;
}
.member h2{
	background: url(../images/pg_ttl_02.jpg) bottom right no-repeat;
	background-size: cover;
}
.access h2{
	background: url(../images/pg_ttl_03.jpg) bottom right no-repeat;
	background-size: cover;
}
.link h2{
	background: url(../images/pg_ttl_04.jpg) bottom right no-repeat;
	background-size: cover;
}
.english h2{
	background: url(../images/pg_ttl_05.jpg) bottom right no-repeat;
	background-size: cover;
}



#sidenav h2 {

	color: #008000;

	border: none;
	border-bottom:1px solid #95c895;

	text-align: center;

	font-size: 16px;

	font-weight:bold;

	padding:10px;

	height:50px;

	text-shadow: 1px 1px 2px rgb(255 255 255 / 80%);

	background: linear-gradient(25deg, rgba(0, 128, 0, 0.4) 0%, #fff 40%, #fff 60%, rgba(0, 102, 255, 0.4) 100%);

	display: flex;

	justify-content: center;

	align-items: center;

}

h3 {

	margin: 0.8em 0 0.4em 0;

	font-size: 1.4em;

	font-weight: normal;

	min-height: 35px;

	padding: 0.4em 0 0.0em 1.5em;

	background: url(../images/common/h3_bg.png) left bottom no-repeat;

}

h4 {

	font-size: 1.2em;

	font-weight: normal;

	padding: 0.0em 0 0.0em 0.4em;

	border-left: 5px double #000D1C;

	margin: 0.6em 0 0.4em 0;

}

h1.img, h2.img, h3.img, h4.img, h5.img, h6.img {

	margin: 0;

	padding: 0;

	background: none;

	border: none;

}

/*----------------------------------------------------------------------------

******************************************************************************

Original

******************************************************************************

----------------------------------------------------------------------------*/

/* ==== Index === */

#i_img {

}

#i_img img {

	width: 100%;

}

#i_main {

	width:75%;

	max-width: 720px;

	float: left;

	margin-top: 20px;

}

#i_main .greet_img{
	margin: 10px 0 20px;
	background: linear-gradient(to right, rgba(0, 128, 0, 0.3) 0%, #fff 50%, rgba(0, 102, 255, 0.2) 100%)
}

#i_news {

	height: 300px;

	overflow:auto;

	border: none;

}

#i_news table {

}

#i_news table td {

	vertical-align: top;

	font-size: 0.8em;

	padding: 10px;

}

#i_news table tr {

	border-bottom: 1px dotted #CCC;

}

#i_news table td.date {

	width: 125px;

	background: url(../images/common/news_icon.gif) 4px 14px no-repeat;

	padding-left: 20px;

}

#i_bnr {

	margin-top: 50px;

	width:23%;

	max-width: 220px;

	float: right;

}

#i_bnr ul {

}

#i_bnr li {

	float: left;

	margin-bottom: 4px;

	width:100%;

}

#i_bnr li a {

	display: block;

	width: 100%;

	text-decoration: none;

	color: #000;

	padding: 15px 0 15px 30px;

	border: 1px solid rgba(0, 128, 0, 0.4);

	border-radius: 3px;

	background: url(../images/common/bnr_bg.png) 8px center no-repeat;

	-webkit-transition: All 0.5s ease;

	-moz-transition: All 0.5s ease;

	-o-transition: All 0.5s ease;

	-ms-transition: All 0.5s ease;

	transition: All 0.5s ease;

}

#i_bnr li a:hover {

	color: #fff;
	text-shadow: 1px 1px 2px rgb(0 128 0 / 80%);

	background: url(../images/common/bnr_bg_hover.png) 8px center no-repeat rgba(0, 128, 0, 0.4);

}

/*----pagetop----*/

#page-top {

	position: fixed;

	bottom: 10px;

	right: 20px;

	font-size: 77%;

}

#page-top a {

	background: #95c895;

	border: #fff 1px solid;

	text-decoration: none;

	color: #fff;
	text-shadow: 1px 1px 2px rgb(0 128 0 / 80%);

	width: 120px;

	padding: 20px 0;

	text-align: center;

	display: block;

	border-radius: 5px;

}

#page-top a:hover {

	text-decoration: none;

}


/*---research---*/
.research section{
	margin-bottom: 30px;
}
.research section img{
	max-width: 630px!important;
}
.research_img_bg{
	max-width: 630px;
	padding: 0!important;
	margin: 10px auto 40px;
	text-align: center;
	background: linear-gradient(to right, rgba(0, 128, 0, 0.2) 0%, #fff 22%, rgba(0, 102, 255, 0.3) 100%);
}


/*---member---*/
.member_photo{
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
.member_photo_img{
	width: 39%;
	margin-left: 15px;
}
.member_photo_img img{
	max-width: 100%;
}
.member_list{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	list-style: none;
}
.member_list li{
	list-style: none;
	width: calc((100% - 20px) / 3);
	margin-right: 10px;
}
.member_list li:nth-child(3n){
	margin-right: 0;
}
.member_list li figcaption{
	text-align: center;
	font-size: 1.1em;
	padding-top: 5px;
}


/*---access---*/
.access .map{
	text-align: center;
	padding: 10px 20px 30px;
}
.access .map iframe{
	width: 100%!important;
}

/*---english---*/
.en_research img{
	max-width: 600px!important;
}
.en_research .research_img_bg{
	max-width: 600px;
}

}



/*----------------------------------------------------------------------------******************************************************************************スマートフォン******************************************************************************----------------------------------------------------------------------------*/

@media screen and (max-width:769px){

/*----------------------------------------------------------------------------

******************************************************************************

Layout

******************************************************************************

----------------------------------------------------------------------------*/

/* ==== Base === */

body {

	background: url(../images/body_bg.jpg);

}

.layout {

	width: 100%;

	overflow: hidden;

}

/* ==== Backgraund === */

#wrap {

	background: #fff;

	position: relative;
}

#wrap:before {
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	background: linear-gradient(to right, rgba(0, 128, 0, 0.4) 0%, #fff 50%, rgba(0, 102, 255, 0.4) 100%);
	position: absolute;
	top: 0;
	left: 0;
}


/* ==== Header === */

#hd {

	height: 100px;

	position: relative;

	background: url(../images/hd_bg.jpg) no-repeat;

}

header h1{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
header h1 .hd_logo{
	margin-right: 10px;
}
header h1 .hd_logo img{
	width: 63px;
}
header h1 .hd_ttl{
	text-shadow: 2px 2px 2px #d4d4d4;
}
/* ==== Navigation === */

#nav {

	position: fixed;

	top: 0px;

	right: -200px;

	height: 100%;

	z-index: 100;

	width: 200px;

	overflow-x: none;

	overflow-y: auto;

	font-size: 16px;

	background: linear-gradient(to top, #95c895 0%, #fff 50%, #99c2ff 100%);

	color: #fff;
}



#nav ul {

	display: block;

	margin: 0 0 15px;

	padding: 0;

	border-top: 1px solid rgba(0, 128, 0, 0.4);;

	border-bottom: 1px solid rgba(0, 128, 0, 0.4);

}

#nav ul li {

	display: block;

	margin: 0;

	line-height: 48px;

	border-top: 1px solid rgba(0, 128, 0, 0.4);

	border-bottom: 1px solid rgba(0, 128, 0, 0.4);

}



#nav ul li img {

	max-width:100%;

	margin: 0 auto;

	padding:10px 0;

}

#nav ul li:hover>a {

	background: #95c895;

	color: #008000;

	text-shadow: 1px 1px 2px rgb(255 255 255 / 80%);

}

#nav ul li a {

	padding: 0 15px;

	display: block;

	text-decoration: none;

	color: #fff;

	text-shadow: 2px 2px 0 rgba(0,0,0,1.0);

}

#nav ul li ul {

	border-bottom: none;

	margin: 0

}

#nav ul li ul li {

	line-height: 40px;

	font-size: 13px

}

#nav ul li ul li:last-child {

	border-bottom: none

}

#menu {

	cursor:pointer;

	position:fixed;

	top:10px;

	right:10px;

	z-index: 1000;

}

/* ==== Content === */

#con_bg {

}

#con {

}

#sidenav {

	width: 220px;

	float: left;

	margin-top: 20px;

	border:1px solid #003166;

	display:none;

}

#main {

	width: 100%;

	margin-top: 20px;

}

/* p */
#main p{
	padding: 5px 10px;
}

/* ol,ul */

#main ol, #main ul {

	padding: 5px 0px 5px 25px;

}

#main ul {

	list-style-type: disc;

}

#main ol li, #main ul li {

	padding: 5px 0px;

}

/* table */

#main table {

	margin: 10px 0px;

}

#main table th, #main table td {

	padding: 5px;

}

/* img */
img{
	image-rendering: -webkit-optimize-contrast;
}

#main img {

	max-width:100%;

	display:block;

	margin:5px auto;

	float:none;

}



#main a img {

	display: inline-block;

	-webkit-transition-duration: 0.3s;

	transition-duration: 0.3s;

	-webkit-transition-property: transform;

	transition-property: transform;

	-webkit-transform: translateZ(0);

	transform: translateZ(0);

	box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

#main a img:hover, .shrink:focus, .shrink:active {

	-webkit-transform: scale(0.9);

	transform: scale(0.9);

}

/* ==== Footer === */

#ft {

	margin-top: 0px;

	padding-top: 35px;

	padding-bottom: 35px;

	text-align: center;

	color: #008000;
	text-shadow: 1px 1px 2px rgb(255 255 255 / 80%);

	background: linear-gradient(to right, rgba(0, 128, 0, 0.4) 0%, #fff 50%, rgba(0, 102, 255, 0.4) 100%)

}

/*----------------------------------------------------------------------------

******************************************************************************

Head

******************************************************************************

----------------------------------------------------------------------------*/

h1, h2, h3, h4, h5, h6 {

}

h1 {

	position: absolute;

	top: 20px;

	left: 20px;

	line-height: 1.4em;

	max-width: calc(100vw - 80px);
	font-size: 1rem;

}

	h1.hd_en span{
		display: none;
	}


h1 a {

	color: #000!important;

	text-decoration: none;

}

h1 span {

	display: block;

	font-size: 0.65em;
	line-height: 1.2em;

}

h2 {

	color: #fff;

	border:1px solid #95c895;

	font-size: 34px;

	font-weight:normal;

	text-shadow : 0px 0px 5px rgba(0,0,0,1.0), 2px 2px 2px rgba(255,255,255,0.5);

	height:80px;

	padding: 0.9em 0 0.0em 0.5em;
}

.research h2{
	background: url(../images/pg_ttl_01.jpg) bottom right no-repeat;
	background-size: cover;
}
.member h2{
	background: url(../images/pg_ttl_02.jpg) bottom right no-repeat;
	background-size: cover;
}
.access h2{
	background: url(../images/pg_ttl_03.jpg) bottom right no-repeat;
	background-size: cover;
}
.link h2{
	background: url(../images/pg_ttl_04.jpg) bottom right no-repeat;
	background-size: cover;
}
.english h2{
	background: url(../images/pg_ttl_05.jpg) bottom right no-repeat;
	background-size: cover;
}



#sidenav h2 {

	color: #fff;

	border:1px solid #003166;

	text-align: center;

	font-size: 16px;

	font-weight:bold;

	padding:10px;

	height:50px;

	text-shadow : 1px 2px 0px rgba(0,0,0,1.0), 2px 2px 2px rgba(255,255,255,0.5);

	background: url(../images/nav_bag.png) top center #003166;

}

h3 {

	margin: 0.8em 0 0.4em 0;

	font-size: 1.4em;

	font-weight: normal;

	min-height: 40px;

	padding: 0.4em 10px 0.0em 1.5em;

	background: url(../images/common/h3_bg.png) left bottom no-repeat;

}

h4 {

	font-size: 1.2em;

	font-weight: normal;

	padding: 0.0em 0 0.0em 0.4em;

	border-left: 5px double #000D1C;

	margin: 0.6em 0 0.4em 0;

}

h1.img, h2.img, h3.img, h4.img, h5.img, h6.img {

	margin: 0;

	padding: 0;

	background: none;

	border: none;

}

/*----------------------------------------------------------------------------

******************************************************************************

Original

******************************************************************************

----------------------------------------------------------------------------*/

/* ==== Index === */

#i_img {

}

#i_img img,
#i_main img{
	width: 100%;

}

#i_main {

	width: 100%;

	margin-top: 20px;

}
#i_main p{
	padding: 5px 10px;
}

#i_main .greet_img{
	margin: 10px 10px 20px;
	background: linear-gradient(to right, rgba(0, 128, 0, 0.3) 0%, #fff 50%, rgba(0, 102, 255, 0.2) 100%)
}

#i_news {

	height: 300px;

	overflow:auto;

	border: none;

}

#i_news table {

}

#i_news table td {

	vertical-align: top;

	font-size: 0.9em;

	padding: 10px;

	display:block;

}

#i_news table tr {

	border-bottom: 1px dotted #CCC;

}

#i_news table td.date {

	background: url(../images/common/news_icon.gif) 4px 14px no-repeat;

	padding-left: 20px;

}

#i_bnr {

	margin-top: 20px;

	width: 100%;

}

#i_bnr ul {

	

}

#i_bnr li {

	width: 100%;

	margin-bottom: 4px;

}

#i_bnr li a {

	display: block;

	width: 100%;

	text-decoration: none;

	color: #000;

	padding: 15px 0 15px 30px;

	border: 1px solid rgba(0, 128, 0, 0.4);

	border-radius: 0px;

	background: url(../images/common/bnr_bg.png) 8px center no-repeat;

	-webkit-transition: All 0.5s ease;

	-moz-transition: All 0.5s ease;

	-o-transition: All 0.5s ease;

	-ms-transition: All 0.5s ease;

	transition: All 0.5s ease;

}

#i_bnr li a:hover {

	color: #fff;
	text-shadow: 1px 1px 2px rgb(0 128 0 / 80%);
	background: url(../images/common/bnr_bg_hover.png) 8px center no-repeat rgba(0, 128, 0, 0.4);;

}

/*----pagetop----*/

#page-top {

	width:100%;

}

#page-top a {

	background: #95c895;

	border: none;

	text-decoration: none;

	color: #fff;
	text-shadow: 1px 1px 2px rgb(0 128 0 / 80%);

	width: 100%;

	padding: 20px 0;

	text-align: center;

	display: block;

}

#page-top a:hover {

	text-decoration: none;

}

/*---research---*/
.research section{
	margin-bottom: 30px;
}
.research section img{
	width: 90%;
	max-width: 630px!important;
}
.research_img_bg{
	width: 90%;
	max-width: 630px;
	padding: 0!important;
	margin: 10px auto 40px;
	text-align: center;
	background: linear-gradient(to right, rgba(0, 128, 0, 0.2) 0%, #fff 22%, rgba(0, 102, 255, 0.3) 100%);
}


/*---member---*/
.member_photo_img{
	text-align: center;
}
.member_photo_img img{
	width: 80%;
	max-width: 250px!important;
}
.member_list{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	list-style: none;
	padding: 10px!important;
}
.member_list li{
	list-style: none;
	width: calc((100% - 10px) / 2);
	margin-right: 10px;
}
.member_list li:nth-child(2n){
	margin-right: 0;
}
.member_list li figcaption{
	text-align: center;
	font-size: 1.1em;
	padding-top: 5px;
}

/*---access---*/
.access .map{
	text-align: center;
	padding: 10px 20px 30px;
}

/*---english---*/
.en_research img{
	width: 90%;
	max-width: 600px!important;
}
.en_research .research_img_bg{
	width: 90%;
	max-width: 600px;
}

}


@media screen and (min-width:580px) and ( max-width:769px) {
	h1{
		font-size: 1.3rem;
		top: 25px;
	}
	h1.hd_en span{
		display: block;
	}
	.member_list{
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
		list-style: none;
		padding: 10px!important;
	}
	.member_list li{
		list-style: none;
		width: calc((100% - 20px) / 3);
		margin-right: 10px;
	}
	.member_list li:nth-child(2n){
		margin-right: 10px;
	}
	.member_list li:nth-child(3n){
		margin-right: 0;
	}
}