@charset "UTF-8";

/* Font Awesome */
@import "https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css";

/* Google font */
@import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700');

/* @group color */

.black {
	background-color: #000000;
}

.gray {
	background-color: #666666;
}

.silver-gray {
	background-color: #999999;
}

.silver {
	background-color: #c0c0c0;
}

.blue {
	background-color: #003f76;
}

.red {
	color: #bd081c;
}

.orange {
	background-color: #ee8500;
}

/* @end */

/* @group common */

html {
	min-height: 100%;
	position: relative;
}

body {
	color: #636363;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Robot", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	background-color: white;
	padding-bottom: 100px;
}

#contents {
	padding-bottom: 50px;
}

h1 {
	color: #003f76;
	border: 3px solid #003f76;
	font-size: 22px;
	padding: 10px 5px;
	/*background: -webkit-linear-gradient(top, white 0%, #eeeeee 100%) #eeeeee;
	background: -moz-linear-gradient(top, white 0%, #eeeeee 100%) #eeeeee;
	background: -ms-linear-gradient(top, white 0%, #eeeeee 100%) #eeeeee;
	background: linear-gradient(to bottom, white 0%, #eeeeee 100%) #eeeeee;*/
	margin-bottom: 20px;
	font-weight: bold;
	
}

h2 {
	color: #003f76;
	font-size: 16px;
	padding: 8px;
	margin-bottom: 15px;
	border-bottom: 1px solid #c0c0c0;
	border-left: 5px solid #003f76;
	font-weight: bold;
}

h2.h2-result {
	position: relative;
	margin-bottom: 25px;
}

h2.h2-result:after {
	content: '';
	border-top: 12px solid #003f76;
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	margin-left: -10px;
	position: absolute;
	bottom: -12px;
	left: 50%;
}

p, li, dt, dt2, dd {
	line-height: 1.7em;
}

a {
	color: #003f76;
	transition: 0.3s;
}

a:hover {
	color: #ee8500;
}

[class$="-link"]:after {
	color: #aaaaaa;
	font-family: fontawesome;
	font-weight: normal;
	font-style: normal;
	padding-left: 0.25em;
	padding-right: 0.25em;
}

a.inner-link:after {
	content: "\f0c1";
}

a.external-link:after {
	content: "";
	background: url(../img/blank.png) right center no-repeat;
	padding-right: 14px;
	margin-right: 4px;
}

a.word-link:after {
	content: "\f1c2";
}

a.excel-link:after {
	content: "\f1c3";
}

a.pdf-link:after {
	content: "\f1c1";
}

a.mail-link:after {
	content: "\f003";
}

#contents ul li {
	margin-bottom: 5px;
}

#contents ul li:last-child {
	margin-bottom: 0px;
}

sup {
	font-size: 80%;
	margin-right: 0.2em;
	margin-left: 0.2em;
}

u {
	text-decoration: none;
	border-bottom-width: 1px;
	border-bottom-style: solid;
}

hr {
	border: none;
	border-top: 1px dotted #cccccc;
	margin-top: 30px;
	margin-bottom: 30px;
}

/* @end */

/* @group header */

#header {
	border-top: 3px solid #003f76;
	background-image: url(../img/header_bg.png);
	height: 105px;
}

#header .container {
	position: relative;
}

#header a.logo {
	text-indent: -9999px;
	background: url(../img/header_logo.gif) left center no-repeat;
	width: 452px;
	height: 56px;
	margin-top: 23px;
	display: block;
}

p.logo_en {
	text-indent: -9999px;
	width: 213px;
	height: 15px;
	margin-bottom: 0;
	background: url(../img/header_logo_en.png) no-repeat;
	position: absolute;
	right: 15px;
	top: 42px;
}

ul.dropdown-menu li a {
	font-size: 12px;
}

#header ul li {
	display: inline;
}

#header ul li a {
	color: #7d7d7d;
}

/* @end */

/* @group nav-bar */

#nav-bar div.container nav.navbar.navbar-default div.container-fluid {
	padding-right: 0;
	padding-left: 0;
}

#nav-bar {
	background: url(../img/navbar_bg.png) center top repeat-x white;
	border-top: 1px solid #cfcfcf;
	border-bottom: 1px solid #cfcfcf;
	margin-bottom: 20px;
	font-size: 12px;
	-moz-box-shadow: 0 5px 20px rgba(185, 185, 185, 0.3);
	box-shadow: 0 5px 20px rgba(185, 185, 185, 0.3);
}

.navbar {
	min-height: 39px !important;
	margin-bottom: 0px;
	border-style: none;
	background-color: transparent;
}

