@charset "utf-8";
/* CSS Document */

@font-face {
	font-family: 'font_main';
	src: url('./yugothic.ttf');
}

body {
	font-family: "font_main", 'Roboto' , sans-serif;
	font-weight: normal;
	background-color: #ffffff;
	margin: 0;
	padding: 0;
	color: #000;
	text-align: center;
	font-size: 14px;
	line-height: 1.7;
}
ul, ol, dl {
	padding: 0;
	margin: 0;
}
ul, li {
	margin: 0;
	padding: 0;
}
li {
	list-style: none;
}
h1, h2, h3, h4, h5, h6, p {
	margin: 0;
	padding: 0;
	font-weight: normal;
}
h4 {
	font-size: 16px;
}
p {
	margin: 25px 0;
}
a img, img {
	border: none;
}
a {
	color: #000000;
	text-decoration: none;
}
.Wrapper {
	width: 100%;
	background-color: #ffffff;
	margin: 0 auto;
}
.Wrapper .bg_grn {
	background: url(../images/content_bg_grn.gif);
	margin-top: 50px;
	padding: 50px 0;
}
.contentWrap {
	max: 100%;
	margin: auto;
	padding: 50px 0 0 0;
}
.contentWrap.top {
	padding: 0;
}
.contentWrap.lastcontent {
	padding-bottom:150px !important;
}
.content {
	width: 1000px;
	margin: auto;
}
.fltrt {
	float: right;
	margin-left: 8px;
}
.fltlft {
	float: left;
	margin-right: 8px;
}
.clearfloat {
	clear: both;
	height: 0;
	font-size: 1px;
	line-height: 0px;
}
h1 {
	background: url(../images/logo.png) no-repeat;
	text-indent: -9999px;
	width: 329px;
	height: 147px;
	margin: auto;
}
h1 a {
	width:100%;
	height:100%;
	display:block;
}
ul.naviList {
	width: 770px;
	margin: auto;
}
ul.naviList li {
	float: left;
	margin-right: 80px;
}
ul.naviList li.last {
	margin-right: 0;
}
ul.naviList:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
#content_top {
	margin-top: 80px;
}
.navbar {
	background-color: rgba(255,255,255,0.8);
	color: #FFF;
	width: 100%;
	position: fixed;
	top: 0px;
	left: 0;
	right: 0;
	margin: auto;
	height: 80px;
	line-height: 1.5;
	z-index: 99999999;
}
ul.naviList li.top {
	display: none;
}
ul.naviList li:nth-child(2) {
	background: url(../images/navi01_off.png) no-repeat center;
	width: 90px;
	height: 78px;
	text-indent: -9999px;
}
ul.naviList li:nth-child(3).active {
	background: url(../images/navi02_on.png) no-repeat center;
}
ul.naviList li:nth-child(3) {
	background: url(../images/navi02_off.png) no-repeat center;
	width: 90px;
	height: 78px;
	text-indent: -9999px;
}
ul.naviList li:nth-child(4).active {
	background: url(../images/navi05_on.png) no-repeat center;
}
ul.naviList li:nth-child(4) {
	background: url(../images/navi05_off.png) no-repeat center;
	width: 90px;
	height: 78px;
	text-indent: -9999px;
}
ul.naviList li:nth-child(5).active {
	background: url(../images/navi03_on.png) no-repeat center;
}
ul.naviList li:nth-child(5) {
	background: url(../images/navi03_off.png) no-repeat center;
	width: 90px;
	height: 78px;
	text-indent: -9999px;
}
ul.naviList li:nth-child(6).active {
	background: url(../images/navi04_on.png) no-repeat center;
}
ul.naviList li:nth-child(6) {
	background: url(../images/navi04_off.png) no-repeat center;
	width: 90px;
	height: 78px;
	text-indent: -9999px;
}
ul.naviList li:nth-child(2).active {
	background: url(../images/navi01_on.png) no-repeat center;
}
li.active {
}
ul.naviList li a {
	display: block;
	width: 100%;
	height: 100%;
}
.mainimgWrap {
	margin: 50px auto 50px;
	background:url(../images/mainimg01.jpg) no-repeat;
	background-position:center;
	background-size:auto 403px;
	height:100%;
	min-height:403px;
	width:100%;
	max-width:1500px;
}
ul.serviceList {
	margin: 90px 0 10px;
}
ul.serviceList li {
	width: 22%;
	float: left;
	padding: 90px 5px 0;
	position: relative;
	text-align: left;
	margin-right: 26px;
}
ul.serviceList li div {
	border-top: 1px solid #000;
	padding-top: 25px;
	margin-top: 10px;
}
ul.serviceList li div p {
	margin-top: 20px;
}
ul.serviceList li div::before {
	position: absolute;
	top: 97px;
	left: 5px;
	display: block;
	width: 50px;
	content: "";
	border-top: 7px solid #000;
}
ul.serviceList:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
h3 {
	font-size: 20px;
	line-height: 1.7;
}
h2.service {
	background: url(../images/tl_service.png) no-repeat;
	width: 111px;
	height: 58px;
	text-indent: -9999px;
	margin: auto;
}
ul.serviceList li:nth-child(1) {
	background: url(../images/service_icn01.png) no-repeat top center;
}
ul.serviceList li:nth-child(2) {
	background: url(../images/service_icn02.png) no-repeat top center;
}
ul.serviceList li:nth-child(3) {
	background: url(../images/service_icn03.png) no-repeat top center;
}
ul.serviceList li:nth-child(4) {
	background: url(../images/service_icn04.png) no-repeat top center;
	margin-right: 0px;
}
.service01 {
	background: url(../images/tl_service01_sub.png) no-repeat;
	width: 209px;
	height: 77px;
	text-indent: -9999px;
	margin: auto;
}
.service02 {
	background: url(../images/tl_service02_sub.png) no-repeat;
	width: 209px;
	height: 77px;
	text-indent: -9999px;
	margin: auto;
}
.service03 {
	background: url(../images/tl_service03_sub.png) no-repeat;
	width: 209px;
	height: 77px;
	text-indent: -9999px;
	margin: auto;
}
.service04 {
	background: url(../images/tl_service04_sub.png) no-repeat;
	width: 209px;
	height: 77px;
	text-indent: -9999px;
	margin: auto;
}
.service05 {
	background: url(../images/tl_service05_sub.png) no-repeat;
	width: 209px;
	height: 77px;
	text-indent: -9999px;
	margin: auto;
}
h2.case {
	background: url(../images/tl_case.png) no-repeat;
	width: 111px;
	height: 58px;
	text-indent: -9999px;
	margin: auto;
}
h2.recruit {
	background: url(../images/tl_recruit.png) no-repeat;
	width: 111px;
	height: 58px;
	text-indent: -9999px;
	margin: auto;
}
h2.company {
	background: url(../images/tl_company.png) no-repeat;
	width: 111px;
	height: 63px;
	text-indent: -9999px;
	margin: auto;
}
h2.contact {
	background: url(../images/tl_contact.png) no-repeat;
	width: 136px;
	height: 58px;
	text-indent: -9999px;
	margin: auto;
}
dl.nohinList01 {
	width: 312px;
	margin: auto;
	margin-top: 30px;
}
dl.nohinList02 {
	width: 400px;
	margin: auto;
	margin-top: 30px;
}
dl.nohinList03 {
	width: 950px;
	margin: auto;
	margin-top: 30px;
	letter-spacing: 0.05em;
}
dl.nohinList01 dt, dl.nohinList02 dt {
	float: left;
	width: 70px;
	background: url(../images/lst_bg.png) no-repeat;
	padding: 3px 16px 3px 0;
	color: #ffffff;
	margin-left: 20px;
}
dl.nohinList01 dd, dl.nohinList02 dd {
	float: left;
	min-width: 50px;
	margin: 0;
	padding: 3px 0 0 0;
}
dl.nohinList03 dt {
	float: left;
	width: 70px;
	background: url(../images/lst_bg.png) no-repeat;
	padding: 3px 16px 3px 0;
	color: #ffffff;
	margin-left: 20px;
}
dl.nohinList03 dt:nth-child(1) {
	margin-left: 0;
}
dl.nohinList03 dd {
	float: left;
	min-width: 50px;
	margin: 0;
	padding: 3px 0 0 0;
	font-size: 13px;
}
dl.nohinList01:after, dl.nohinList02:after, dl.nohinList03:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
h3.partname {
	overflow: hidden;
	text-align: center;
	font-weight: normal;
	font-size: 14px;
	margin-top: 30px;

}
h3.partname span {
	display: inline-block;
	padding: 0px 2.3em;
	position: relative;
}
h3.partname span::before {
	right: 100%;
}
h3.partname span::after {
	left: 100%;
}
h3.partname span::before, h3.partname span::after {
	border-top: 1px solid;
	content: "";
	position: absolute;
	top: 50%;
	width: 99em;
}
#service03_l {
	width: 50%;
	float: left;
}
#service03_l p {
	width: 80%;
	margin: auto;
	margin-top: 10px;
}
#service03_l img {
	margin-bottom: 15px;
}
#service03_r {
	float: right;
	width: 48%;
	height: 261px;
	position: relative;
	margin-left: 20px;
}
#service03_r ul li {
	float: left;
	text-align: left;
	margin-right: 10px;
}
#service03_r ul li img.seino {
	position: absolute;
	bottom: 0;
}
#service03_r ul li img.sagawa {
	position: absolute;
	bottom: 0;
	left: 121px;
}
#service03_r ul li img.yamato {
	position: absolute;
	bottom: 0;
	left: 213px;
}
#service03_r p {
	text-align: left;
	position: absolute;
	top: 80px;
}
.content:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
ul.serviceListThreeCol {
	margin-top: 30px;
}
ul.serviceListThreeCol li {
	float: left;
	width: 33.333333%;
}
ul.serviceListThreeCol li img {
	margin-bottom: 10px;
}
ul.serviceListThreeCol li p {
	width: 70%;
	font-size: 13px;
	margin: auto;
	margin-top: 10px;
}
ul.serviceListThreeCol:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
ul.serviceListTwoCol {
	margin: 30px 0 40px 0;
}
ul.serviceListTwoCol li:first-child {
	float: left;
	width: 66.666666%;
}
ul.serviceListTwoCol li:last-child {
	float: left;
	width: 33.3333333%;
}
ul.serviceListTwoCol:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
ul.serviceListTwoCol2 li {
	float: left;
	width: 50%;
}
ul.serviceListTwoCol2:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
ul.serviceListfourCol li:nth-child(odd) {
	float: left;
	width: 22%;
}
ul.serviceListfourCol li:nth-child(even) {
	float: left;
	width: 4%;
	padding-top: 8%;
}
ul.serviceListfourCol:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
ul.serviceListfourCol, ul.serviceListTwoCol2 {
	margin-top: 30px;
}
ul.serviceListfourCol li p, ul.serviceListThreeCol li p.f_16 {
	font-size: 16px;
}
ul.caseListThreeCol li {
	float: left;
	width: 33.333333%;
}
ul.caseListThreeCol:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
.serviceListTwoCol_img2 {
	margin-left: 90px;
}
ul.serviceListThreeCol.mgn_t50, .mgn_t50 {
	margin-top: 50px;
}
.mgn_t75 {
	margin-top: 75px;
}
h4.tl_after {
	font-size: 20px;
}
.serviceListTwoCol2_img {
	margin-left: 60px;
}
h3.tl_case {
	font-size: 16px;
	margin: 50px 0 30px 0;
}
.loadMoreBtn, .to_submitBtn {
	margin-bottom: 30px;
	color: #ffffff;
	background: #4db332;
	padding: 5px 10px;
	width: 100px;
	margin: auto;
	cursor: pointer;
}
.to_submitBtn a {
	color:#ffffff;
	display:block;
	width:100%;
	height:100%;
}
ul.caseListThreeCol p {
	margin-top: 0;
}
.company_l {
	width: 40%;
	float: left;
	padding-left: 80px;
}
.recruit_l {
	width: 55%;
	float: left;
	padding-left: 80px;
}
.company_r {
	width: 45%;
	float: right;
	padding-right: 70px;
}
.recruit_r {
	width: 189px;
	float: right;
	padding-right: 70px;
	position:relative;
}
.recruit_r img {
	position:absolute;
	right:50px;
}
.recruit_r img.recruit01 {
	top:70px;
}

