/* 
class */
.cont{
	width: 1000px;
	margin: 0 auto;
}
.cf:after{
	display: block;
	content: "";
	clear: both;
}
a:hover img{
	opacity: 0.8;
}
.page{
	margin: 40px 0;
}
.tt{
	border-bottom: 3px solid #0236b1;
	padding-bottom: 10px;
	margin-bottom: 20px;
}
img{
	max-width: 100%;
}
h3.sub_tt {
    background: #000c4c;
    color: #fff;
    padding: 14px 0 14px 30px;
    line-height: 1;
}
/* 
header */
header{
}
.logo{
	float: left;
}
.head_contact_area{
	float: right;
}
.head_contact_area .head_tel ,
.head_contact_area .head_contact{
	float: left;
}
header .cont:after ,
.head_contact_area:after{
	display: block;
	content: "";
	clear: both;
}
/* 
nav */
.gnav{
}
.gnav ul{
	margin: 0 auto;
	display: table;
}
.gnav ul:after{
	content: "";
	display: block;
	clear: both;
}
.gnav ul li{
	float: left;
	height:52px;
	text-indent: -99999px;
	text-decoration:none;
	overflow: hidden;
	outline:none;
	background: url(../img/gnav_off.png) no-repeat;
}
.gnav ul li:hover{
	background: url(../img/gnav_on.png) no-repeat;
}
.gnav ul li a{
	display: block;
	height:52px;
}
.gnav ul li a:hover img{
	opacity: 1;
}
.gnav ul li:nth-child(1){
	width: 182px;
	background-position:0 0;
}
.gnav ul li:nth-child(2){
	width: 207px;
	background-position:-182px 0;
}
.gnav ul li:nth-child(3){
	width: 206px;
	background-position:-389px 0;
}
.gnav ul li:nth-child(4){
	width: 202px;
	background-position:-595px 0;
}
.gnav ul li:nth-child(5){
	width: 203px;
	background-position:-802px 0;
}
/* 
footer */
footer .foot_bg{
	background: url(../img/foot_bg.png) no-repeat bottom center;
}
.copy{
	background: #000c4c;
	text-align: center;
	color: #fff;
	font-size: 9px;
	padding: 10px 0;
}
.foot_contact ul li:nth-child(1) {
    float: left;
}
.foot_contact ul li:nth-child(2) {
    float: right;
}
.foot_logo {
    float: left;
}
.foot_about {
    float: right;
}
.foot_about p {
    color: #fff;
}
.foot_info ul{
	text-align: right;
	margin: 4px 0 20px;
}
.foot_info ul li{
	display: inline;
}
.foot_info ul li:last-child{
	margin-left: 20px;
}
.foot_info.cont.cf {
    margin-top: 44px;
}

/* 
top */
.bg_main{
	background: url(../img/bg_main.png) no-repeat center top;
	height: 654px;
	text-align: center;
	z-index: -1;
	position: relative;
	top:-80px;
    margin-bottom: -80px;
	padding-bottom: -150px;
}
.bg_main h2{
	padding-top: 150px;
}
/* 
top_service */
section.top_service ul {
    padding: 25px 20px 40px;
}
section.top_service ul li{
	float: left;
}
section.top_service ul li:nth-child(1) ,
section.top_service ul li:nth-child(2) {
	margin-bottom: 30px;
}
section.top_service ul li:nth-child(even){
	margin-left: 40px;
}
/* 
top_recruit_btn */
.top_recruit_btn{
	background: url(../img/top_recruit_bg.png) no-repeat top center;
	height: 417px;
	margin: 20px auto 50px;
	text-align: center;
}
.top_recruit_btn a{
	position: relative;
	top: 160px;
}
/* 
company */
.message p.message_txt{
	font-size: 20px;
	line-height: 2.4;
}
.message_profile{
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN";
	font-size: 32px;
	margin-top: 46px;
	margin-left: 120px;
}
.message_profile span{
	font-size: 20px;
}
.message_area{
/*	float: left;*/
    text-align: center;
}
.message_img {
    float: right;
    width: 400px;
}
.company table {
    width: 100%;
    border-top: 1px solid #ddd;
}
.company th {
    font-weight: 500;
    text-align: left;
    width: 200px;
}
.company th, .company td {
    border-bottom: 1px solid #ddd;
    padding: 25px 0;
}
.company{
	margin-top: 60px;
}
/* 
business */
.business_txt_tt {
    font-size: 30px;
    color: #000c4c;
    margin: 0 0 20px;
}
section.business_1 ,
section.business_2 ,
section.business_3 ,
section.business_4 ,
section.business_5 {
    border-bottom: 1px dotted #ccc;
    padding-bottom: 40px;
    margin-bottom: 40px;
}
.business_2 ul ,
.business_3 ul ,
.business_4 ul ,
.business_5 ul{
	display: table;
    table-layout: fixed;
	/* max-width: 500px; */
    width: 500px;
	margin-top: 20px;
}
.business_2 ul li ,
.business_3 ul li ,
.business_4 ul li ,
.business_5 ul li{
	display: table-cell;
	vertical-align: bottom;
	padding: 0 5px;
}
.business_2 ul li img {
    max-height: 230px;
}
.business_3 ul li img ,
.business_4 ul li img ,
.business_5 ul li img{
	max-width: 100%;
}
.business_txt {
    float: left;
}
.business_img {
    float: right;
    width: 500px;
}

