@charset "utf-8";


/* fontface */
@import url('https://fonts.googleapis.com/css?family=Cinzel:400,700|Open+Sans:400,700');


/**
 * style 
 * (c) FOURDIGIT Inc.
 *
 * 1. import
 * 2. html, body
 * 3. HTMLtag, siteCommonClass
 * 4. Layout
 * 5. EachPageStyle
 * Z-index: gNav 999,search 998
 */
/**
 * 1. import
 */
@import "import/reset.css";
@import "import/util.css";
/* @import "../ext_{bukkenID}/{bukkenID}.css"; */

@media only screen and (max-width:960px){
}

@media only screen and (max-width:640px){
}

/**
 * 2. html, body
 */
	body {
		background-color: #fff;
		background-image: url(../imgs/space.gif);
		background-repeat: repeat-x;
		background-position: center top;
	}
	.page {
		color: #333333;
		font-size: 14px;
		line-height: 1.5;
		letter-spacing: 0.1em;
		font-family: 'Open Sans', sans-serif;
	}
	
	.serif {
		font-family: 'Cinzel', serif;
	}
/**
 * 3. HTMLtag, siteCommonClass
 */
/* anchor */
	a {
		background-color: transparent;
		background-image: none;
		background-repeat: no-repeat;
		background-position: top left;
		color: #0000ff;
		text-decoration: underline;
	}
	a:visited {}
	a:hover {
		color: #ff0000;
		background-position: bottom right;
		text-decoration: underline;
	}
	a:active {}




/* cap */
	.cap,
	.caption {
		background: none;
		color: #666666;
		font-size: 10px;
		line-height: 15px;
	}
	.cap {
		padding-top: 5px;
	}

/**
 * 4. Layout
 */
	#container {
		width: 100%;
		margin-right: auto;
		margin-left: auto;
		background-color: transparent;
		background-image: url(../imgs/space.gif);
		background-repeat: repeat-y;
		background-position: center top;
		text-align: left;
		padding-top: 60px;
	}

	#gHeader {
		height: 60px;
		background-color: #2D3D66;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1000;
	}
	.siteTitle {
		border-right: 1px solid #4A6386;
		display: inline-block;
	}
	
	.siteTitle .SP {
		display: none;
	}



@media only screen and (max-width:960px){

	.siteTitle {
		border-right: none;
	}
	
	.siteTitle .PC {
		display: none;
	}
	.siteTitle .SP {
		display: block;
		width: 140px;
		height: 60px;
	}
}
	
	#gNav {
		height: 60px;
		position: absolute;
		top: 0;
		left: 162px;
	}
	
	#gNav ul {
		font-size: 0;
		line-height: 0;
		letter-spacing: 0;
	}
	
	#gNav ul li {
		display: inline-block;
		height: 60px;
	}
	
	#gNav a {
		display: block;
		height: 100%;
		box-sizing: border-box;
		color: #fff;
		text-decoration: none;
		padding: 15px 30px 0 30px;
		font-family: 'Cinzel', serif;
		letter-spacing: 0;
		font-size: 14px;
		line-height: 2;
		text-align: center;
	}
	
	#gNav a span {
		display: inline-block;
		padding: 0 8px;
		position: relative;
		height: 100%;
	}
	
	#gNav a span:after {
		display: block;
		content: "";
		height: 3px;
		background-color: #FFF;
		position: absolute;
		bottom: 0;
		transition: left 0.3s,width 0.3s;
		left: 50%;
		width: 0%;
	}
	
	#gNav li.on a span:after,
	#gNav a:hover span:after {
		width: 100%;
		left: 0;
	}
	
	#gNav .close {
		display: none;
	}

@media only screen and (max-width:1200px){
	#gNav a {
		padding: 15px 10px 0 10px;
	}
}

@media only screen and (max-width:960px){
	#gNav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 0%;
		background-color: rgba(37,45,76,0.95);
		text-align: center;
		overflow: hidden;
		transition: all 0.3s;
		z-index: 999;
	}
	
	#gNav.on {
		height: 100%;
	}
	
	#gNav ul {
		padding-top: 45px;
	}
	
	#gNav ul li {
		display: block;
		height: 50px;
		margin-bottom: 15px;
	}
	
	#gNav .close {
		display: block;
		text-align: right;
	}
}

