@charset "UTF-8";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');


/*-----------------------------------
	全体共通設定
-----------------------------------*/
html{
	font-size:100%;
}

body{
	margin:0;
	background:linear-gradient(20deg,rgb(59,89,164),rgb(54,55,145)70%);
	background-size:cover;
	background-attachment:fixed;
	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.75;
	-webkit-text-size-adjust:100%;
}

.wrapper{
	min-width:1000px;
	background:url(../img/bg.png) center 100px no-repeat;
}

/*----- header -----*/
header{
	position:relative;
	min-width:1000px;
	background:linear-gradient(to bottom,rgba(255,255,255,1)25%,rgba(255,255,255,.7));
	border-top:solid 4px rgb(54,55,154);
	box-shadow:0 0 5px rgba(0,0,0,.3);
	z-index:100;
}

header h1{
	margin:0 auto;
	width:1000px;
}

header h1 a{
	display:block;
	-webkit-transition:opacity .2s ease-out;
	transition:opacity .2s ease-out;
}

	header h1 a:hover{
		opacity:.5;
	}

header h1 a img{
	vertical-align:bottom;
}


/*----- middle_area -----*/
.middle_area{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	-webkit-justify-content:space-between;
	-ms-flex-pack:justify;
	justify-content:space-between;
	margin:0 auto;
	width:1000px;
}


/*----- nav -----*/
nav{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	padding:20px 10px 30px 10px;
	width:230px;
}

nav ul{
	margin:0;
	padding:0;
	width:100%;
}

nav ul li{
	margin-bottom:4px;
	list-style:none;
}

nav ul li:last-child{
	margin-bottom:0;
}

nav ul li a{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	display:block;
	padding:.6em .8em;
	background:url(../img/menu_deco_red.svg) 3px center no-repeat rgb(255,255,255);
	border:solid 1px rgb(55,115,215);
	border-radius:3px;
	-webkit-box-shadow:0px 1px 4px rgba(0,0,0,.3);
	box-shadow:0px 1px 4px rgba(0,0,0,.3);
	font-size:.937rem;
	font-weight:500;
	color:inherit;
	line-height:1.5;
	text-decoration:none;
	transition:.2s ease-out;
	transition-property:background,border,color;
	overflow:hidden;
	letter-spacing:0.05em;
}

	nav ul li a:hover,
	nav ul li a.current{
		background:url(../img/menu_deco_white.svg) calc(100% - 3px) center no-repeat rgb(55,115,215);
		border-color:rgb(255,255,255);
		box-shadow:0px 1px 4px rgba(0,0,0,.3) inset;
		color:rgb(255,255,255);
	}

nav ul.banner{
	margin:10px 0 0;
	padding:0;
	width:100%;
}

nav ul.banner li{
	margin-bottom:4px;
	list-style:none;
}

nav ul.banner li:last-child{
	margin-bottom:0;
}

nav ul.banner li a{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	display:block;
	padding:0;
	background:none;
	border:none;
	-webkit-box-shadow:0 0 6px rgba(0,0,0,.3);
	box-shadow:0 0 6px rgba(0,0,0,.3);
	text-decoration:none;
	-webkit-transition:.2s ease-out;
	transition:.2s ease-out;
	-webkit-transition-property:opacity;
	transition-property:opacity;
}

nav ul.banner li a img{
	vertical-align:bottom;
}

	nav ul.banner li a:hover,
	nav ul.banner li a.current{
		opacity:.5;
	}

/*----- 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.5;
	z-index:2;
}

footer > .inner{
	box-sizing:border-box;
	margin:0 auto;
	padding:0 5px;
	width:1000px;
	text-align:center;
}

footer address{
	display:inline-block;
	margin:0 12px;
	padding:30px 0 30px;
	font-style:normal;
	vertical-align:top;
}

footer address .title{
	margin:0 auto .4em;
	padding:0 0 .4em;
	border-bottom:solid 1px rgb(180,180,180);
	font-size:.875rem;
	font-weight:700;
	color:rgb(54,55,145);
}

footer address .name,
footer address .info{
	box-sizing:border-box;
	margin:0;
}

footer address .name{
	margin:0 0 .3em;
	font-size:1.062rem;
	font-weight:700;
}

footer address .info{
	margin:0;
	font-size:.875rem;
}

footer .copyright{
	margin:0;
	padding:0.8em 0;
	width:100%;
	min-width:1000px;
	background:rgb(54,55,145);
	font-size:0.812rem;
	color:rgb(255,255,255);
	line-height:1.5;
	text-align:center;
}


/*-----------------------------------
	ページごとの設定
-----------------------------------*/

