
/*----- nav -----*/
nav{
	position:relative;
	width:230px;
}

nav ul.main li.disabled a {
    pointer-events: none;
    cursor: default;
    color: rgb(197, 197, 197);
    background: url(../img/common_deco03.svg) left .2rem center no-repeat rgb(238, 238, 238);
}

nav #sp_menu_button{
	display:none;
}
nav #sp_menu_button + label{
	box-sizing:border-box;
	position:fixed;
	top:1.8rem;
	right:2.0rem;
	display:none;
	padding:1.0rem .8rem;
	width:4.0rem;
	background:rgb(58,76,101);
	color:rgb(255, 255, 255);
	transition:.2s ease-out;
	transition-property:border-color,box-shadow,transform;
	z-index:1600;
}
nav #sp_menu_button + label span{
	box-sizing:border-box;
	display:block;
	margin:0 auto;
	width:100%;
	height:.3rem;
	background:rgb(255,255,255);
	transition:.2s ease-out;
	transition-property:width,height,margin,box-shadow,transform;
	overflow:hidden;
}
nav #sp_menu_button + label span:nth-child(1),
nav #sp_menu_button + label span:nth-child(2){
	margin-bottom:.5rem;
}
	/*---- cheked ----*/
	nav #sp_menu_button:checked + label{
		/*transform:rotate(90deg);*/
		box-shadow:0 0 .8rem rgba(255,255,255,.45);
	}
	nav #sp_menu_button:checked + label span:nth-child(2){
		background:rgba(0,0,0,0);
		width:2.0rem;
		height:2.0rem;
		text-shadow:0 0 .8rem rgba(255,255,255,.6);
	}
	nav #sp_menu_button:checked + label span:nth-child(2)::before{
		content:"×";
		display:block;
		font-size:2.0rem;
		line-height:2.0rem;
		text-align:center;
	}
	nav #sp_menu_button:checked + label span:nth-child(1),
	nav #sp_menu_button:checked + label span:nth-child(2){
		margin-bottom:0;
	}
	nav #sp_menu_button:checked + label span:nth-child(1),
	nav #sp_menu_button:checked + label span:nth-child(3){
		height:0;
	}

nav ul.main{
	box-sizing:border-box;
	margin:0 0 3.6rem;;
	padding:0;
	width:100%;
}
nav ul.main li{
	display:flex;
	list-style:none;
}
nav ul.main li a{
	position:relative;
	box-sizing:border-box;
	display:block;
	padding:1rem 1.2rem;
	margin: 1rem;
	width:100%;
	font-size:1.2rem;
	background: url("../img/common_deco01.svg") left .3rem center no-repeat rgb(242, 242, 242);
	background-size: 6px 10px;
	color:rgb(7, 68, 135);
	line-height:1.4;
	text-decoration:none;
	transition:.2s ease-out;
	transition-property:background,border-bottom,color;
	overflow:hidden;
	font-weight: 600;
}
/*新規ページを作成したら↓に新規ページのクラス名を追加
　例） .（クラス名）　nav ul.main li a.(クラス名)*/
.home nav ul.main li a.home,
.message nav ul.main li a.message,
.overview nav ul.main li a.overview,
.program nav ul.main li a.program,
.abstract nav ul.main li a.abstract,
.registration nav ul.main li a.registration,
.speaker nav ul.main li a.speaker,
.venue nav ul.main li a.venue,
.participants nav ul.main li a.participants,
nav ul.main li a.current,
nav ul.main li a:hover{
	background-color:rgb(255,255,255);
	background: url("../img/common_deco01.svg") right 0.5rem center no-repeat rgb(241, 228, 26);
	background-size: 6px 10px;
	color:rgb(60, 60, 60);
	font-weight: 700;
}

