@charset "utf-8";

/*
 * general
 */
	body {
		background-color: #fff;
		/*font-family: "FP-ヒラギノ角ゴ ProN W3","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;*/
		font-family: "游ゴシック","Yu Gothic","游ゴシック体",YuGothic,"メイリオ",Meiryo,sans-serif;
		font-weight: normal;
		color: #000;
		line-height: 1.5;
		-webkit-text-size-adjust: none;
		/* リンク長押しのポップアップ(※1)を無効化 */
		-webkit-touch-callout: none;
		/* テキスト長押しの選択ボックス(※2)を無効化 */
		/*-webkit-user-select: none;*/
	}

	/* link */
	a {
		color: #000;
		text-decoration: underline;
	}

	/* images */
	.i {
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}
		.i > i {
			display: none;
			/*display: block;
			font-size: 0.2rem;
			text-indent: 100%;
			white-space: nowrap;
			overflow: hidden;*/
		}

/* @sp */
@media screen and (max-width: 772px) {
	body {
		/* テキスト長押しの選択ボックス(※2)を無効化 */
		-webkit-user-select: none;
	}
	.pc {
		display: none;
	}
}

/* @monitor */
@media screen and (min-width: 773px) {
	.sp {
		display: none;
	}
}




/*
 * page
 */
	#page {
		position: relative;
		width: 100%;
	}
	#page.mask {
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		right: 0;
		display: block;
		width: 100%;
		overflow: hidden;
	}
		#page > .wrap {
			position: relative;
			display: none;
		}
	.loading {
		overflow: hidden;
	}
	.loaded #page {

	}
		#page.loaded > .wrap {
			display: block;
		}
		.loaded #page > .cover {
			opacity: 0;
		}

/* @sp */
@media screen and (max-width: 772px) {

}

/* @monitor */
@media screen and (min-width: 773px) {

}

/* @monitor : small */
@media screen and (min-width: 773px) and (max-width: 872px) {
	#page {
		font-size: 79%;
	}
}

/* @monitor : medium */
@media screen and (min-width: 873px) and (max-width: 972px) {
	#page {
		font-size: 86%;
	}
}

/* @monitor : large */
@media screen and (min-width: 973px) and (max-width: 1072px) {
	#page {
		font-size: 93%;
	}
}




/*
 * header
 */

/* @sp */
@media screen and (max-width: 772px) {
	#header {
		position: fixed;
		left: 0;
		top: 0;
		z-index: 99990;
		width: 100%;
	}
		#header > .wrap {
			position: relative;
		}
			#header h1 {
				padding-top: 10px;
				padding-top: 2.667vw;
			}
				#header h1 a,
				#header h1 span {
					display: block;
					width: 62px;
					width: 16.533vw;
					height: 18px;
					height: 4.8vw;
					margin: 0 auto;
					background-image: url(../img/logotype_blk.png);
				}
			#header nav {
				display: none;
			}
			#header p {
				position: absolute;
				right: 0;
				top: 0;
			}
				#header p a {
					display: block;
					width: 56px;
					width: 14.933vw;
					height: 40px;
					height: 10.667vw;
					background-image: url(../img/logotype_nri.png);
					background-position: center;
					background-size: 26px 14px;
					background-size: 6.933vw 3.733vw;
				}
			#header .btn_drawer {
				position: fixed;
				left: 0;
				top: 0;
				z-index: 99999;
				display: block;
				width: 45px;
				width: 12vw;
				height: 40px;
				height: 10.666vw;
				background-image: url(../img/btn_drawer.png);
				background-repeat: no-repeat;
				background-size: contain;
			}
	/* fix */
	#header.fix {
		height: 40px;
		height: 10.666vw;
		background-color: #000;
	}
		#header.fix > .wrap {

		}
			#header.fix h1 {

			}
				#header.fix h1 a,
				#header.fix h1 span {
					background-image: url(../img/logotype_wht.png);
				}
				#header.fix p a {
					background-image: url(../img/logotype_nri_wht.png);
				}
			#header.fix .btn_drawer {
				background-image: url(../img/btn_drawer_wht.png);
			}
			#header.fix .btn_drawer.focus {
				background-image: url(../img/btn_close_wht.png);
			}
}

