@charset "UTF-8";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');


/*-----------------------------------
	全体共通設定
-----------------------------------*/
html{
	font-size:87.5%;
}

body{
	margin:0;
	font-family:
		"Noto Sans Japanese",
		"ヒラギノ角ゴ ProN W3",
		Hiragino Kaku Gothic ProN,
		Arial,
		Meiryo,
		sans-serif;
	font-size:1em;
	font-weight:400;
	color:rgb(60,60,60);
	line-height:1.8;
	-webkit-text-size-adjust:100%;
}

.wrapper{
	min-width:1000px;
}


/*----- upper_area -----*/
.upper_area{
	display:flex;
	justify-content:space-between;
	margin:0 auto;
	width:1000px;
	box-shadow:0 0 5px rgba(0,0,0,.3);
}


/*----- nav -----*/
nav{
	padding:10px 10px 40px;
	width:220px;
	background:rgb(109,139,171);
}

nav ul{
	margin:0;
	padding:0;
	width:100%;
}

nav ul li{
	margin-bottom:6px;
	list-style:none;
}

nav ul li:last-child{
	margin-bottom:0;
}

nav ul li a{
	box-sizing:border-box;
	display:block;
	padding:.6em 1.2em;
	background:url(../img/menu_deco_white.svg) 3% center no-repeat;
	border:solid 1px rgb(255,255,255);
	color:rgb(255,255,255);
	font-size:1.071rem;
	font-weight:500;
	line-height:1.5;
	text-decoration:none;
	transition:.2s ease-out;
	transition-property:background,color;
	overflow:hidden;
}

	nav ul li a:hover,
	nav ul li a.current{
		background:url(../img/menu_deco_red.svg) 98% center no-repeat rgb(255,255,255);
		color:inherit;
	}

nav .banner{
	padding-top:6px;
}

nav .banner a{
	display:block;
	margin-top:6px;
	-webkit-transition:opacity .2s ease-out;
	transition:opacity .2s ease-out;
}

	nav .banner a:hover{
		opacity:.5;
	}

nav .banner a img{
	width:100%;
	vertical-align:bottom;
}

/*----- footer -----*/
footer{
	min-width:1000px;
	position:relative;
	background:rgb(255,255,255);
	box-shadow:0 0 5px rgba(0,0,0,.3);
	line-height:1.6;
	z-index:2;
}

footer > .inner{
	box-sizing:border-box;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
	margin:0 auto;
	padding:0 30px;
	width:1000px;
}

footer address{
	padding:35px 0;
	width:390px;
	font-style:normal;
}

footer address.operation{
	width:360px;
}

footer address .title{
	margin:0 0 .3em;
	padding-bottom:.3em;
	border-bottom:solid 1px rgb(180,180,180);
	font-size:1rem;
	font-weight:500;
	color:rgb(70,110,160);
}

footer address .name{
	margin:0 0 .1em;
	font-size:1.25rem;
	line-height:1.4;
	font-weight:400;
}

footer address .name small{
	font-size:0.9em;
}

footer address .info{
	margin:0;
	font-size:0.928rem;
	line-height:1.8;
}

footer .copyright{
	margin:0;
	padding:0.7em 0;
	width:100%;
	min-width:1000px;
	background:rgb(109,139,171);
	font-size:0.928rem;
	color:rgb(255,255,255);
	text-align:center;
}

.backtotop{
	position:fixed;
	right:30px;
	bottom:20px;
	display:inline-block;
	margin:0;
	z-index:1000;
}

.backtotop a{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	display:inline-block;
	margin:0.5em 0;
	padding:0.5em 0.8em;
	background:rgb(120,160,200);
	border:solid 1px rgb(120,160,200);
	border-radius:5px;
	-webkit-box-shadow:0 1px 5px rgba(0,0,0,.3);
	box-shadow:0 1px 5px rgba(0,0,0,.3);
	color:rgb(255,255,255);
	font-weight:900;
	text-decoration:none;
	-webkit-transition:.2s ease-out;
	transition:.2s ease-out;
	-webkit-transition-property:background,color,-webkit-box-shadow;
	transition-property:background,color,-webkit-box-shadow;
	transition-property:background,box-shadow,color;
	transition-property:background,box-shadow,color,-webkit-box-shadow;
}

	.backtotop a:hover{
		background:rgb(240,245,255);
		color:rgb(120,160,200);
		-webkit-box-shadow:0 1px 5px rgba(0,0,0,.3) inset;
		box-shadow:0 1px 5px rgba(0,0,0,.3) inset;
	}


