@charset "UTF-8";

/* :basic
-----------------------------------------------------------------------------*/
html
{
    height:100%;
}
body
{
	font-family: "メイリオ", "游ゴシック体", Yu Gothic, YuGothic, "ヒラギノ角ゴ Pro", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo, sans-serif;
	font-size: 15px;
	line-height: 2;

	/*For Old WebKit*/
	background: -webkit-linear-gradient( left top, rgba(150,203,220,0) 60%, rgba(150,203,220,0.4) 100% );
	/*For Modern Browser*/
	background: linear-gradient( to right bottom, rgba(150,203,220,0) 60%, rgba(150,203,220,0.4) 100% );

	background-attachment: fixed;


	color: #000000;

    height: 100%;
}
.imgbox img
{
	max-width: 100%;
}
img
{
	vertical-align: bottom;
}
h2
{
	font-size: 20px;
}

/* :Links
-----------------------------------------------------------------------------*/
a
{
	color: #3333FF;
	text-decoration: none;
}
a:hover, a:focus
{
	color: #CC0000 !important;
	cursor: pointer !important;
	text-decoration: underline !important;
}
/* :Layout
-----------------------------------------------------------------------------*/

.nowr
{
	white-space: nowrap;
}

#wrapper
{
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 0px auto;
	min-height: 100%;
	margin-bottom: -40px;
	background-image: url(../images/bg.png);
	background-repeat: repeat-y;
	background-position: center;
/*
	box-shadow: 0px 0px 4px 0px #000000;
*/
}
@media all and (max-width: 768px)
{
	#wrapper
	{
		background-position: top left;
	}
}

#header
{
	position: relative;
	z-index: 100;
	width: 100%;
	background-color: #FFFFFF;
}
#header_inner
{
	position: relative;
	z-index: 102;
	width: 100%;
	max-width: 1100px;
	margin: 0px auto;
}
h1
{
	float: left;
	display: block;
	width: 262px;
	padding: 13px 19px;
}

.gnavi
{
	position: relative;
	float: right;
	height: 50px;
	width: 800px;
	margin: 13px 5px 13px -300px;
	background-color: #FFFFFF;
}
.menus
{
	position: absolute;
	display: table;
	bottom: 0px;
	right: 0px;
}
.menu
{
	display: table-cell;
	text-align: center;
	vertical-align: bottom;
	font-size: 12px;
	padding: 0px 12px;
}
.menu a
{
	color: #000000;
}
.menu.current a:hover
{
	color: #000000 !important;
	text-decoration: none !important;
	cursor: default !important;
}
.mbpchalf
{
	display: none !important;
}
.mbmenubtn
{
	cursor: pointer;
}

@media all and (max-width: 1050px)
{
	.mbpchalf
	{
		display: block !important;
	}
	.gnavi
	{
		width: 750px;
		height: auto;
	}
	.menu
	{
		padding: 0px 8px;
	}
}
@media all and (max-width: 768px)
{
	.mbpchalf
	{
		display: none !important;
	}
	.gnavi
	{
		width: auto;
		overflow: visible;
	}
	.menus
	{
		display: none;
		position: absolute;
		z-index: 100;
		height: 200px;
		width: 260px;
		top: 50px;
		right: 10px;
		background-color: #F8F8F8;
		margin: 0px;
		border: 4px solid #F8F8F8;
		border-radius: 4px;
		box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.25);
	}
	.menu
	{
		display: list-item;
		text-align: left;
		vertical-align: middle;
		width: 250px;
		padding: 3px 5px;
	}
	.menu:hover,
	.menu.current
	{
		background-color: #FFFFFF;
	}
	.menu a
	{
		display: block;
		width: 100%;
		height: 100%;
		line-height: 2;
		font-size: 14px;
		font-weight: bold;
	}
	.mbmenubtn
	{
		display: block;
	}
}


