@charset "utf-8";
/* CSS Document */


/* ----------------------------------------------------
   Basic setting:
------------------------------------------------------- */

/* Basic
--------------------------------------------*/

html {font-size: 14px;}

/*---- gdpr ----*/	
#gdpr{	
	padding:1.5rem 2rem 1rem;	
}	
#gdpr button {	
	width: 100%;	
}

/*---- outline ----*/

.outline {
	padding: 0 2%;
}


/* header:
--------------------------------------------*/

header .outline {
	padding: 1rem 1% 0;
}


/*---- logo ----*/


header .logo img {
	width: 150px;
	margin-bottom: 1rem;
}

html[lang="en"] header .logo {
	width: 50%;
}
html[lang="en"] header .logo img {
	width: 280px;
}

/*---- lang ----*/

#lang {
	order: 1;
	width: 20%;
	margin-top: 1px;
}

#lang section {
	width: auto;	
	position: inherit;	
}

#lang button {
	position: relative;
	background: none;
	width: auto;
	padding: 0.5rem;
	border: none;
}

#lang button img {
	width: 30px;
	display: block;
}
#lang button span {display: none;}

#lang button::before{
	display: none;
}


#lang ul {
	width: 100%;
    z-index: 2;
    background: #fff;
    margin-left: -1%;
	border: none;
	border-bottom: 1px solid #c6bc9b;
}

#lang ul a {
	padding: 1rem;
	border-top: 1px dotted #c6bc9b;
}
/*---- search ----*/

header #keyword_search {
	display: none;
}

#keyword_search {
	padding: 2rem 0.5rem;
	display: flex;
	width: 100%;	
}

#keyword_search input[type="submit"] {
	width: 6rem;
	height: 3rem;
}

#keyword_search input[type="text"] {
	flex: 1;
	height: 3rem;
}



/*---- glnav ----*/

/*-- menu --*/

.gl_menu {
	display: block;
	padding: 0.5rem;
	margin-top: 1px;
	order: 3;
	width: 20%;
	text-align: right;
}

.gl_menu img {width: 1.8rem;}
.gl_menu .close_menu {display: none;}



#glnav {
	display: none;
	margin: 0;
	padding: 0 1rem;
	position: absolute;
    z-index: 3;
    width: 100%;
    background: #fff;
}

#glnav > ul {
	font-size: 1.1rem;
	display: block;
}

#glnav > ul > li {
	border-top: 1px dotted #c6bc9b;
}

#glnav > ul > li > a {
	padding: 1.5rem 0.5rem 1.5rem 30px;	
	text-align: left;
}
#glnav > ul > li > a[aria-expanded="true"].on {
	background: #f9f8f7;
}
#glnav > ul.active > li a.on:after,
#glnav > ul.active > li.current > a.on:after,
#glnav > ul > li.current > a:after,
#glnav > ul > li > a.on:after,
#glnav > ul > li > a:hover:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 47%;
	width: 18px;
	height: 3px;
}

#glnav > ul.active > li.current > a:after {background: #fff;}
#glnav > ul.active > li a.on:after {background: #bd3e27;}


/*-- sub menu --*/

#glnav ul ul {
	display: none;
	position: relative;
	padding: 1rem;
	font-size: 1rem;
	border-bottom: none;
	background: #f9f8f7;
}

#glnav  ul ul a {
	display: block;
	padding: 1rem 1rem 1rem 1.5rem;
}

#glnav  ul ul a::before{
    left: 0px;
	top: 35%;
    width: 8px;
    height: 8px;
}


@media screen and (max-width: 767px) {
	#glnav {
		padding: 0 0.5rem;
	}
}

/*---- footer ----*/



/*-- logo address --*/

footer address {
	padding: 0 0 2rem;
}

footer h2 img {
	width: 140px;
}
html[lang="en"] footer h2 img {
	width: 250px;
}
@media screen and (max-width: 767px) {
	footer address {
		padding: 0 0 1.5rem;
	}
	
	footer h2 img {
		width: 120px;
	}
	html[lang="en"] footer h2 img {
		width: 230px;
	}
}
	
footer address p {
	margin: 1.5rem 0;
}


/*--  nav --*/

footer ul {
	padding: 1.2rem 0;
}


/*--  copy --*/

footer #copy {
	padding: 1rem 2%;
}


/*--  page_top --*/

#page_top {
	right: 10px;
	bottom: 10px;	
}

#page_top a {
	width: 30px;
	height: 30px;
	padding: 8px 7px;
}

/* Utility
--------------------------------------------*/

@media screen and (max-width: 767px) {
	.flex.off > * {
		width: 100%!important;
	}
}


/* element setting:
--------------------------------------------*/
	
/*---- link ----*/

@media screen and (max-width: 767px) {
	.lnk2 a {
		padding: 0.8rem 5px 0.8rem 22px;
		min-width: auto!important;
		width: 100%;
	}

	.lnk2 a::before{
		top: 1.3rem;
		left: 4px;
		width: 10px;
		height: 10px;
	}
	
	.lnk3 a {
		padding: 1rem 10px 1rem 70px;
		background: url("../img/common/icon1.svg") no-repeat 15px 50%;
		background-size: 40px;
	}

	.lnk3 b {
		font-size: 1.1rem;
	}

	
	/*-- img --*/

	img.img_r {
		float: none;
		padding: 1rem 0;
		max-width: 100%;
		width: 100%;
	}
}


/*---- tab_list ----*/

.tab_list {
	padding: 1rem 1%;
}

.tab_list li:first-child:before,
.tab_list li:after {
	top: 1.5rem;
	height: 1.6rem;
}

.tab_list li button {
	font-size: 1rem;
	padding: 1.5rem 0.5rem;
}


/*---- list ----*/

.tab_panel {padding: 1rem 1%;}

.tab_panel li a {
	padding: 1rem;
}

.tab_panel li a::before{
    right: 10px;
    width: 12px;
    height: 12px;
}

/*-- icon --*/

img.icon {
	width: 100%;
	max-width: 1.2rem;
	padding: 0!important;
}