.recruit_r img.recruit02 {
	top:380px;
}

.recruit_r img.recruit03 {
	top:700px;
}

.recruit_r img.recruit04 {
	top:1020px;
}

.recruit_r img.recruit05 {
	top:1250px;
}


dl.companyList {
	text-align: left;
	margin-top: 50px;
	margin-bottom: 30px;
}
dl.companyList dt {
	clear: left;
	float: left;
	width: 20%;
	padding: 12px 0;
}
dl.companyList dd {
	margin-left: 140px;
	padding: 12px 0;
}

dl.recruitList {
	text-align: left;
	margin-top: 50px;
	margin-bottom: 30px;
	border-bottom:1px solid #999999;
	padding-bottom:50px;
}
dl.recruitList dt {
	clear: left;
	float: left;
	width: 20%;
	padding: 12px 0;
}
dl.recruitList dd {
	margin-left: 140px;
	padding: 12px 0;
}

#pagetop, #content_service, #content_case, #content_recruit, #content_company, #content_contact {
  margin-top: -80px; 
  padding-top: 80px; 
}

.contactWrap {
	width: 70%;
	margin: auto;
}
dl.contactList {
	text-align: left;
	margin-bottom: 30px;
}
dl.contactList dt {
	clear: left;
	float: left;
	width: 20%;
	padding: 15px 0;
}
dl.contactList dd {
	margin-left: 140px;
	padding: 12px 0;
}

