@charset "UTF-8";
/* CSS Document */

* {
	max-height: 999999px;
}

html {
	width: 100%;
	height:100%;
	position:relative;
}

body {
	width: 100%;
	height: 100%;
	font-size: 13px;
	line-height: 2em;
	letter-spacing: 0.1em;
	background: url(../../img/common/loader.gif) center center no-repeat #fff fixed;
	color: #008cd6;
	position: relative;
}

body, input, textarea {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

a{
	color: #008cd6;
	text-decoration: underline;
}

a:hover{	text-decoration: none;	}
a.opacity:hover{	opacity: 0.4;	}
a:visited{	text-decoration: none;	}

div#wrapper {
	width: 100%;
	height: 100%;
	border-top: 14px solid #fff;
	border-left: 14px solid #fff;
	border-right: 14px solid #fff;
	box-sizing: border-box;
	filter: alpha(opacity=0);
	-ms-filter: "alpha(opacity=0)";
	-moz-opacity: 0;
	-khtml-opacity: 0;
	opacity: 0;
}

div.jp, p.jp, h2.jp,
div.eng, p.eng, h2.eng
 {
	display: none;
}

div.narrow, p.narrow {	letter-spacing: 0em !important;	}
h2.narrow, h3.narrow {	letter-spacing: 0.05em !important;	}

body#jp div.jp,
body#jp p.jp,
body#jp h2.jp
{
	display: block;
}

body#eng div.eng,
body#eng p.eng,
body#eng h2.eng
{
	display: block;
}

@media screen and (min-width: 670px) {
	
	.sp{	display: none;	}
	
}

@media screen and (max-width: 670px) {
	
	body {
		font-size: 105%;
		line-height: 1.8em;
	}
	
	.pc{	display: none;	}
	
}

/* ================================================================================
-----------------------------------------------------------------------------------
	header
-----------------------------------------------------------------------------------
================================================================================ */

header {
	width: 100%;
	height: 766px;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #addef8), color-stop(0.00, #d9e480));
	background: -webkit-linear-gradient(#d9e480, #addef8);
	background: -moz-linear-gradient(#d9e480, #addef8);
	background: -o-linear-gradient(#d9e480, #addef8);
	background: -ms-linear-gradient(#d9e480, #addef8);
	background: linear-gradient(#d9e480, #addef8);
	position: relative;
	overflow: hidden;
}

header > ol, header > ol > li {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
}

header > ol > li > img {
	position: absolute;
	left: 50%;
	top: 50%;
}

header > ul {
	display: inline-block;
	overflow: hidden;
	position: absolute;
	right: 16px;
	top: 16px;
}

header > ul > li {
	padding: 0 0 0 10px;
	display: block;
	float: left;
}

header > ul > li > a {
	padding:10px;
	border-radius: 19px;
	background: #fff;
	display: block;
}

header > ul > li > a > span {
	width: 18px;
	height: 0;
	padding: 18px 0 0 0;
	background: no-repeat center center;
	display: block;
	overflow: hidden;
}

header > ul > li.tw > a > span {	background-image: url(../../img/common/header_sns_tw.svg);	}
header > ul > li.fb > a > span {	background-image: url(../../img/common/header_sns_fb.svg);	}

header > div {
	width: 150px;
	height: 35px;
	border: 1px #fff solid;
	box-sizing: border-box;
	position: absolute;
	right: 122px;
	top: 19px;
}

header > div > a {
	width: 150px;
	height: 35px;
	padding: 0 10px 0 10px;
	background: #fff ;/*url(../../img/common/header_lang_arrow.gif) no-repeat right center;*/
	display: block;
	position: relative;
	left: -4px;
	top: -4px;
	line-height: 35px;
	text-decoration: none;
	font-weight: bold;
	cursor: pointer;
	vertical-align: top;
	box-sizing: border-box;
}

header > div > a::before {
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 2px solid #008cd6;
	border-right: 2px solid #008cd6;
	position: absolute;
	top: -2px;
	bottom: 0;
	right: 14px;
	content: "";
	vertical-align: middle;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

header > div > ul {
	width: 150px;
	height: 0;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
	left: -1px;
}

header > div > ul > li {
	width: 100%;
	padding: 0 0 1px 0;
}

header > div > ul > li > a {
	width: auto;
	height: 35px;
	padding: 0 12px 0 12px;
	background: #fff;
	line-height: 35px;
	text-decoration: none;
	display: block;
	cursor: pointer;
}

header > p {
	width: 1px;
	height: 50px;
	margin: 0 0 0 -1px;
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
}

header > p > a {
	width: 50px;
	height: 0;
	padding: 64px 0 0 0;
	margin: 0 0 0 -25px;
	background: url(../../img/index/header_scroll.svg) no-repeat center top;
	display: block;
	overflow: hidden;
	position: absolute;
	top: -14px;
}

header > p > span {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	overflow: hidden;
}

header > p > span > span {
	width: 100%;
	height: 100%;
	background: #fff;
	display: block;
	position: absolute;
	top: 0px;
}

header > small {
	width: 260px;
	height: 0;
	padding: 9px 0 0 0;
	background: url(../../img/common/header_copyright.png) no-repeat left top;
	display: block;
	overflow: hidden;
	position: absolute;
	bottom: 15px;
	right: 14px;
}

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

	header > p {
		width: 2px;
		height: 70px;
	}
	
	header > p > a {
		width: 66px;
		padding: 140px 0 0 0;
		margin: 0 0 0 -33px;
		top: -20px;
	}

	header > small {
		width: 9px;
		padding: 260px 0 0 0;
		background: url(../../img/common/header_copyright_sp.png) no-repeat left top;
		bottom: 15px;
		right: 15px;
	}
	
}