@charset "utf-8";
/* CSS Document */


/* ----------------------------------------------------
   Basic setting:
------------------------------------------------------- */

/* Basic
--------------------------------------------*/


html {font-size: 15px;}


* {
	-webkit-text-size-adjust: 100%;
}

/*
main > .outline {
	margin: 0;
	padding: 0 3%!important;
}

*/
/* Utility
--------------------------------------------*/

.pc{display: none;}
.sp{display: block;}


/* header :
--------------------------------------------*/
#header {
	grid-template-columns: 1fr;
	padding: 1.5% 0 0;
	 grid-gap: 0;
	position: relative;
	border-bottom: 2.5px solid #0D75CD;
}

#header .logo img{
	width: 52%;
	padding: .5rem;
}

#header #search {
	display: none;
	background: #EBFAFF;
	padding: 1rem .7rem;
	text-align: center;
	width: 100%;
}

#header #search input {
    width: 84%;
}

#header .nav {
   display: none!important;
}

#header .right {
    display: block;
}

#header #search {
	margin-bottom: 0;
}

/* glnav:
--------------------------------------------*/

.gl_menu {
	display: block;
	order: 3;
	width: 50px;
	height: 50px;
	text-align: right;
	position: absolute;
	right: 20px;
	top: 18px;
}

.gl_menu img {width: 1.8rem; }
.gl_menu .close_menu {display: none;}


.serch_btn {
	display: block;
	order: 3;
	width: 50px;
	height: 50px;
	height: 35px;
	text-align: right;
	position: absolute;
	right: 70px;
	top: 15px;
}

.serch_btn img {width: 1.8rem; }


#glnav .nav {
   display: block;
	margin-top: 1rem;
}

#glnav {
	display: none;
    font-size: 100%;
	padding: 0;
	border: 6px solid #0D75CD;
}

#glnav > ul:not(.nav){
	grid-template-columns: 1fr;
}

#glnav ul:not(.nav) > li > a {
	text-align: left;
	border-bottom: 1px solid rgba(255,255,255,.6);
	padding: 1rem 3%;
}

#glnav ul:not(.nav) > li:first-child > a {
	padding: .7rem 3% 1rem;
}

#glnav > ul > li:is(:first-child,:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(6)) > a::before{
	right: 3%;
    bottom: 44%;
	left: auto;
	width: 9px;
    height: 9px;
}

#glnav > ul:not(.nav) > li > ul {
    position: relative;
    top: 0;
    padding: 1rem;
	border-bottom: none;
}

#glnav ul:not(.nav) > li.on > a, #glnav ul:not(.nav) > li > a:hover {
    color: #fff;
}

#glnav ul > li > a:hover,#glnav ul > li.on a{
    background: none;
    border-radius: 0;
}

#glnav > ul:not(.nav) > li > ul > li.title {
    display: none;
}

#glnav > ul > li > ul > li > a {
    display: block;
	padding: 0 0 .8rem 0!important;
	font-size: 95%;
}

#glnav > ul:not(.nav) > li > ul > li > a:hover {
    color: #333;
}

#glnav > ul > li > ul > li:last-child > a {
	padding: 0!important;
}

#glnav > ul.nav li a{
	color: #333;
}

#glnav > ul.nav > li:first-child > a::before {
    display: none;
}

#glnav > ul.nav {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	 grid-gap: 1.5px;
	justify-content: space-between;
}

#glnav ul.nav li{
	display: block;
	text-align: center;
	padding: 2rem 0 .5rem;
	background: #fff;
}
#glnav ul.nav li a{
	font-size: 80%;

	background-repeat: no-repeat;
    background-position: center top 1.5rem;
    background-size: 19px;
	padding: 3rem 0 .5rem 0;
}
#glnav ul.nav li:nth-child(1) a {background-image: url("../img/common/icon_sitemap.svg");}
#glnav ul.nav li:nth-child(2) a {background-image: url("../img/common/icon_access.svg"); background-size: 24px; background-position: center top 1.3rem;}
#glnav ul.nav li:nth-child(3) a {background-image: url("../img/common/icon_contact.svg");background-position: center top 1.6rem;}
#glnav ul.nav li:nth-child(4) a {background-image: url("../img/common/icon_lang.svg");}


/* footer :
--------------------------------------------*/

#footer .logo img {
    width: 16rem;
    margin: 2rem 0 0;
}

#footer address {
    margin: 1.5rem 0;
}

#footer ul.mark li a img{
	height: 37px;
}
#footer ul.mark li:nth-child(1) a img{
	height: 25px;
}
#footer ul.mark li:nth-child(3) a img{
	height: 30px;
}

#footer ul.nav li a {
    padding: 0.2rem;
    margin-right: 0.7rem;
}

@media screen and (max-width: 767px){
	#footer ul.nav li a
	{
		font-size: 90%;
	}
}


/*--  page_top --*/

#page_top {
	right: 10px;
	bottom: 10px;
}

#page_top a {
	width: 40px;
	height: 40px;
	padding:4px 8px;
}


@media screen and (max-width: 767px){
	#copy {
		text-align: left;
		padding: 1rem 0 0.8rem;
		width: 90%;
		line-height: 1rem;
	}
}