dl.contactList_select {
	text-align: left;
	margin-top: 50px;
}
dl.contactList_select dt {
	clear: left;
	float: left;
	width: 20%;
	padding: 15px 0;
}
dl.contactList_select dd {
	margin-left: 140px;
	padding: 15px 0;
}
.contentWrap.bg_grn2 {
	background: #4db332;
	position: relative;
	padding: 0px 0px 10px 0px;
	margin-top:-150px;
}
input {
	width: 70%;
	height: 20px;
	padding:5px;
	font-size:13px;
}
input.address {
	width: 100%;
}
textarea {
	width: 100%;
	height: 150px;
	font-size:14px;
	padding:5px;
}
#to_pagetop {
	position: absolute;
	top: -90px;
	left: 0;
	right: 0;
	margin: auto;
}
ul.footernaviList {
	width: 750px;
	margin: auto;
	margin-top: 150px;
	padding-top: 40px;
}
ul.footernaviList li {
	float: left;
	width: 150px;
}
ul.footernaviList::after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
p#f_logo {
	margin: 50px 0;
}
#f_copy {
	margin-bottom: 0;
}
.sideNavi {
	position: fixed;
	bottom: 400px;
	right: -220px;
}
ul.sidenaviList li {
}
figure {
	position: relative;
	overflow: hidden;
	width: 100px;
}

