/* ---------------------------------------------------------------
start COMMON CSS
--------------------------------------------------------------- */

@import url('http://fonts.googleapis.com/earlyaccess/notosansjapanese.css');

body {
	width: 100%;
	margin: 0;
	padding: 0;
	color: #6c6a6a;
	font-family: 'Noto Sans Japanese', Meiryo, sans-serif;
	font-size: 16px;
	line-height: 1.5em;
	-webkit-text-size-adjust: 100%;
	background-color: #FFF;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

a {
	outline: none;
	color: #3d5385;
}

a:hover {
	cursor: pointer;
	text-decoration: none;
}

img {
	border: none;
	margin: 0;
	padding: 0;
	-ms-interpolation-mode: bicubic !important;
	vertical-align: top;
}

p {
	margin: 0 0 15px 0;
	padding: 0;
}

h1,h2,h3,h4,h5,h6 {
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: normal;
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

dl,dt,dd {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0px;
}

.aligncenter {
	text-align: center;
}

.alignright {
	text-align: right;
}

.mt5 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt25 {margin-top: 25px;}
.mt30 {margin-top: 30px;}
.mt35 {margin-top: 35px;}
.mt40 {margin-top: 40px;}
.mt45 {margin-top: 45px;}
.mt50 {margin-top: 50px;}
.mt55 {margin-top: 55px;}
.mt60 {margin-top: 60px;}
.mt65 {margin-top: 65px;}
.mt70 {margin-top: 70px;}
.mt80 {margin-top: 80px;}
.mt85 {margin-top: 85px;}
.mt130 {margin-top: 130px;}
.mb5 {margin-bottom: 5px;}
.mb10 {margin-bottom: 10px;}
.mb15 {margin-bottom: 15px;}
.mb20 {margin-bottom: 20px;}
.mb25 {margin-bottom: 25px;}
.mb30 {margin-bottom: 30px;}
.mb35 {margin-bottom: 35px;}
.mb40 {margin-bottom: 40px;}
.mb45 {margin-bottom: 45px;}
.mb50 {margin-bottom: 50px;}
.mb55 {margin-bottom: 55px;}
.mb60 {margin-bottom: 60px;}
.mb65 {margin-bottom: 65px;}
.ml5 {margin-left: 5px;}
.ml10 {margin-left: 10px;}
.ml15 {margin-left: 15px;}
.ml20 {margin-left: 20px;}
.ml25 {margin-left: 25px;}
.ml30 {margin-left: 30px;}
.ml35 {margin-left: 35px;}
.ml40 {margin-left: 40px;}
.ml45 {margin-left: 45px;}
.ml50 {margin-left: 50px;}
.ml55 {margin-left: 55px;}
.ml60 {margin-left: 60px;}
.ml65 {margin-left: 65px;}
.ml70 {margin-left: 70px;}
.ml75 {margin-left: 75px;}
.ml80 {margin-left: 80px;}
.ml85 {margin-left: 85px;}
.ml90 {margin-left: 90px;}
.ml130 {margin-left: 130px;}
.mr5 {margin-right: 5px;}
.mr10 {margin-right: 10px;}
.mr15 {margin-right: 15px;}
.mr20 {margin-right: 20px;}
.mr25 {margin-right: 25px;}
.mr30 {margin-right: 30px;}
.mr35 {margin-right: 35px;}
.mr40 {margin-right: 40px;}
.mr45 {margin-right: 45px;}
.mr50 {margin-right: 50px;}
.mr55 {margin-right: 55px;}
.mr60 {margin-right: 60px;}

.fleft {
	float: left;
}

.fright {
	float: right;
}

.note {
	font-size: .7em;
}

.note2 {
	font-size: .8em;
	line-height: 150%;
}

.red {
	color: #e70012;
}

.underline {
	text-decoration: underline;
}

.iblock {
	display: inline-block;
}



/*------------ footer ------------*/

footer {
	width: 100%;
	margin: 0;
	padding: 20px 0 30px 0;
	color: #d4d4d5;
	font-size: 14px;
	line-height: 1.3em;
	background-color: #464646;
}

footer a {
	color: #d4d4d5;
}

a.btn_pagetop {
	width: 80px;
	height: 40px;
	margin: 0 auto 15px auto;
	padding: 0;
	vertical-align: middle;
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: 5px;
	display: block;
	position: relative;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

a.btn_pagetop::before {
	content: "";
	position: absolute;
	top: 15px;
	left: 0;
	right: 0;
	width: 21px;
	height: 21px;
	margin: auto;
	vertical-align: middle;
	display: block;
	border-top: 2px solid #767677;
	border-left: 2px solid #767677;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

a.btn_pagetop:hover {
	border: 1px solid #767677;
}

.col_footer {
	width: 1024px;
	margin: 0 auto 5px auto;
	padding: 0 0 30px 0;
	border-top: 1px solid #767677;
	border-bottom: 1px dashed #767677;
}

.box_footer_l {
	width: 410px;
	margin: 0;
	padding: 20px 0 0 20px;
	box-sizing: border-box;
	float: left;
}

.box_footer_c {
	width: 380px;
	margin: 0;
	padding: 25px 0 0 40px;
	box-sizing: border-box;
	float: left;
	position: relative;
}

.box_footer_r {
	margin: 0;
	padding: 20px 0 0 40px;
	box-sizing: border-box;
	float: left;
	position: relative;
}

.box_footer_c::before,
.box_footer_r::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 52px;
	margin: 0;
	padding: 0;
	border-left: 1px solid #767677;
	display: block;
}

.logo_footer {
	margin: 0 20px 0 0;
	padding: 0;
	float: left;
}

footer h3 {
	margin: 0 0 15px 0;
	font-size: 14px;
}

.box_footer_r  a {
	line-height: 1.8em;
}

.copyright {
	width: 1024px;
	margin: 0 auto;
	padding: 0;
	font-size: 10px;
	text-align: right;
}



/*------------ sub ------------*/

#submainimg {
	width: 100%;
	height: 140px;
	margin: 0 0 50px 0;
	padding: 30px 0 0 0;
	background-image: url("../img/bg_sub.jpg");
	background-position: center;
	background-repeat: no-repeat;
	box-sizing: border-box;
}

.logo_submainimg {
	width: 1024px;
	margin: 0 auto;
	padding: 0;
}

#subcontent {
	width: 1024px;
	margin: 0 auto;
	padding: 0 0 60px 0;
}

.leftcontent {
	width: 380px;
	margin: 0 0 0 40px;
	padding: 0;
	float: left;
}

.rightcontent {
	width: 604px;
	margin: 0;
	padding: 0;
	float: left;
}

.subttl {
	margin: 12px 0 0 0;
	padding: 0;
	font-size: 14px;
}



/*------------ top ------------*/

#mainimg {
	width: 100%;
	height: 860px;
	margin: 0 0 110px 0;
	padding: 0;
	background-image: url("../img/top/bg_mainimg.jpg");
	background-position: center;
	background-repeat: no-repeat;
}

