@charset "UTF-8";
/*==========================================================================================

  site top.css
  
============================================================================================ */

/* mainVisual
 ----------------------------------------------------------------------------------------- */
 
#mainVisual {
	margin: 0 auto;
	width: auto;
	min-width:980px;
	height:305px;
	text-align:center;
	background:url(../images/img_main01.jpg) top center no-repeat;

}

#mainVisual li {
	display: block;
	text-indent:-9999px;
	border:none;
}

/* contents
 ----------------------------------------------------------------------------------------- */
 
#subNavi {
	overflow:hidden;
	width:738px;
	margin-right:-6px;
	margin-bottom:30px;
	float:left;
}

#subNavi li {
	width:240px;
	float:left;
	margin-right:6px;
}

#subNavi li a {
	display:block;
	overflow:hidden;
	width:240px;
	height:0;
	padding-top:100px;
	background:url(../images/btn_sub-en.jpg) no-repeat;
}

#subNavi .snavi01 a { background-position:0 0; }
#subNavi .snavi01 a:hover { background-position:0 -100px; }

#subNavi .snavi02 a { background-position:-240px 0; }
#subNavi .snavi02 a:hover { background-position:-240px -100px; }

#subNavi .snavi03 a { background-position:-480px 0; }
#subNavi .snavi03 a:hover { background-position:-480px -100px; }

#btmArea {
	width:980px;
	overflow:hidden;
	_margin-bottom:30px;
}

#contactBox {
	width:240px;
	height:98px;
	float:right;
	border:1px solid #CCCCCC;
}

#contactBox h4 {
	background-color:#EEEEEE;
	text-align:center;
	padding:8px;
	font-size:90%;
}

#contactBox .contactInner {
	padding:10px;
}

#contactBox .naviComt {
	color:#999999;
	font-size:80%;
	font-weight:bold;
	margin-bottom:5px;
}

#contactBox .tel {
	width:215px;
	height:0;
	overflow:hidden;
	padding-top:21px;
	background:url(../images/bg_tel-en2.gif) no-repeat left top ;
}

/*==========================================================================================

  site layout.css
  
============================================================================================ */

html, body {
	min-width:980px;
	height: 100%;
	color:#333333;
}

#container {
	min-height: 100%;
	height: auto !important;
	height: 100%;
	margin: 0 auto ;
	position:relative;
}

/* header, headNavi
 ----------------------------------------------------------------------------------------- */
#header {
	width:100%;
	padding:20px 0 15px;
}

#headerArea {
	width:980px;
	margin:0 auto;
	overflow:hidden;
}

h1 a {
	display:block;
	overflow:hidden;
	width:210px;
	float:left;
	height:0;
	padding-top:56px;
	background:url(../images/logo-en.gif) no-repeat;
}


#headerArea .menu {
	margin-top:22px;
	width:130px;
	overflow:hidden;
	float:right;
	margin-right:10px;
}

#headerArea .language a {
	display:block;
	overflow:hidden;
	width:130px;
	float:right;
	height:0;
	padding-top:21px;
	background:url(../images/btn_japanese.jpg) no-repeat;
}

#headerArea .language a:hover {
	background-position:0 -21px;
}

#headerArea .telBox {
	width:250px;
	float:right;
	margin-left:10px;
}

#headerArea .naviComt {
	color:#999999;
	font-size:85%;
	font-weight:bold;
	text-align:right;
	margin-bottom:5px;
}

#headerArea .tel {
	width:250px;
	float:left;
	height:0;
	overflow:hidden;
	padding-top:21px;
	background:url(../images/bg_tel-en.gif) no-repeat left top ;
}

#glovalNavi {
	width:100%;
	overflow:hidden;
	margin:0 0 5px;
	background:url(../images/bg_glovalnaviArea.jpg) repeat-x left top ;
}

#glovalNavi ul {
	width:980px;
	margin:0 auto;
}

#glovalNavi li {
	display:inline;
}

#glovalNavi .gNavi01 a { width:129px; }
#glovalNavi .gNavi02 a { width:118px; }

#glovalNavi li a {
	display:block;
	overflow:hidden;
	float:left;
	height:0;
	padding-top:50px;
	background:url(../images/bg_glovalnavi-en.jpg) no-repeat;
}

#glovalNavi .gNavi01 a { background-position:0 0; }
#glovalNavi .gNavi01 a:hover { background-position:0 -50px; }
#company #glovalNavi .gNavi01 a { background-position:0 -50px; }

#glovalNavi .gNavi02 a { background-position:-129px 0; }
#glovalNavi .gNavi02 a:hover { background-position:-129px -50px; }
#service #glovalNavi .gNavi02 a { background-position:-129px -50px; }