/*----- page_top -----*/
#page_top{
	box-sizing:border-box;
	width:770px;
	min-height:680px;
	text-align:left;
}

#page_top img{
	vertical-align:bottom;
	line-height:.5rem;
}

#page_top .period{
	display:flex;
	justify-content:center;
	margin:15px auto;
	width:700px;
	font-size:1.25rem;
	font-weight:700;
	line-height:1.5;
	text-align:center;
}

#page_top .period .title,
#page_top .period .date{
	box-sizing:border-box;
	padding:.2em .8em;
}

#page_top .period .title{
	margin:0;
	width:230px;
	background:rgb(207,0,14);
	border-radius:12px 0 0 12px;
	color:rgb(255,255,255);
}

#page_top .period .date{
	margin:0;
	width:calc(100% - 230px);
	background:rgb(255,255,255);
	border:solid 2px rgb(207,0,14);
	border-radius:0 12px 12px 0;
	color:rgb(207,0,14);
}

#page_top .period.c2 .title{
	background:rgb(232,126,46);
}

#page_top .period.c2 .date{
	border:solid 2px rgb(232,126,46);
	color:rgb(232,126,46);
}

.coronavirus{
	position:relative;
	font-size:.937rem;
	z-index:1;
}

.coronavirus > .inner{
	box-sizing:border-box;
	margin:0 auto 30px;
	padding:20px 25px 25px;
	width:980px;
	background:rgb(255,255,255);
	border:solid 2px rgb(240,80,80);
	box-shadow:0 0 5px rgba(0,0,0,.3);
}

.coronavirus h2{
	margin:0 0 .5em 0;
	padding:0 0 .3em 0;
	border-bottom:solid 1px rgb(180,180,180);
	font-size:1.375rem;
	font-weight:700;
	color:rgb(160,40,60);
	line-height:1.5;
}

.coronavirus .note{
	padding-left:1em;
	text-indent:-1em;
}

.coronavirus p{
	margin:0;
}

.coronavirus .date{
	text-align:right;
	padding-right:20px;
}

.coronavirus .title{
	margin:10px 0 0;
	padding-right:20px;
	font-size:.875rem;
	line-height:1.5;
	text-align:right;
}

.coronavirus .name{
	margin:0;
	padding-right:20px;
	font-size:1.125rem;
	font-weight:700;
	line-height:1.5;
	text-align:right;
}

.coronavirus .name small{
	font-size:.875rem;
	font-weight:400;
}

.coronavirus .affi{
	margin:0;
	margin-left:680px;
	font-size:.875rem;
}

.coronavirus a{
	color:rgb(0,110,170);
	-webkit-transition:opacity .2s ease-out;
	transition:opacity .2s ease-out;
}

	.coronavirus a:hover{
		opacity:.5;
	}

#change_log{
	position:relative;
	border-top:solid 1px rgba(255,255,255,.5);
	color:rgb(255,255,255);
	z-index:1;
}

#change_log > .inner{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	margin:0 auto;
	padding:15px 10px 0;
	width:1000px;
}

#change_log h2{
	margin:0;
	padding:0 0 .15em .2em;
	border-bottom:solid 1px rgb(255,255,255);
	font-size:1.5rem;
	font-weight:400;
	line-height:1.5;
	letter-spacing:0.05em;
}

#change_log .log_outer{
	height:165px;
	overflow-y:scroll;
}

#change_log dl{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:0;
	font-size:.937rem;
}

#change_log dl dt,
#change_log dl dd{
	padding-top:.8em;
	padding-bottom:.8em;
	border-bottom:solid 1px rgb(180,180,180);
	line-height:1.5;
}

#change_log dl dt{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	width:120px;
}

