@charset "utf-8";
/*基本設定*/
* {
	padding: 0px;
	margin: 0px;
}
html {
	overflow-y: scroll;
}
html, body {
	height: 100%;
	width: 100%;
}
img {
	border: 0px;
	vertical-align: bottom;
}
i {
	font-family: "Times New Roman";
}
sup,
sub {
	color: red;
}
body,input,textarea,select,pre {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: 90%;
	font-weight: 500;
}
@media (-ms-high-contrast: none) {
h2, h3, h4, h5, h6, p, th, td, li {
	-webkit-transform: rotate(.03deg);
	transform: rotate(.03deg);
	font-weight: 700;
	line-height: 2;
}
}
/* HTML5の新要素でブロックボックスとしてレンダリングさせる要素に「display: block」を指定する */
footer, main, header {
    display: block;
    margin: 0 auto;
}
/*imeのオンオフ*/
.cs_ime {
    ime-mode: active;
}
.cs_off {
    ime-mode:disabled
}
/*リンク色指定*/
a {
	text-decoration: none;
}
a:link{
	color: black;
}
/*リンク訪問済みの色を変えない*/
a:visited{
	color: black;
}
/*マウスオーバーで透過させる*/
a:hover img{
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
body {
	background-color: #ffffff;
}
/*リンクマーク*/
.cs_icon {
	display: inline-block;
	font-size: x-small;
	padding-right: 2px;
	padding-top: 3px;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
/*--------------------*/
/* offパーツ          */
/*--------------------*/
/*パソコンで表示*/
@media (max-width:419px){.to_off419 {display:none}}

/*スマホで表示*/
@media (min-width:420px){.fm_off420 {display:none}}
/*--------------------------------------------------------------------------------------------*/
/*ヘッダー                                                                                    */
/*--------------------------------------------------------------------------------------------*/
.cs_header {
	padding: 20px 0;
	margin-bottom: 10px;
	background-color: #EEF;
	border-bottom: solid 5px #248;
}
@media (min-width: 960px) {
.cs_header > div {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
}
}
@media (max-width: 959px) {
.cs_header > div  {
	width: 100%;
}
}
/*ヘッドライン*/
.cs_header_line {
	background-color: #248;
}
.cs_header_line div,
.cs_header_line div a:link,
.cs_header_line div a:visited {
	color: white;
}
@media (min-width: 960px) {
.cs_header_line div {
	width: 960px;
	margin: auto;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
}
}
@media (max-width: 959px) {
.cs_header_line div {
	width: 100%;
	text-align: center;
}
}
@media (-ms-high-contrast: none) {
.cs_header_line div {
	padding-top: 7px;
	padding-bottom: 5px;
}
}
@media (max-width: 419px) {
.cs_header_line div p {
	font-size: xx-small;
}
}
@media (max-width: 374px) {
.cs_header_line div{
	padding: 0;
	line-height: 1;
}
}
/*ヘッダー*/
.cs_header >div {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
}
/*大学リンク*/
.cs_header p {
	margin-top: 10px;
	text-align: right;
}
@media (max-width: 959px) {
.cs_header p {
	margin-right: 20px;
}
}
/*大学名*/
.cs_header a:hover img{
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}
@media (max-width: 459px) {
.cs_header h1 img {
	width: 100%;
	height: auto;
}
}
/*研究室名*/
@media (min-width: 420px) {
.cs_header div div {
	margin-right: 10px;
}
}
@media (min-width: 415px) {
.cs_header div div {
	margin-left: 45px;
}
}
@media (max-width: 414px) {
.cs_header div div img {
	width: 100%;
	height: auto;
}
}
/*--------------------------------------------------------------------------------------------*/
/*メイン                                                                                      */
/*--------------------------------------------------------------------------------------------*/
@media (min-width: 960px) {
main {
	width: 960px;
	margin: auto;
}
}
@media (max-width: 959px) {
main {
	width: 100%;
}
}
@media (min-width: 420px) {
.cs_block {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: space-between;
}
}
/*--------------------*/
/* メニュー           */
/*--------------------*/
.cs_menu {
	margin-bottom: 30px;
	font-size: medium;
}
@media (min-width: 420px) {
.cs_menu {
	width:27%;
}
}
@media (max-width: 419px) {
.cs_menu {
	width:95%;
	margin-left: auto;
	margin-right: auto;
}
}
.cs_menu table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 30px;
}
.cs_menu table tr th,
.cs_menu table tr td {
	border: solid 1px #666;
	padding: 2px;
}
.cs_menu table a {
	display: block;
	padding-top: 5px;
	padding-bottom: 5px;
}
.cs_menu table tr th {
	text-align: left;
}
.cs_menu table tr th a {
	width : -webkit-calc(100% - 10px) ;
	width: calc(100% - 10px);
	padding-left: 10px;
	background-image: url(../images/menu_icon1.png);
	background-repeat: repeat-y;
	background-position: left top;
}
.cs_menu table tr td a {
	display: block;
	width : -webkit-calc(100% - 20px) ;
	width: calc(100% - 20px);
	padding-left: 20px;
	background-image: url(../images/menu_icon2.png);
	background-repeat: repeat-y;
	background-position: left top;
}
.cs_menu_icon {
	color: #248;
}
/*バナー*/
.cs_menu p {
	width : -webkit-calc(100% - 42px) ;
	width: calc(100% - 42px);
	margin-bottom: 30px;
}
@media (-ms-high-contrast: none) {
.cs_menu p {
	line-height: 1;
}
}
.cs_menu p a {
	display: block;
	width: 100%;
	padding: 15px 20px;
	border-top: solid 1px #248;
	border-left: solid 1px #248;
	border-right: solid 1px #248;
	border-bottom: solid 5px #248;
	background-color: #FFE;
}
/*--------------------*/
/* メイン             */
/*--------------------*/
@media (min-width: 420px) {
.cs_main {
	width: 70%;
}
}
@media (max-width: 419px) {
.cs_main {
	width: 95%;
	margin: 60px auto;
}
}
/*ページタイトル*/
.cs_main h2 {
	font-size: x-large;
	font-weight: normal;
	padding: 7px 20px;
	border-top: solid 5px #248;
	border-left: solid 1px #999;
	border-right: solid 1px #999;
	border-bottom: solid 1px #999;
}
.cs_main h2 span {
	font-size: large;
}
/*リンクを青*/
.cs_link_blue {
	text-decoration: underline;
}
.cs_link_blue:link,
.cs_link_blue:visited {
	color: blue;
}
/*--------------------------------------------------------------------------------------------*/
/*フッター                                                                                    */
/*--------------------------------------------------------------------------------------------*/
footer{
	border-top: solid 5px #248;
	background-color: #EEF;
}
@media (min-width: 960px) {
.cs_footer {
	width: 960px;
	margin: auto;
}
}
@media (max-width: 959px) {
.cs_footer {
	width: 100%;
}
}
.cs_footer {
	padding-bottom: 30px;
}
@media (min-width: 420px) {
.cs_footer {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: space-between;
}
}
/*タイトル*/
.cs_footer_title {
	margin-top: 15px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.cs_footer_title h2 {
	font-size: xx-large;
}
.cs_footer_title h3 {
	font-size: medium;
}
@media (min-width: 420px) {
.cs_footer_title h3 {
	margin-left: 20px;
}
}
/*name*/
.cs_footer div p {
	font-size: medium;
}
@media (max-width: 419px) {
.cs_footer div p {
	margin-left: 10px;
}
}
/*リンク*/
.cs_footer >p {
	margin-top: 15px;
	font-weight: bold;
}
@media (max-width: 959px) {
.cs_footer >p {
	margin-right: 20px;
}
}
@media (max-width: 419px) {
.cs_footer >p {
	margin-top: 30px;
	line-height: 3;
	text-align: right;
}
}
/*リンクに下線*/
.cs_link_underline {
	text-decoration: underline;
}
/*コピーライト*/
.cs_copyright {
	background-color: #248;
	text-align: center;
	padding: 10px 0;
}
.cs_copyright p {
	color: white;
}
@media (min-width: 960px) {
.cs_copyright p {
	width: 960px;
	margin: auto;
}
}
@media (max-width: 959px) {
.cs_copyright p {
	width: 100%;
}
}
@media (max-width: 419px) {
.cs_copyright p {
	line-height: 1;
}
}
/*--------------------*/
/* ページトップへ移動 */
/*--------------------*/
#id_page_top{
	position: fixed;
	bottom: 50px;
	right: 10px;
	width: 50px;
	height: 35px;
	color: white;
	font-size: x-large;
	text-align: center;
	border: solid 1px white;
	background-color: #248;
	cursor: pointer;
	z-index: 30;
}
#id_page_top:hover{
	background-color: #359;
}