
/*---------------------------------
	IMPORTS
-----------------------------------*/
@import url(https://fonts.googleapis.com/css?family=Work+Sans:400,100,200,300,500,600,700,800,900);
@import url(https://fonts.googleapis.com/css?family=Oswald:200,300,400,500,600,700);
@import url(https://fonts.googleapis.com/css?family=Frank+Ruhl+Libre:300,400,500,700,900);

	
	/* = Selected Text
----------------------------------------------- */
::selection {
	background:#58ad92; /* Safari */
	color:#FFF;
}

::-moz-selection {
	background:#58ad92; /* Firefox */
		color:#FFF;
}

/*---------------------------------
	OVERRIDES
-----------------------------------*/
h1,h2,h3,h4,h5,h6{
font-family: "Work Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-weight:normal;
}
thead th,
tbody th{
font-family: "Work Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

button,
a.btn,
input[type="submit"],
input[type="reset"],
input[type="button"]{
font-family: "Work Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


blockquote{
font-family: "Work Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


/*---------------------------------
	LAYOUT
-----------------------------------*/
body{
margin:0;
padding:0;
color:#222;
background:#fff;
font:normal 0.9em/150% "Work Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
text-shadow: 0 0 1px transparent; /* google font pixelation fix */
-webkit-text-size-adjust: 100%;
}
html,body{height: 100%;}

	#loader {
	    width: 100%;
	    height: 100%;
	    display: none;
	    position: fixed;
	    _position: absolute; /* IE6 */
	    top: 50%;
	    left: 50%;
	    margin-top: -12.5px; 
	    margin-left: -12.5px; 
	    z-index: 9999;
		color: #cccccc;
	}
	#loader img{
		width:25px;
		height:25px;
	}
	 
	#fade {
	    width: 100%;
					height:100%;
	    display: none;
	    background-color: #fff;
	    position: fixed;
	    top: 0px;
	    left: 0px;
	    z-index: 9990;
	}
	

		
main{
	position:relative;
	overflow: hidden;
	/*padding: 0 20px 20px;*/
}
@media all and (max-width: 480px) {
	/*main{padding: 0 8px 8px;}*/
}
aside {
    display: none;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 0;
	bbackground-color:none;
    line-height: 42px;
    text-align: center;
    position: absolute;
/*    top: -100%;*/
    right: 0;
    /*z-index: 1000;*/
				overflow-y:auto;
	transition: height .2s ease,background-color .6s ease;
    -webkit-transition:height .2s ease,background-color .6s ease;
    -moz-transition: height .2s ease,background-color .6s ease;
	
}
@media all and (max-width: 768px) {
	aside {background-color:rgba(255,255,255,0.97);}
}
@media all and (min-width: 769px) {
	aside {height: 80px; top:0; overflow-y: hidden; position:absolute;}
	.thin aside {height: 65px;background-color:rgba(255,255,255,0.97);}
}

header{
	
		width:100%;
	height: auto;
/*		top:-80px;*/
		left:0;
		position:fixed;
	z-index:4000;
	background-color: none;
	transition: top .1s ease-out, height .1s ease;
    -webkit-transition:top .1s ease-out, height .1s ease;
    -moz-transition: top .1s ease-out, height .1s ease;
	
				}

/*aside::before{
	content: '';
	position: fixed;
	width: 100%;
	height: 50px;
	top:0;
	left: 0;
	background: #fff;
}*/
header .hdinner{
	width: 100%;
	height: 100%;
/*	max-width: 1500px;*/
	margin: 0 auto;
	position: relative;
}

#container{position:relative;}
  

#hlogo{
	
	 position: absolute;
	top:5px;
	left:15px;
	width:auto;
	height:56px;
	margin:0;
transition: all 0.2s;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
}
#hlogo a{
	text-decoration: none;
	color: #036eb8;
}
#hlogo a span{
	display: block;
	width: 100%;
	font-size: 0.7em;
	font-weight: 400;
	color: #eee;
	letter-spacing: 0.04em;
	
}

#hlogo img{
	float: left;
	height:100%;
	width:auto;
	margin-right:5px; 
	transition: all 0.4s;
    -webkit-transition: all 0.4s;
}
#hlogo svg.mysvg{
	float: left;
	height:100%;
	width:auto;
	margin-right:5px; 
	transition: all 0.4s;
    -webkit-transition: all 0.4s;
}

#hlogo svg.mysvg{max-width: 70px;}
#hlogo svg.mysvg.logotxt{max-width: 260px;}

.thin #hlogo svg.mysvg{max-width: 56px;}
.thin #hlogo svg.mysvg.logotxt{max-width: 165px;}


@media all and (min-width: 769px) {
	#hlogo{height:70px;margin-top: 2px; display: none;}
	.thin #hlogo{height:56px;margin-top: 0; display: block;}
	header{height: 80px; }
	header.thin{height:65px;
		transition: top .1s ease-out, height .2s ease;
    	-webkit-transition:top .1s ease-out, height .2s ease;
    	-moz-transition: top .1s ease-out, height .2s ease;
	}
	
	.pagebody #hlogo{display: block;}
	.pagebody #hlogo svg.mysvg path{fill:#FFFFFF;}
	.pagebody .thin #hlogo svg.mysvg path{fill:#111111;}
}


