@charset "utf-8";

footer {
	width: auto;
	margin: 0 auto;
	padding: 0 auto;
	background: #000;
	color: #FFF;
	clear: both;
	font-size: 0.8em;
}

nav.outlink li a {
	text-decoration: none
}
nav.outlink li a:active, nav.outlink li a:hover {
	text-decoration: underline
}
	
nav li {
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	margin: 0;
}
nav li a {
	display: block;
	padding: 10px 0px;
	color: #fff;
	text-decoration: none;
}

body {
	color: #222;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;
	font-weight: 500;
}

#contents {
	text-align: center;
}

#main {
	max-width: 1000px;
	text-align: left;
	margin: 0 auto;
}

div {
/* #intro, #EntranceExam, #news, #research, #history, #members, #access, #inquiry, #publications, #recruit { */
	margin-bottom: 40px;
}
div.center {
	text-align: center;
}

#NewsList {
	overflow:auto;
	max-height:400px;
	border:1px dotted #888888;
}

#main h2 {
	clear: both;
	margin: 3 auto;
	border-bottom: 2px solid #66c;
}
#main h3 {
	clear: both;
	margin: 3 auto;
	border-bottom: 1px solid #ccc;
}

#main p {
	padding: 0;
	text-indent: 1em;
}
#main p.noindent {
	text-indent: 0;
	margin: 5px 15px 5px 15px;
}
#main p.BottomMargin{
	text-indent: 0;
	margin: 5px 15px 30px 15px;
}

#publications {
	font-size: small;
}
#publications li {
	padding-bottom: 10px;
}
#publications div {
	margin-bottom: 0;
}
#publications .pauthor {
	font-weight: bold;
}

#main table {
	font-size: 1rem;
}
#main table th{
	border-width: 0px 0px 1px 0px; /* 下だけ引く */
	border-style: solid;
	padding: 0px 3px;
}
#main table td {
	padding: 0px 4px;
	vertical-align: top;
}

#HistoryTable, #MemberTable, #FacultyTable {
	border-collapse: collapse;
	padding: 0;
	margin: 5px;
	border-style: solid none;
}

.TableLegends {
	text-align: left;
}

#Zasshi table {
	border-width: 1px;
}
#Zasshi td.grey {
	background-color: grey;
}

ul {
	margin: 5px 15px 5px 47px;
	padding: 0;
}
ul li {
	padding: 2px 0;
	list-style-type: disc;
}

img.logo {
	height: 50px;
	margin-right: 10px;
}

p.left {
	text-align: left;
	float: left;
	margin: 0;
}
p.right {
	text-align: right;
	margin: 0;
}

img.full {
	max-width: 100%;
}

/* 大画面用設定 */
@media screen and (min-width: 751px){
	nav ul {
		text-align: center;
	}

	nav.menu {
		background: #66c;
	}
	nav.menu ul {
		display: flex;
		margin: 0;
		font-weight:bold;
	}
	nav.menu li+ li {
		border-left: 1px solid #FFF;
	}
	nav.menu li a:active, nav.menu li a:hover {
		background-color: #44a;
	}

	nav.outlink ul{
		display: flex;
		margin: 0;
	}
	nav.outlink li+ li {
		border-left: 1px solid #FFF;
	}

	#menu-btn-check, .menu-btn {
		display: none;
	}

	img {
		max-width: 750px;
	}
}
/* 小画面用設定 */
@media screen and (max-width: 750px){
	/* ハンバーガーボタン */
	.menu-btn {
		position: fixed;
		top: 58px;
		right: 10px;
		display: flex;
		height: 60px;
		width: 60px;
		justify-content: center;
		align-items: center;
		z-index: 90;
		background-color: black;
	}
	.menu-btn:hover {
		cursor: pointer;
	}
	/* 三本線 */
	.menu-btn span,
	.menu-btn span:before,
	.menu-btn span:after {
		content: "";
		display: block;
		height: 3px;
		width: 25px;
		border-radius: 3px;
		background-color: #ffffff;
		position: absolute;
	}
	.menu-btn span:before {
		bottom: 8px;
	}
	.menu-btn span:after {
		top: 8px;
	}
	#menu-btn-check {
		display: none; /* チェックボックスは非表示 */
	}

	/* メニューを開いている時はハンバーガーボタンを×にする */
	#menu-btn-check:checked ~ .menu-btn span {
		background-color: rgba(255,255,255,0); /*真ん中の線を透明にする*/
	}
	#menu-btn-check:checked ~ .menu-btn span::before {
		bottom: 0;
		transform: rotate(45deg);
	}
	#menu-btn-check:checked ~ .menu-btn span::after {
		top: 0;
		transform: rotate(-45deg);
	}

	#menu-btn-check:checked ~ .menu-content {
		left: 40%; /*メニューを画面内へ*/
	}

	/* ハンバーガーから開くメニュー */
	.menu-content {
		width: 80%;
		height: 100%;
		position: fixed;
		top: 58px;
		left: 100%; /*メニューを外に出しておく*/

		z-index: 80;
		background-color: #222;
		transition: all 0.5s; /*アニメーション*/
	}
	.menu-content ul {
		padding: 70px 10px 0;
		list-style: none;
	}
	.menu-content ul li {
		border-bottom: solid 1px #ccc;
	}
	.menu-content ul li a {
		display: block;
		width: 100%;
		box-sizing: border-box;
		color: #ccc;
		text-decoration: none;
		padding: 9px 15px 10px 0;
		position: relative;
	}

	nav.outlink {
		text-align: center;
	}

	img {
		max-width: 100%;
	}
}