@import url( normalize.css );
html {
	-ms-overflow-y: scroll;
}
body {
	background: rgb(64, 64, 64); 
	color: rgb(248, 248, 248);
	text-align: center; 
	line-height: 1.5; 
	font-family: "ƒƒCƒŠƒI", "ƒqƒ‰ƒMƒmŠpƒS ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; 
	font-size: 13px;
}
#sb-site {
	width: 100% !important; 
	text-align: center;
}
#container {
	background: rgb(64, 64, 64); 
	margin: auto; 
	width: 960px; 
	text-align: center; 
	box-shadow: 0px 0px 18px #999; 
	-webkit-box-shadow: 0 0 18x #bbb;
}

a:link    {color: rgb(246, 246,  18);}
a:visited {color: rgb(246, 204, 102);}
a:hover   {color: rgb(246, 136,  18);}
a:active  {color: rgb( 18, 136, 246);}
a:focus   {                          }

img.ic {
	vertical-align: bottom;
}
header {
	margin: 0px auto 0px; 
	padding: 0px 0px 2px;
	width: 100%; 
	min-height: 48px; 
	float: none;
	border-top-color: rgb(44, 9, 1); 
	border-top-width: 4px; 
	border-top-style: solid; 
	position: relative; 
	background-image: linear-gradient(rgba(67, 146, 97, 0.42), rgba(0, 0, 0, 0.3)); 
	background-color: rgb(44, 9, 1);
}

/* #######################################################*/

#lang {
	margin: 0px; 
	top: 24px; 
	right: 12px; 
	position: absolute;
}
#lang img {
	width: 80px;
}


#header_up h1 {
	text-align: left;
	margin: 0px;
	left: 10px;
	top: 3px;
	height: auto;
	position: absolute;
	font-weight: 100;
	color: rgb(248, 248, 248);
	font-size: 10px;
	line-height: 11px;
}
#header_bottom h1 {
	text-align: left;
	margin: 0px;
	left: 10px;
	top: 17px;
	position: absolute;
	font-family: "Roboto Slab", Geramond, "Times New Roman", "Ÿà–¾’©", "Yu Mincho", 
		"YuMincho", "ƒqƒ‰ƒMƒm–¾’© Pro W3", "Hiragino Mincho Pro", "HGS–¾’©E", "‚l‚r ‚o–¾’©", 
		"MS PMincho", serif; 
	color: rgb(248, 248, 248);
	font-size: 28px;
	line-height: 28px;
	height: auto;
}
#header_bottom a{
	color: rgb(248, 248, 248);
	text-decoration: none;
	display: block;
}








nav {
	margin: 0px 20px 0px 10px; 
	padding: 0px; 
	width: 171px; 
	float: left;
}
#toggle {
	display: none;
}
.sb-slidebar {
	display: none;
}





ul#smenu {
	margin: 8px 0px 0px 0px; 
	padding: 0px; 
	list-style-type: none;
}
ul#smenu li {
	list-style-type: none;
	background-position: 0px 0px; 
	margin: 0px 0px 6px; 
	padding: 0px;
	width: 171px;
	min-height: 17px;
	max-height: 55px;
	text-align: left; 
	display: block; 
	position: relative; 
	background: rgb(44,9,1);
	-moz-background-size: 171px 22px;
}
ul#smenu li a {
	padding: 10px; 
	line-height: 15px; 
	font-size: 15px; 
	display: block; 
	-webkit-transition: all 0.5s ease; 
	-moz-transition: all 0.5s ease;
}
/*
ul.engmenu#smenu li a {
	font-size: 2vw;
	font-height: 2vw;
	padding: 1vw 1vw 1vw 1vw; 
}
*/
ul#smenu li a:link {
	color: rgb(255, 255, 255); 
	text-decoration: none;
}
ul#smenu li a:visited {
	color: rgb(255, 255, 255); 
	text-decoration: none;
}
ul#smenu li a.here{
	color: rgb(44, 9, 1); 
	background: rgb(255,139, 51); 
	text-decoration: none; 
}
ul#smenu li a:hover {
	color: rgb(44, 9, 1); 
	background: rgb(244,239,101);
	text-decoration: none; 
}
ul#smenu li a.here:hover {
	color: rgb(255, 36, 18); 
	background: rgb(249,244,191);
	text-decoration: none; 
}