#change_log dl dt::before{
	content:"";
	display:inline-block;
	margin-right:6px;
	width:8px;
	height:8px;
	background:rgb(240,130,70);
	border-radius:4px;
	vertical-align:9%;
}

#change_log dl dd{
	margin:0;
	width:calc(100% - 120px);
}

#change_log dl dd a{
	color:rgb(255,255,255);
	transition:opacity .2s ease-out;
}

#change_log dl dd a:hover{
	opacity:.5;
}



/*-----------------------------------
	トップページ以外の共通設定
-----------------------------------*/
.main_area{
	box-sizing:border-box;
	margin:20px 0;
	padding:29px 29px 50px;
	border:solid 1px rgb(55,115,215);
	border-radius:3px;
	width:770px;
	min-height:700px;
	background:rgb(255,255,255);
}

.main_area p{
	margin:.65em 0;
}

.main_area .note{
	display:block;
	margin:.5em 0;
	padding-left:1em;
	font-size:.875rem;
	text-indent:-1em;
}

.main_area a.link{
	color:rgb(0,110,170);
	-webkit-transition:opacity .2s ease-out;
	transition:opacity .2s ease-out;
}

	.main_area a.link:hover{
		opacity:.5;
	}

.main_area .red{
	color:rgb(240,80,80);
}

.main_area .orange{
	color:rgb(255,160,80);
}

.main_area .bg_skyblue{
	display:inline-block;
	margin:0 .3em;
	padding:0 .3em;
	background:rgb(110,180,240);
	border-radius:3px;
	color:rgb(255,255,255);
	font-weight:500;
}

.main_area .ta_c{
	text-align:center;
}

.main_area h2{
	margin:1.5em 0 .5em;
	padding-left:.05em;
	padding-bottom:.3em;
	border-bottom:solid 1px rgb(60,140,210);
	text-shadow:1px 1px 3px rgba(0,0,0,.3);
	font-size:1.625rem;
	color:rgb(30,90,160);
	line-height:1.4;
}

.main_area h3{
	margin:1.5em 0 .5em;
	padding-bottom:.3em;
	font-size:1.35rem;
	line-height:1.4;
	border-bottom:solid 1px rgb(180,180,180);
}

.main_area h3::before{
	content:"";
	display:inline-block;
	margin-right:8px;
	width:8px;
	height:8px;
	border-radius:4px;
	background:rgb(240,140,110);
	vertical-align:10%;
}

.main_area h4{
	margin:1.5em 0 .5em;
	padding-bottom:.3em;
	border-bottom:dotted 1px rgb(180,180,220);
	font-size:1.125rem;
	color:rgb(0,77,160);
	line-height:1.4;
}

.main_area h5{
	margin:1.5em 0 .5em;
	font-size:1rem;
	color:rgb(0,60,120);
	line-height:1.4;
}

.main_area h6{
	margin:1.5em 0 .5em;
	font-size:1rem;
	color:rgb(100,100,100);
	line-height:1.4;
}

.main_area > section:first-child > h2:first-child,
.main_area h2 + section > h3:first-child,
.main_area h3 + section > h4:first-child,
.main_area h4 + section > h5:first-child,
.main_area h5 + section > h6:first-child{
	margin-top:0;
}

.main_area .sub_h{
	margin:1em 0 0;
	padding-bottom:.3em;
	border-bottom:solid 1px rgb(150,170,160);
	font-weight:700;
}

.main_area .h_like{
	display:block;
	margin:.8em 0 0 0;
}

.main_area .paren{
	text-indent:-.5em;
}


.main_area .underconstruction{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	margin:220px auto 0;
	padding:0.8em;
	width:250px;
	background:rgb(60,140,210);
	border:solid 1px rgb(255,255,255);
	border-radius:5px;
	box-shadow:0px 1px 4px rgba(0,0,0,.3) inset;
	font-size:1.25rem;
	font-weight:700;
	color:rgb(255,255,255);
	text-align:center;
}

.main_area .deco_box01,
.main_area p.deco_box01{
	margin:1.5rem 0;
	padding:.5rem 1.2rem;
	border:solid 1px rgb(180,180,200);
	border-radius:3px;
}

.main_area .deco_box03,
.main_area p.deco_box03{
	margin:1.5rem 0;
	padding:.5rem 1.2rem;
	border:solid 1px rgb(240,100,100);
	border-radius:3px;
	color:rgb(240,100,100);
}


