
/*----- nav -----*/
.nav_area{
  position:         sticky;
  top: 0;
	z-index: 20;
}

nav{
	display: block;
	position:relative;
}

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 ul.main {
    box-sizing: border-box;
    padding: 2rem 0 1.4rem;
    text-align: center;
    margin: 0 auto;
    background: rgb(27, 49, 90);
    box-shadow: 0 4px 4px rgba(255,255,255,.1);
}
nav ul.main li{
	display:inline-block;;
	list-style:none;
}
nav ul.main li a {
    position: relative;
    box-sizing: border-box;
    display: table-cell;
    margin: 0;
    font-size: 2rem;
    background: rgb(27, 49, 90);
    color: rgba(255,255,255,1.00);
    line-height: 1.4;
    text-decoration: none;
    transition: .2s ease-out;
    transition-property: border-bottom,color;
    overflow: hidden;
    padding: .2em 2.4em 1rem;
    border-left: solid 1px rgba(240,240,240,1.00);
    vertical-align: middle;
}
nav ul.main li:nth-last-child(1) a{
	border-right: solid 1px rgba(240,240,240,1.00);
}
nav ul.main li a:hover{
	background: url("../img/common_deco01.svg") bottom 4px center no-repeat ;
	color: rgb(150, 188, 253);
	background-size: 10px 6px;
}

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;
}

/*-----------------------------------
-----------------------------------
	メディアクエリ
-----------------------------------
-----------------------------------*/
/*--1108px--*/
@media screen and (max-width:1108px){
	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: 1.8488vw!important;
		height: auto;
		width: auto;
	}
	nav ul.main li:nth-child(1) a{
		border-left: none;
	}
	nav ul.main li:nth-last-child(1) a{
		border-right: none;
	}
}
/*--1000px--*/
@media screen and (max-width:1000px){
/*--nav--*/
	nav{
	}
	nav ul li a{
		padding:1.6em 1em!important;
		font-size: 1.1rem!important;
	}
/*--nav--*/
	nav.main{
		position:fixed;
		top:0;
		right:0;
		z-index:100;
	}
	nav ul.main{
		position:relative;
		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{
	}
	nav ul.main li a{
		font-size: 1.42rem!important;
	}
	nav ul.main li a br{
		display:none;
	}
	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 ul p.abstract_note{
		display: none;
	}
}
/*--400px--*/
@media screen and (max-width:400px){
/*--nav--*/

}