.col_mainimg {
	width: 1024px;
	margin: 0 auto;
	padding: 350px 0 0 0;
}

.logo_mainimg {
	width: 366px;
	margin: 0 70px 0 0;
	padding: 0;
	float: left;
}

.lead_mainimg {
	width: 588px;
	margin: 0;
	padding: 25px 0 0 0;
	font-size: 14px;
	float: left;
}

.lead_mainimg h2 {
	margin: 0 0 13px 0;
	padding: 0;
	font-size: 20px;
}

a.btn_mainimg {
	width: 63px;
	height: 34px;
	margin: 250px auto 15px auto;
	padding: 0;
	vertical-align: middle;
	text-decoration: none;
	overflow: hidden;
	display: block;
	position: relative;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

a.btn_mainimg::before {
	content: "";
	position: absolute;
	bottom: 15px;
	left: 0;
	right: 0;
	width: 60px;
	height: 60px;
	margin: auto;
	vertical-align: middle;
	display: block;
	border-bottom: 2px solid #b1b1b1;
	border-right: 2px solid #b1b1b1;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#topcontent {
	width: 1024px;
	margin: 0 auto;
	padding: 0 0 80px 0;
}

.mds_topworks {
	margin: 0 0 70px 0;
	padding: 8px 0 0 0;
	font-size: 14px;
	text-align: center;
}

.box_topworks {
	width: 250px;
	margin: 0 24px;
	padding: 0;
	text-align: center;
	float: left;
}

.box_topworks:first-child {
	margin: 0 24px 0 89px;
}

.icon_topwork {
	width: 194px;
	height: 194px;
	margin: 0 auto 30px auto;
	padding: 0;
	color: #FFF;
	font-size: 18px;
	-webkit-border-radius: 97px;
	-moz-border-radius: 97px;
	border-radius: 97px;
	background-color: #0062a2;
}

.img_topwork {
	height: 102px;
	box-sizing: border-box;
}

.img_topwork.design {
	padding: 34px 0 0 0;
}

.img_topwork.data {
	padding: 25px 0 0 0;
}

.img_topwork.meeting {
	padding: 30px 0 0 0;
}



/*------------ privac ------------*/

dl.list_privacy {
	margin: 0 auto 30px auto;
	padding: 0;
}

dl.list_privacy dt {
	margin: 0 0 5px 0;
	padding: 0;
	font-weight: bold;
}

dl.list_privacy dd {
	margin: 0 0 20px 25px;
	padding: 0;
}



/*------------ company ------------*/

.cont_company {
	margin: 0 0 60px 0;
	padding: 0 0 60px 0;
	border-bottom: 1px solid #d0d0d0;
}

.col_map {
	width: 100%;
	min-height: 640px;
	margin: 0;
	padding: 0;
	background-image: url("../img/company/bg_map.jpg");
	background-position: 0 bottom;
	background-repeat: no-repeat;
}

dl.list_map dt {
	width: 115px;
	margin: 0 0 22px 0;
	padding: 0;
	float: left;
}

dl.list_map dd {
	width: 489px;
	margin: 0 0 22px 0;
	padding: 0;
	float: left;
}




/* ---------------------------------------------------------------
	end COMMON CSS
--------------------------------------------------------------- */