.navbar-brand {
	height: 39px;
	padding: 10px 15px;
}

.navbar-nav > li > a {
	padding: 10px 10px 9px !important;
}

/* @end */

/* @group information */

.information {
	background-color: #fcfcfc;
	border: 1px dashed #cccccc;
	padding: 1em;
	margin: 20px 1em;
}

.information ul {
	padding-left: 1.5em;
}

.information ul:last-child {
	margin-bottom: 0;
}

.information ul.notice {
	list-style-type: none;
	padding-left: 0;
}

.information ul.notice li:before {
	font-family: fontawesome;
	content: "\f071";
	margin-right: 0.5em;
	color: #ffad15;
}

.information strong {
	color: #bd081c;
	font-weight: normal;
	font-style: normal;
}

.info-pdf:after {
	color: #aaaaaa;
	font-weight: normal;
	font-style: normal;
	font-family: fontawesome;
	padding-left: 0.25em;
	padding-right: 0.25em;
	content: "\f1c1";
}

/* @end */

/* @group top */

.top {
	font-family: "ヒラギノ角ゴ ProN W3", Meiryo, "Robot", sans-serif;
	height: 360px;
	background: url(../img/top_img.jpg) center center;
	background-size: cover;
	padding: 20px;
	color: black;
}

.top-title {
	font-size: 30px;
	text-align: center;
	margin-top: 90px;
	margin-bottom: 100px;
}

.top-box {
	text-align: center;
	background-color: rgba(255, 255, 255, 0.3);
	padding-top: 5px;
	padding-bottom: 5px;
	margin-right: auto;
	margin-left: auto;
	width: 90%;
}

.top-box p {
	margin-bottom: 0;
}

.notice {
	border: 3px double #c0c0c0;
	margin-top: 30px;
	margin-bottom: 30px;
	padding: 1em;
	text-align: center;
	background-color: #fffdf2;
}

.notice p {
	margin-bottom: 0;
}

.top-info dt {
	width: 12em;
	float: left;
	clear: both;
}

.top-info dt2 {
	width: 12em;
	float: left;
	clear: both;
}

.top-info dt:before {
	font-family: fontawesome;
	content: "\f058";
	margin-right: 0.25em;
}

.top-info dt2:before {
	font-family: fontawesome;
	content: "\f058";
	margin-right: 0.25em;
}

/* @end */

/* @group top-main */

.top-main {
	font-family: "ヒラギノ角ゴ ProN W3", Meiryo, "Robot", sans-serif;
	height: 180px;
	background: url(../img/top_img.jpg) center bottom;
	background-size: cover;
	padding: 20px;
	color: black;
}

.top-main-title {
	font-size: 30px;
	text-align: center;
	margin-bottom: 20px;
	margin-top: 10px;
}

.top-main-box {
	text-align: center;
	background-color: rgba(255, 255, 255, 0.3);
	padding-top: 5px;
	padding-bottom: 5px;
	margin-right: auto;
	margin-left: auto;
	width: 90%;
}

.top-main-box p {
	margin-bottom: 0;
}

/* @end */

/* @group overview */

ul.regi-info {
	list-style-type: none;
	margin-left: 14px;
	padding-left: 0;
	color: #000;
}

ul.regi-info li {
	margin-bottom: 0!important;
}

ul.regi-info li2 {
	margin-bottom: 0!important;
}

ul.regi-btn li a {
	height: 100%;
	display: block;
}

ul.regi-btn li2 a {
	height: 100%;
	display: block;
}

ul.regi-info strong {
	color: #E2263A;
	font-weight: normal;
	font-style: normal;
}

.regi-btn-grp {
	margin-left: 14px;
	display: flex;
	flex-wrap: wrap;
}

ul.regi-btn {
	font-size: 0;
	padding-left: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}

ul2.regi-btn {
	font-size: 0;
	padding-left: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}