ul.button {
	margin: auto; 
	padding: 0px; 
	list-style-type: none;
	max-width: 300px;
}
ul.button li {
	
	list-style-type: none;
	background-position: 0px 0px; 
	margin: 0px 0px 6px; 
	padding: 0px;
	max-width: 200px;
	min-height: 17px;
	max-height: 55px;
	text-align: center; 
	display: block; 
	position: relative; 
	background: rgb(44,9,1);
	-moz-background-size: 171px 22px;
}
ul.button li a {
	padding: 10px; 
	line-height: 15px; 
	font-size: 15px; 
	display: block; 
	-webkit-transition: all 0.5s ease; 
	-moz-transition: all 0.5s ease;
}
ul.button li a:link {
	color: rgb(255, 255, 255); 
	text-decoration: none;
}
ul.button li a:visited {
	color: rgb(255, 255, 255); 
	text-decoration: none;
}
ul.button li a:hover {
	color: rgb(44, 9, 1); 
	background: rgb(244,239,101);
	text-decoration: none; 
}












footer {
	padding: 10px 0px 10px; 
	width: auto; 
	height: 33px
	min-height: 33px; 
	clear: both; 
	background-image: linear-gradient(rgba(67, 146, 97, 0.42), rgba(0, 0, 0, 0.3)); 
	background-color: rgb(44, 9, 1);
}
#copy {
	margin: 0px; 
	padding: 0px;
	color: rgb(248,248,248);
	font-size: 11px;
}





#page-top {
	background: rgb(0, 0, 0); 
	padding: 15px 10px 10px; 
	width: 50px; 
	height: 20px; 
	text-align: center; 
	right: 10px; 
	bottom: 10px; 
	color: rgb(255, 255, 255); 
	line-height: 20px; 
	clear: both; 
	font-size: 20px; 
	text-decoration: none; 
	display: block; 
	position: fixed; 
	z-index: 9999; 
	opacity: 0.7;
}
#page-top:hover {
	opacity: 0.8;
}
.arrow {
	border-width: 2px; 
	border-style: solid; 
	border-color: rgb(255, 255, 255) rgb(0, 0, 0) rgb(0, 0, 0) rgb(255, 255, 255); 
	border-image: none; 
	left: 25px; 
	top: 20px; 
	width: 15px; 
	height: 15px; 
	position: absolute; 
	transform: rotate(45deg); 
	-moz-transform: rotate(45deg); 
	-webkit-transform: rotate(45deg); 
	-o-transform: rotate(45deg);
}





@media print
{
	#page-top {
		display: none;
	}
}





#title_image {
	margin: 0px auto 12px; 
	width: 960px; 
	height: auto; 
	clear: both;
}
#title_image img {
	width: 960px;
}





#about {
	margin: 0px 0px 30px 20px; 
	background: rgb(64, 64, 64); 
	color: rgb(248, 248, 248);
	padding: 0px 0px 20px; 
	width: 360px; 
	text-align: left; 
	float: left;
}
#about p {
	margin: 5px 15px 5px 20px; 
	padding: 0px; text-indent: 0px;
}
#about h2 {
	background: rgb(232, 240, 242); 
	padding: 5px 20px 5px; 
	text-align: center; 
	color: rgb(119, 119, 119); 
	margin: 5px 2px 0px; 
	font-size: 21px;
	line-height: 21px; 
	font-weight: normal;
	border-bottom: 3px solid rgb(127,255,0);
}




#rec_news_frame {
	margin: 0px 0px 30px; 
	background: rgb(64, 64, 64); 
	color: rgb(248, 248, 248);
	padding: 0px; 
	width: 369px; 
	text-align: left; 
	float: left;
}
#rec_news {
	margin: 0px; 
	padding: 0px; 
	width: 369px;
}
#rec_news ul {
	list-style: none; 
	margin: 0px; 
	padding: 0px 0px 20px 0px; 
	height: 390px; 
	overflow: auto;
}
#rec_news ul li {
	list-style: none; 
	padding: 8px 0px; 
	border-bottom-color: rgb(232, 240, 242); 
	border-bottom-width: 2px; 
	border-bottom-style: solid; 
	background-image: none;
}
#rec_news_frame h2 {
	background: rgb(232, 240, 242); 
	padding: 5px 20px 5px; 
	text-align: center; 
	color: rgb(119, 119, 119); 
	margin: 5px 2px 0px; 
	font-size: 21px;
	line-height: 21px; 
	font-weight: normal;
	border-bottom: 3px solid rgb(255,127,255);
}






