/* Header nav */
body > header #nav {
	position:relative;
	top:0;
	width:100%;
	text-align:right;
}

#menu-trigger {
	display:none;
}


/* Global nav */

body > header nav img {
    display:block;
    margin:0 auto 15px auto;
}

body > header nav.target {
	padding:0;
    background:linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.3)), #0b73bb;
}
body > header nav.target ul {
	display:flex;
    align-items: center;
	justify-content:space-between;
	padding:0 20px;
	list-style:none;
}
body > header nav.target ul li {
	border-left:solid 1px rgba(255,255,255,0.1);
    padding:0;
    transition:0.2s;
    background:linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.3)), #0b73bb;
	flex:1;
}
body > header nav.target ul li:hover {
	background:linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.3)), #B34A14;
}
body > header nav.target ul li.active {
	background:linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.3)), #291f87;
}
body > header nav.target ul li:last-child {
	border-right:solid 1px rgba(255,255,255,0.1);
}
body > header nav.target ul li a ,
body > header nav.target ul li.nav-head {
	display:block;
	text-align:center;
	padding:14px 10px;
    min-height:70px;
	color:#fff;
    position:relative;
}
body > header #nav.okadai nav.target ul li a {
	padding:14px 10px;
}
body > header nav.target ul li a span {
    position:absolute;
    top:50%;
    left:0;
    transform:translateY(-50%);
    display:block;
    text-align:center;
    width:100%;
}

body > header nav.ctg {
	padding:0;
	background:#eee;
}
body > header nav.ctg ul {
	display:flex;
	justify-content:space-between;
	padding:0 20px;
	list-style:none;
}
body > header nav.ctg ul li {
	border-left:solid 1px #ddd;
	transition:0.2s;
    padding:0;
	flex-grow:1;
}
body > header nav.ctg ul li:last-child {
	border-right:solid 1px #ddd;
}
body > header nav.ctg ul li a ,
body > header nav.ctg ul li.nav-head {
	display:block;
	padding:14px 10px;
	color:#000;
	text-align:center;
}
body > header nav.ctg ul li:hover {
	background:#B34A14;
}
body > header nav.ctg ul li.active {
	background:#ccc;
}
body > header nav.ctg ul li.nav-head {
    background:#666 !important;
    color:#fff !important;
    position:relative;
    border:none;
    overflow:hidden;
}
body > header nav.ctg ul li.nav-head + li {
    border-left:none;
}
body > header nav.ctg ul li.nav-head::after {
    content:'';
    width: 0;
    height: 0;
    border-left: 10px solid #666;
    border-top: 30px solid #eee;
    border-bottom: 30px solid #eee;
    position:absolute;
    top:50%;
    right:0;
    transform:translateY(-50%);
}
body > header nav.ctg ul li:hover a {
	color:#fff;
}

/* Local nav */

nav#local {
	background:#eee;
	padding:20px;
}
nav#local h1 {
	font-size:140%;
	padding:10px 0;
	margin:0;
	border-bottom:solid 1px #ccc;
}
nav#local h1 a {
	display:block;
	padding:10px;
	color:#005594;
}
nav#local h1 a:hover {
	background:#B34A14;
	color:#fff;
}
nav#local ul {
	list-style:none;
	margin:0;
	padding:0;
}
nav#local ul li {
	border-bottom:solid 1px rgba(0,0,0,0.1);
	color:#000;
	font-size:110%;
	transition:0.2s;
    padding:0;
    position:relative;
    line-height:1.3;
}
nav#local ul li.accordion > img {
	cursor:pointer;
    position:absolute;
    top:15px;
    right:10px;
    z-index:10;
    transition:0.4s;
}
nav#local ul li.open > img {
	transform: rotate(180deg);
}
nav#local ul li span {
	display:block;
	font-size:80%;
	color:#666;
	transition:0.2s;
}
nav#local ul ul li a:hover span {
	color:#fff;
}
nav#local ul li a {
	display:block;
	color:#000;
	padding:15px 40px 15px 10px;
}
nav#local ul li > a:hover {
    background-color:#B34A14;
	color:#fff;
}
nav#local ul li div {
    color:#000;
    padding:15px 40px 15px 10px;
}
nav#local ul ul {
	display:none;
	font-size:80%;
}
nav#local ul li.open ul {
    display:block;
}
nav#local ul ul li {
	border-top:solid 1px rgba(0,0,0,0.1);
	border-bottom:none;
}
nav#local ul ul li a {
    color:444;
    padding-left:20px;
}
nav#local ul ul li a.here {
    background:rgba(0,0,0,0.1);
}
nav#local ul ul li a:hover {
	background:#B34A14;
}