ul.regi-btn li {
	font-size: 14px;
	text-align: center;
	width: 300px;
/*	height: 100px;*/
	margin-bottom: 10px!important;
	padding: 10px;
	border: 1px solid #dadada;
	display: block;
	border-radius: 10px;
	background-image: -webkit-linear-gradient(top, #ffffff 0%, #f4f4f4 100%);
	background-image: -moz-linear-gradient(top, #ffffff 0%, #f4f4f4 100%);
	background-image: -ms-linear-gradient(top, #ffffff 0%, #f4f4f4 100%);
	background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 100%);
}

ul.regi-btn li2 {
	font-size: 14px;
	text-align: center;
	width: 300px;
	height: 100px;
	margin-bottom: 10px!important;
	padding: 10px;
	border: 1px solid #dadada;
	display: block;
	border-radius: 6px;
	background-image: -webkit-linear-gradient(top, #ffffff 0%, #f4f4f4 100%);
	background-image: -moz-linear-gradient(top, #ffffff 0%, #f4f4f4 100%);
	background-image: -ms-linear-gradient(top, #ffffff 0%, #f4f4f4 100%);
	background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 100%);
}

ul.regi-btn li {
	color: #9b9b9b;
	background: #003f76;
}

ul.regi-btn li.disabled {
	color: #9b9b9b;
	background: rgba(174,185,202,1.0);
	pointer-events: none;
}

ul.regi-btn li.disabled2 {
	color: #6633cc;
	background: #000066;
}
ul.regi-btn li2.disabled {
	color: #9b9b9b;
	background: #ededed;
}

ul.regi-btn li:not(:last-child) {
	margin-right: 10px;
}

ul.regi-btn li2:not(:last-child) {
	margin-right: 10px;
}

ul.regi-btn li:hover {
	background-image: -webkit-linear-gradient(top, #e5e5e5 0%, #ffffff 100%);
	background-image: -moz-linear-gradient(top, #e5e5e5 0%, #ffffff 100%);
	background-image: -ms-linear-gradient(top, #e5e5e5 0%, #ffffff 100%);
	background-image: linear-gradient(to bottom, #e5e5e5 0%, #ffffff 100%);
}

ul.regi-btn li2:hover {
	background-image: -webkit-linear-gradient(top, #e5e5e5 0%, #ffffff 100%);
	background-image: -moz-linear-gradient(top, #e5e5e5 0%, #ffffff 100%);
	background-image: -ms-linear-gradient(top, #e5e5e5 0%, #ffffff 100%);
	background-image: linear-gradient(to bottom, #e5e5e5 0%, #ffffff 100%);
}

ul.regi-btn li:hover {
	background: #000066;
}

ul.regi-btn li2.disabled:hover {
	background: #000066;
}

ul.regi-btn li a:hover {
	text-decoration: none;
}

ul.regi-btn li2 a:hover {
	text-decoration: none;
}

ul.regi-btn li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

ul.regi-btn li2 a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.regi-block {
	text-align: center;
	width: 280px;
	margin-bottom: 10px;
}

p.regi-btn {
	font-size: 14px;
	text-align: center;
	padding: 10px;
	border: 1px solid #dadada;
	display: block;
	border-radius: 6px;
	background-image: -webkit-linear-gradient(top, #ffffff 0%, #f4f4f4 100%);
	background-image: -moz-linear-gradient(top, #ffffff 0%, #f4f4f4 100%);
	background-image: -ms-linear-gradient(top, #ffffff 0%, #f4f4f4 100%);
	background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 100%);
}

.regi-block:not(:last-child) {
	margin-right: 20px;
}

.regi-name, .regi-date {
	font-size: 25px;
	color: #ffffff;
	max-width: 100%;
	display: block;
	line-height: 1.1;
}


.regi-date {
	font-size: 16px;
	color: #fff;
	margin-top: 5px;
	font-weight: bold;
}

ul.regi-btn li.disabled .regi-date {
	color: #fff;
}

ul.regi-btn li.disabled2 .regi-date {
	color: #6633cc;
}

table.table.schedule {
	width: auto;
	margin-bottom: 30px;
	margin-left: 14px;
}

table.table.schedule thead th {
	text-align: center;
	padding-left: 5;
	color: #000;
}

table.table.schedule tbody th {
	background-color: white;
	list-style-type: none;
	margin-left: 14px;
	padding-left: 8;
	color: #000;
}

/* @end */

/* @group table */

table.table tr, table.table thead th, table.table tbody th, table.table tbody td {
	border: 1px solid #cccccc;
	padding-left: 5;
	color: #000;
}

table.table th {
	background-color: #eeeeee;
	font-weight: normal;
	font-style: normal;
}

table.table thead th {
	border-bottom-width: 1px;
}

/* @end */

/* @group time table */

.table.time-table th {
	text-align: center;
	vertical-align: middle;
}

.table.time-table th.am, .table.time-table th.pm {
	text-align: center;
	background-color: #f5f5f5;
	width: 20%;
}

.table.time-table td {
	vertical-align: middle;
}

.table.time-table td:empty {
	background-image: url(../img/na.png);
}

.table.time-table td:nth-child(2), .table.time-table td:nth-child(3) {
	text-align: center;
	white-space: nowrap;
}

.table.time-table td div a {
	float: right;
	font-weight: bold;
}

ul.category {
	list-style-type: none;
	padding-left: 1em;
}

ul.category li:before {
	color: #003f76;
	font-family: fontawesome;
	content: "\f0a9";
	margin-right: 0.5em;
}

.table.time-table td div a:after {
	color: #aaaaaa;
	font-weight: normal;
	font-style: normal;
	font-family: fontawesome;
	padding-left: 0.25em;
	padding-right: 0.25em;
	content: "\f1c1";
}

ul.time-table {
	list-style-type: none;
	padding-left: 1em;
}

#contents ul.time-table li {
	margin-bottom: 30px;
}

#contents ul.time-table li:last-child {
	margin-bottom: 50px;
}

#contents ul.time-table li:before {
	color: #003f76;
	font-family: fontawesome;
	content: "\f073";
	margin-right: 0.5em;
}

/* @end */

/* @group program */

.pro-schedule {
	border: 1px dashed #c0c0c0;
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 1em;
	background-color: #fcfcfc;
}

.pro-schedule p:not(:last-child) {
	margin-bottom: 5px;
}

.pro-schedule p:last-child {
	margin-bottom: 0;
}

.program-header {
	padding: 5px 8px;
	border-top-style: none;
	border-bottom: 3px double #c0c0c0;
	margin-bottom: 15px;
}

.no-time {
	font-weight: bold;
	font-size: 18px;
	margin-bottom: 0;
}

.no-time:before {
	font-weight: normal;
	font-style: normal;
	font-family: fontawesome;
	content: "\f073";
	margin-right: 0.5em;
}

.session-name {
	color: #003f76;
	margin-bottom: 0;
	font-weight: bold;
}

.article dt {
	font-weight: normal;
	font-style: normal;
	background-color: #eaf0fe;
	margin-bottom: 5px;
	padding: 3px 5px;
}

.article dt2 {
	font-weight: normal;
	font-style: normal;
	background-color: #eaf0fe;
	margin-bottom: 5px;
	padding: 3px 5px;
}

.article dt .title {
	margin-left: 1em;
}

.article dt2 .title {
	margin-left: 1em;
}

.article dd.title a:after {
	color: #aaaaaa;
	font-weight: normal;
	font-style: normal;
	font-family: fontawesome;
	padding-left: 0.25em;
	padding-right: 0.25em;
	content: "\f1c1";
}

.article dt:not(:first-child), .article dt2:not(:first-child), .article dd.title {
	margin-top: 8px;
}

.article dd.aff, .article dd.au {
	text-align: right;
}

.article dd.au {
	border-bottom: 1px dashed #cccccc;
	padding-bottom: 8px;
	clear: both;
}

.article dd.au:last-child {
	border-bottom: 1px solid #cccccc;
}

.break {
	text-align: center;
	margin-top: 25px;
	margin-bottom: 25px;
}

.break p {
	color: gray;
	background: url(../img/na.png);
	padding-top: 5px;
	padding-bottom: 5px;
}

/* @end */

/* @group guide */

#guide ol {
	padding-left: 1.5em;
}

#guide ol ul {
	padding-left: 1.5em;
	list-style-type: disc;
}

#guide dl.publish dt {
	float: left;
	margin-left: 1em;
}

#guide dl.publish dt2 {
	float: left;
	margin-left: 1em;
}

#guide dl.publish dd {
	clear: right;
	margin-left: 5em;
}

/* @end */

/* @group back to top (section) */

#back-to-sec-top {
	position: fixed;
	right: 80px;
	bottom: 28px
}

#back-to-sec-top a {
	background: url(../img/back-to-top.png) center center rgba(0, 62, 118, 0.5);
	transform: rotate( -90deg );
	width: 40px;
	height: 40px;
	display: block;
	text-indent: -9999px;
	border: 1px solid rgba(0, 62, 118, 0.5);
	-moz-box-shadow: 0 0 8px rgba(148, 148, 148, 0.5);
	box-shadow: 0 0 8px rgba(148, 148, 148, 0.5);
}

#back-to-sec-top a:hover {
	opacity: 0.5;
}

/* @end */

/* @group back to top */

#back-to-top {
	position: fixed;
	right: 30px;
	bottom: 28px
}

#back-to-top a {
	background: url(../img/back-to-top.png) center center rgba(0, 62, 118, 0.5);
	width: 40px;
	height: 40px;
	display: block;
	text-indent: -9999px;
	border: 1px solid rgba(0, 62, 118, 0.5);
	-moz-box-shadow: 0 0 8px rgba(148, 148, 148, 0.5);
	box-shadow: 0 0 8px rgba(148, 148, 148, 0.5);
}

#back-to-top a:hover {
	opacity: 0.5;
}