#links ul{
	content: "";
	clear: both;
	margin: 15px auto 15px; 
	width: 90%; 
}
#links ul li{
	padding: 0px;
	list-style-type: none;
	font-size: 12px;
	display: block;
	text-align: left;
	float: left;
	background: #999;
	width: 90%;
	margin-right: 5px;
	margin-bottom: 5px;
}
#links ul li:nth-child(even) {
	background: rgb(44, 9, 1);
	padding: 0px;
}
#links ul li:nth-child(odd) {
	background: rgb(66, 14, 2);
	padding: 0px;
}
#links ul li:hover{
	background: rgb(244,239,101);
	padding: 0px;
}
#links ul li a{
	padding: 2px 8px 2px;
	color: rgb(248,248,248);
	text-decoration: none; 
	-webkit-transition: all 0.5s ease; 
	display: block;
	-moz-transition: all 0.5s ease;
}
#links ul li a:hover {
	padding: 2px 8px 2px;
	color: rgb(44, 9, 1); 
	text-decoration: none; 
	display: block;
	-webkit-transition: all 0.5s ease; 
	-moz-transition: all 0.5s ease;
}
#links h3{
	padding-top: 20px;
}






























#main {
	background: rgb(64, 64, 64); 
	color: rgb(248, 248, 248);
	margin: 0px 3px 0px; 
	padding: 0px 0px 20px; 
	text-align: left; 
	float: right; 
	min-height: 400px;
}
#main h1 {
	margin: 25px 0px 15px; 
	padding: 10px 15px 0px; 
	text-align: center; 
	color: rgb(202, 201, 233); 
	line-height: 24px; 
	font-size: 24px; 
	font-weight: bold; 
	border-bottom-color: rgb(202, 201, 233); 
	border-bottom-width: 5px; 
	border-bottom-style: double;
}
h2 {
	background: rgb(232, 240, 242); 
	margin: 8px 0px 17px; 
	padding: 5px 20px 5px; 
	text-align: center; 
	color: rgb(119, 119, 119); 
	line-height: 17px; 
	font-size: 17px; 
	clear: both;
	font-weight: normal;
	border-bottom: 3px solid rgb(255,0,0);
}
h3 {
	margin: 25px 0px 0px 10px; 
	padding: 0px; 
	color: rgb(217, 217, 217); 
	line-height: 18px;
	text-indent: 1.2em;
	font-size: 18px; 
	font-weight: bold;
	clear: both;
	border-bottom: 3px solid rgb(255,127,0);
}
h4 {
	margin: 5px 0px 5px; 
	padding: 30px 4px 5px; 
	line-height: 18px; 
	font-size: 18px; 
	font-weight: bold;
	text-align: center;
	clear: both;
	border-bottom: 3px solid rgb(215,215,215);
}
p {
	margin: 5px 20px 5px 30px; 
	padding: 0px; 
	text-indent: 0.7em;
}
strong{
	color: rgb(235,255,0);
}




table {
	margin: auto; 
	padding: 5px;
	max-width: 500px;
}
table th {
	padding: 7px 5px 5px; 
	border: 1px solid rgb(204, 204, 204); 
	border-image: none; 
	text-align: center; 
	font-weight: bold; 
}
table td {
	padding: 7px 5px 5px; 
	border: 1px solid rgb(204, 204, 204); 
	border-image: none;
}
table td a{
	display: block;
	text-decoration: none; 
	color: rgb(248,248,248);
}


table.member {
	margin: 15px auto; 
	max-width: 800px;
	width: 96%;
	border-top-color: rgb(157, 157, 157); 
	border-width: 2px; 
	border-top-style: solid;
}
table.member td {
	border-width: medium medium 1px; 
	border-style: none none solid; 
	border-color: currentColor currentColor rgb(157, 157, 157); 
	padding: 8px; 
}

table.member  tr:nth-child(even) {
	background: rgb(44, 9, 1);
}
table.member tr:nth-child(odd) {
	background: rgb(66, 14, 2);
}


table.member tr.here:hover{
	color: rgb(44, 9, 1); 
	background: rgb(255,139, 51); 
	text-decoration: none; 
}
table.member a:link{
	color: rgb(248,248,248);
	text-decoration: none; 
}
table.member a:visited{
	color: rgb(248,248,248);
	text-decoration: none; 
}
table.member a:link:hover{
	color: rgb(255, 36, 18); 
	background: rgb(249,244,191);
	text-decoration: none; 
}
table.member a:visited:hover{
	color: rgb(255, 36, 18); 
	background: rgb(249,244,191);
	text-decoration: none; 
}


table.regist{
	border-image: none; 
	text-align: center;
}
table.regist th{
	color: rgb(244,239,101);
	background: rgb(44, 9, 1); 
}
table.regist td{
	min-width: 70px;
	background: rgb(66, 14, 2);
}