/*--リスト--*/
.main_area ul.type01,
.main_area ol.type01{
	margin:1em 0;
}

.main_area ul.type01 > li,
.main_area ol.type01 > li{
	margin:.6em 0;
}

.main_area ol.type02{
	margin:.6em 0;
	padding-left:3em;
	list-style:none;
	counter-reset:paren;
}

.main_area ol.type02 > li{
	position:relative;
	margin:.5em 0;
}

.main_area ol.type02 > li:before{
	position:absolute;
	left:-2em;
	counter-increment:paren;
	content:"("counter(paren)")";
	font-weight:500;
}

.main_area ol.type03{
	margin:.6em 0;
	counter-reset:circle;
	list-style:none;
}

.main_area ol.type03 > li{
	margin:.5em 0;
}

.main_area ol.type03 > li:before{
	counter-increment:circle;
	content:counter(circle);
	display:inline-block;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	margin:0 .6em 0 -2em;
	padding-top:.25em;
	width:1.4em;
	height:1.4em;
	border:solid 1px rgb(60,60,60);
	border-radius:.7em;
	font-size:.7rem;
	line-height:.7em;
	text-align:center;
	vertical-align:20%;
	letter-spacing:-0.05em;
	text-indent:-0.05em;
}

.main_area ol.type04{
	margin:.6em 0;
	padding-left:3em;
	list-style:none;
	counter-reset:roman_numerals;
}

.main_area ol.type04 > li{
	position:relative;
	margin:.5em 0;
}

.main_area ol.type04 > li:before{
	position:absolute;
	left:-2em;
	counter-increment:roman_numerals;
	content:"("counter(roman_numerals,lower-roman)")";
	font-weight:500;
}

.main_area ol.type05{
	margin:.6em 0;
	padding-left:3em;
	list-style:none;
	counter-reset:rparen;
}

.main_area ol.type05 > li{
	position:relative;
	margin:.5em 0;
}

.main_area ol.type05 > li:before{
	position:absolute;
	left:-2em;
	counter-increment:rparen;
	content:counter(rparen)")";
	font-weight:500;
}

.main_area ol.type06{
	margin:1em 0;
}

.main_area ol.type06 > li{
	margin:.6em 0;
	list-style-type:lower-latin;
}


/*--テーブル--*/
.main_area table.type01{
	margin:.5em 0;
	width:100%;
	border-collapse:collapse;
	line-height:1.5;
	text-align:left;
	table-layout:fixed;
}

.main_area table.type01 th,
.main_area table.type01 td{
	padding:.5em .8em;
	border:solid 1px rgb(180,180,180);
	vertical-align:top;
}

.main_area table.type01 th{
	background:rgb(230,240,255);
	font-weight:700;
	text-align:center;
}

.main_area table.type01 td{
	background:rgb(255,255,255);
}

.main_area .table_note{
	margin-top:.3em;
	font-weight:700;
}

.main_area table.type01.va_t th,
.main_area table.type01.va_t td{
	vertical-align:top;
}


/*--定義リスト--*/
.main_area dl.type01{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:1.5em 0;
	border-top:solid 1px rgb(200,200,200);
}

.main_area dl.type01 dt,
.main_area dl.type01 dd{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	padding:.7em .5em;
	border-bottom:solid 1px rgb(200,200,200);
}

.main_area dl.type01 dt{
	margin:0;
	width:160px;
	font-weight:700;
}

.main_area dl.type01 dd{
	margin:0;
	width:calc(100% - 160px);
}

.main_area dl.type01.w60 dt{
	margin:0;
	width:60px;
	font-weight:700;
}

.main_area dl.type01.w60 dd{
	margin:0;
	width:calc(100% - 60px);
}

.main_area dl.type01.w80 dt{
	margin:0;
	width:80px;
	font-weight:700;
}

.main_area dl.type01.w80 dd{
	margin:0;
	width:calc(100% - 80px);
}

.main_area dl.type01.w110 dt{
	margin:0;
	width:110px;
	font-weight:700;
}

.main_area dl.type01.w110 dd{
	margin:0;
	width:calc(100% - 110px);
}