/* wrapper, contents
 ----------------------------------------------------------------------------------------- */

#wrapper {
	width:100%;
}

#wrap {
	width:980px;
	overflow:hidden;
	margin:0 auto;
	padding:20px 0;
	background-color:#FFF;
}

#contents {
	float:right;
	width:730px;
}

#mainImg h2 {
	width:100%;
	display:block;
	overflow:hidden;
	height:0;
	padding-top:150px;
	background:url(../images/bg_mainimage-en.jpg) no-repeat;
	margin:0 auto 30px;
}

#company #mainImg h2 { background-position:center 0; }
#service #mainImg h2 { background-position:center -150px; }

h3 {
	background:url(../images/bg_h3.gif) no-repeat left top;
	font-size:25px;
	color:#0E3393;
	padding-left:20px;
	margin-bottom:40px;
	font-weight:normal;
	line-height:40px;
	zoom:1;
}

/* sideMenu
 ----------------------------------------------------------------------------------------- */
 
#sideMenu {
	width:200px;
	float:left;
}

#sideNavi {
	width:200px;
	border-top:1px dotted #999999;
	margin-bottom:30px;
}

#sideNavi li {
	border-bottom:1px dotted #999999;
}

#sideNavi li a {
	width:150px;
	height:50px;
	display:block;
	line-height:50px;
	padding-left:50px;
	color:#0E3393;
	font-size:100%;
	background:url(../images/bg_arrow02.gif) no-repeat;
}

#sideNavi li a:hover {
	background-position:0 -50px;
	text-decoration:none;
}

#sideNavi li a.multiLine {
	height:44px;
	display:block;
	line-height:1.4 !important;
	padding-top:6px;
}

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

#footer {
	width:100%;
	min-width:980px;
}

#footerNavi {
	width:100%;
	padding:15px 0;
	min-height:20px;
	overflow:hidden;
	color:#FFF;
	background:url(../images/bg_footernaviArea.jpg) repeat-x left top ;
}

#footerNavi ul {
	width:980px;
	margin:0 auto;
	text-align:center;
	overflow:hidden;
}

#footerNavi li {
	display:inline;
	border-right:1px solid #dedede;
}

#footerNavi li.fstNv {
	border-left:1px solid #dedede;
}

#footerNavi li a {
	color:#FFFFFF;
	font-size:85%;
	padding:0 20px;
    text-shadow: 0px 1px 1px #000000;
}

#footerInfo {
	width:100%;
	height: 150px;
	margin:0 auto;
	padding-top:30px;
	background:url(../images/bg_footer.jpg) no-repeat center top ;
}

#footerInfo .companyName a {
	display:block;
	width:170px;
	background:url(../images/logo_footer.png) no-repeat left top ;
	height:0;
	overflow:hidden;
	padding-top:27px;
	margin:0 auto;
	margin-bottom:15px;
}

#footerInfo .companyAddress {
	color:#333333;
	text-align:center;
	font-size:90%;
	margin-bottom:15px;
}

#footerInfo .copyright {
	color:#2B4B97;
	text-align:center;
	font-size:90%;
}

/* table
 ----------------------------------------------------------------------------------------- */
 
table {
	width:100%;
	border-top:1px solid #CCCCCC;
	border-left:1px solid #CCCCCC;
	border-right:1px solid #CCCCCC;
}

th, td {
	border-bottom:1px solid #CCCCCC;
	border-right:1px solid #CCCCCC;
	padding:5px 10px;
}

th {
	vertical-align:top;
	background-color:#F0F5FF;
	font-weight:normal;
}

/* pagetop
 ----------------------------------------------------------------------------------------- */
 
#pagetop {
	  position:fixed;
	  width:30px;
	  height:110px;
	  right:0;
	  bottom:50px;
	  z-index: 9999;
  }
  
#pagetop a {
	display:block;
	width:30px;
	overflow:hidden;
	height:0;
	padding-top:110px;
	background:url(../images/bg_pagetop.gif) no-repeat;
	outline:none;
}

@media screen and (max-device-width: 480px) {
#pagetop { display:none; }
}

@media screen and (max-device-width: 1024px) {
#pagetop { display:none; }
}

/* company
 ----------------------------------------------------------------------------------------- */
 
#company h4 {
	border-left:3px solid #CCD6ED;
	border-bottom:1px solid #CCD6ED;
	border-top:1px solid #CCD6ED;
	border-right:1px solid #CCD6ED;
	color:#0E3393;
	background-color:#F5F5FA;
	line-height:40px;
	font-size:20px;
	padding-left:10px;
	margin-bottom:20px;
}
 