a.pdf {
	background: url("../image/ic_pdf.png") no-repeat right / 20px 20px; padding-right: 24px; 
	-moz-background-size: 20px 20px;
}
a.blank {
	background: url("../image/ic_blank.png") no-repeat right / 18px 17px; padding-right: 22px; 
	-moz-background-size: 18px 17px;
}

.w20 {
	width: 20%;
}
.w35 {
	width: 35%;
}




@media screen and (max-width:10000px) and (min-width:480px)
{
#container {
	width: 100%;
}
#header {
	width: 100%;
}
#title_image {
	margin: 0px;
	width: 100%;
}
#title_image img {
	margin: 0px;
	width: 100%;
}
#rec_news {
	width: 100%;
}
#bn img {
	width: 100%;
}
#header_up {
	float: left; 
}
#header_bottom {
	float: left; 
}
nav {
	margin: 0px 1%; 
	width: 18%;
}
#bn {
	margin: 0px 1%; 
	width: 18%;
}
ul#smenu li {
	width: 100%; 
	background-size: contain;
}

#main {
	margin: 0px 1%; 
	width: 78%; 
	min-height: inherit;
}
#rec_news_frame {
	margin: 0px 1%; 
	width: 48%;
}
#about {
	margin: 0px 1%; 
	width: 48%;
}
#about img {
	width: 100%;
}


}






@media only screen and (max-width:480px)
/* for smartphones */
{
html {
	-ms-overflow-x: hidden;
}
body {
	-ms-overflow-x: hidden;
}
#sb-site {
	width: 100% !important;
}
.sp {
	display: block;
}
.pc {
	display: none;
}
header {
	margin: 0px; 
	padding: 0px 0px 2px; 
	width: 100%; 
	height: auto; 
	float: none; 
	position: static;
}
#header_up h1 {
	margin: 0px 0px 0px 46px; 
	left: auto; 
	top: auto; 
	width: auto; 
	height: auto; 
	position: static;
	font-size: 10px;
	line-height: 11px;
	padding: 3px 3px 0px 0px;
}
#header_bottom h1 {
	margin: 0px 0px 0px 46px; 
	left: auto; 
	top: auto; 
	width: 85%; 
	height: auto; 
	position: static;
	font-size: 28px;
}
#lang {
	display: none;
}
nav {
	display: none;
}


/*  ‚±‚Ì•”•ª‚ªƒXƒ}ƒz—pƒƒjƒ…[ */
#menu_title {
	margin: 2px auto 4px; 
	width: 95%; 
	clear: both;
	list-style-type: none;
}
ul#menu {
	margin: 0px; 
	clear: both;
	padding: 0px; 
	list-style-type: none;
	background-color: rgb(64,64,64);
}
ul#menu li {
	margin: 3px; 
	padding: 0px;
	border: currentColor; 
	text-align: left; 
	width: auto; 
	display: block; 
	height: auto;
	min-height: 22px;
	max-height: 55px;
	float: none; 
	background-color: rgb(44, 9, 1);
	list-style-type: none;

}
ul#menu li a {
	padding: 3px;
	color: rgb(248,248,248);
	text-decoration: none;
	display: block; 
	-webkit-transition: all 0.5s ease; 
	-moz-transition: all 0.5s ease;
}
ul#menu li a:link {
	color: rgb(255, 255, 255); 
	text-decoration: none;
	display: block; 
}
ul#menu li a:hover {
	color: rgb(44, 9, 1); 
	background: rgb(244,239,101);
	text-decoration: none; 
	display: block; 
}
ul#menu li a.here{
	color: rgb(44, 9, 1); 
	background: rgb(255,139, 51); 
	text-decoration: none; 
	display: block; 
}
ul#menu li a.here:hover {
	color: rgb(255, 36, 18); 
	background: rgb(249,244,191);
	text-decoration: none; 
	display: block; 
}