.main_area dl.type01.w120 dt{
	margin:0;
	width:120px;
	font-weight:700;
}

.main_area dl.type01.w120 dd{
	margin:0;
	width:calc(100% - 120px);
}

.main_area dl.type01.w130 dt{
	margin:0;
	width:130px;
	font-weight:700;
}

.main_area dl.type01.w130 dd{
	margin:0;
	width:calc(100% - 130px);
}

/*
.main_area dl.type01 dt::before{
	content:"";
	display:inline-block;
	margin-right:8px;
	width:7px;
	height:7px;
	border-radius:3.5px;
	background:rgb(85,128,180);
	vertical-align:10%;
}
*/
.main_area dl.type02{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:.3em 0 .7em;
}

.main_area dl.type02 dt,
.main_area dl.type02 dd{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}

.main_area dl.type02 dt{
	margin:.2em 0;
	width:90px;
	font-weight:700;
}

.main_area dl.type02 dd{
	margin:.2em 0;
	width:calc(100% - 90px);
}

.main_area dl.type02.w110 dt{
	width:110px;
}

.main_area dl.type02.w110 dd{
	width:calc(100% - 110px);
}

.main_area dl.q_and_a{
	margin:1.5em 0;
}

.main_area dl.q_and_a dt,
.main_area dl.q_and_a dd{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	padding:.7em 0;
}

.main_area dl.q_and_a .head{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	display:inline-block;
	margin-left:-2.4em;
	padding-right:.2em;
	width:2.4em;
	text-align:right;
}

.main_area dl.q_and_a dt{
	margin:0;
	padding-bottom:0;
	padding-left:2.4em;
	font-weight:700;
}

.main_area dl.q_and_a dd{
	margin:0;
	padding-top:0;
	padding-left:2.4em;
	border-bottom:solid 1px rgb(200,200,200);
}

.main_area dl.q_and_a dt .head{
	color:rgb(40,80,180);
}

.main_area dl.q_and_a dd .head{
	color:rgb(180,80,100);
}


/*--ボタン--*/
.main_area .button_box{
	box-sizing:border-box;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin:.8em auto;
	padding:0;
	text-align:center;
	max-width:1080px;
	list-style:none;
}

.main_area .button_box.sp_around{
	justify-content:space-around;
}

.main_area .button_box li{
	width:80%;
}

.main_area .button_box li a{
	position:relative;
	box-sizing:border-box;
	display: flex;
	flex-wrap:wrap;
	justify-content:center;
	padding:.6em 1em .6em .8em;
	width:100%;
	background:rgb(60,30,160);
	border:solid 1px rgb(60,30,160);
	box-shadow:0 1px 5px rgba(0,0,0,.3);
	font-weight:500;
	color:rgb(255,255,255);
	text-decoration:none;
	transition:.2s ease-out;
	transition-opacity:background,color;
}

.main_area .button_box a::after{
	position:absolute;
	top:calc(50% - .3em);
	right:4px;
	content:"";
	display:block;
	box-sizing:border-box;
	width:.6em;
	height:.6em;
	border-style:solid;
	border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) rgba(255,230,140,1);
	border-width:.3em .2em .3em .4em;
	vertical-align:10%;
	transition:.2s ease-out;
	transition-opacity:right,border;
}

	.main_area .button_box a:hover{
		background:rgb(255,255,255);
		color:rgb(60,30,160);
	}

	.main_area .button_box a:hover::after{
		right:0;
		border-left-color:rgb(60,30,160);
	}

.main_area .button_box li.w3{
	width:32%;
}

.main_area .button_box li.w2{
	width:49%;
}

.main_area .button_box.m_large{
	margin-top:4rem;
}

.main_area .button_box li.disabled{
	pointer-events:none;
	cursor:default;
	background:rgb(204,204,204);
}


/*------------------------------
	page_message
------------------------------*/
#page_message .photo{
	margin:1rem .3rem 0 1rem;
	width:160px;
	-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);
	box-shadow:0 0 5px rgba(0,0,0,.3);
	float:right;
}

#page_message .photo img{
	display:block;
	width:100%;
	line-height:0;
	vertical-align:bottom;
}