@media all and (max-width: 768px) {
	#hlogo{left: 10px; top:7px; }
	#mixblend{mix-blend-mode: exclusion;}
	#hlogo img.logotxt{display: none;}
	#hlogo svg.logotxt{display: none;}
	#hlogo.active img.logotxt{display: block;}
	#hlogo.active svg.logotxt{display: block;}

	#hlogo svg.mysvg path{fill:#FFFFFF;}
	
	.thin.grn #hlogo svg.mysvg path{ fill:#ffffff/*#58ad92*/;}
	.thin #hlogo svg.mysvg path,
	.thin.grn #hlogo.active svg.mysvg path,
	#hlogo.active svg.mysvg path{fill:#111111;}
}

@media all and (max-width: 480px) {
	#hlogo.active img.logotxt,
	#hlogo.active svg.logotxt{height: 90%; margin-top: 6px;}
}



#hdtelbox{
	 position: absolute;
	top:0;
	right:0px;	
	margin:0;
	transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
	background-color: #111111;
}
#hdtelbox a{
	width:150px;
	height:80px;
	text-decoration: none;
	color: #ffffff;
	padding: 12px 10px;
	display: block;
	text-align: center;
	line-height: 1.9em;
	transition: height .2s ease,padding-top 0.2s,line-height 0.2s;
    -webkit-transition: height .2s ease,padding-top 0.2s,line-height 0.2s;
    -moz-transition: height .2s ease,padding-top 0.2s,line-height 0.2s;
}

#hdtelbox a span{
	display: block;
	width: 100%;
	font-size: 0.8em;
	letter-spacing: 0.25em;
	font-weight: 400;
	
}
#hdtelbox a strong{
	font-family: 'Oswald', sans-serif;
	font-weight: 200;
	width: 100%;
	font-size: 1.3em;
	letter-spacing: 0.04em;
}
#hdtelbox a i,
#hdtelbox a svg{font-size: 1.1em; margin-right: 0.3em; vertical-align: top; line-height: 1.7em;}

#hdtelbox a svg{height: 1.8em;}
@media all and (min-width: 769px) {
	.thin #hdtelbox a{height: 65px; padding: 10px 10px;line-height: 1.5em;}
	.thin #hdtelbox a i{line-height: 1.3em;}
	.thin #hdtelbox a svg{height: 1.4em;}
	#hdtelbox:hover{background-color: #58ad92;}
}

@media all and (max-width: 768px) {
	#hdtelbox{ right: 70px;}
	#hdtelbox a{width: 65px; height:65px;
		padding: 8px 10px;
		line-height: 1.5em;
	/* Center slide text vertically */
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;}

	#hdtelbox a span/*,#hdtelbox a strong*/{display: none;}
	#hdtelbox a i,
	#hdtelbox a svg{font-size: 1.7em; margin-right: 0; text-align: center; margin-bottom: 0.6em; line-height:0.9em;}
	#hdtelbox a svg{height: 0.9em;font-size: 1.9em;}
	
	#hdtelbox a strong/*#hdtelbox a i::after*/{
		position: absolute;
		/*content: 'Book Now';*/
		bottom:0.4em;
		left: 0;
		width: 100%;
		font-size: 0.8em;
		font-weight: 200;
/*		font-family: 'Frank Ruhl Libre', serif;*/
	}
	
}



#languagebox{
    display: block;
font-family: 'Oswald', sans-serif;
	font-weight: 200;
	font-size: 1.3em;
    position:absolute;
	bottom:10%;
	left: 50%;
	cursor:pointer;
	transition: margin 0.4s ease-out, width 0.4s ease-out;
    -webkit-transition: margin 0.4s ease-out, width 0.4s ease-out;
	width: 0;
	height: 2.2em;
	margin-left: 0;
	overflow: hidden;
	opacity: 0;
	z-index: 2000;
}
.openingstart #languagebox{
	width: 7em; margin-left: -3.5em; opacity: 1;
}
#languagebox .langttl{		
	letter-spacing: 0.04em;
	color: #ffffff;
	width: 7em;
	height:  2.2em;
	padding: 0.3em 1em 0.4em;
	display: block;
	position: absolute;
	top:0;
	left: 0;
	text-align: center;
	line-height: 1.5;
	background:rgba(0,0,0,0.97);
	
}
#languagebox ul{
	margin: 0;
	padding: 0;
	width: 10.2em;
	height:  2.2em;
	position: absolute;
	top:0;
	left: 7em;
	opacity: 0;
	transition: opacity 0.4s ease-out .4s;
	-webkit-transition: opacity ease-out .4s;
}
@media all and (min-width: 769px) {
	#section1:not(.thin) #languagebox:hover{	margin-left: -8.5em; width: 17em;}
	#section1:not(.thin) #languagebox:hover ul{	opacity: 1;}
}