/* @monitor */
@media screen and (min-width: 773px) {
	#header {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
		width: 100%;
		padding: 0 9.027%;
	}
		#header > .wrap {
			position: relative;
			padding-top: 35px;
		}
			#header h1 {
				
			}
				#header h1 a,
				#header h1 span {
					display: block;
					width: 142px;
					height: 42px;
					background-image: url(../img/logotype_blk.png);
				}
			#header nav {
				
			}
				#header ul {
					position: absolute;
					right: 118px;
					top: 61px;
					display: table;
				}
					#header li {
						display: table-cell;
						padding-left: 64px;
					}
						#header a {
							display: block;
							height: 22px;
						}
						#header a.item01 {
							width: 81px;
							background-image: url(../img/nav_blk_concept.png);
						}
						#header a.item02 {
							width: 71px;
							background-image: url(../img/nav_blk_service.png);
						}
						#header a.item03 {
							width: 75px;
							background-image: url(../img/nav_blk_contact.png);
						}
			#header p {
				position: absolute;
				right: 0;
				top: 53px;
			}
				#header p a {
					display: block;
					width: 48px;
					height: 25px;
					background-image: url(../img/logotype_nri.png);
				}
			#header .btn_drawer {
				display: none;
			}

	/* header.fix */
	/*#header.fix {
		position: fixed;
		height: 50px;
		background-color: #000;
	}
		#header.fix > .wrap {
			position: relative;
			padding-top: 9px;
		}
			#header.fix h1 {
				width: 102px;
				height: 30px;
				background-image: url(../img/logotype_wht.png);
			}
			#header.fix nav {
				
			}
				#header.fix ul {
					top: 17px;
				}
					#header.fix li {
						padding-left: 60px;
					}
						#header.fix a {
							height: 17px;
						}
						#header.fix a.item01 {
							width: 66px;
							background-image: url(../img/nav_wht_concept.png);
						}
						#header.fix a.item02 {
							width: 58px;
							background-image: url(../img/nav_wht_service.png);
						}
						#header.fix a.item03 {
							width: 60px;
							background-image: url(../img/nav_wht_contact.png);
						}*/
}

/* @monitor : small-medium */
@media screen and (min-width: 773px) and (max-width: 972px) {
		#header > .wrap {
			padding-top: 30px;
		}
			#header h1 {
				
			}
				#header h1 a,
				#header h1 span {
					width: 121px;
					height: 36px;
				}
			#header nav {
				
			}
				#header ul {
					right: 108px;
					top: 51px;
				}
					#header li {
						padding-left: 54px;
					}
						#header a {
							height: 19px;
						}
						#header a.item01 {
							width: 70px;
						}
						#header a.item02 {
							width: 61px;
						}
						#header a.item03 {
							width: 65px;
						}
			#header p {
				top: 45px;
			}
				#header p a {
					width: 41px;
					height: 21px;
				}
}



/*
 * #main
 */

/* @sp */
@media screen and (max-width: 772px) {
	#main {
		
	}
}

/* @monitor */
@media screen and (min-width: 773px) {
	#main {
		padding: 0 9.027%;
	}
}



/*
 * #footer
 */

/* @sp */
@media screen and (max-width: 772px) {
	#footer {
		margin-top: 32%;
		padding-bottom: 12%;
	}
		#footer > .wrap {

		}
			#footer nav {
				
			}
				#footer .gnavi {
					display: none;
				}
				#footer .cnavi {
					background-color: rgba(255,255,255,0.1);
					border-top: 0.99px solid rgba(0,0,0,0.085);
				}
					#footer .cnavi li {
						position: relative;
						display: block;
						width: 50%;
						border-bottom: 0.99px solid rgba(0,0,0,0.085);
						float: left;
					}
					#footer .cnavi li:nth-child(even):before {
						content: '';
						position: absolute;
						left: 0;
						top: 10px;
						top: 2.667vw;
						display: block;
						width: 1px;
						height: 30px;
						height: 8vw;
						border-left: 0.99px solid rgba(0,0,0,0.085);
					}
						#footer .cnavi a {
							display: table;
							width: 100%;
							height: 50px;
							height: 13.333vw;
							font-size: 1.1em;
							font-size: 2.933vw;
							line-height: 1.363;
							text-decoration: none;
						}
							#footer .cnavi a span {
								display: table-cell;
								text-align: center;
								vertical-align: middle;
							}
			#footer small {
				display: block;
				width: 100%;
				margin-top: 12%;
				font-size: 1.0em;
				font-size: 2.667vw;
				text-align: center;
			}
}