figcaption {
	position: absolute;
	top: 0;
	left: -100%;
	z-index: 2;
	width: 100%;
	height: 100%;
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 1;
}
figcaption h3 {
	font-size: 13px;
}
figure:hover figcaption {
	top: 0;
	left: 0;
}


#contact_modal_wrap {
    position: fixed;
    top: 0px;
    left: 0px;
    display: none;
}

#contact_modal_wrap_recruit {
    position: fixed;
    top: 0px;
    left: 0px;
    display: none;
}

#contact_modal_inner {
    width: 520px;
    padding: 39px 89px;
    border: 1px solid #DEDEDE;
    background: #FFF none repeat scroll 0% 0%;
    position: fixed;
    top: 150px;
    left: 0px;
    display: none;
    margin-left:-100px;
}

#contact_modal_inner_recruit {
    width: 520px;
    padding: 39px 89px;
    border: 1px solid #DEDEDE;
    background: #FFF none repeat scroll 0% 0%;
    position: fixed;
    top: 150px;
    left: 0px;
    display: none;
    margin-left:-100px;
}

#complete_wrap {
    display: none;
}

#complete_wrap_recruit {
    display: none;
}


dl.contactList dd.err input, dl.contactList dd.err textarea {
	border:1px solid #f89090;
}

#contact_modal_inner th, #contact_modal_inner_recruit th {
    width: 160px;
}
#contact_modal_inner th, #contact_modal_inner td, #contact_modal_inner_recruit th, #contact_modal_inner_recruit td {
    padding-bottom: 15px;
    text-align: left;
}