#languagebox ul li{
	list-style: none;
	float: left;
	display: block;
	text-align: center;
	margin: 0;
	padding: 0;	
}

#languagebox ul li a{
	display: block;
	width: 2.5em;
	border-left: 1px solid #444444;
	letter-spacing: 0.08em;
	color: #FFFFFF;
	text-decoration: none;
	margin: 0;
	padding: 0.3em 0.2em 0.4em;
	line-height: 1.5;
	background-color:rgba(30,30,30,0.97);
}
#languagebox ul li:first-child a{border-left:none;}
#languagebox ul li a:hover{
	background-color:rgba(0,0,0,0.97);
}
#languagebox ul li a.active{
	background-color:#58ad92;
}



	.thin #languagebox{
		position: fixed;
		font-size: 1.1em;
		height: 2em;
		top:auto;
		bottom: 0;
		left: 0;
		margin: 0;
		width: 10em;
		transition: none;
	-webkit-transition: none;
		transition: margin 0.4s ease-out;
	-webkit-transition:  margin 0.4s ease-out;
	z-index: 4000;	
		
	}
	.thin #languagebox .langttl{	display: none;}
	.thin #languagebox ul{opacity: 1;left: 0;}


#psection1 #languagebox,#psection1.thin #languagebox{
		position: fixed;
		top:auto;
		bottom: 0;
		font-size: 1.1em;
		left: 0;
		margin-left: -5em;
		width: 0;
		opacity: 0;
		transition: none;
	-webkit-transition: none;
		transition: margin 0.4s ease-out,opacity 0.4s ease-out;
	-webkit-transition:  margin 0.4s ease-out,opacity 0.4s ease-out;
	z-index: 4000;	
		
	}
	#psection1.openingstart #languagebox,#psection1.openingstart.thin #languagebox{
	width: 10em; margin-left: 0; opacity: 1;
}
	#psection1 #languagebox .langttl,#psection1.thin #languagebox .langttl{	display: none;}
	#psection1 #languagebox ul,#psection1.thin #languagebox ul{opacity: 1; left: 0;}



@media all and (max-width: 768px) {
	#languagebox,.thin #languagebox{
		position: fixed;
		top:auto;
		bottom: 0;
		font-size: 1.1em;
		left: 0;
		margin-left: -5em;
		width: 0;
		opacity: 0;
		transition: none;
	-webkit-transition: none;
		transition: margin 0.4s ease-out,opacity 0.4s ease-out;
	-webkit-transition:  margin 0.4s ease-out,opacity 0.4s ease-out;
	z-index: 4000;	
		
	}
	.openingstart #languagebox,.openingstart.thin #languagebox{
	width: 10em; margin-left: 0; opacity: 1;
}
	#languagebox .langttl,.thin #languagebox .langttl{	display: none;}
	#languagebox ul,.thin #languagebox ul{opacity: 1; left: 0;}
}



#menuButton {
    display: block;
    width: 40px;
    height:40px;
    position: absolute;
    top: 12px;
    right: 15px;
				cursor:pointer;
	transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
				/*background:rgba(0,0,0,0.4);*/
}
@media all and (min-width: 769px) {
	#menuButton {display: none;}
}
#menuButton span {
    display: block;
    background: #FFF;
    width: 30px;
    height: 2px;
    position: absolute;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
}

.thin.grn #menuButton span{background: #ffffff/*#58ad92*/;}
.thin #menuButton span,
.thin #menuButton.active span,
.thin.grn #menuButton.active span,
#menuButton.active span  {background: #111;}


#menuButton span:nth-of-type(1) {
    top: 9px;
				left: 5px;
}

#menuButton span:nth-of-type(2) {
    top: 19px;
				left: 5px;
}

#menuButton span:nth-of-type(3) {
    top: 29px;
				left: 5px;
}
#menuButton.active{
	 	/*-webkit-transform:translateX(-10px);
    -moz-transform:translateX(-10px);
    -ms-transform:translateX(-10px);
    transform:translateX(-10px);*/
}

#menuButton.active{
		}
#menuButton.active span{
				/*background: #C93;*/
				width:30px;
}
#menuButton.active span:nth-of-type(even){
	 
	left: 0;
	width:40px;
    opacity: 0;
}
#menuButton.active span:nth-of-type(odd){
	 -webkit-transform: translateX(-20px);
    -moz-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
    opacity: 0;
}
#menuButton.active span:nth-of-type(1) {
	
    -webkit-transform:translateX(0px) translateY(10px) rotate(45deg);
    -moz-transform:translateX(0px) translateY(10px) rotate(45deg);
    -ms-transform:translateX(0px) translateY(10px) rotate(45deg);
    transform:translateX(0px) translateY(10px) rotate(45deg);
				opacity: 1;
}

