
/* ****************************************************
	リセット
***************************************************** */
body, div,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea,
p, blockquote, th, td, figure {
	margin:0;
	padding:0;
}

img {
	border:0;
	vertical-align:bottom;
}
p.btm img {
	border:0;
	vertical-align:top;
}

address, caption, cite, code, dfn, em, strong, th, var {
	font-style:normal;
	font-weight:normal;
}

ul {
	list-style:none;
}

caption, th {
	text-align:left;
}

h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:normal;
}



/* html
------------------------------------------------- */

html {
	overflow-y: scroll;
	height: 100%;
}


/* body
------------------------------------------------- */
body {
	background: url(../img/bg_body.jpg) center top #000;
    background-repeat: repeat-y;
  	width: 100%;
	height: 100%;
	color: #333;
	font-size: 16px;
	line-height: 1.6;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media(max-width:640px) {
	body {
		background-size: 155% auto;
		max-width: 640px;
		font-size: 14px;
	}
	body img {
		width: 100%;
		height: auto;
	}
}

/* wrapper
------------------------------------------------- */
#wrapper {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}



/* header
------------------------------------------------- */
header {
	max-width: 1500px;
	margin: 0 auto;
/*	padding-top: 60px; */
}
header img {
	width: 100%;
	height: auto;
}
@media(max-width:640px) {
	header {
		width: 98%;
		height: auto;
		margin: 0;
		padding: 8% 1% 0;
	}
}

/* contetnts
------------------------------------------------- */
#contents {
	width: 100%;
	margin: 43px 0 75px;
}
@media (min-device-width: 641px) and (max-device-width: 1024px) {
	#contents {
		width: 94%;
		margin: 3% 3% 5%;
	}
}
@media(max-width:640px) {
	#contents {
		width: 94%;
		margin: 3% 3% 5%;
	}
}

#contents .block01 {
	max-width: 1148px;
	margin: 0 auto 116px;
	text-align: center;
}
#contents .block01 ul li:first-child {
	margin-bottom: 57px;
	padding: 0 184px;
}
#contents .block01 ul li:nth-child(2) {
	margin-bottom: 18px;
	padding: 0 46px;
}
#contents .block01 ul li:nth-child(3) {
	margin-bottom: 18px;
	padding: 0 46px;
}
#contents .block01 ul li:nth-child(4) {
	padding: 0 46px;
}
#contents .block01 img {
	width: 100%;
	height: auto;
}
@media(max-width:1024px) {
	#contents .block01 {
		margin: 0 auto 10%;
	}
	#contents .block01 ul li:first-child {
		margin-bottom: 5%;
		padding: 0 10%;
	}
	#contents .block01 ul li:nth-child(2) {
		margin-bottom: 3%;
		padding: 0 0;
	}
	#contents .block01 ul li:nth-child(3) {
		margin-bottom: 3%;
		padding: 0;
	}
	#contents .block01 ul li:nth-child(4) {
		padding: 0 4%;
	}
	#contents .block01 img {
		width: 100%;
		height: auto;
	}
}

#contents .block02 {
	max-width: 1105px;
	margin: 0 auto 168px;
	text-align: center;
}
#contents .block02 h2 {
	margin-bottom: 52px;
}
#contents .block02 ul li:first-child {
	margin-bottom: 33px;
}
#contents .block02 img {
	width: 100%;
	height: auto;
}
@media(max-width:1024px) {
	#contents .block02 {
		margin: 0 auto 10%;
	}
	#contents .block02 h2 {
		margin-bottom: 5%;
	}
	#contents .block02 ul li:first-child {
		margin-bottom: 5%;
	}
}

#contents .block03 {
	max-width: 1059px;
	margin: 0 auto;
	text-align: center;
}
#contents .block03 h2 {
	margin-bottom: 52px;
}
#contents .block03 ul li:nth-child(even) {
	margin-bottom: 56px;
}
#contents .block03 img {
	width: 100%;
	height: auto;
}
@media(max-width:1024px) {
	#contents .block03 h2 {
		margin-bottom: 5%;
	}
	#contents .block03 ul li:nth-child(even) {
		margin-bottom: 7%;
	}
}


/* footer
------------------------------------------------- */
footer {
	width: 100%;
	padding-bottom: 70px;
	text-align: center;
}
footer .link {
	margin-bottom: 30px;
	color: #fff;
	font-size: 24px;
}
footer .copy {
	color: #fff;
	font-size: 12px;
}
@media(max-width:1024px) {
	footer {
		width: 100%;
		padding-bottom: 3%;
	}
	footer .link {
		margin-bottom: 5%;
		font-size: 14px;
	}
	footer .copy {
		font-size: 10px;
	}
}


/* pageTop
------------------------------------------------- */
* html #pageTop {
	position:absolute;
}
#pageTop {
	position: fixed;
	width: 163px;
	right: 3%;
	bottom: 3%;
	z-index: 10;
}
@media(max-width:640px) {
	#pageTop {
		position: fixed;
		width: 20%;
		right: 3%;
		bottom: 3%;
		z-index: 10;
	}
}


/* *******************************************
     common
******************************************* */

/* link
------------------------------------------------- */
a:link,
a:visited {
	color: #fff;
	text-decoration: none;
}
a:hover,
a:active {
	color: #fff;
	text-decoration: underline;
}



/* alpha
------------------------------------------------- */
a:hover img {
  opacity:0.7;
  filter:alpha(opacity=70);
}


/* FLOAT -Clearfix
------------------------------------------------- */
.clearfix:after { 
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