#page_message .title{
	margin:150px 0 0;
	padding-left:1rem;
	font-size:.875rem;
	line-height:1.5;
	text-align:right;
}
#page_message .name{
	margin:0;
	padding-right:1rem;
	font-size:1.25rem;
	font-weight:700;
	line-height:1.5;
	text-align:right;
}

#page_message .name small{
	font-size:.875rem;
	font-weight:400;
}

#page_message .affi{
	margin:0 0 28px;
	padding-right:1rem;
	font-size:.875rem;
	text-align:right;
}

/*------------------------------
	page_geneinfo
------------------------------*/
#page_geneinfo h2{
	margin-bottom:0;
}

#page_geneinfo dl{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:0;
}

#page_geneinfo dl dt,
#page_geneinfo dl dd{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	padding:1.3em 0.5em;
	border-bottom:solid 1px rgb(200,200,200);
}

#page_geneinfo dl dt{
	margin:0;
	padding-left:2.5em;
	width:140px;
	font-weight:700;
	color:rgb(0,77,160);
	text-indent:-2em;
}

/*
	#page_geneinfo dl dt::before{
		content:"";
		display:inline-block;
		margin-right:8px;
		width:8px;
		height:8px;
		background:rgb(240,140,110);
		border-radius:4px;
		vertical-align:5%;
	}
*/

#page_geneinfo dl dd{
	margin:0;
	width:calc(100% - 140px);
}


/*------------------------------
	page_program
------------------------------*/
#page_program .speakers{
	margin:1em 0 0 1em;
	line-height:1.6;
}

#page_program h3{
	position:relative;
	margin-top:2.2em;
	margin-bottom:0;
	padding:.2em .5em;
	border-radius:3px 3px 0 0;
	z-index:1;
	text-indent:0;
}

#page_program h3::before{
	content: "\f1e0";
	font-family: "Font Awesome 5 Free";
	margin-right:20px;
	font-weight: 900;
	background: none;
	vertical-align:baseline;
	color:rgb(229, 67, 65);
}

#page_program .date{
	display:block;
	margin-top:0;
	padding:.1em .5em;
	border-style:solid;
	border-width:0 1px 1px 0;
	border-color:rgba(129,181,202,.9);
	border-right:none;
	border-radius:0 0 0 3px;
	font-size:1.062rem;
	font-weight:500;
	text-align:left;
	background:rgb(178, 215, 254,.2);
}

#page_program h4{
	margin-bottom:1em;
	padding:.2em .3em;
	background:rgb(255,245,245);
}

#page_program .session{
	margin-top:.8em;
	padding-top:.35em;
	padding-left:-.5em;
	padding-bottom:.35em;
	border-bottom:solid 1px rgb(180,180,180);
	color:rgb(0,84,166);
	font-size:1.25em;
	font-weight:700;
	line-height:1.3;
}

#page_program .date + .session{
	margin-top:-.3em;
}

#page_program .speakers dt{
	margin:0 0 0 0;
	width:90px;
	border-left:solid 2px rgb(97, 98, 183);
	border-radius:3px;
	box-shadow:1px 1px 3px rgba(0,0,0,.3) inset;
	font-size:.875rem;
	font-weight:700;
	color:rgb(97, 98, 183);
	text-align:center;
	float:left;
}

#page_program .speakers dd{
	margin:0 0 0 130px;
	padding-bottom:.7em;
	width:calc(100% - 130px);
	font-size:1rem;
	font-weight:500;
	line-height:1.3;
}

#page_program .speakers dd .title{
	display:block;
	margin-top:-.05em;
	margin-bottom:.3em;
	padding-bottom:.3em;
	border-bottom:dotted 1px rgba(0,84,166,.65);
	font-size:1rem;
	color:rgb(97, 98, 183);
	font-weight:700;
}

#page_program .speakers dd .affi{
	display:inline-block;
	margin-top:.15em;
	margin-bottom:.2em;
	margin-left:.5em;
	padding-left:.3em;
	font-size:.85em;
	font-weight:400;
	vertical-align:top;
	text-indent:-1em;
}

#page_program .speakers.long dt{
	width:130px;
}

#page_program .speakers.long dd{
	margin-left:150px;
	width:calc(100% - 130px);
}