/*-----------------------------------
	ページごとの設定
-----------------------------------*/

/*----- page_top -----*/
#page_top{
	width:calc(100% - 220px);
	background:url(../img/home_bg.jpg) center top no-repeat;
}

#page_top h1{
	margin:0 0 140px;
}

#page_top img{
	vertical-align:bottom;
}

#page_top .theme{
	margin:0 0 90px;
}

#change_log{
	padding:18px 25px;
	background:rgb(255,255,255);
	z-index:1;
}

#change_log h2{
	box-sizing:border-box;
	margin:0;
	padding:0 0 5px;
	border-bottom:solid 1px rgb(60,60,60);
	font-size:1.285rem;
	font-weight:400;
	color:rgb(60,104,206);
	line-height:1.5;
}

#change_log .log_outer{
	height:170px;
	overflow-y:scroll;
}

#change_log dl{
	display:flex;
	flex-wrap:wrap;
	margin:0;
}

#change_log dl dt,
#change_log dl dd{
	padding-top:.7em;
	padding-bottom:.7em;
	border-bottom:solid 1px rgb(180,180,180);
	line-height:1.5;
}

#change_log dl dt{
	box-sizing:border-box;
	width:100px;
}

#change_log dl dd{
	margin:0;
	width:calc(100% - 100px);
}

#change_log dl dd a{
	color:rgb(60,104,206);
}


/*-----------------------------------
	トップページ以外の共通設定
-----------------------------------*/
.main_area{
	box-sizing:border-box;
	width:calc(100% - 220px);
}

/*----- header -----*/
.main_area h1{
	margin:0 auto;
	padding-bottom:10px;
	background:linear-gradient(to top, rgba(255,255,255,1), rgba(255,255,255,0)25px);
}

.main_area h1 a{
	display:block;
	transition:opacity .2s ease-out;
}

	.main_area h1 a:hover{
		opacity:.5;
	}

.main_area h1 a img{
	vertical-align:bottom;
}

.main_area > .inner{
	box-sizing:border-box;
	padding:25px 30px 40px;
	min-height:650px;
	background:rgb(255,255,255);
}

.main_area p{
	margin:.6em 0;
}

.main_area .red{
	color:rgb(255,100,100);
}

.main_area .blue{
	color:rgb(100,100,255);
}

.main_area .note{
	margin:.5em 0;
	padding-left:1em;
	font-size:.937rem;
	text-indent:-1em;
}

.main_area span.note{
	display:block;
}

.main_area a.link{
	color:rgb(109,139,171);
	transition:opacity .2s ease-out;
}

	.main_area a.link:hover{
		opacity:.5;
	}

.main_area h2{
	margin:3em 0 .5em -6px;
	padding-left:.8em;
	padding-top:.3em;
	padding-bottom:.3em;
	background:rgb(100,80,200);
	background-attachment:fixed;
	border-radius:22px 4px 4px 22px;
	border-style:solid;
	border-width:0 0 0 3px;
	border-color:rgb(255,100,120);
	box-shadow:0 0 5px rgba(0,0,0,.3);
	font-size:1.428rem;
	color:rgb(255,255,255);
	line-height:1.4;
}

.main_area h3{
	position:relative;
	margin:1.5em 0 .5em;
	padding-left:1em;
	font-size:1.25rem;
	line-height:1.4;
}

.main_area h3::before{
	position:absolute;
	top:.5em;
	left:.2em;
	content:"";
	display:inline-block;
	margin-right:8px;
	width:8px;
	height:8px;
	background:rgb(255,100,120);
	border-radius:4px;
	box-shadow:0 0 5px rgba(0,0,0,.3);
	vertical-align:10%;
}

.main_area h4{
	margin:1.5em 0 .5em;
	font-size:1.125rem;
	color:rgb(100,80,200);
	line-height:1.4;
}

.main_area h5{
	margin:1.5em 0 .5em;
	font-size:1.05rem;
	color:rgb(120,60,100);
	line-height:1.4;
}