/* 
recruit */
.recruit_box{
	margin-bottom: 40px;
}
.recruit_box_area{
    background: #efefef;
    padding: 40px;
    margin-bottom: 40px;
}
.recruit_box_area:after{
    display: block;
    content: "";
    clear: both;
}
.recruit_txt {
    float: left;
    width: 65%;
}
.recruit_img {
    float: right;
    width: 30%;
}
.recruit_box dl {
    margin: 0;
}
.recruit_box dt {
    font-size: 30px;
    padding-bottom: 20px;
    border-bottom: 3px solid;
    margin-bottom: 20px;
    line-height: 1.2;
}
.recruit_box dt span{
	font-size: 18px;
	color: #555;
}
.recruit_details table {
    width: 100%;
    border-top: 1px solid #ddd;
}
.recruit_details th {
    font-weight: 500;
    text-align: left;
    width: 200px;
}
.recruit_details th, .recruit_details td {
    border-bottom: 1px solid #ddd;
    padding: 25px 0;
}

/* 
privacy */
section.privacy_1 dl {
    margin-bottom: 40px;
}
section.privacy_1 dl dt {
    font-size: 20px;
    font-weight: bold;
}
#mailform table{
    width: 800px;
}
.sp_main ,
.sp_head_tel ,
.sp_head_contact{
	display: none;
}
.sp_only{
	display: none;
}



/* 
SP */
@media screen and (max-width: 750px) {
.sp_only{
	display: block;
}
.pc_only{
	display: none;
}
.cont {
    width: auto;
    padding: 0 20px;
}
.logo {
    float: none;
    text-align: center;
}
.head_contact_area {
    float: none;
}
body {
    background: url(../img/sp_bg.png) no-repeat top center;
    background-size: 100%;
    font-size: 16px;
}
body#page {
    background: url(../img/sp_bg.png) no-repeat top center;
    background-size: 100%;
}
.logo h1 {
    margin: 0 auto;
/*     width: 60%; */
}
nav.gnav ,
.head_tel ,
.head_contact{
    display: none;
}
.bg_main {
	display: none;
}
.sp_main{
	display: block;
	padding-bottom: 20px;
}
.head_contact_area{
	display: table;
    margin: 10px auto;
}
.sp_head_tel ,
.sp_head_contact{
	display: table-cell;
}
.foot_info ul {
    text-align: center;
    margin: 4px 0 0;
    padding-bottom: 20px;
}
section.top_service ul {
    padding: 0 0 40px;
}
section.top_service ul li {
    float: none;
}
section.top_service ul li:nth-child(even) {
    margin-left: 0;
}
section.top_service ul li:nth-child(1), section.top_service ul li:nth-child(2) 
, section.top_service ul li:nth-child(3) {
    margin-bottom: 20px;
}
.top_recruit_btn {
    background: none;
    height: auto;
    margin: 20px auto 30px;
    text-align: center;
}
.top_recruit_btn a {
    position: relative;
    top: 0;
}
.foot_contact.cont ul {
/*     display: table; */
}
.foot_contact.cont ul li{
/*     display: table-cell; */
    vertical-align: top;
}
.foot_contact ul li:nth-child(1) {
    float: none;
    margin-bottom: 20px;
}
.foot_logo {
    float: none;
    text-align: center;
/*     width: 60%; */
    margin: 0 auto 10px;
}
.foot_about {
    float: none;
    text-align: center;
}
.foot_info.cont.cf {
    margin-top: 20px;
}
footer .foot_bg {
    background: url(../img/sp_foot_bg.png) no-repeat bottom center;
    background-size: 100%;
}
.foot_about p {
	font-size: 12px;
}
.foot_about p {
    color: #fff !important;
}
.page{
	background: #fff;
	padding-top: 20px;
}
.message p.message_txt {
    font-size: 14px;
    line-height: 1.8;
}

