@charset "UTF-8";
html{color:#000;background:#FFF}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,figure,figcaption{margin:0;padding:0}
table{border-collapse:collapse;border-spacing:0}
fieldset,img{border:0}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}
abbr,acronym{border:0;font-variant:normal}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}
input,textarea,select{font-size:100%}
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section { display: block }
caption { text-align: left; }
img { vertical-align: top; }
html {font-size: 100%;-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;}
main {display: block;/* for IE */}
address,caption,cite,code,dfn,em,strong,var,b {font-style: normal;font-weight: normal;}
input,button,textarea,select {font-size: 100%;font-family: inherit;color: inherit;}
input[type="checkbox"],input[type="radio"] {box-sizing: border-box;padding: 0;}
textarea {overflow: auto;vertical-align: top;}
li {list-style: none;}
i { font-weight: normal;font-style: normal;}
input {border-radius: 0;-webkit-appearance: none;}

/*==================================================
Body_Bace
==================================================*/
body {
	width: 100%;
	height: 100%;
	font-size: 14px;
	color: #333;
	line-height: 170%;
	letter-spacing: 0.05em;
	font-family:'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	-webkit-text-size-adjust: none;
}
.header,
.main .inr,
.foot_bnr,
.footer {
	width: 1000px;
	margin: 0 auto;
}

.fadeInDown {
	-webkit-animation-fill-mode:both;
	-ms-animation-fill-mode:both;
	animation-fill-mode:both;
	-webkit-animation-duration:1s;
	-ms-animation-duration:1s;
	animation-duration:1s;
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
	visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(-20px); }
	100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
	100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}
/* link
-------------------------------------*/
a,a:hover { color: #333; text-decoration: none; }

/*==================================================
Header
==================================================*/
#header {
	position: relative;
	padding: 18px 0 0;
	background: url(../img/bg_header.jpg) no-repeat 50% 0;
}
#header h1 {
	position: relative;
	width: 251px;
	float: left;
	z-index: 8010;
}
.header {
	padding: 0 0 115px;
}
.fixheader {
/* 	padding-top: 200px !important; */
}

/* gnav
-------------------------------------*/
#gnav {
	width: 701px;
	float: left;
	padding: 73px 0 0 48px;
	position:relative;
	z-index:8000;
}
.gnav li {
	float: left;
	margin: 0 9px;
}
	.gnav .gnav01 {margin-left: 0;}
	.gnav .gnav08 {margin-right: 0;}

.gnav li a,
.gnav li span {
	overflow: hidden;
	display:block;
	position: relative;
	white-space: nowrap;
	text-indent: 100%;
	border-bottom: 2px solid #dfdf5b;
	background: url(../img/gnav.png) no-repeat;
	background-size: 701px 27px;
}
.gnav li a.current {
	border-bottom: 2px solid #fff;
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}
.gnav li span {
    filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
	.gnav  .gnav01 a { width: 42px; background-position: 0 0; }
	.gnav  .gnav02 a { width: 76px; background-position: -62px 0; }
	.gnav  .gnav03 a { width: 41px; background-position: -158px 0; }
	.gnav  .gnav04 a { width: 119px; background-position: -217px 0; }
	.gnav  .gnav05 a { width: 87px; background-position: -356px 0; }
	.gnav  .gnav06 a { width: 69px; background-position: -463px 0; }
	.gnav  .gnav07 a { width: 72px; background-position: -552px 0; }
	.gnav  .gnav08 a { width: 57px; background-position: -644px 0; }
	.gnav  .gnav06 span { width: 69px; background-position: -463px 0; }
	.gnav  .gnav07 span { width: 72px; background-position: -552px 0; }
	
	.gnav  .gnav06{ position: relative; }
	.gnav .gnav06 img.reserve {
		max-width: 73px;
		position: absolute;
		top: -28px;
		left: 0;
	}

/* fixnav */
.fixnav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 7px 0;
	background: #2b82ca;
	z-index: 3333;
}
.fixnav .fixinr {
	width: 1000px;
	margin: 0 auto;
}
#header .fixnav #gnav {
	padding: 18px 0 18px 30px;
}
#header .fixnav h1 {
	width: 114px;
	float: left;
} 
#header .fixnav h1 img {
	width: 114px;
}