/* @end */

/* @group faq */

dl.faq dt {
	color: #003f76;
	text-indent: -22px;
	border-bottom: 1px solid #c0c0c0;
	margin-bottom: 10px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 28px;
	border-left: 5px solid #003f76;
}

dl.faq dt2 {
	color: #003f76;
	text-indent: -22px;
	border-bottom: 1px solid #c0c0c0;
	margin-bottom: 10px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 28px;
	border-left: 5px solid #003f76;
}

dl.faq dd {
	text-indent: -1.5em;
	margin-bottom: 20px;
	margin-left: 32px;
}

dl.faq dd ol {
	padding-left: 2em;
}

dl.faq dd ol li {
	padding-left: 1.5em;
}

dl.faq dt:before {
	font-family: fontawesome;
	font-weight: normal;
	font-style: normal;
	content: "\f0e5";
	margin-right: 6px;
}

dl.faq dt2:before {
	font-family: fontawesome;
	font-weight: normal;
	font-style: normal;
	content: "\f0e5";
	margin-right: 6px;
}

dl.faq dd:before {
	font-family: fontawesome;
	content: "\f0e6";
	margin-right: 6px;
}

ul.answer {
	list-style-type: none;
	padding-left: 0;
}

ul.answer li:before {
	font-family: fontawesome;
	content: "\f059";
	margin-right: 0.25em;
}