#menuButton.active span:nth-of-type(3) {
    -webkit-transform:translateX(0px) translateY(-10px) rotate(-45deg);
    -moz-transform:translateX(0px) translateY(-10px) rotate(-45deg);
    -ms-transform:translateX(0px) translateY(-100px) rotate(-45deg);
    transform:translateX(0px) translateY(-10px) rotate(-45deg);
				opacity: 1;
}
#menuButton:not(.active):hover{
				
}
#menuButton:not(.active):hover span{
				/*background: #C93;*/
				width:30px;
				left:5px;
}
#menuButton:not(.active):hover span:nth-of-type(1),
#menuButton:not(.active):hover span:nth-of-type(3)
{
	 transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
}
#menuButton:not(.active):hover span:nth-of-type(1){
	top: 7px;
}
#menuButton:not(.active):hover span:nth-of-type(3){
	top: 31px;
}


#menuButton:not(.active):hover span:nth-of-type(2){
	 transition: all 0.2s;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
}




#menuButton.active:hover span{
	/* background: #C93; */
}


nav{
		font-size:1.2em;
		color:#222;
		line-height:1.2;
		z-index: 3000;
	}
	
		nav ul{display:block;margin:100px 0 30px;padding:0;
		overflow:visible;}
	nav ul li{display:block;margin:1em 0 0.5em;padding:0; line-height:1.2;}
	nav ul li a:hover{ color:#111111; }
nav ul li a{padding:0.8em 30px;display:block;text-decoration:none;
	color:#111111;
	text-align:center; font-weight: 500;
	-webkit-transition: all .2s;
	-moz-transition: all 0.2s;
	transition: all .2s;
	}

nav ul li i{font-size: 7px/*0.2em*/; color: #999; vertical-align: text-top;}
/*nav ul li a strong{
	font-weight: normal;
	display: block;
	position: relative;
	bottom:0;
	font-size: 0.6em;
	font-style: normal;
	left: 0;
	margin: 3px auto 0;
	width: 100%;
	color: #999;
opacity: 1;
}*/
nav ul li a.active{    pointer-events: none;}
	@media all and (min-width: 769px) {
		nav{
			font-size:0.9em; margin-top: 10px;margin-right: 160px;
			transition: margin-top 0.2s;
    		-webkit-transition: margin-top 0.2s;
    		-moz-transition: margin-top 0.2s;
		}
		.thin nav{margin-top: 0;}
		nav ul{
			display:block;margin:0px ;padding:0;text-align:right; margin-right: 1%;
			overflow:hidden;
			transition: all 0.4s;
    		-webkit-transition: all 0.4s;
    		-moz-transition: all 0.4s;
		}
		
		nav ul li a{padding:23px 1px;}	
		nav ul li{
			display:inline-block;margin:0px 0.5% 3px;
			transition: all 0.4s;
    		-webkit-transition: all 0.4s;
    		-moz-transition: all 0.4s;
		}
		nav ul li a span{
			position: relative;
			display: inline-block;
			padding:0.2em 2px;
			/*overflow:hidden;*/
		}

		nav ul li a span::before  {
			position: absolute;
			top: 100%;
			left: 50%;
			content: '';
			width: 0;
			height: 0;
			border-bottom: solid 1px #FFF;
			-moz-transition: all .4s ease;
    		-webkit-transition: all .45s ease;
    		-o-transition: all .4s ease;
    		-ms-transition: all .4s ease;
    		transition: all .4s ease;
			z-index:-1;
		}
		.thin nav ul li a span::before  {	border-color: #111;}	
		nav ul li a:hover span::before,
		nav ul li a.active span::before{
			width: 100%;
			left:0;
		}
		nav ul li a,nav ul li a:hover{ color:#FFFFFF; }
		.thin nav ul li a,.thin nav ul li a:hover{ color:#111111; }

	}
@media all and (min-width: 960px) {
	nav{font-size:1em;}
	nav ul li{margin:0px 0.8% 3px;}
	nav ul li a{padding:20px 1px;}
}	

@media all and (max-width: 480px) {
	nav{ font-size:1.2em; line-height:1;}
	nav ul li a{padding:0.5em 10px;}
}
	
	
/* Waypoints */
.effect{ visibility: hidden;}
.effect .ef{}
.pp{}
.bounceInLeft, .bounceInRight,.fadeIn,.fadeInUp, .fadeInUpDelay, .fadeInDown, .fadeInUpD, .fadeInLeft, .fadeInRight { visibility: visible; }
.delay-05s { animation-delay: 0.5s; -webkit-animation-delay: 0.5s; }
.delay-1s { animation-delay: 1s; -webkit-animation-delay: 1s; }
.delay-15s { animation-delay: 1.5s; -webkit-animation-delay: 1.5s; }

.delay1 { animation-delay: 0.1s; -webkit-animation-delay: 0.1s; }
.delay2 { animation-delay: 0.2s; -webkit-animation-delay: 0.2s; }
.delay3 { animation-delay: 0.3s; -webkit-animation-delay: 0.3s; }
.delay4 { animation-delay: 0.4s; -webkit-animation-delay: 0.4s; }
.delay5 { animation-delay: 0.5s; -webkit-animation-delay: 0.5s; }
.delay6 { animation-delay: 0.6s; -webkit-animation-delay: 0.6s; }
.delay7 { animation-delay: 0.7s; -webkit-animation-delay: 0.7s; }
.delay8 { animation-delay: 0.8s; -webkit-animation-delay: 0.8s; }
.delay9 { animation-delay: 0.9s; -webkit-animation-delay: 0.9s; }
.delay10 { animation-delay: 1s; -webkit-animation-delay: 1s; }
.delay11 { animation-delay: 1.1s; -webkit-animation-delay: 1.1s; }
.delay12 { animation-delay: 1.2s; -webkit-animation-delay: 1.2s; }





.gobtn {
	/*display: inline-block;*/
	font-family: 'Oswald', sans-serif;
	width: 200px;
	height: 50px;
	text-align: center;
	text-decoration: none;
	line-height: 50px;
	outline: none;
	font-size:1.1em;
	position: relative;
	z-index: 2;
	background-color:#111111;
	font-weight: 200;
	color: #FFF;
	overflow: hidden;
	padding: 0 4%;
	margin-top: 3%;
	letter-spacing:0.06em;
	display: block;margin-left: auto; margin-right: auto;
	transition: all 0.2s ease-in;
    -webkit-transition: all 0.2s ease-in;
}


.gobtn span{
	position: absolute;
	top:26px;
	right: 10%;
	width:80%;
	height: 1px;
	opacity: 0;
	border-bottom: 1px solid #FFF;
	transition: all 0.2s ease .15s,width 0.3s ease .15s;
    -webkit-transition: all 0.2s ease .15s,width 0.3s ease .15s;
}
.gobtn span::after{
	content: '';
	position: absolute;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 0;
	height: 0;
	top:-3px;
	right: -2px;
	border-top: 2px solid transparent;
	border-bottom: 2px solid #fff;
	border-left: 4px solid #fff;
	border-right: 4px solid transparent;
}


.gobtn::before{
	content: '';
	position: absolute;
	width: 0%;
	height: 100%;
	top:0;
	left: 0;
	z-index: -1;
	background-color:#58ad92;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	transition: all 0.2s ease-out;
    -webkit-transition: all 0.2s ease-out;
}
	

@media all and (min-width: 769px) {
	.gobtn:hover{letter-spacing: 0.15em;}
	.gobtn:hover::before{width: 100%; }
	.gobtn:hover span{right: 5%; width: 30px; opacity: 1;}
}



.innerbox{
	width: 100%;
	margin: 10px auto 20px;
	text-align: left;
}
.innerbox .leftbox{
	width: 49%;
	margin-right: 1%;
	float: left;
}
.innerbox .rightbox{
	width: 49%;
	margin-left: 1%;
	float: right;
}


.innerbox.ratio64 .leftbox{ width: 59%;}
.innerbox.ratio64 .rightbox{ width: 39%;}
.innerbox.ratio73 .leftbox{ width: 69%;}
.innerbox.ratio73 .rightbox{ width: 29%;}
.innerbox.ratio46 .leftbox{ width: 39%;}
.innerbox.ratio46 .rightbox{ width: 59%;}
.innerbox.ratio37 .leftbox{ width: 29%;}
.innerbox.ratio37 .rightbox{ width: 69%;}

.innerbox.nomgn .leftbox{width: 50%;margin: 0;}
.innerbox.nomgn .rightbox{width: 50%;margin: 0;}
.innerbox.nomgn.ratio64 .leftbox{ width: 60%;}
.innerbox.nomgn.ratio64 .rightbox{ width: 40%;}
.innerbox.nomgn.ratio73 .leftbox{ width: 70%;}
.innerbox.nomgn.ratio73 .rightbox{ width: 30%;}
.innerbox.nomgn.ratio46 .leftbox{ width: 40%;}
.innerbox.nomgn.ratio46 .rightbox{ width: 60%;}
.innerbox.nomgn.ratio37 .leftbox{ width: 30%;}
.innerbox.nomgn.ratio37 .rightbox{ width: 70%;}



.box{border:2px solid #ccc; }
.box p{margin: 0; padding: 0;}

.ccenter{
	/* Center slide text vertically */
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
}

@media all and (max-width: 768px) {
	.innerbox .leftbox,	.innerbox .rightbox,
	.innerbox.ratio64 .leftbox,	.innerbox.ratio64 .rightbox,
	.innerbox.ratio73 .leftbox,	.innerbox.ratio73 .rightbox,
	.innerbox.ratio46 .leftbox,	.innerbox.ratio46 .rightbox,
	.innerbox.ratio37 .leftbox,	.innerbox.ratio37 .rightbox,
	.innerbox.nomgn.ratio64 .leftbox,	.innerbox.nomgn.ratio64 .rightbox,
	.innerbox.nomgn.ratio73 .leftbox,	.innerbox.nomgn.ratio73 .rightbox,
	.innerbox.nomgn.ratio46 .leftbox,	.innerbox.nomgn.ratio46 .rightbox,
	.innerbox.nomgn.ratio37 .leftbox,	.innerbox.nomgn.ratio37 .rightbox,
	.innerbox.nomgn .leftbox,.innerbox.nomgn .rightbox{
	float:none;
	width:100%;
	margin: 0 auto;
	clear:both;
	display:block;
	}

}


ul.ssublist{
	list-style: none;
	margin: 4% auto 0;
	padding: 0;
}

ul.ssublist>li{
	margin: 0 1% 4%;
	padding:1%;
	/*width: 23%;*/width: 31.333%;
	float: left;
	/*background-color:#f7f7f7;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;*/
	overflow: hidden;
	position: relative;
	/*border:1px solid #1B9F4C;*/
}
ul.ssublist.col2>li{ width: 48%; }
ul.ssublist.col1>li{ width: 98%; }

ul.ssublist>li img{
	width:100%;
	max-width: 200px;
	height: auto;
	margin: 0 auto;
}
ul.ssublist>li p>img{
	width:15%;
	max-width: 50px;
	height: auto;
	margin: 5px 0.5em 5px 0;
	float: left;
}
ul.ssublist>li h5{
	width: 100%;
	font-size:1.3em;
	text-align: left;
	letter-spacing: 0.06em;
	color:#036eb8;
	font-weight: 400;
	margin: 0 0 15px;
	padding: 0.3em 0 0.2em;
	position: relative;
	border-bottom: 2px solid #036eb8;
}
ul.ssublist>li h5 span{position: relative; z-index: 10;}
/*ul.ssublist>li h5::before{
	position: absolute;	
	background-color:#1B9F4C ;
	content: '';
	width: 150%;
	height: 200%;
	bottom:0;
	left: -20%;
}*/
ul.ssublist>li p{
	text-align: left;
	color:#222;
}
ul.ssublist>li p::after{content: '';display:table; clear: both; }

ul.ssublist>li strong{ font-weight: 700; }

ul.ssublist>li dl{
	margin:15px 0 0;
	padding: 0;
	text-align: left;
	font-size: 1.1em;	
	line-height: 1.5em;
}
ul.ssublist>li dl>div{margin-bottom: 2%;}
ul.ssublist>li dl.col2>div{ float:left; width: 48%; }
ul.ssublist>li dl.col2>div:nth-child(odd){margin-right: 4%;}

ul.ssublist>li dl dt{
	font-weight: 600;
	margin: 0;
	padding: 0.1em 0.4em;
	color:#036eb8;
	background-color: /*#fff*/#f7f7f7;
	margin-bottom: 0.4em;
}
.bg-gray ul.ssublist>li dl dt{background-color: #fff;}
ul.ssublist>li dl dt::before{
	content: '\f0da';
	font-family:"Font Awesome 5 Free";
	margin-right: 0.6em;
	font-size: 0.95em;
	color: #036eb8;
}
ul.ssublist>li dl dd{
	margin: 0;
	padding: 0 3px;
	margin-bottom: 30px;
	color: #036eb8;
}
ul.ssublist>li dl dd>ul{ margin: 10px 5px 15px 20px; line-height: 1.5; color:#036eb8;}
ul.ssublist>li dl dd>ul li{	padding: 2.5px 0; font-size: 0.9em; list-style: none; position: relative;margin-top: 0.8em;}
ul.ssublist>li dl dd>ul li::before{
	content: '\f111';
	position: absolute;
	font-family:"Font Awesome 5 Free";
	top:0.3em;
	left: -1.3em;
	font-size: 0.9em;
	color: #036eb8;
}
ul.ssublist>li dl dd>ul li strong{display: block; margin-bottom: 0.4em; margin-left: -0.1em; font-size: 1.1em;	}
ul.ssublist>li dl dd>ul.col2{margin: 3% 0 15px 10px;}
ul.ssublist>li dl dd>ul.col2 li{float: left; width: 44%; margin: 0 2% 0.4em 4%; }
ul.ssublist>li dl dd>ul.col2::after{content: '';display:table; clear: both; }

ul.ssublist>li dl dd>div.basetbl2{width: 96%;}

@media all and (max-width: 960px) {
	ul.ssublist>li{ width: 48%; padding:0 4% 4%;}
}
@media all and (max-width: 768px) {
	ul.ssublist>li,ul.ssublist.col2>li{ float: none; width: 100%; margin: 0 auto 2%; padding:0 0 6%;}
	ul.ssublist>li dl dd>ul.col2 li{ float:none; width: auto; margin: 0.2em 5px  0.4em 20px; }
	ul.ssublist>li h5{font-size: 1.2em;}
	ul.ssublist>li dl{font-size: 0.95em;}
	ul.ssublist>li dl dd>ul li{	font-size: 0.85em; }
}
@media all and (max-width: 600px) {
	ul.ssublist>li dl.col2>div{ float:none; width: 100%; }
ul.ssublist>li dl.col2>div:nth-child(odd){margin-right: 0%;}
	
}
@media all and (max-width: 480px) {
	/*ul.ssublist>li p>img{float: none; margin: 0 auto 15px; width: 100%; max-width: 100%;}*/
	ul.ssublist>li h5{font-size: 1.1em;}
	ul.ssublist>li dl{font-size: 0.9em;}
}








/* Centered texts in each section
	* --------------------------------------- */
	.section{
		text-align:center;
		background-color:#ffffff;
		position:relative;
		/*overflow:hidden;*/
		margin:0 auto;
		/*max-width:1500px;*/
	}
	.section .intro{
			width:90%;
			max-width: 1300px;
			margin:0 auto;
		
		}






#sectionmap{
	position: relative;
	background-color:#FFF;
	padding: 0;
/*	z-index: 3000;*/
}

#sectionmap .rightbox{
	background-color: #222;
	padding:4% 5%;
	position: relative;
}
#sectionmap .rightbox::before{
	position: absolute;
	content: '';
	width:20%;
	height: 100%;
	background-color: #111;
	top:0;
	right: 0;
}
#sectionmap h2{
	text-align: left;
	position: relative;
	z-index: 10;
}
#sectionmap.section h2.fw100{
	font-weight: 100;
	font-size: 3em;
	line-height: 1.2;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	color:#FFF;
}

#sectionmap h4{
	font-size: 1.4em;
	font-weight: 400;
	color: #fff;
	font-family: 'Frank Ruhl Libre', serif;
	letter-spacing: 0.15em;
	position: relative;
	z-index: 10;
}
#sectionmap h4 strong{white-space: nowrap;font-weight: 400;}
#sectionmap h4 span.sstx{font-size: 0.6em;}
#sectionmap h5{color: #ccc;}
#sectionmap .intro p{
	font-weight: 300; line-height: 1.7; color: #fff;
position: relative;
	z-index: 10;}

#sectionmap .mapbox{
		min-height:320px;
		background:#535353;
	}