#company .greeting {
	width:550px;
	float:left;
	overflow:hidden;
}

#company .greeting p {
	margin-bottom:15px;
}

#company .greetingImg {
	width:150px;
	float:right;
}

#company .greetingSign {
	display:block;
    overflow:hidden;
	float:right;
	height:0;
	padding-top:25px;
	background:url(../images/img_company_sign-en.gif) no-repeat left top ;
	width:180px;
}

#company .tbl_company {
	margin-bottom:40px;
}

#company .baseTtl {
	overflow:hidden;
	width:100%;
}

#company .baseName {
	font-weight:bold;
	color:#0C3392;
	margin-right:10px;
	float:left;
}

#company .mapBtn {
	float:left;
	width:34px;
}

#company .mapBtn a {
	display:block;
    overflow:hidden;
	height:0;
	padding-top:19px;
	background:url(../images/bg_mapBtn.gif) no-repeat left top ;
	width:34px;
}

#company .mapBtn a:hover {
	background-position:0 -19px;
}

/* service
 ----------------------------------------------------------------------------------------- */
 
.section {	margin-bottom:50px; }
 
.section h5 {
	font-size:14px;
	margin-bottom:30px;
	line-height:2;
}
 
#service .section .flowBox .flowBoxInner,
#service .section .flowBox .flowBoxInnerLast {
	border:7px solid #9EADD3;
	width:716px;
	overflow:hidden;
	vertical-align:bottom;
}

#service .section .flowBox .flowBoxInner img {
	width:241px;
	margin:2px 2px 2px 0;
	float:right;
}

#service .section .flowBox .flowBoxInner dl {
	display:block;
	width:469px;
	float:left;
	margin:2px;
	_margin:2px 2px 2px 1px;
}

#service .section .flowBox .flowBoxInnerLast dl {
	width:716px;
	overflow:hidden;
	float:left;
}

#service .section .flowBox .flowBoxInner dt,
#service .section .flowBox .flowBoxInnerLast dt {
	display:block;
	background-color:#CFD6E9;
	color:#0C3392;
	font-size:15px;
	padding:5px 10px;
}

#service .section .flowBox .flowBoxInner dd,
#service .section .flowBox .flowBoxInnerLast dd {
	display:block;
	padding:10px;
}

#service .section .flowBox .arrowBox03 {
	width:730px;
	text-align:center;
}

#service .section .flowList dl {
	display:block;
	width:730px;
	overflow:hidden;
	margin-bottom:10px;
}

#service .section .flowList dt {
	display:block;
	width:255px;
	float:left;
	color:#FFF;
	font-size:15px;
	padding-left:35px;
	padding-right:10px;
}

#service .section .flowList dd {
	display:block;
	width:400px;
	float:left;
	background-color:#E6EAF4;
	padding:10px 15px;
	color:#0C3392;
}

#service .section .flowList .flow01,
#service .section .flowList .flow02,
#service .section .flowList .flow03,
#service .section .flowList .flow04,
#service .section .flowList .flow05 {
	background-color:#E6EAF4;
}

#service .section .flowList .flow01 dt { background:url(../images/bg_flow01-en.gif) no-repeat left top; height:70px; padding-top:40px; }
#service .section .flowList .flow02 dt { background:url(../images/bg_flow02-en.gif) no-repeat left top; height:70px; padding-top:20px; }
#service .section .flowList .flow03 dt { background:url(../images/bg_flow03-en.gif) no-repeat left top; height:90px; padding-top:40px; }
#service .section .flowList .flow04 dt { background:url(../images/bg_flow04-en.gif) no-repeat left top; height:70px; padding-top:20px; }
#service .section .flowList .flow05 dt { background:url(../images/bg_flow05-en.gif) no-repeat left top; height:50px; padding-top:20px;}

.section .secBox {
	width:730px;
	overflow:hidden;
}

.section .summaryBox {
	width:450px;
	float:left;
}

.section .imgBox {
	width:250px;
	float:right;
}

.section .summaryBox p { margin-bottom:10px; }

#service h5.works {
	border-left:3px solid #CCD6ED;
	border-bottom:1px solid #CCD6ED;
	border-top:1px solid #CCD6ED;
	border-right:1px solid #CCD6ED;
	color:#0E3393;
	background-color:#F5F5FA;
	line-height:40px;
	font-size:20px;
	padding-left:10px;
	margin-bottom:20px;
}

.mb50 { margin-bottom:50px; }
.mt50 { margin-top:50px; }