/*================================================== 
#contents
==================================================*/ 
#main {
	background: url(../img/bg_main.jpg) no-repeat 50% 0;
}
.main {
	position: relative;
	margin-top: -100px;
	z-index: 999;
}
.page h1.pagettl {
	padding: 20px 0 50px;
	margin: 0 0 70px;
	text-align: center;
}
.story h1.pagettl { background: url(../img/page/bg_story_main.png) no-repeat 50% 0; }
.chara h1.pagettl { background: url(../img/page/bg_chara_main.png) no-repeat 50% 0; }
.ero h1.pagettl { background: url(../img/page/bg_ero_main.png) no-repeat 50% 0; }
.system h1.pagettl { background: url(../img/page/bg_system_main.png) no-repeat 50% 0; }
.special h1.pagettl { background: url(../img/page/bg_special_main.png) no-repeat 50% 0; }

.page h2 {
	width: 370px;
	height: 71px;
	padding: 30px 0 0;
	margin: 0 auto 40px;
	text-align: center;
	background: url(../img/page/bg_ttl.png) no-repeat 50% 0;
}

/* lnav */
.lnav {
	width: 1000px;
	margin: 0 auto 60px;
	text-align: center;
	font-family: "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝", serif;
}
.lnav li {
	display: inline;
	font-size: 20px;
}
.lnav li a {
	display: inline-block;
	padding: 5px 0 8px 40px;
	margin: 0 15px;
	background: url(../img/icn_arrow02.png) no-repeat 0 0;
	opacity: 1 !important;
}
.lnav li a.current,
.lnav li a:hover {
	color: #007b5b;
	border-bottom: 2px solid #368f53;
}

/*==================================================
Footer 
==================================================*/ 
.foot_bnr {
	padding: 90px 0 60px;
}
.foot_bnr li {
	float: left;
}
.foot_bnr li a {
	display: block;
}
.foot_bnr li img {
	max-width: 320px;
}
.foot_bnr li+li {
	margin: 0 0 0 20px;
}
#footer {
	padding: 40px 0 25px;
	background: #277fc8;
}
.footer .logo {
	float: left;
	padding: 0 20px 0 0;
}
.footer .sns {
	float: left;
	padding: 13px 40px 0 0;
}
.footer .sns li {
	display: inline;
	padding: 5px;
}
.footer .sns li.fb {
	position: relative;
	top: -8px;
	height: 20px;
}
.footer p.txt {
	width: 613px;
	float: left;
	font-size: 12px;
	color: #fff;
	line-height: 160%;
}
#copy {
	clear: both;
	display: block;
	padding: 30px 0 0;
	font-size: 12px;
	color: #fff;
	text-align: right;
}
#pagetop {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 7999;
}

/*================================================== 
clearfix
==================================================*/
ul:after,
#header:after,
.header:after,
.main .inr:after,
.home_blog:after,
.home_product .inr_txt:after,
.cont_about .about01:after,
.cont_about .about02:after,
.hero:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}


/*================================================== 
fancybox
==================================================*/
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
	padding: 0;
	margin: 0;
	border: 0;
	outline: none;
	vertical-align: top;
}
.fancybox-wrap {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 8020;
}
.fancybox-skin {
	position: relative;
	background: #fff;
	color: #444;
	text-shadow: none;
	-webkit-border-radius: 4px;
	   -moz-border-radius: 4px;
	        border-radius: 4px;
}
.fancybox-opened {
	z-index: 8030;
}
.fancybox-opened .fancybox-skin {
	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	   -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}