.message_profile {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN";
    font-size: 20px;
    margin-top: 10px;
    margin-left: 0;
}
.message_img {
    float: none;
    width: auto;
    margin-top: 20px;
}
.message_area {
    float: none;
}
.company {
    margin-top: 40px;
}
.company table {
    width: 100%;
    border-top: none;
}
.company th {
    font-weight: bold;
    text-align: left;
    width: auto;
    border-bottom: none;
    display: block;
    padding: 10px ;
    line-height: 1;
    background: #efefef;
}
.company td {
    display: block;
    border-bottom: none;
    padding: 10px 10px 20px;
}
.business_txt {
    float: none;
}
.business_img {
    float: none;
    width: auto;
}
section.business_1, section.business_2, section.business_3, section.business_4, section.business_5 {
    border-bottom: 1px dotted #ccc;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
.business_txt_tt {
    font-size: 20px;
    color: #000c4c;
    margin: 0 0 10px;
}
.recruit_txt {
    float:none;
    width: auto;
}
.recruit_img {
    float: none;
    width: auto;
    margin-top: 20px;
}
.recruit_box dl {
/*     margin-bottom: 20px;
    background: #efefef;
    padding: 20px; */
}
.recruit_box dt {
    font-size: 20px;
    padding-bottom: 10px;
    border-bottom: 3px solid;
    margin-bottom: 10px;
    line-height: 1.2;
}
.recruit_box dt span {
    font-size: 14px;
    color: #555;
    display: block;
    margin-top: 6px;
}
.recruit_details table {
    width: 100%;
    border-top: none;
}
.recruit_details th {
    font-weight: 500;
    text-align: left;
    width: 200px;
}
.recruit_details th{
    font-weight: bold;
    text-align: left;
    width: auto;
    border-bottom: none;
    display: block;
    padding: 10px ;
    line-height: 1;
    background: #efefef;
	}
.recruit_details td {
    display: block;
    border-bottom: none;
    padding: 10px 10px 20px;
}
#mailform table {
	width: 100% !important;
	margin: 0 auto;
}
#mailform tr ,
#mailform th ,
#mailform td{
	display: block;
}
#mailform input, #maiform textarea{
	width: 100%;
	padding: 6px 0;
}
textarea#comment{
	width: 100%;
}
#mailform .button input{
	width: auto;
}
button#submit {
    margin-bottom: 20px;
}
.recruit_box_area{
  padding: 20px;
  margin-bottom: 20px;
}
input[type="text"] ,
textarea#comment{
    font-size: 16px;
}
.foot_contact ul li{
    display: block;
    text-align: center;
}
.foot_contact ul li:nth-child(2) {
    float: none;
}
.foot_about ul li a ,
.foot_about ul li a:active {
    color: #fff;
}
.foot_info ul li:nth-child(2) {
    margin-left: 20px;
}
.business_2 ul ,
.business_3 ul ,
.business_4 ul ,
.business_5 ul{
    display: table;
    table-layout: fixed;
    /* max-width: 500px; */
    width: auto;
    margin-top: 20px;
}
}
@media screen and (max-width: 400px) {
footer .foot_bg {
    background: url(../img/sp_foot_bg.png) no-repeat bottom center;
    background-size: auto;
}
}