/* @monitor */
@media screen and (min-width: 773px) {
	#footer {
		margin-top: 200px;
		padding: 0 9.027%;
		padding-top: 250px;
		padding-bottom: 9.027%;
		padding-bottom: 4.5%;
	}
		#footer > .wrap {
			position: relative;
			padding-bottom: 36px;
		}
			#footer nav {
				
			}
				#footer .gnavi {
					display: table;
					margin: 0 auto;
				}
					#footer .gnavi li {
						display: table-cell;
						padding-left: 66px;
					}
					#footer .gnavi li:first-child {
						padding-left: 0;
					}
						#footer .gnavi a {
							display: block;
							height: 19px;
						}
						#footer .gnavi a.item00 {
							width: 29px;
							background-image: url(../img/nav_blk_top.png);
						}
						#footer .gnavi a.item01 {
							width: 70px;
							background-image: url(../img/nav_blk_concept.png);
						}
						#footer .gnavi a.item02 {
							width: 61px;
							background-image: url(../img/nav_blk_service.png);
						}
						#footer .gnavi a.item03 {
							width: 65px;
							background-image: url(../img/nav_blk_contact.png);
						}
				#footer .cnavi {
					display: table;
					margin: 0 auto;
					margin-top: 160px;
				}
					#footer .cnavi li {
						display: table-cell;
						padding-left: 36px;
					}
					#footer .cnavi li:first-child {
						padding-left: 0;
					}
						#footer .cnavi a {
							font-size: 1.2em;
							line-height: 1.1;
							text-decoration: none;
							white-space: nowrap;
						}
			#footer small {
				position: absolute;
				left: 0;
				bottom: 0;
				display: block;
				width: 100%;
				font-size: 1.1em;
				text-align: center;
			}
}

/* @monitor : small-medium */
@media screen and (min-width: 773px) and (max-width: 972px) {
					#footer .gnavi li {
						padding-left: 60px;
					}
				#footer .cnavi {
					margin-top: 140px;
				}
					#footer .cnavi li {
						padding-left: 24px;
					}
}





/*
 * loading_layer
 */
.loading_layer {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 999999;
}



/*
 * cover_layer
 */
.cover_layer {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 5000;
	background-color: rgba(0,0,0,0.5);
	opacity: 0;
}
.cover_layer.trans {
	background-color: rgba(0,0,0,0);
}



/*
 * #drawer_layer
 */

/* @sp */
@media screen and (max-width: 772px) {
	#drawer_layer {
		position: fixed;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 800;
		display: none;
		background-color: #000;
	}
	#drawer_layer.show {
		display: block;
	}
		#drawer_layer > .wrap {
			padding: 0 8%;
		}
			#drawer_layer ul {
				border-top: 0.99px solid #333;
			}
				#drawer_layer li {
					display: table;
					width: 100%;
					height: 80px;
					height: 21.333vw;
					border-bottom: 0.99px solid #333;
				}
					#drawer_layer span {
						display: table-cell;
						text-align: center;
						vertical-align: middle;
					}
						#drawer_layer i {
							display: block;
							width: 100%;
							padding-top: 6.984%;
							background-repeat: no-repeat;
							background-position: center;
							background-size: contain;
						}
						#drawer_layer .top i { background-image: url(../img/nav_wht_top.png); }
						#drawer_layer .concept i { background-image: url(../img/nav_wht_concept.png); }
						#drawer_layer .service i { background-image: url(../img/nav_wht_service.png); }
						#drawer_layer .contact i { background-image: url(../img/nav_wht_contact.png); }
}

/* @monitor */
@media screen and (min-width: 773px) {
	#drawer_layer {
		display: none;
	}
}