/*----- nav -----*/
.nav_area{
	box-sizing:border-box;
	padding:20px 10px;
	width:230px;
	background: rgba(4, 63, 140, .3);
}
nav{
	margin-bottom:30px;
}
nav ul.main{
	box-sizing:border-box;
	margin:0;
	padding:0;
	width:100%;
}
nav ul.main li{
	margin-bottom:7px;
	list-style:none;
}
nav ul.main li:last-child{
	margin-bottom:0;
}
nav ul.main li a{
	position:relative;
	box-sizing:border-box;
	display:block;
	padding:.55em .8em;
	background:url("../img/menu_deco_blue.svg") 2px center no-repeat;
	background-size: 6px 8px;
	background-color: rgb(242, 242, 242);
	font-size:.9rem;
	font-weight:700;
	color: rgb(11, 61, 141);
	line-height:1.4;
	text-decoration:none;
	transition:.2s ease-out;
	transition-property:background,border,color,box-shadow;
	min-height: 36px;
	width: 210px;
}
nav ul.main li a .font_s{
	font-size: .74rem;
	position: relative;
	bottom: 1px;
}
nav ul.main li a.emphasis{
	background-image: none;
	background-color: rgb(255,255,0);
	box-shadow: 0 0 4px rgba(0,0,0,.3);
	color: rgb(250,80,80);
}
nav ul.main li a.bg_blue{
	background-image: none;
	background-color: rgb(142,184,255);
	box-shadow: 0 0 4px rgba(0,0,0,.3);
}

/*新規ページを作成したら↓に新規ページのクラス名を追加
　例） .（クラス名）　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,
.cfa nav ul.main li a.cfa,
.cfa_dsg nav ul.main li a.cfa_dsg,
.registration nav ul.main li a.registration,
.sponsors nav ul.main li a.sponsors,
.venue nav ul.main li a.venue,
.link nav ul.main li a.link,
.speaker nav ul.main li a.speaker,
.seminar nav ul.main li a.seminar,
nav ul.main li a.current,
nav ul.main li a:hover{
		background-image:url("../img/menu_deco_white.svg");
		background-color:rgb(27, 101, 166);
		background-position:200px center,center;
		color:rgb(242, 242, 242);
	font-weight: 500;
}
nav ul.main li a.close{
	background-image:none;
	background-color:rgb(206,210,213);
	color:rgb(255,255,255);
}
nav ul.main li a.emphasis{
	background-image:none;
	background-color:rgb(255,255,0);
	box-shadow:0 0 4px rgba(0,0,0,.3);
	color:rgb(250,80,80);
}
nav ul.main li a.new::after{
	content:"New";
	font-size:.875rem;
	font-weight:700;
	color:rgb(250,80,80);
	padding-left: 1em;
}
.nav_area .period{
	margin:15px auto;
	line-height:1.5;
	border:solid 2px rgb(207,0,14);
	border-radius:5px;
	text-align:center;
}
.nav_area .period .title{
	box-sizing:border-box;
	margin:0;
	padding:.4em .8em;
	background:rgb(234,56,27);
	color:rgb(255,255,255);
	font-size:.875rem;
	font-weight:500;
}
.nav_area .period .date{
	box-sizing:border-box;
	margin:0;
	padding:.6em .8em;
	background:rgb(255,255,255);
	color:inherit;
	font-size:.875rem;
	font-weight:700;
}
.nav_area .period .date .arrow{
	display:inline-block;
	border-width:.45em 0 .45em .8em;
	border-color:rgba(234,56,27,0) rgba(234,56,27,0) rgba(234,56,27,0) rgba(234,56,27,1);
	border-style:solid;
	vertical-align:-10%;
}
nav ul li.disabled a,
nav ul li a[href=""] {
    pointer-events: none;
    cursor: default;
    color: rgb(197, 197, 197);
    background: rgb(238, 238, 238);
	box-shadow: none;
}

nav ul li.banner{
	margin-top:20px;
}
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;
}
nav ul li.banner a img{
	width:100%;
	vertical-align:bottom;
}
nav ul li.banner a img.sp{
	display:none;
	max-width:230px;
}
nav ul li.banner a:hover{
	background:none;
	border-bottom:none;
	opacity:.5;
}
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_blue.svg) center center no-repeat;
	background-size:cover;
	width:.8em;
	height:.8em;
	margin-left:.5em;
	transition:background .2s ease-out;
	position: relative;
	top:2px;
}
nav ul li a[target="_blank"]:hover::after{
	content:"";
	display:inline-block;
	background:url("../img/icon_external_white.svg") center center no-repeat;
	background-size:cover;
}
nav ul li.banner a[target="_blank"]::after,
nav ul li.banner a[target="_blank"]:hover::after{
	content:none;
}



nav #sp_menu_button{
	display:none;
}
nav #sp_menu_button + label{
	box-sizing:border-box;
	position:fixed;
	top:18px;
	right:20px;
	display:none;
	padding:10px 8px;
	width:40px;
	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:3px;
	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:5px;
}
	/*---- cheked ----*/
	nav #sp_menu_button:checked + label{
		/*transform:rotate(90deg);*/
		box-shadow:0 0 8px rgba(255,255,255,.45);
	}
	nav #sp_menu_button:checked + label span:nth-child(2){
		background:rgba(0,0,0,0);
		width:20px;
		height:20px;
		text-shadow:0 0 8px rgba(255,255,255,.6);
	}
	nav #sp_menu_button:checked + label span:nth-child(2)::before{
		content:"×";
		display:block;
		font-size:20px;
		line-height:20px;
		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;
	}


