/*-----------------------------------------------
  gnavi
-----------------------------------------------*/
#gnavi {
position: fixed;
top: 0;
right: 0;
z-index: 200;
width: 400px;
height: 100%;
background: #FFF;
overflow-y: scroll;
}
#gnavi.active {
display: block;
}
@media screen and (max-width: 1600px) {
	#gnavi {
	width: 300px;
	}
}
@media screen and (max-width: 920px) {
	#gnavi {
	display: none;
	width: 100%;
	height: 100%;
	overflow-y: hidden;
	}
}

/* gnavi_opencampus */
#gnavi .gnavi_opencampus {
background: linear-gradient(135deg, #CFDDB4, #BFD7BF 50%, #BFD7D6 100%);
}
#gnavi .gnavi_opencampus a {
display: block;
padding: 15px 20px 20px 20px;
}
#gnavi .gnavi_opencampus_head {
font-family: "Kiwi Maru", serif;
font-size: 1.25em;
font-weight: 500;
}
#gnavi .gnavi_opencampus_date {
display: flex;
justify-content: center;
align-items: flex-start;
margin-top: -0.5em;
line-height: 1;
color: #009C74;
}
#gnavi .gnavi_opencampus_date .month {
margin-top: 0.3em;
font-size: 2em;
}
#gnavi .gnavi_opencampus_date .month::after {
content: "/";
margin: 0 0.2em 0 0.1em;
}
#gnavi .gnavi_opencampus_date .day {
font-size: 5em;
}
#gnavi .gnavi_opencampus_date .button {
display: flex;
justify-content: center;
align-items: center;
width: 4.5em;
height: 4.5em;
margin: 0.5em 0 0 1em;
font-family: "Kiwi Maru", serif;
font-weight: 500;
color: #FFF;
background: #009C74;
border-radius: 100%;
transition: 0.2s;
}
#gnavi .gnavi_opencampus_date .button::after {
content: "▶";
display: inline-block;
margin: 0.35em 0 0 0.25em;
font-size: 0.5em;
}
#gnavi .gnavi_opencampus a:hover .gnavi_opencampus_date .button {
color: #009C74;
background: #FFF;
}
@media screen and (max-width: 920px) {
	#gnavi .gnavi_opencampus {
	display: none;
	}
}

/* gnavi_head */
#gnavi .gnavi_head {
display: none;
}
@media screen and (max-width: 920px) {
	#gnavi .gnavi_head {
	display: block;
	padding: 20px 4%;
	background: #009C74;
	}
	#gnavi .gnavi_head .logo {
	width: 60%;
	margin: auto;
	}
}

/* gnavi_body */
#gnavi .gnavi_body {
margin-bottom: 40px;
box-sizing: border-box;
}
#gnavi .gnavi_list a {
display: block;
padding: 1em 4%;
}
#gnavi .gnavi_list > li:not(:first-child) {
border-top: 1px solid rgba(0,156,116,0.5);
}
#gnavi .gnavi_list > li {
position: relative;
}
#gnavi .gnavi_list > li > a {
background-image: url("../img/common/arw_right_k.svg");
background-position: right 4% top 1.25em;
background-repeat: no-repeat;
background-size: 1em;
}
#gnavi .gnavi_list > li > a.open {
background-image: url("../img/common/arw_down_k.svg");
}
#gnavi .gnavi_list ul {
display: none;
}
#gnavi .gnavi_list ul li {
padding-left: 1em;
background: rgba(0,156,116,0.1);
border-top: 1px solid rgba(0,156,116,0.5);
}
@media screen and (max-width: 920px) {
	#gnavi .gnavi_body {
	height: 100%;
	padding-bottom: 20%;
	background: #DFDFDF;
	box-sizing: border-box;
	overflow-y: scroll;
	}
}

/* gnavi_pickup */
#gnavi .gnavi_pickup {
}
#gnavi .gnavi_pickup li {
line-height: 1.25;
text-align: center;
color: #FFF;
background: rgba(0,156,116,1);
}
#gnavi .gnavi_pickup li:not(:first-child) {
margin-top: 2px;
}
#gnavi .gnavi_pickup a {
display: flex;
justify-content: center;
align-items: center;
height: 4em;
}
#gnavi .gnavi_pickup a:hover {
opacity: 0.75;
}
#gnavi .gnavi_pickup br {
display: none;
}
@media screen and (max-width: 920px) {
	#gnavi .gnavi_pickup {
	display: flex;
	justify-content: space-between;
	}
	#gnavi .gnavi_pickup li {
	width: calc((100% - 4px) / 3);
	}
	#gnavi .gnavi_pickup li:not(:first-child) {
	margin: 0;
	}
	#gnavi .gnavi_pickup span {
	display: none;
	}
	#gnavi .gnavi_pickup br {
	display: block;
	}
}

/* gnavi_sns */
#gnavi .gnavi_sns {
display: flex;
justify-content: center;
margin-top: 4%;
}
#gnavi .gnavi_sns li {
width: 50px;
}
#gnavi .gnavi_sns li:not(:first-child) {
margin-left: 20px;
}
#gnavi .gnavi_sns a:hover {
opacity: 0.75;
}

/* gnavi_close */
#gnavi .gnavi_close {
display: none;
}
@media screen and (max-width: 920px) {
	#gnavi .gnavi_close {
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 50px;
	height: 50px;
	background: #FFF;
	cursor: pointer;
	}
	#gnavi .gnavi_close span {
	position: relative;
	display: block;
	width: 50%;
	height: 50%;
	margin: 25%;
	}
	#gnavi .gnavi_close span::before,
	#gnavi .gnavi_close span::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: 100%;
	height: 2px; 
	background: #009C74;
	border-radius: 1px;
	}
	#gnavi .gnavi_close span::before {
	transform: translateY(3px) rotate(45deg);
	}
	#gnavi .gnavi_close span::after {
	transform: translateY(3px) rotate(-45deg);
	}
}