/* #pNav ------------------------ */
	
	#pNav {
		position: absolute;
		right: 0;
		top: 0;
	}
	
	#pNav > div,
	#pNav > ul {
		float: left;
	}
	
	#pNav > ul {
		width: 120px;
		overflow: visible;
		position: relative;
	}
	
	#pNav #ARES {
		width: 300px;
	}
	
	#pNav > ul li {
		width: 60px;
		height: 60px;
		display: inline-block;
		box-sizing: border-box;
	}
	
	#pNav > ul li.search {
		position: absolute;
		top: 0;
		left: 0px;
		width: 0px;
		overflow: hidden;
		transition: all 0.3s;
	}
	
	#pNav > ul li.search.on {
		width: 300px;
		left: -300px;
		border-left: 1px solid #7485A2;
	}
	
	#pNav > ul li.searchButton,
	#pNav > ul li.langJP {
		border-left: 1px solid #7485A2;
		padding: 0;
	}

	
	#pNav > ul li.searchButton a,
	#pNav > ul li.langJP a {
		display: block;
		width: 100%;
		height: 100%;
		text-align: center;
		color: #FFF;
		text-decoration: none;
		line-height: 60px;
		font-weight: 700;
		transition: all 0.3s;
	}
	
	#pNav > ul li.searchButton a {
		text-indent: -9876px;
		background-image: url(../imgs/search_def.png);
	}
	#pNav > ul li.searchButton a.on {
		background-image: url(../imgs/search_off.png);
	}
	
	#pNav > ul li.searchButton a:hover,
	#pNav > ul li.langJP a:hover {
		background-color: #6177C2;
	}
	
	#pNav > ul li.spMenu {
		display: none;
	}
	
@media only screen and (max-width:1200px){

	#pNav #ARES {
		width: 250px;
	}

	#pNav > ul li.search.on {
		width: 250px;
		left: -250px;
	}
	
}

@media only screen and (max-width:960px){
	#pNav #ARES {
		display: none;
	}
	
	#pNav > ul li.spMenu {
		display: inline-block;
	}
	#pNav > ul li.spMenu img {
		width: 60px;
		height: 60px;
	}

	#pNav > div,
	#pNav > ul {
		float: none;
	}
	
	#pNav > ul {
		width: auto;
		overflow: visible;
		position: relative;
	}
	
	#pNav > ul li {
		vertical-align: top;
	}
	
	#pNav > ul li.search,
	#pNav > ul li.search.on {
		display: none;
	}

}
	
	

/* search -------------------- */
	#SEARCH {
		background-color: #262E4B;
		box-sizing: border-box;
		padding: 15px;
		width: 100%;
		height: 60px;
	}
	#SEARCH form {
		display: block;
		background-color: #FFF;
		padding: 0;
		margin: 0;
		position: relative;
	}
	
	#SEARCH form input {
		margin: 0;
		padding: 0;
	}
	
	#SEARCH form input.hidden {
		display: none;
	}
	
	#SEARCH form input.text {
		border: none;
		display: block;
		font-size: 14px;
		line-height: 30px;
		width: 100%;
		height: 30px;
		box-sizing: border-box;
		padding: 0 15px;
	}
	#SEARCH form input.button {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
	}
	
	#SPSEARCH {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 0%;
		background-color: rgba(37,45,76,0.95);
		display: none;
		transition: all 0.3s;
		overflow: hidden;
	}
	
	#SPSEARCH.on {
		height: 100%;
	}
	
	
	#SPSEARCH .close {
		text-align: center;
	}
	
	#SPSEARCH form {
		display: block;
		width: 250px;
		height: 25px;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		background-color: #FFF;
		padding: 15px 10px 10px 10px;
	}
	
	#SPSEARCH form input.text {
		width: 200px;
		border: none;
	}
	#SPSEARCH form input.button {
		position: absolute;
		right: 0;
		top: 8px;
	}


@media only screen and (max-width:960px){
	#SPSEARCH {
		display: block;
		z-index: 998;
	}
}
	
	#gFooter {
		position: relative;
		background-color: #2D3D66;
	}
	
	#gFooter #pageTop {
		position: absolute;
		top: 0;
		right: 0;
	}
	
	#gFooter #pageTop a {
		transition: all 0.3s;
		opacity: 1;
	}
	#gFooter #pageTop a:hover {
		opacity: 0.5;
	}
	
	#gFooter .copy {
		font-size: 10px;
		color: #d0dcf1;
		text-align: center;
		height: 60px;
		line-height: 60px;
	}

@media only screen and (max-width:640px){
	#gFooter #pageTop {
		display: none;
	}
}
	
/* fNav */
	#fNav {
		height: 68px;
		border-bottom: 1px solid #4A6386;
	}
	#fNav ul {
		font-size: 0;
		line-height: 0;
		letter-spacing: 0;
		text-align: center;
	}
	
	#fNav li {
		display: inline-block;
		margin: 0 20px;
	}
	#fNav a {
		color: #FFF;
		text-decoration: none;
		font-size: 14px;
		line-height: 68px;
		letter-spacing: 0.1em;
	}
	#fNav a:hover {
		text-decoration: underline;
	}

	
/* alt text to span */
	img.toText {
		
	}
	
	span.altText {
		display: none;	
	}
	
	@media only screen and (max-width:640px){
		
		img.toText {
			display: none;
		}
		
		span.altText {
			display: inline;
		}
	}