.main_area > .inner > section:first-child > h2:first-child,
.main_area > .inner h2 + section > h3:first-child,
.main_area > .inner h3 + section > h4:first-child{
	margin-top:0;
}

.main_area table.type01{
	margin:.6em 0;
	width:100%;
	border:solid 1px rgb(180,180,180);
	border-collapse:collapse;
	font-size:.937rem;
	line-height:1.6;
}

.main_area table.type01 th,
.main_area table.type01 td{
	padding:.5em .8em;
	border:solid 1px rgb(180,180,180);
}

.main_area table.type01 th{
	background:rgb(240,240,240);
}

.main_area table.type01 .slash{
	background:url(../img/slash.svg) 100%;
}

.main_area ul.type01 li,
.main_area ol.type01 li{
	margin:.4em 0;
}

.main_area .underconstruction{
	box-sizing:border-box;
	margin:210px auto 0;
	padding:0.8em;
	width:250px;
	background:rgb(100,80,200);
	background-attachment:fixed;
	border-radius:40px;
	box-shadow:0 0 5px rgba(0,0,0,.3);
	font-size:1.25rem;
	font-weight:700;
	color:rgb(255,255,255);
	text-align:center;
}


/*---------- button box ----------*/
p.button_box{
	margin:2rem 0;
	text-align:center;
}

.button_box a{
	box-sizing:border-box;
	display:inline-block;
	margin:0.5em 0;
	padding:0.5em 0.8em;
	width:92.5%;
	background:rgb(80,60,180);
	border:solid 1px rgb(80,60,180);
	border-radius:5px;
	color:rgb(255,255,255);
	text-decoration:none;
	transition:.2s ease-out;
	transition-property:background,color;
}

.button_box a::before{
	content:"▶ ";
}

	.button_box a:hover{
		background:rgb(255,255,255);
		color:rgb(80,60,180);
	}

.button_box a.w3{
	width:30.3%;
}

.button_box a.w2{
	width:46%;
}

.button_box a.disabled{
	pointer-events:none;
	cursor:default;
	background:rgb(204,204,204);
}


/*----- page_welcome -----*/
#page_welcome .photo{
	display:block;
	margin:1em 0 0 0;
	width:160px;
	border-radius:4px;
	box-shadow:0 0 5px rgba(0,0,0,.3);
	float:right;
	overflow:hidden;
}

#page_welcome .photo img{
	width:100%;
	vertical-align:bottom;
}

#page_welcome p.title,
#page_welcome p.name,
#page_welcome p.affi{
	text-align:left;
	line-height:1.4;
}

#page_welcome .title{
	margin:70px 0 0;
}

#page_welcome .name{
	margin:.25em 0;
	padding-bottom:.25em;
	border-bottom:solid 1px rgb(180,180,180);
	font-size:1.25rem;
	font-weight:700;
}

#page_welcome .affi{
	margin:0 0 30px;
	font-size:0.937rem;
}


/*----- page_organization -----*/
#page_organization .member{
	font-weight:700;
}

#page_organization .affi{
	display:block;
	font-size:.9rem;
	font-weight:400;
}


/*----- page_overview -----*/
#page_overview dl{
	display:flex;
	flex-wrap:wrap;
	margin:0;
}

#page_overview dl dt,
#page_overview dl dd{
	box-sizing:border-box;
	padding:1.2em 0.5em;
	border-bottom:solid 1px rgb(200,200,220);
}

#page_overview dl dt{
	margin:0;
	width:160px;
	font-weight:700;
}

#page_overview dl dt::before{
	content:"";
	display:inline-block;
	margin-right:8px;
	width:8px;
	height:8px;
	background:rgb(80,180,240);
	border-radius:4px;
	vertical-align:5%;
}

#page_overview dl dd{
	margin:0;
	width:calc(100% - 160px);
}


/*----- page_invited -----*/
#page_invited table.type01{
	font-size:.85rem;
}

#page_invited table.type01 td{
	vertical-align:top;
}

#page_invited .theme{
	margin:.4em 0;
	font-size:1.1rem;
	font-weight:700;
}

#page_invited .date{
	margin:1.3em 0 .6em;
	padding-bottom:.3em;
	border-bottom:solid 1px rgb(180,180,180);
	font-weight:700;
}

