@charset "utf-8";

/* -----

   base setting

---------------------------------------------------- */
*, *:before, *:after {
	box-sizing: border-box;
}
html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
height:100%;
width: 100%;
overflow-x: hidden;
overflow-y: hidden;
}
body {
	min-width: 1024px;
}
body,
textarea,
input {
	background: #fff;
	color: #000;
	font: 18px/1 "游ゴシック","YuGothic","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ" ,sans-serif;
}
ul { list-style: none; }
a {
	color: #000;
	text-decoration: none;
}
a:hover { text-decoration: none; }
li {
	display: list-item;
	text-align: -webkit-match-parent;
}
img { vertical-align: bottom; }
p,th,td,ol,dl {
	max-height: 100%;/*-webkit-text-size-adjust step*/
}

/*selection text color*/
::selection {background: #79b7d4; color: #fff;}
::-moz-selection {background: #79b7d4; color: #fff;}

/*-----

   Snippet

-----------------------------*/

/*--clearfix

-----------------------------*/
.clearfix:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	*zoom: 1;
}
.fl { float: left; }
.fr { float: right; }
.fclear{ clear:both; }

/*--common class

-----------------------------*/
.figure_caption_center{ text-align: center; }

.mt0 { margin-top: 0 !important; }
.mt8 { margin-top: 8px !important; }
.mt12 { margin-top: 12px !important; }
.mt16 { margin-top: 16px !important; }
.mt20 { margin-top: 20px !important; }
.mt32 { margin-top: 32px !important; }
.mt40 { margin-top: 40px !important; }
.mt44 { margin-top: 44px !important; }
.mt48 { margin-top: 48px !important; }

.mr0 { margin-right: 0 !important; }
.mr8 { margin-right: 8px !important; }
.mr16 { margin-right: 16px !important; }
.mr20 { margin-right: 20px !important; }
.mr24 { margin-right: 24px !important; }
.mr28 { margin-right: 28px !important; }
.mr32 { margin-right: 32px !important; }
.mr40 { margin-right: 40px !important; }

.mb0 { margin-bottom: 0 !important; }
.mb4 { margin-bottom: 4px !important; }
.mb8 { margin-bottom: 8px !important; }
.mb12 { margin-bottom: 12px !important; }
.mb16 { margin-bottom: 16px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb24 { margin-bottom: 24px !important; }
.mb28 { margin-bottom: 28px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb32 { margin-bottom: 32px !important; }
.mb36 { margin-bottom: 36px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb48 { margin-bottom: 48px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb90 { margin-bottom: 80px !important; }
.ml0 { margin-left: 0 !important; }
.ml8 { margin-left: 8px !important; }
.ml16 { margin-left: 16px !important; }
.ml24 { margin-left: 24px !important; }
.ml28 { margin-left: 28px !important; }
.ml32 { margin-left: 32px !important; }
.ml40 { margin-left: 40px !important; }

.span_em1 { margin-left: 1em; }
.span_em2 { margin-left: 2em; }
.span_font { font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Microsoft Yahei", "STXihei" !important; }

.bold { font-weight: bold; }

.lh { line-height: 1.6em; }
.ls { letter-spacing: 0.03em; }
.lsn1 { letter-spacing: -0.1px; }
.ls_reset { letter-spacing: 0; }
.ls_negative { letter-spacing: -0.03em; }
.indent {
	padding-left: 1em;
	text-indent: -1em;
}
.font_s90 { font-size: 80% !important; }
.txt_al { text-align: left !important; }
.opacity {
	-webkit-transition: opacity .1s ease-out;
	-o-transition: opacity .1s ease-out;
	transition: opacity .1s ease-out;
}
.opacity:hover { opacity: .6; }
.hide{ display:none; }
.opacity_soft {
	opacity: 0;
	position: absolute;
	-webkit-transition: opacity .3s ease-out;
	-o-transition: opacity .3s ease-out;
	transition: opacity .3s ease-out;
}
.opacity_soft:hover {
	opacity: 1;
}


/*-----

   Base CSS

-----------------------------*/
#main {
	position: relative;
}
#scroll_next {
	position: fixed;
	width: 100%;
	min-width: 1024px;
	bottom: 0;
	padding: 0 0 50px 0;
	z-index: 10000;
	text-align: center;
	cursor: pointer;
	opacity: 0;
}
#scroll_next:hover {
	opacity: 0.8 !important;
}

.scroll_next_set {
	position: absolute;
	width: 100%;
	min-width: 1024px;
	padding: 0 0 2% 0;
	text-align: center;
	cursor: pointer;
	bottom: 0;
	z-index: 10000;
}
.scroll_next_set:hover {
	opacity: 0.8;
}
.scroll_next_set img {
	width: 54px;
	height: 31px;
	margin: 0 auto;
}
#about .scroll_next_set img {
	width: 54px;
	height: 31px;
	margin: 0 auto;
}


/*--header
-----------------------------*/
#header__over_wrap {
	position: fixed;
	width: 100%;
	min-width: 1024px;
	height: 64px;
	background-color: #fff;
	top:0;
	z-index: 1000;
}
#header {
	float: left;
	margin: 20px 0 0 30px;
}
#header a {
	display: block;
}


/*--global_navi
-----------------------------*/
#nav__wrap {
	float: right;
	margin-right: 24px;
}

#gnav__wrap {
	float: left;
	margin: 20px 4px 0 0;
}
#gnav {

}
#gnav li {
	float: left;
	height: 30px;
	margin: 0 20px 0 0;
	opacity: 0.6;
	cursor: pointer;
}
#gnav li:hover {
	opacity: 1;
}
#gnav a {
	display: block;
}
#gnav .active{
	border-bottom: solid 3px #ff0000;
	opacity: 1;
}

#sns_wrap {
	float: left;
	margin: 16px 0 0 0;
}
#sns {
	width: 205px;
	margin: 0;
}
#sns a {
	display: block;
	width: 29px;
	height: 30px;
}
#sns li {
	/*background: #b5b5b5;*/
	float: left;
	list-style-type: none;
	margin: 0 6px 0 6px;
}
#sns img {
	max-width: none;
}

/*--  loader baseCSS
---------------------------------------------------- */
#mask {
	position: fixed;
	background: #000;
	width: 100%;
	height: 100vh;
	z-index: 9999999;
	top:0;
}
#load_hinomaru {
 position: absolute;
 left: 50%;
/* margin-left: -282px;*/
	top: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%); /* Safari用 */
	-ms-transform: translateY(-50%) translateX(-50%); /* Safari用 */
	transform: translateY(-50%) translateX(-50%);
	letter-spacing: 0.4em;
}
#loadArea {
	position: absolute;
	display: table;
	height: 100%;
	width: 100%;
	top: 0;
}
#load-text {
	display:table-cell;
	color: #fff;
	font-weight: bold;
	font-size: 20px;
	text-align: center;
	vertical-align: middle;

}


/*--  content baseCSS
---------------------------------------------------- */
.content_fl {
	float: left;
	width: 720px;
}
.content_wide { width: 980px; }
.content_txt {
	max-height: 100%;/*-webkit-text-size-adjust step*/
	line-height: 1.6em;
}