.flexslider
{
	margin: 0px auto;
	border: none;
	box-shadow: none;
	position: relative;
	overflow: hidden;
}
.flex-prev
{
	color: #FFFFFF !important;
	z-index: 30;
}
.flex-next
{
	color: #FFFFFF !important;
	z-index: 30;
}
.flex-control-nav
{
	bottom: 0px;
	z-index: 30;
}
.flex-control-paging li
{
	margin: 0px 7px;
}
.flex-control-paging li a
{
	background: #FFFFFF;
	height: 14px;
	width: 14px;
	-moz-border-radius: 0px;
	-o-border-radius: 0px;
	border-radius: 0px;
}
.flex-control-paging li a.flex-active
{
	background: #ffff6e;
}
@media all and (max-width: 768px)
{
	.flex-control-nav
	{
		display: none;
	}
	.flex-direction-nav
	{
		display: none;
	}
}


.caroutitle
{
	position: absolute;
	z-index: 25;
	width: 60%;
	left: 20%;
	top: 15%;
}
.caroubtns
{
	position: absolute;
	z-index: 25;
	width: 96%;
	left: 21%;
	bottom: 12.5%;
}
.caroubtns_bg
{
	z-index: 20;
}
.caroubtn
{
	display: inline-block;
	width: 18%;
	margin: 0px 1%;
}
.caroubtn a
{
	display: inline-block;
	height: 100%;
	width: 100%;
}

.caroubtn a:hover
{
	opacity: 0.75;
}
@media all and (max-width: 768px)
{
	.caroutitle
	{
		width: 80%;
		left: 10%;
	}
	.caroubtns
	{
		display: none;
	}
}

.caroubg_l
{
	float: left;
	z-index: 20;
	width: 20.65%;
}
.caroubg_r
{
	float: left;
	z-index: 20;
	width: 20.65%;
}
.slider_inner
{
	float: left;
	position: relative;
	z-index: 10;
	width: 58.7%;
	overflow: hidden;
	margin: 0px auto;

/*
	height: 0;
	padding: 0px 0px 47.33% 0px;
*/
}
@media all and (min-width: 1100px)
{
	/* flexsliderの両脇が均等に欠けて中央ぞろえ（狭ければ普通の％配置） */
	.slider_outer
	{
		width: 100%;
		overflow-x: hidden;
	}
	.flexslider
	{
		width: 1500px;
		left: 50%;
		margin-left: -750px;
	}
}


#main
{
	position: relative;
	width: 100%;
	margin: 0px auto;
	padding-bottom: 100px;
}
#contents
{
	width: 90%;
	max-width: 900px;
	min-height: 500px;
	margin: 30px auto 0px auto;
}
#contents p
{
	margin-bottom: 30px;
}
#contents p.caption
{
	color: #666666;
	font-size: 13px;
	line-height: 1.5;
	text-align: right;
	margin: 10px 0px;
}
#contents p.caption.note
{
	color: #996666;
	font-size: 12px;
}


.mbmenubtn
{
	text-align: right;
	display: none;
	padding: 0px 10px 5px 0px;
}
@media all and (max-width: 768px)
{
	#header,
	#header_inner
	{
		height: auto;
	}
	.mbmenubtn
	{
		display: block;
	}
	#sidebar
	{
		display: none;
		position: absolute;
		z-index: 100;
		top: 0px;
		right: 10px;
		background-color: #FFFFFF;
		padding: 10px;
		margin: 0px;
		border: 1px solid #CCCCCC;
		border-radius: 4px;
		box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.25);
	}
}

.note
{
	color: #666666;
	font-size: 12px;
}

#spacer
{
	height: 60px; /* フッターを画面下端にもっていく＆コンテンツとかぶらないようにする */
}
.top
{
	width:100px;
	margin:0 auto;
	text-align:center;
	text-decoration:none;
	font-size:small;
}
#footer
{
	position: relative;
	z-index: 5;
	margin: -60px auto 0px auto; /* topはspacerとも連動 */
	width: 100%;
	max-width: 1500px;
	height: 60px; /* spacerとも連動 */
	background-color: transparent;
	text-align: center;
}
#footer p
{
	font-size: 12px;
	line-height: 1;
	padding: 14px;
	margin: 0px auto;
}

.clear {
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	margin: 0px;
}
@media all and (max-width: 767px)
{
	.pconly
	{
		display: none;
	}
}
@media all and (min-width: 768px)
{
	.mbonly
	{
		display: none;
	}
}