#page_invited .title{
	display:block;
	font-weight:700;
	border-top:dotted 1px rgb(180,180,180);
}

.main_area ul.guestslist{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding:0;
	list-style:none;
}

.main_area ul.guestslist li{
	margin-bottom:1.5em;
	width:22.224%;
	font-weight:500;
}

.main_area ul.guestslist li img{
	width:100%;
}

.main_area ul.guestslist li.empty{
	margin:0;
}


/*----- page_program -----*/
#page_program table.type01{
	font-size:.85rem;
}

#page_program table.type01 td{
	vertical-align:top;
}

#page_program .theme{
	margin:.4em 0;
	font-size:1.1rem;
	font-weight:700;
}

#page_program .date{
	margin:1.3em 0 .6em;
	padding-bottom:.3em;
	border-bottom:solid 1px rgb(180,180,180);
	font-weight:700;
}

#page_program .title{
	display:block;
	font-weight:700;
	border-top:dotted 1px rgb(180,180,180);
}


/*----- page_map -----*/
#page_map .campus_list{
	display:flex;
	justify-content:space-between;
}

#page_map .campus_list > .inner{
	width:48.5%;
}

#page_map .campus_list ul{
	padding-left:1em;
}

#page_map .campus_list ul li{
	list-style:none;
}

#page_map .campus_name{
	margin:1.5em 0 .5em;
	padding-bottom:.3em;
	border-bottom:solid 1px rgb(180,180,180);
	font-size:1.05rem;
	color:rgb(120,60,100);
	line-height:1.4;
}



/*----- page_abstract -----*/
#page_abstract .period{
	margin:.3em 0;
	padding:.7em 1em;
	border:solid 1px rgb(255,120,100);
	border-radius:4px;
	font-size:1.125em;
	font-weight:700;
	color:rgb(255,120,100);
	line-height:1.6;
	text-align:center;
}


/*----- page_access -----*/
#page_access .googlemap{
	width:100%;
	height:360px;
}


/*----- page_meeting -----*/
#page_meeting .flyer{
	display:block;
	text-decoration:none;
	transition:opacity .2s ease-out;
}

#page_meeting .flyer:hover{
	opacity:.5;
}

#page_meeting .flyer img{
	box-shadow:0 0 8px rgba(0,0,0,.2);
}

#page_meeting .flyer :nth-child(2){
	float:right;
}

#page_meeting dl{
	display:flex;
	flex-wrap:wrap;
	margin:1em 0;
	border-top:solid 1px rgb(200,200,220);
}

#page_meeting dl dt,
#page_meeting dl dd{
	box-sizing:border-box;
	padding:.8em 0.5em;
	border-bottom:solid 1px rgb(200,200,220);
}

#page_meeting dl dt{
	margin:0;
	width:100px;
	font-weight:700;
}

#page_meeting dl dt::before{
	content:"";
	display:inline-block;
	margin-right:8px;
	width:8px;
	height:8px;
	background:rgb(80,180,240);
	border-radius:4px;
	vertical-align:5%;
}

#page_meeting dl dd{
	margin:0;
	width:calc(100% - 100px);
}

#page_meeting .button_box{
	margin:1em 0;
}

/*----- page_links -----*/
#page_links dl dt::before{
	content:"";
	display:inline-block;
	margin-right:8px;
	width:8px;
	height:8px;
	background:rgb(80,180,240);
	border-radius:4px;
	box-shadow:0 0 5px rgba(0,0,0,.3);
	vertical-align:10%;
}

#page_links dl dt{
	box-sizing:border-box;
	font-weight:500;
}

#page_links dl dd{
	box-sizing:border-box;
	margin:0 0 25px 15px;
	font-size:.9rem;
	font-weight:500;
}

#page_links dl dd a{
	display:block;
	box-sizing:border-box;
	padding:.2em 0;
	width:100%;
	color:rgb(80,180,240);
	text-decoration:none;
	transition:.2s ease-out;
	transition-property:background,color,border-radius,padding-left;
}

	#page_links dl a:hover{
		padding-left:10px;
		background:rgb(80,180,240);
		color:rgba(255,255,255,1);
		border-radius:4px;
	}