#sectionmap #map{
	border: 1px solid #FFF;
		width:100%;
		height:100%;
	}
	#sectionmap #map{
		_display:none;
	}


@media all and (max-width: 768px) {
	#sectionmap h4{font-size: 1.1em;}
	#sectionmap .mapbox{position: relative; height: 320px; }
}






	
	footer{
		width:100%;
		padding:350px 0 45px;
		position: relative;
		background-color: #111111;
/*		z-index: 2000;*/

	}
	footer::before{
		content: '';
		position: absolute;
	background-image: url(../images/top/bg_footer.jpg);
	background-position: center;
	background-repeat: repeat;
/*	background-attachment: fixed;*/
	background-size: cover;
	padding: 0;
	height: 320px;
		top:0;
		left: 0;
		width: 100%;
		opacity: 0.4;
}
footer::after{
		content: '';
		position: absolute;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,1+100 */
background: -moz-linear-gradient(top, rgba(17,17,17,0) 0%, rgba(17,17,17,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(17,17,17,0) 0%,rgba(17,17,17,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(17,17,17,0) 0%,rgba(17,17,17,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#111111', endColorstr='#111111',GradientType=0 ); /* IE6-9 */
	padding: 0;
	height: 240px;
		top:80px;
		left: 0;
		width: 100%;
}

	footer .intro{
					text-align:center;
		width:96%;
		max-width: 1000px;
		margin:2% auto 0;
		color: #FFFFFF;
		position: relative;
		z-index: 10;
	}
	footer .intro .innerbox{
		margin-top: -300px;
}
footer .intro .innerbox .rightbox{
	/* Center slide text vertically */
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
}
	footer .intro h2{
		text-align: left;
		letter-spacing:0.06em;
		font-size:1.6em;
		line-height:1;
		width:50%;		
		margin:0 auto;
		font-weight:bold;
/*		float: left;*/
		padding: 15px 15px;
	}
	footer p{
		color:#FFF;
		letter-spacing:normal;
		width:100%;	
		text-align: center;
		font-size:0.8em;
		margin:0px auto;
		line-height:1.5;
		padding: 0 20px;
	}
footer p.ftaddress{text-align: left;}

	footer h2.flogo{
		width:100%;
		max-width: 250px;
		margin:0;
		font-size: 1.5em;
		line-height:1.3;
	
	}
	footer .flogo img{
		width:100%;
		height:auto;
	}
h2.flogo span{
	display: block;
	width: 100%;
	font-size: 0.5em;
	font-weight: 400;
	color: #eee;
	letter-spacing: 0.04em;
	
}
h2.flogo strong{
	display: block;
	font-weight: 500;
	width: 100%;
	font-size: 1.7em;
	letter-spacing: 0.08em;
	color: #fff;
}

footer .intro ul li a{text-decoration: none; letter-spacing: 0.06em; color:#fff;}
footer .intro ul li a:hover{color: #58ad92;}	


footer .ftulbox{
	width: 75%;
	max-width: 600px;
	margin: 200px 0 30px;	
	padding: 0 1%;
	font-size: 1em;
}

footer .ftulbox ul.ftul_1,
footer .ftulbox ul.ftul_2{
		float:left;
		list-style:none; padding:0; margin:0;
		text-align: left;
	width:42%;margin-left: 8%;
	margin-bottom: 1%;
/*	border-left:1px solid rgba(255,255,255,0.2);*/
	min-height: 8em;
	}
@media all and (max-width: 768px) {
	footer .ftulbox{margin-top: 30px;}
}
	@media all and (max-width: 600px) {
		footer .ftulbox{font-size: 0.9em; margin-top: 30px;}
		footer .ftulbox ul.ftul_1,
footer .ftulbox ul.ftul_2{width:42%;margin-left: 8%; border:none;}
}
	
	footer .ftulbox ul li{
		list-style:none; padding:0.2em 0;
		/*font-weight:700;*/
	}

	footer .ftulbox ul li.hasli ul li{
		font-weight:normal;
	}
	footer .ftulbox ul li.hasli ul{
		padding:0.2em 0 0.2em 0.5em;
		list-style:none; margin:0;
		margin-top: -0.2em;
		text-align: left;
	}
	footer .ftulbox ul li a{
		font-size:0.9em;
		display:block;
		text-decoration:none;
		margin:5px 0;
		letter-spacing: normal;
		line-height: 1.2em;
	}
footer .ftulbox ul li a[target="_blank"]::after {
    content: '';
    display: inline-block;
    margin-left: 5px;
    margin-right: 5px;
    width: 9px;
    height: 9px;
    background: url("../images/common/blank_link.svg") no-repeat 0 center;
    background-size: auto auto;
    background-size: 100% auto;
	opacity: 0.8;
}

footer .ftulbox ul li.hasli a.disable{ cursor: default; text-decoration:none;}
/*	footer .ftulbox ul li a:hover{ text-decoration: underline;}*/
	footer .ftulbox ul li.hasli ul li a{
		font-size:0.85em;
		margin:3px 0;
		font-weight: 200;
	}

footer .ftulbox ul li i.fa-clone{font-size: 0.9em; padding-left: 0.5em; opacity: 0.9;}



#pagetop {
width:50px;
height:50px;
text-align:center;
	background-color:rgba(255,255,255,0.05);
	margin:0;
	padding: 0;
	z-index:100;
	cursor:pointer;
	overflow:hidden;
	position:absolute;
	bottom:0;
	right:0;
	transition: all 0.2s;
    -webkit-transition: all 0.2s;
}
#pagetop span{
	position:absolute;
	display: block;
	margin-top: 5px; 
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	width: 16px;
	height: 16px;
	top:18px;
	left:50%;
	margin-left: -8px;
	-webkit-transform: rotate(-45deg) ;
	transform:rotate(-45deg) ;
	transition: all 0.2s;
    -webkit-transition: all 0.2s;
}

footer .copyright{
	letter-spacing: 0.06em;
	font-family: 'Frank Ruhl Libre', serif;
			font-size:0.8em;
			font-weight: 100;
			color: #5f5f5f;
			text-align:center;
		width:100%;
		margin:20px auto 3px;
	}
@media all and (min-width: 768px) {
	
	#pagetop:hover span{top:15px; }
	#pagetop:hover{	background-color: rgba(255,255,255,0.1);}
}

@media all and (max-width: 768px) {
	footer p.ftaddress{width: 80%; max-width: 400px;}
	footer h2.flogo{margin: 10px auto; float: none;}
	footer .copyright{text-align: center;font-size:0.9em;}
	
}
.mw100,
.mw200,
.mw300,
.mw400,
.mw500,
.mw600,
.mw700,
.mw800,
.mw900{margin-left: auto; margin-right: auto;}
.mw100{max-width: 100px;}
.mw200{max-width: 200px;}
.mw300{max-width: 300px;}
.mw400{max-width: 400px;}
.mw500{max-width: 500px;}
.mw600{max-width: 600px;}
.mw700{max-width: 700px;}
.mw800{max-width: 800px;}
.mw900{max-width: 900px;}

.w5p{width: 5%;}
.w10p{width: 10%;}
.w15p{width: 15%;}
.w20p{width: 20%;}
.w25p{width: 25%;}
.w30p{width: 30%;}
.w35p{width: 35%;}
.w40p{width: 40%;}
.w45p{width: 45%;}
.w50p{width: 50%;}
.w55p{width: 55%;}
.w60p{width: 60%;}
.w65p{width: 65%;}
.w70p{width: 70%;}
.w75p{width: 75%;}
.w80p{width: 80%;}
.w85p{width: 85%;}
.w90p{width: 90%;}
.w95p{width: 95%;}


.show-ja,.show-en,.show-ko,.show-zh{display: none;}
.lang-ja .show-ja,
.lang-en .show-en,
.lang-ko .show-ko,
.lang-zh .show-zh{display: block;}

.hide-ja,.hide-en,.hide-ko,.hide-zh{display: block;}
.lang-ja .hide-ja,
.lang-en .hide-en,
.lang-ko .hide-ko,
.lang-zh .hide-zh{display: none;}