/* MENU ‚ÌƒAƒCƒRƒ“•\Ž¦•”•ª%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
#toggle {
	background: rgb(210, 56, 175); 
	padding: 3px 0px 2px; 
	left: 3px; 
	top:  3px; 
	display: block; 
	position: absolute; 
	z-index: 9999; 
	cursor: pointer;
}
#toggle ul {
	margin: 0px; 
	padding: 0px;
	list-style-type: none;
}
#toggle ul li {
	background: none; 
	margin: 0px; 
	padding: 0px;
}



.sb-slidebar {
	background: rgb(242, 242, 242) !important; 
	display: block;
}
.css-bar {
	background: rgb(255, 255, 255); 
	margin: 0px 5px 0px; 
	padding: 0px; 
	display: inline-block; 
	position: relative;
}
.css-bar::before {
	width: 27px; 
	height: 4px;
}
.css-bar {
	width: 27px; 
	height: 4px;
}
.css-bar::after {
	width: 27px; 
	height: 4px;
}
.css-bar::before {
	background: rgb(255, 255, 255); 
	left: 0px; 
	top: 50%; 
	display: block; 
	position: absolute; 
	content: "";
}
.css-bar::after {
	background: rgb(255, 255, 255); 
	left: 0px; 
	top: 50%; 
	display: block; 
	position: absolute; 
	content: "";
}
.css-bar::before {
	margin-top: -8px;
}
.css-bar::after {
	margin-top: 4px;
}
html.sb-active #sb-site {
	cursor: pointer;
}
.sb-toggle-left {
	cursor: pointer;
}
.sb-toggle-right {
	cursor: pointer;
}
.sb-open-left {
	cursor: pointer;
}
.sb-open-right {
	cursor: pointer;
}
.sb-close {
	cursor: pointer;
}
#toggle p {
	margin: 4px auto 0px; 
	padding: 0px; 
	color: rgb(255, 255, 255); 
	line-height: 1; 
	text-indent: 0px; 
	font-family: "ƒƒCƒŠƒI", "ƒqƒ‰ƒMƒmŠpƒS ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; 
	font-size: 10px;
}
#container {
	width: 100%;
}
#title_image {
	margin: 0px 1%; 
	width: 100%; 
	height: auto; 
	background-size: contain;
}
#title_image img {
	width: 100%;
}
#rec_news_frame {
	margin: 0px auto 15px; 
	width: 99%; 
	height: auto; 
	float: none;
}
#rec_news {
	margin: 0px auto 15px; 
	width: 100%;
}
#rec_news ul {
	height: 240px; 
	overflow: auto;
}
#rec_news_frame h2{
	font-size: 18px;
	line-height: 18px;
	margin: 20px 0px 6px; 
	padding: 2px 5px 2px; 
}
#about {
	margin: 0px auto 0px; 
	padding: 3px 0px 10px; 
	width: 98%; 
	float: none;
}
#about p {
	margin: 5px 10px;
}
#about h2{
	font-size: 18px;
	line-height: 18px;
	margin: 20px 0px 6px; 
	padding: 2px 5px 2px; 
}
#about img {
	width: 100%;
}
#bn {
	margin: 0px auto 15px; 
	width: 95%; 
	overflow: hidden; 
	float: none; 
	position: static;
}
#bn ul {
	clear: both;
}
#bn ul li {
	margin: 3px 3px 0px 0px; 
	width: 49%; 
	float: left;
}
#bn ul h2{
	font-size: 18px;
	line-height: 18px;
}
#bn ul li a{
	text-align: center;
}
#bn ul.engmenu li a{
	padding: 5px 0px 5px 0px;
	font-size: 13px;
	line-height: 13px;
	text-align: center;
}
/*
#bn ul.engmenu h2{
	padding: 5px 0px 5px 0px;
	font-size: 18px;
	line-height: 18px;
	text-align: center;
}
*/
#bn img {
	width: 50%;
	margin: 3px 3px 0px 0px;
	float: left;
	clear; both;
}
#address {
	margin: 0px auto 15px; 
	width: 90%; 
	float: none;
}
footer {
	padding: 5px; 
	width: 100%; 
	height: auto;
}
#copy {
	width: 100%; 
	text-align: left;
}
#main {
	margin: 0px; 
	width: 100%;
}
#contents {
	margin: 0px; 
	width: 100%;
}
#main h1 {
	margin: 0px; 
	padding: 10px 0px 0px; 
	width: 100%; 
	font-size: 18px;
}
h2 {
	margin: 10px 5px 0px; 
	padding: 7px 5px; 
	width: auto;
	line-height: 18px; 
	font-size: 18px;
}
h3 {
	margin: 10px auto; 
	padding: 6px 5px 4px; 
	width: 100%; 
	font-size: 15px;
}
h4 {
	margin: 10px 5px; 
	width: 100%; 
	font-size: 14px;
}
p {
	margin: 5px;
}
ul {
	margin: 5px 5px 5px 10px;
}
ol {
	margin: 5px 5px 5px 30px;
}
table {
	margin: 5px auto; 
	width: 95%;
}

#research figure{
	max-width: 100vw;
	min-width: 200px;
}
#research figure img{
	max-width: 80vw;
	margin-right: auto;
	margin-left: auto;
}


#research figure.multifigure {
	width: 200px;
}
#research figure.multifigure img{
	max-width: 100%;
}



#page-top {
	right: 10px; 
	bottom: 25px;
}


}