.fancybox-outer, .fancybox-inner {
	position: relative;
}
.fancybox-inner {
	overflow: hidden;
}
/*
.fancybox-type-iframe .fancybox-inner {
	-webkit-overflow-scrolling: touch;
	height: 800px !important;
}
*/
.fancybox-error {
	color: #444;
	font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	margin: 0;
	padding: 15px;
	white-space: nowrap;
}
.fancybox-image, .fancybox-iframe {
	display: block;
	width: 100%;
	height: 100%;
}
.fancybox-image {
	max-width: 100%;
	max-height: 100%;
}
#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
	background-image: url('../js/img/fancybox_sprite.png');
	
}
#fancybox-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -22px;
	margin-left: -22px;
	background-position: 0 -216px;
	opacity: 0.8;
	cursor: pointer;
	z-index: 8060;
}
#fancybox-loading div {
	width: 44px;
	height: 44px;
	background: url('../js/img/fancybox_loading.gif') center center no-repeat;
}
.fancybox-close {
	position: absolute;
	top: -18px;
	right: -18px;
	width: 73px;
	height: 73px;
	cursor: pointer;
	z-index: 8040;
}
.fancybox-nav {
	position: absolute;
	top: 50%;
	width: 72px;
	height: 68px;
	margin-top: -36px;
	cursor: pointer;
	text-decoration: none;
	background: transparent url('../js/img/blank.gif'); /* helps IE */
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	z-index: 8040;
}
.fancybox-prev {
	left: 0;
}
.fancybox-next {
	right: 0;
}
.fancybox-nav span {
	position: absolute;
	top: 50%;
	width: 72px;
	height: 68px;
	margin-top: -36px;
	cursor: pointer;
	z-index: 8040;
/* 	visibility: hidden; */
}
.fancybox-prev span {
	left: -50px;
	background-position: 0 -144px;
}
.fancybox-next span {
	right: -50px;
	background-position: 0 -72px;
}
.fancybox-nav:hover span {
	visibility: visible;
}
.fancybox-tmp {
	position: absolute;
	top: -99999px;
	left: -99999px;
	visibility: hidden;
	max-width: 99999px;
	max-height: 99999px;
	overflow: visible !important;
}
/* Overlay helper */
.fancybox-lock {
    overflow: hidden !important;
    width: auto;
}
.fancybox-lock body {
    overflow: hidden !important;
}
.fancybox-lock-test {
    overflow-y: hidden !important;
}
.fancybox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	display: none;
	z-index: 8010;
	background: url('../js/img/fancybox_overlay.png');
}
.fancybox-overlay-fixed {
	position: fixed;
	bottom: 0;
	right: 0;
}
.fancybox-lock .fancybox-overlay {
	overflow: auto;
/*     overflow-y: hidden !important; */
		overflow-y: scroll;
}
/* Title helper */
.fancybox-title {
	visibility: hidden;
	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	position: relative;
	text-shadow: none;
	z-index: 8050;
}
.fancybox-opened .fancybox-title {
	visibility: visible;
}
.fancybox-title-float-wrap {
	position: absolute;
	bottom: 0;
	right: 50%;
	margin-bottom: -35px;
	z-index: 8050;
	text-align: center;
}
.fancybox-title-float-wrap .child {
	display: inline-block;
	margin-right: -100%;
	padding: 2px 20px;
	background: transparent; /* Fallback for web browsers that doesn't support RGBa */
	background: rgba(0, 0, 0, 0.8);
	-webkit-border-radius: 15px;
	   -moz-border-radius: 15px;
	        border-radius: 15px;
	text-shadow: 0 1px 2px #222;
	color: #FFF;
	font-weight: bold;
	line-height: 24px;
	white-space: nowrap;
}
.fancybox-title-outside-wrap {
	position: relative;
	margin-top: 10px;
	color: #fff;
}
.fancybox-title-inside-wrap {
	padding-top: 10px;
}
.fancybox-title-over-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #fff;
	padding: 10px;
	background: #000;
	background: rgba(0, 0, 0, .8);
}
/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
	   only screen and (min--moz-device-pixel-ratio: 1.5),
	   only screen and (min-device-pixel-ratio: 1.5){
	#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
		background-image: url('../js/img/fancybox_sprite@2x.png');
		background-size: 88px 304px; /*The size of the normal image, half the size of the hi-res image*/
	}
	#fancybox-loading div {
		background-image: url('../js/img/fancybox_loading@2x.gif');
		background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
	}
}

/* chara
--------------------------------------------------------------- */
#chara .fancybox-wrap { padding: 0; }
#chara .fancybox-skin { background: none; }
#chara .fancybox-close { top: 0px; right: 50px; }

#chara .fancybox-type-iframe .fancybox-inner {
	min-height: 1000px;
	height: 1250px !important;
}
	@media(min-width:1px) and (max-width:1100px) {
		#chara .fancybox-prev span { left: 20px; }
		#chara .fancybox-next span { right: 20px; }
	}/* end 1100px */

	@media(min-width:1px) and (max-width:1000px) {
		#chara .fancybox-type-iframe .fancybox-inner {height: 1500px !important;}
		#chara .fancybox-nav {top: 40%;}
	}/* end 1000px */

	@media(min-width:1px) and (max-width:640px) {
		#chara .fancybox-type-iframe .fancybox-inner { height: 1200px !important; }
		#chara .fancybox-close { top: 50px; right: 0;}
		#chara .fancybox-prev span { left: -30px;}
		#chara .fancybox-next span { right: -30px; }
	}/* end 640px */

	@media(min-width:1px) and (max-width:480px) {
		#chara .fancybox-type-iframe .fancybox-inner { height: 1000px !important; }
		#chara .fancybox-close {top: 0; }
		#chara .fancybox-nav { top: 30%;}
	}/* end 480px */