#page_program .speakers dd + dt{
	margin-top:1em;
}

#page_program .speakers dd + dt + dd{
	margin-top:.9em;
}

#page_program .speakers_2 dt{
	margin:.1em 0 0;
	width:70px;
	border:solid 1px rgb(0,90,170);
	border-radius:3px;
	background:rgb(0,90,170);
	box-shadow:0 0 5px rgba(0,0,0,.3) inset;
	font-size:.88rem;
	font-weight:700;
	color:rgb(255,255,255);
	text-align:center;
	float:left;
}

#page_program .speakers_2 dd{
	margin:0 0 0 80px;
	padding-bottom:.3em;
	font-size:1.125rem;
	font-weight:700;
	width:calc(100% - 80px);
}

#page_program .speakers_2 dd .title{
	display:block;
	border-bottom:dotted 1px rgb(180,180,180);
	color: rgb(0,84,166);
}

#page_program .speakers_2 dd .affi{
	display:inline-block;
	margin-bottom:.2em;
	margin-left:.5em;
	font-size:.85em;
	font-weight:400;
}

#page_program .speakers_2.long dt{
	width:100px;
}

#page_program .speakers_2.long dd{
	margin-left:100px;
	width:calc(100% - 100px);
}

#page_program .speakers_2 dd + dt{
	margin-top:1em;
}

#page_program .speakers_2 dd + dt + dd{
	margin-top:.9em;
}

/*------------------------------
	page_satellite
------------------------------*/
#page_satellite .title{
	display:block;
	margin-top:-.05em;
	margin-bottom:.3em;
	padding:.3em 0 .3em .5em;
	border-left:solid 2px rgba(0,84,166,.65);
	font-size:1rem;
	color:rgb(40, 60, 100);
	font-weight:700;
}

/*------------------------------
	page_abstract
------------------------------*/
#page_abstract .period{
	padding:.5em 1em;
	border:solid 2px rgb(255,130,130);
	border-radius:5px;
	color:rgb(60,60,60);
	text-align:center;
	font-size:1.062rem;
	font-weight:700;
}

#page_abstract .period p{
	margin:0;
}

#page_abstract .period p .ib{
	display:inline-block;
	vertical-align:top;
	text-align:left;
}

#page_abstract table.type01{
	margin:.5em 0;
	width:100%;
	border-collapse:collapse;
	font-size:.937rem;
	line-height:1.5;
	text-align:left;
}

#page_abstract table.type01 th,
#page_abstract table.type01 td{
	padding:.5em .8em;
	border:solid 1px rgb(180,180,180);
}

#page_abstract table.type01 th{
	background:rgb(240,240,240);
	font-weight:700;
}


/*------------------------------
	page_designated
------------------------------*/
#page_designated .period{
	padding:.5em 1em;
	border:solid 2px rgb(255,130,130);
	border-radius:5px;
	color:rgb(255,130,130);
	text-align:center;
	font-size:1.062rem;
	font-weight:700;
}

#page_designated .period p{
	margin:0;
}


/*------------------------------
	page_participant
------------------------------*/


/*------------------------------
	page_travel
------------------------------*/


/*------------------------------
	page_regist
------------------------------*/
#page_regist .period{
	font-size:1.125rem;
	font-weight:500;
	color:rgb(240,100,80);
	line-height:1.5;
}

#page_regist .period .end_box{
	display:inline-block;
	vertical-align:top;
}

#page_regist .flowchart{
	display:flex;
	justify-content:space-between;
	margin:1rem 0;
	padding:0;
	font-size:.937rem;
	line-height:1.5;
	text-align:center;
	list-style:none;
}

#page_regist .flowchart li{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	margin-right:30px;
}

#page_regist .flowchart li::after{
	position:absolute;
	top:calc(50% - .3em);
	right:-33px;
	content:"";
	display:block;
	box-sizing:border-box;
	width:1.6rem;
	height:1rem;
	border-style:solid;
	border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) rgba(255,200,100,1);
	border-width:.8rem 0 .8rem 1rem;
	vertical-align:10%;
	transition:.2s ease-out;
	transition-opacity:right,border;
}

#page_regist .flowchart li:last-child{
	margin-right:0;
}

#page_regist .flowchart li:last-child::after{
	content:none;
}