/* @end */

/* @group past */

ul.past {
	list-style-type: none;
	padding-left: 0;
}

ul.past li:before {
	font-family: fontawesome;
	content: "\f1da";
	margin-right: 0.25em;
}

/* @end */

/* @group edu */

dl.edu dt {
	text-align: right;
	font-weight: normal;
	font-style: normal;
	width: 3em;
	float: left;
}

dl.edu dt2 {
	text-align: right;
	font-weight: normal;
	font-style: normal;
	width: 3em;
	float: left;
}

dl.edu dd {
	margin-left: 4em;
}

.edu-list ul {
	list-style-type: none;
}

.edu-list ul li {
	list-style-type: none;
}

/* @end */

/* @group member */

dl.member dt {
	clear: both;
}

dl.member dt2 {
	clear: both;
}

dl.member dd {
	width: 18em;
	margin-left: 1.5em;
	float: left;
}

/* @end */

/* @group photo */

div.photo {
	text-align: center;
}

div.photo h2 {
	color: #636363;
	background: none;
	font-size: 24px;
	border-left-style: none;
}

div.photo h2:not(:first-child) {
	color: #636363;
	margin-top: 50px;
}

div.photo img {
	margin-right: auto;
	margin-left: auto;
	-moz-box-shadow: 0 10px 25px rgba(200, 200, 200, 0.5);
	box-shadow: 0 10px 25px rgba(200, 200, 200, 0.5);
	border: 1px solid #ffffff;
	margin-bottom: 20px;
}

/* @end */

/* @group footer */

footer {
	background-color: #003f76;
	width: 100%;
	height: 100px;
	padding-top: 15px;
	position: absolute;
	bottom: -1px;
	z-index: -1;
}

footer p {
	color: #ffffff;
	font-weight: 300;
	text-align: center;
}

/* @end */

/* @group for Tablet, Smart Phone */

@media screen and (max-width: 768px) {
	#header {
		height: 80px;
	}
	
	#header a.logo {
		background-size: contain;
		margin-top: 10px;
		margin-right: auto;
		margin-left: auto;
		width: 300px;
	}
	
	p.logo_en {
		display: none;
	}
	
	#header ul li {
		font-size: 16px;
	}
	
	#header ul li span {
		display: none;
	}
	
	.navbar-nav > li > a {
		border-bottom: 1px solid #eeeeee;
	}
	
	button.navbar-toggle, button.navbar-toggle.collapsed {
		margin-top: 3px;
		margin-bottom: 3px;
		padding: 8px;
	}
	
	.top {
		height: 200px;
	}
	
	.top-title {
		font-size: 14px;
		margin-bottom: 30px;
		margin-top: 20px;
	}
	
	.top-box p {
		font-size: 10px;
	}
	
	.top-main-title {
		font-size: 14px;
		margin-bottom: 10px;
		margin-top: 10px;
	}
	
	.top-main-box p {
		font-size: 10px;
	}
	
	.table-responsive {
		border-style: none;
	}
	
	.information {
		font-size: 12px;
	}
	
	.top-main {
		height: 140px;
		background: url(../img/top_img.jpg) center bottom;
	}
	
	footer {
		font-size: 11px;
	}
}

/* @end */