nav ul.main li a:hover::before,
nav ul.main li a.current::before{
	left:.2rem;
}
nav ul li.banner{
	margin-top:20px;
	padding: 0 16px;
}
nav ul li.banner.poster{
	padding: 0;
}
nav ul li.banner a{
	height: auto;
}
nav ul li.banner + .banner{
	margin-top:5px;
}
nav ul li.banner a{
	padding:0;
	border-bottom:none;
	line-height:0;
	text-align:center;
	transition:opacity .2s ease-out;
	background-color: rgba(255,255,255,0);
}
nav ul li.banner.poster a{
	padding: 16px;
	line-height: 1.6em;
	background-image: none;
}
nav ul li.banner a img{
	width:100%;
	vertical-align:bottom;
}
nav ul li.banner a img.sp{
	display:none;
	max-width:500px;
}
nav ul li.banner a:hover{
	background:none;
	border-bottom:none;
	opacity:.5;
}
nav ul li.banner.poster a:hover{
	background:rgb(242, 242, 240);	
	opacity: 1;
}
nav ul p.abstract_note{
	font-size:1.2rem;
	line-height: 1.5rem;
	color:rgb(255,0,0);
	margin-top: 0.8rem;
}

nav ul li a[target="_blank"]::after{
	content:"";
	display:inline-block;
	background:url(../img/icon_external_white.svg) center center no-repeat;
	background-size:cover;
	width:.8em;
	height:.8em;
	margin-left:.5em;
	transition:background .2s ease-out;
}
	nav ul li a[target="_blank"]:hover::after{
		content:"";
		display:inline-block;
		background:url("../img/icon_external_black.svg") center center no-repeat;
		background-size:cover;
	}
nav ul li.banner a:hover::after,
nav ul li.banner a::after{
	content: none;
}

/*-----------------------------------
-----------------------------------
	メディアクエリ
-----------------------------------
-----------------------------------*/
/*--960px--*/
@media screen and (max-width:960px){
/*--nav--*/
	nav{
		width:190px;
	}
	nav ul li a{
		padding:1.6em 1em!important;
		font-size: 1.1rem!important;
	}
}
/*--800px--*/
@media screen and (max-width:800px){
/*--nav--*/
	nav.main{
		position:fixed;
		top:0;
		right:0;
		z-index:100;
	}
	nav .sp_nav{
		box-sizing:border-box;
		position:fixed;
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
		right:-110%;
		padding:2rem 1rem;
		width:100%;
		height: 100%;
		overflow: scroll;
		background:rgba(32, 45, 79, .8);
		transition:right .3s ease-out;
		z-index:1500;
	}
	nav ul.sub{
		position:relative;
		display:flex;
		top:auto;
		right:auto;
		box-sizing:border-box;
		flex-wrap:wrap;
		justify-content:space-between;
		margin:0;
		padding:0;
		width:100%;
		background:none;
		box-shadow:none;
		text-align:center;
		z-index:100;
	}
	nav ul.sub li{
		box-sizing:border-box;
		border:none;
		list-style:none;
		margin:0 0 1rem 0;
		width:49%;
	}
	nav ul.sub li:last-child{
		margin:0 0 1rem 0;
	}
	nav ul.main{
		position:relative;
		display:flex;
		top:auto;
		right:auto;
		box-sizing:border-box;
		flex-wrap:wrap;
		justify-content:space-between;
		margin:0;
		padding:0;
		width:100%;
		box-shadow:none;
		text-align:center;
		z-index:100;
	}
	nav ul.main li{
		box-sizing:border-box;
		border:none;
		list-style:none;
		margin:0 0 1rem 0;
		width:49%;
	}
	nav ul.main li a{
		display:flex;
		flex-wrap:wrap;
		justify-content:center;
		align-items:center;
		align-content:center;
		line-height:1.2;
		font-size: 2.3rem!important;
	}
	nav #sp_menu_button + label{
		display:block;
	}
		/*---- cheked ----*/
		nav #sp_menu_button:checked + label + .sp_nav{
			right:0;
		}
		/*---- cheked ----*/
		nav #sp_menu_button:checked ~ .sp_nav .close_field{
			position:fixed;
			top:0;
			left:0;
			display:block;
			width:100vw;
			height:100vh;
			background:rgba(0,0,0,.3);
			z-index:50;
		}
	nav ul.main li a.current::after {
		content: none;
}

}

/*--600px--*/
@media screen and (max-width:600px){
/*--nav--*/
	nav #sp_menu_button + label{
		top:.5rem;
		right:1.0rem;
	}

	nav ul p.abstract_note{
		display: none;
	}
}