#contact_modal_inner th, contact_modal_inner_recruit th {
	vertical-align:top;
}
table.form_tbl {
    border-collapse: collapse;
    border-spacing: 0px;
}

#contact_modal_inner td input, #contact_modal_inner td textarea, #contact_modal_inner_recruit td input, #contact_modal_inner_recruit td textarea {
    width: 100%;
    border: 0px none;
    background: transparent none repeat scroll 0% 0%;
}
tr, th, td {
    margin: 0px;
    padding: 0px;
    vertical-align: baseline;
    font-style: normal;
    font-weight: normal;
}

#close_btn, #close_btn_recruit {
	color: #FFF !important;
	background: #cccccc none repeat scroll 0% 0%;
	padding: 5px 10px;
	width: 100px;
	margin: auto;
	cursor: pointer;
	float:left;
}
#close_btn a, #close_btn_recruit a {
	color:#ffffff;
}
#send_btn, #send_btn_recruit {
	color: #FFF !important;
	background: #4DB332 none repeat scroll 0% 0%;
	padding: 5px 10px;
	width: 130px;
	margin: auto;
	cursor: pointer;
	float:right;
}

#send_btn a, #send_btn_recruit a {
	color:#ffffff;
}

#send_btn input, #send_btn_recruit input {
	color:#ffffff;
}

#confirm_btn_set, #confirm_btn_set_recruit {
	width:300px;
	margin:auto;
}


#modal_close_btn, #modal_close_btn_recruit {
	color: #FFF !important;
	background: #4DB332 none repeat scroll 0% 0%;
	padding: 5px 10px;
	width: 130px;
	margin: auto;
	cursor: pointer;
}

#modal_close_btn a, #modal_close_btn_recruit a {
	color:#ffffff;
}

#sendbtn, #sendbtn_recruit {
	width:120px;
	height:auto;
	display:block;
	margin:auto;
}

#pagetop_img {
	width:179px;
	margin:auto;
}

#content_service {
	margin-top:0px;
}

.fancybox-margin {
	margin-right:0px !important;
}


#recruit_txt {
	margin-top:50px;
}

#recruit_txt a {
	text-decoration:underline;
}

.montage_bnr {
	border:1px solid #cccccc;
}
.link_b {
	text-decoration:underline;
}

p.hotel_txt {
	text-align:center;
	padding-left:60px;
}
p.hotel_txt a {
	text-decoration:underline;
}

p.hotel_txt img {
	border:1px solid #cccccc;
}

h4 span {
	font-size:12px;
}

a[href^="http"] {
  background:url(../images/blank_l_icn.png) no-repeat right center;
  padding-right:18px;
  margin-right:5px;
}

h4.case_h4, ul.caseListThreeCol p.case_h4 {
	margin-top:20px;
}
a.link_n {
	background:none;
	width:871px;
}
a.link_n img {
	margin-left:20px;
	margin-top:15px;
}