@charset "utf-8";
/**
 * -----------------------------------------------------------------------------------------
 * 
 * Pattern01 - デフォルト
 * 
 * -----------------------------------------------------------------------------------------
 */

.pattern01.page-container {
	position:relative;
	z-index:1;
	/*width:1000px;*/
	width:100%;
	margin:0 auto;
	/*padding-bottom:90px;*/
	}

#pattern01 {
	position:absolute !important;
	left:50%;
	top:160px;
	z-index:10;
	margin-left:-500px;
	/*margin:90px auto 0 auto;*/
	}

.pattern01 .page-box {
	padding-top:605px;
	}



/* Header */
.pattern01 .header {
	position:absolute;
	top:0;
	left:0;
	z-index:100;
	width:100%;
	height:96px;
	background:url(../images/pattern01/header_bg.png) no-repeat top center;
	}

.pattern01 .header-inner {
	width:1000px;
	margin:0 auto;
	}

.pattern01 .header h1 {
	float:left;
	padding-top:23px;
	}

.pattern01 .gnav {
	float:right;
	height:25px;
	padding-top:28px;
	}

.pattern01 .gnav li {
	float:left;
	}

.pattern01 .gnav li + li {
	margin-left:50px;
	}





/**
 * --------------------------------------------------------------
 * block 共通
 * --------------------------------------------------------------
 */
.pattern01 .block {
	clear:both;
	width:100%;
	position:relative;
	}

.pattern01 .block > div {
	position:relative;
	width:1000px;
	margin:0 auto;
	zoom:1;
	}

.pattern01 .block > div:after {
	content:"";
	}

.pattern01 .block h2 {
	text-align:center;
	}





/**
 * --------------------------------------------------------------
 * Service / block02
 * --------------------------------------------------------------
 */
.pattern01 .block02 {
	/*margin-top:-65px;*/
	/*margin-top:510px;*/
	min-height:890px;
	background:url(../images/pattern01/block02_bg.jpg) no-repeat center top;
	}

.pattern01 .block02 > div {
	padding-top:120px;
	}

.pattern01 .block02 .img01 {
	float:left;
	margin-right:60px;
	}

.pattern01 .block02 .img01 {
	float:left;
	margin-right:60px;
	}

.pattern01 .block02 .txt {
	padding-top:90px;
	padding-right:40px;
	font-size:14px;
	line-height:2;
	color:#666;
	}

.pattern01 .block02 .img02,
.pattern01 .block02 .img03 {
	position:absolute;
	}

.pattern01 .block02 .img02 {
	top:35px;
	left:44px;
	}

.pattern01 .block02 .img03 {
	right:-50px;
	bottom:-60px;
	}






/**
 * --------------------------------------------------------------
 * Works / block03
 * --------------------------------------------------------------
 */
.pattern01 .block03 {
	padding-top:90px;
	}

.pattern01 .block03 h2 {
	margin-bottom:110px;
	}

.pattern01 .block03 ul {
	overflow:hidden;
	padding-bottom:110px;
	}

.pattern01 .block03 li {
	float:left;	
	}

.pattern01 .block03 li + li {
	margin-left:20px;
	}

.pattern01 .block03 .img {
	position:relative;
	left:-50px;
	}





/**
 * --------------------------------------------------------------
 * Company / block04
 * --------------------------------------------------------------
 */
.pattern01 .block04 {
	margin-top:-25px;
	min-height:840px;
	background:url(../images/pattern01/block04_bg.jpg) no-repeat top center;
	}

.pattern01 .block04 > div {
	padding-top:140px;
	}

.pattern01 .block04 h2 {
	margin-bottom:65px;
	}

.pattern01 .block04 dl {
	float:left;
	width:400px;
	margin-right:60px;
	padding-left:60px;
	}

.pattern01 .block04 dt,
.pattern01 .block04 dd {
	font-size:14px;
	color:#666;
	line-height:1.5;
	}

.pattern01 .block04 dt {
	position:absolute;
	padding:11px 0 0 20px;
	}

.pattern01 .block04 dd {
	padding:11px 0;
	padding-left:120px;
	border-bottom:1px solid #fff;
	}

.pattern01 .block04 dd:last-child {
	border-bottom:0;
	}

.pattern01 .block04 .map-wrapper {
	padding-top:60px;
	}

.pattern01 .block04 .map {
	position:relative;
	overflow:hidden;
	width:372px;
	height:372px;
	/*border:2px solid #fff;
	-webkit-border-radius:372px;
	   -moz-border-radius:372px;
	    -ms-border-radius:372px;
	     -o-border-radius:372px;
	        border-radius:372px;*/
	}

.pattern01 .block04 .map .mask {
	position:absolute;
	z-index:10;
	/*display:none;
	position:absolute;
	top:0;
	left:0;*/
	}

.pattern01 .block04 .map .mask01 { top:0px; left:0px; }
.pattern01 .block04 .map .mask02 { top:50px; left:0px; }
.pattern01 .block04 .map .mask03 { top:50px; right:0px; }
.pattern01 .block04 .map .mask04 { bottom:0px; left:0px; }


.pattern01 .block04 .img {
	position:absolute;
	right:140px;
	top:90px;
	}





/**
 * --------------------------------------------------------------
 * Contact / block05
 * --------------------------------------------------------------
 */
.pattern01 .block05 {
	padding-top:70px;
	padding-bottom:90px;
	}

.pattern01 .block05 > div {
	width:400px;
	}

.pattern01 .block05 h2 {
	margin-bottom:80px;
	}

.pattern01 .controls + .controls {
	padding-top:15px;
	}

.pattern01 .controls label {
	display:block;
	font-size:14px;
	margin-bottom:3px;
	}

.pattern01 .controls input[type=text],
.pattern01 .controls textarea {
	width:384px;
	padding:8px;
	background:#eee;
	border:0;
	-webkit-border-radius:4px;
	   -moz-border-radius:4px;
	    -ms-border-radius:4px;
	     -o-border-radius:4px;
	        border-radius:4px;
	}

.pattern01 .controls textarea {
	max-width:384px;
	min-width:384px;
	min-height:114px;
	overflow:hidden;
	}

.pattern01 .btn-submit {
	display:block;
	margin:25px auto 0 auto;
	width:240px;
	height:35px;
	text-indent:-9999px;
	background:url(../images/pattern01/block05_btn.jpg) no-repeat 0 0;
	border:none;
	cursor:pointer;
	}

.pattern01 .btn-pagetop {
	position:absolute;
	bottom:-70px;
	right:-300px;
	cursor:pointer;
	}









/**
 * --------------------------------------------------------------
 * Media Query
 * --------------------------------------------------------------
 */
@media screen and (max-device-width: 480px) {
	.pattern01 .block02,
	.pattern01 .block04 {
		background-size:600%;
	}
}