#nav-cover {
	background:rgba(0,0,0,0.4);
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:400;
}

/** Media Query **/

@media only screen and (min-width : 1200px) {
	body > header nav.target,
	body > header nav.ctg {
		font-size:110%;
	}
}

@media only screen and (min-width : 1400px) {
	body > header nav.target,
	body > header nav.ctg {
		font-size:120%;
	}
}

@media only screen and (max-width : 768px) {
	body > header #nav {
		position:absolute;
		width:100%;
		z-index:800;
		display:none;
	}

	body > header section {
		position:absolute;
		width:100%;
		left:0;
		background:#fff;
		z-index:800;
	}

    body > header nav img {
        display:inline-block;
        margin:0 20px 0 -60px;
        width:40px;
    }

    body > header nav.target ul {
        padding:0;
    }
    body > header nav.target ul li a ,
    body > header nav.target ul li.nav-head {
        text-align:left;
        padding:30px 20px 30px 80px !important;
        position:static;
        min-height:auto;
    }
    body > header nav.ctg ul li a ,
    body > header nav.ctg ul li.nav-head {
        text-align:left;
        padding:20px 20px 20px 80px;
    }

	body > header nav.target ul {
		display:block;
	}
	body > header nav.target ul li {
		border:none;
		border-bottom:solid 1px rgba(255,255,255,0.2);
	}
	body > header nav.target ul li:last-child {
		border:none;
	}
    body > header nav.target ul li a span {
        text-align:left;
        position:static;
        transform:none;
    }
	body > header nav.ctg ul {
		display:block;
        padding:0;
	}
	body > header nav.ctg ul li {
		border:none;
		border-bottom:solid 1px #ddd;
	}
	body > header nav.ctg ul li:last-child {
		border:none;
	}
    body > header nav.ctg ul li.nav-head::after {
        display:none;
    }


	#menu-trigger {
		display:block;
		background:#291F87 url("../_img/nav/bg.png") bottom repeat-x;
		text-align:left;
		border-top:solid 1px rgba(0,0,0,0.1);
		border-bottom:solid 1px rgba(0,0,0,0.3);
		color:#fff;
		width:100%;
		cursor:pointer;
		position:relative;
		z-index: 1000;
	}
	#menu-trigger div {
		display:inline-block;
		padding:14px 0 14px 50px;
		position:relative;
		font-size:1.2em;
	}
	#menu-trigger span {
		position: absolute;
		left:15px;
		width: 20px;
		height: 2px;
		background-color: #fff;
		display: inline-block;
		transition: all .4s;
	}
	#menu-trigger span:nth-of-type(1) {
		top: 14px;
	}
	#menu-trigger span:nth-of-type(2) {
		top: 22px;
	}
	#menu-trigger span:nth-of-type(3) {
		bottom: 13px;
	}
	.open #menu-trigger span:nth-of-type(1) {
		transform: translateY(8px) rotate(-315deg);
	}
	.open #menu-trigger span:nth-of-type(2) {
		opacity: 0;
	}
	.open #menu-trigger span:nth-of-type(3) {
		transform: translateY(-8px) rotate(315deg);
	}
	.fix #menu-trigger {
	    position: fixed !important;
	    top: 0;
	    box-shadow:0 0 2px rgba(0,0,0,0.6);
	}
}

@media print {
	nav {
		display:none !important;
	}
}