#page_regist .flowchart li .name{
	box-sizing:border-box;
	margin:0;
	padding:.5rem .5rem;
	width:100%;
	background:rgb(150,160,180);
	color:rgb(255,255,255);
	font-weight:500;
}

#page_regist .flowchart li .description{
	margin:0;
	padding:1rem .5rem;
	width:100%;
	min-height:35px;
	background:rgb(210,220,230);
}

#page_regist .flowchart li .description.end{
	min-width:170px;
	background:rgb(80,120,180);
	color:rgb(255,255,255);
}

#page_regist .step_box{
	margin:50px 0 0 15px;
	padding-left:18px;
	border-top:solid 3px rgb(80,120,180);
	border-left:solid 1px rgb(80,120,180);
}

#page_regist .step_summary{
	margin-bottom:18px;
	padding-bottom:18px;
	border-bottom:solid 1px rgb(80,120,180);
}

#page_regist .c2c > tbody > tr > td:nth-child(2){
	text-align:center;
}

#page_regist .c3c > tbody > tr > td:nth-child(3){
	text-align:center;
}

#page_regist .period p .ib{
	display:inline-block;
	vertical-align:top;
	text-align:left;
}


/*------------------------------
	page_venue
------------------------------*/
#page_venue p{
	text-indent:0;
}

#page_venue .venuename{
	font-size:1.25rem;
	font-weight:700;
}

#page_venue .googlemap{
	margin:1.5em 0;
	width:100%;
	height:500px;
}


/*------------------------------
	page_link
------------------------------*/
#page_link dl dt::before{
	content:"";
	display:inline-block;
	margin-right:8px;
	width:10px;
	height:10px;
	background:rgb(240,140,110);
	border-radius:5px;
	vertical-align:3%;
}

#page_link dl dt{
	box-sizing:border-box;
	font-weight:700;
}

#page_link dl dd{
	box-sizing:border-box;
	margin:0 0 25px 20px;
	font-weight:700;
}

#page_link dl dd a{
	display:block;
	box-sizing:border-box;
	width:100%;
	color:rgb(60,80,160);
	text-decoration:none;
	transition:.2s ease-out;
	transition-property:background,color,border-radius,padding-left;
}

	#page_link dl a:hover{
		padding-left:10px;
		background:rgb(60,80,160);
		color:rgba(255,255,255,1);
		border-radius:4px;
	}


/*------------------------------
	page_contact
------------------------------*/
#page_contact .name,
#page_contact .info{
	box-sizing:border-box;
	margin:0 0 0 1rem;
}

#page_contact .name{
	font-size:1.25rem;
	font-weight:500;
}

#page_contact .name small{
	font-size:.85em;
}

#page_contact .info{
	font-size:.875rem;
}

#page_contact .info + .name{
	margin-top:.6em;
}


/*------------------------------
	page_sponsors
------------------------------*/
#page_sponsors .flowchart{
	display:flex;
	justify-content:space-between;
	margin:1rem 0;
	padding:0;
	list-style:none;
}

#page_sponsors .flowchart li{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	width:30%;
}

#page_sponsors .flowchart li::after{
	position:absolute;
	top:calc(50% - .3em);
	right:-33px;
	content:"";
	display:block;
	box-sizing:border-box;
	width:1.6rem;
	height:1rem;
	border-style:solid;
	border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) rgba(255,200,100,1);
	border-width:.8rem 0 .8rem 1rem;
	vertical-align:10%;
	transition:.2s ease-out;
	transition-opacity:right,border;
}

#page_sponsors .flowchart li:last-child::after{
	content:none;
}

#page_sponsors .flowchart li .name{
	box-sizing:border-box;
	display:flex;
	align-items:center;
	margin:0;
	padding:1rem 1rem;
	padding-left:calc(1rem + 1.1em);
	width:100%;
	height:60px;
	background:rgb(180,180,180);
	color:rgb(255,255,255);
	font-weight:500;
	line-height:1.4;
	text-indent:-1.1em;
}

#page_sponsors .flowchart li .description{
	margin:0;
	padding:1rem 1rem;
	width:100%;
	min-height:150px;
	background:rgb(230,230,230);
	font-size:.937rem;
}