@charset "utf-8";
/* CSS Document */

/*=====================================
   Common
=======================================*/   
* {
	margin: 0;
	padding: 0;
}
html {
}
body {
	font-size: 14px;
	font-family: "ＭＳ Ｐゴシック", "MS PGothic","メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #666;
	text-align: center;
	background-color: #FFFFFF;
	width: 100%;
	min-width: 1000px;
	margin: 0 auto;
	line-height: 1.6em;
	position: relative;
}

/*clearfix */
.clearfix {
}
.clearfix:after {
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	min-height: 1px;
}
* html .clearfix {
	zoom: 1;
} /* IE6 */
*:first-child+html .clearfix {
	zoom: 1;
} /* IE7 */
img {
	border: none;
	vertical-align: bottom;
}
p, dt, dd, li {
	line-height: 1.8em;
}
ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
li {
	margin: 0px;
	padding: 0px;
}
a {
	color: #666;
	text-decoration: none;
}
a:hover {
	color: #666;
	text-decoration: underline;
}
h5 {
	font-size: 1em;
}

.disnon{
	display:none;
}
.fs12 {
	font-size: 12px;
}
.fs18 {
	font-size: 18px;
}
.ml0 {
	margin-left: 0!important;
}
.ml10 {
	margin-left: 10px!important;
}
.ml15 {
	margin-left: 15px!important;
}
.ml20 {
	margin-left: 20px!important;
}
.pb10 {
	padding-bottom: 10px!important;
}
.pt20 {
	padding-top: 20px!important;
}
.nmt40 {
	margin-top: -40px!important;
}
.mb0 {
	margin-bottom: 0!important;
}
.mb5 {
	margin-bottom: 5px!important;
}
.mb10 {
	margin-bottom: 10px!important;
}
.mb15 {
	margin-bottom: 15px!important;
}
.mb20 {
	margin-bottom: 20px!important;
}
.mb25 {
	margin-bottom: 25px!important;
}
.mb30 {
	margin-bottom: 30px!important;
}
.mb35 {
	margin-bottom: 35px!important;
}
.mb40 {
	margin-bottom: 40px!important;
}
.mb45 {
	margin-bottom: 45px!important;
}
.mb50 {
	margin-bottom: 50px!important;
}
.mb60 {
	margin-bottom: 60px!important;
}
.mb75 {
	margin-bottom: 75px!important;
}
.mb80 {
	margin-bottom: 80px!important;
}
.mb85 {
	margin-bottom: 85px!important;
}
.mb90 {
	margin-bottom: 90px!important;
}
table {
	border-collapse: collapse;
	line-height: 1.5;
}
iframe {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}
span.bold{
	font-weight: bold;
}
/*=====================================
   #header
=======================================*/
#header{
	width: 100%;
	text-align: left;
	margin: 0 auto;
	position: relative;
	border-top: 5px solid #CE0000;
}
#header .head_inner{
	width: 984px;
	margin: 0 auto;
	position: relative;
	height: 96px;
	padding-left:  8px;
	padding-right: 8px;
}
#header .head_inner h1{
	font-size: 12px;
	font-weight: normal;
	position: absolute;
	/* left: 186px; */
	top: 10px;
	border-radius: 5px;
	background-color: #f5f5f5;
	line-height: 1em;
	padding: 5px 20px;
}
#header .head_inner h1 span.blue{
	color: #5E7DCA; 
}
#header .head_inner .logo{
	left: 25px;
	top: 42px;
	position: absolute;
}
#header .head_inner ul{
	position: absolute;
	right: 0;
	top: 10px;
}
#header .head_inner ul li{
	float: left;
	background-image: url(../img/cmn/ico_arrow.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 18px;
	font-size: 12px;
	line-height: 1em;
	margin-left: 20px;
	padding-top:1px;
	position: relative;
}
#header .head_inner ul li a{
	text-decoration: underline;
}
#gnav_wrap{
	background-image: url(../img/cmn/bg_gnav.jpg);
	background-repeat: repeat-x;
	height: 50px;
	width: 100%;
}
#header #gnav{
	width: 815px;
	margin: 0 auto;
	padding-left: 101px;
	padding-right: 100px;
}
#header #gnav li{
	float: left;
	position: relative;
}
#header #gnav li a{
	display: block;
}
#header #gnav li.current a:after{
	content: "";
	width: 162px;
	height: 3px;
	background-color: #ce0000;
	position: absolute;
	bottom: 0;
	left: 0;
}
#header #gnav li:hover a:after{
	content: "";
	width: 162px;
	height: 3px;
	background-color: #ce0000;
	position: absolute;
	bottom: 0;
	left: 0;
}
/*=====================================
   #breadcrumb
=======================================*/
#breadcrumb{
	width: 100%;
	margin: 0 auto;
	text-align: left;
	font-size: 12px;
	background-color: #F9F9F9;
	margin-bottom: 30px;
}
#breadcrumb p{
	width: 1000px;
	margin: 0 auto;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 8px;
	padding-right: 8px;
}
/*=====================================
   #main
=======================================*/
#main{
	background-color: #f9f9f9;
}
#main h2{
	padding-left: 8px;
	padding-right: 8px;
	border-bottom: 3px solid #CE0000;
}
#main.top{
	height: 511px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	overflow: hidden;
	background-color: #fff;
}
#main #slide_wrap{
	width: 100%;
}
/* 設定 */
#main .container {width: 100%; height: 100%; overflow-x: hidden;}
#main .slide_all {width: 1050px; margin: 0 auto; height: 250px; position: relative;}
#main .slide_wrap {width: 3100px; position: absolute; left: 50%; margin-left: -1545px;}
#main .slide_body {width: 100%;}
#main .slide {width: 1000px;}
#main .slide img {width: 100%; vertical-align: bottom;}
/* 装飾 */
#main .bx-controls-direction,.bx-pager{
	text-align: center;
	height: 25px;
}
.bx-controls-direction{
	width: 1110px;
	margin: 0 auto;
	display: block;
	/* background-color: #ff0000; */
	position: relative;
	/* margin-bottom: 220px; */
	/* padding-right: 20px; */
}
#main .bx-controls-direction a,.bx-pager-item {
	display: inline-block;
}
#main .bx-pager-item a{
	display: block;
	height: 12px;
	width: 13px;
	text-indent: -9999px;
	background: #fff;
	margin: 30px 10px 0 10px;
	background-image: url(../img/top/ico_dot_b.png);
	background-repeat: no-repeat;
}
#main .bx-pager-item a.active,
#main .bx-pager-item a:hover {
	/* opacity: 0.3; */
	background-image: url(../img/top/ico_dot_r.png);
	background-color: #fff;
}
#main .bx-controls-direction a{
	text-decoration: none;
	color: #000;
	
	top: -220px;
}
#main .bx-controls-direction a.bx-next{
	right: 20px;
	background-image: url(../img/top/right_arrow.png);
	background-position: top center;
}
#main .bx-controls-direction a.bx-prev{
	background-image: url(../img/top/left_arrow.png);
	background-position: top center;
}
#main .bx-controls-direction a.bx-prev:hover{
	background-image: url(../img/top/left_arrow_on.png);
}
#main .bx-controls-direction a.bx-next:hover{
	background-image: url(../img/top/right_arrow_on.png);
}
#main .bx-controls {position: absolute;bottom: 5px;z-index: 100;width: 100%;}
/* 追加 */
.slide{opacity:0.55;}
.slide.active{ opacity:1;}

/*=====================================
   #content
=======================================*/
.wrap{
	width: 100%;
	margin: 0 auto;
	position: relative;
}
.overlay{
	position: absolute;
	width: 100%;
	height: 368px;
	background-image: url(../img/service/pic_01.png);
	background-repeat: no-repeat;
	background-position: center center;
}
.cmn_tit_01{
	margin-bottom: 28px;
}
.cmn_sec_01{
	margin-bottom: 30px;
}
/*.top .cmn_sec_01.sec02 {
    margin-bottom: 20px;
    padding-top: 20px;
}*/
.cmn_sec_02{
	margin-top: 50px;
}
.cmn_table_01{
	width: 100%;
}
.cmn_table_01 th,
.cmn_table_01 td{
	padding: 12px 18px 12px 18px;
	border: 1px solid #ddd;
	font-size: 12px;
}
.cmn_table_01 td a{
	text-decoration:underline;
}
.cmn_table_01 td a:hover{
	text-decoration:none;
}
.cmn_table_01 th{
	background-color: #f1f1f1;
}
.cmn_table_01 .error{
	color:#ce0000;
}
#content{
	width: 1000px;
	padding-left: 8px;
	padding-right: 8px;
	margin: 0 auto;
	text-align: left;
}
#content.top{	
	width: 1016px;
}
#content.top .sec01 h3{
	margin-bottom: 10px;
}
#content.top .sec01 .btns li{
	position: relative;
	float: left;
}
#content.top .sec01 .btns li .pic{
	position: relative;
	z-index: 1;
}
#content.top .sec01 .btns li .txt{
	z-index: 0;
	top: 5px;
	position: absolute;
}
#content.top .sec01 .btns li a{
	display: block;
}
#content.top .sec01 .btns h4{
	background-image: url(../img/cmn/ico_arrow.png);
	background-repeat: no-repeat;
	line-height: 1em;
	padding-left: 18px;
	margin-top: 100px;
	margin-left: 25px;
	font-weight: normal;
}
#content.top .sec01 .btns p{










	padding: 5px 15px 0px 33px;
	font-size: 12px;
}
#content.top .sec02 .row{
	margin: 0 auto;
	padding-left: 13px;
	padding-right: 13px;
	margin-bottom: 10px;
}
#content.top .sec02 .row h3{
	float: left;
	width: 106px;
}
#content.top .sec02 .row a{
	display: block;
	float: right;
	font-size: 12px;
	color: #888;
	text-decoration: underline;
}
#content.top .sec02 .news{
	width: 996px;
	margin: 0 auto;
}
#content.top .sec02 .news li{
	border-left: 1px solid #e9e9e9;
	border-top: 1px solid #e9e9e9;
	border-bottom: 1px solid #e9e9e9;
	border-right: 1px solid #e9e9e9;
	width: 990px;
	margin: 0 auto;
	display: table;
	font-size: 12px;
	margin-bottom: 5px;
}
#content.top .sec02 .news li .date{
	float: left;
	display: table-cell;
	width: 95px;
	text-align: center;
	padding: 10px;
	border-right: 1px solid #e9e9e9;
	font-weight: bold;
}
#content.top .sec02 .news li .txt{
	float: left;
	display: table-cell;
	padding: 10px;
}
/*.service------------------*/
#content.service .sec01{
	position: relative;
	height: 286px;
}
#content.service .sec01 .pic{
	position: absolute;
	top: 0px;
	left: 430px;
}
#content.service .sec01 h3{
	width: 1000px;
	padding-top: 30px;
}
#content.service .sec02 .box{
	width: 752px;
	height: 272px;
	margin: 0 auto;
	background-image:url(../img/service/bg_txt.png);
}
#content.service .sec02 .box .left{
	padding-top: 35px;
	padding-left: 35px;
	padding-bottom: 35px;
	float:left;
}
#content.service .sec02 .box .right{
	padding-top: 35px;
	padding-right: 35px;
	float: right;
	width: 512px;
}
#content.service .sec02 .box .right p{
	line-height: 25px;
}
#content.service .sec02 ul li{
	float: left;
}
#content.service .sec02 ul.pics01 {
	margin-left: 117px;
}
#content.service .sec02 ul.pics01 li{
	float: left;
	margin-right: 70px;
	width: 400px;
}
#content.service .sec02 ul.pics01 li p{
	margin: 10px 30px 40px 30px;
}
#content.service .sec02 ul.pics01 li img{
	display:block;
}
#content.service .sec02 ul.pics01 li:nth-child(2),#content.service .sec02 ul.pics01 li:nth-child(4){
	margin-right: 0;
}
/*.company------------------*/
#content.company .sec01 table .row ul{
	display: inline-block;
	margin-left: 18px;
}
#content.company .sec01 table .row ul:first-child{
	margin-left: 0;
}
#content.company .sec01 table dl{

}
#content.company .sec01 table dt{
	/* font-weight: bold; */
}
#content.company .sec02 ul li{
	float: left;
	width: 300px;
	margin-left: 50px;
}
#content.company .sec02 ul li:first-child{
	margin-left: 0;
}
#content.company .sec02 h4{
	margin-bottom: 28px;
}
#content.company .sec02 .pic{
	text-align: center;
	height: 339px;
}
#content.company .sec02 .pic.v_middle img{
	margin-top: 50px;
}
#content.company .sec02 .gmap{
	margin-bottom: 10px;
}
#content.company .sec02 dl{
	font-size: 12px;
	position: relative;
}
#content.company .sec02 dl dt{
	position: absolute;
	padding-top: 5px;
	line-height: 1.4em;
}
#content.company .sec02 dl dt span{
	display: inline-block;
	padding: 2px 10px;
	background-color: #9a9a9a;
	color: #fff;
	width: 50px;
	text-align: center;
}
#content.company .sec02 dl dd{
	margin-left: 70px;
	padding: 5px 0px 5px 7px;
	padding-top: 7px;
	line-height: 1.4em;
}
#content.company .sec02 .memo{
	margin-top: 40px;
	font-size: 12px;
}

/*.recruit------------------*/
#content.recruit .sec01 table dl{
	position: relative;
}
#content.recruit .sec01 table dt{
	position: absolute;
	width: 12em;
}
#content.recruit .sec01 table dd{
	margin-left: 12em;
}
#content.recruit .sec02 ul li{
	border: 1px solid #E9E9E9;
	width: 479px;
	float: left;
	height: 280px;
}
#content.recruit .sec02 ul li:first-child{
	margin-right: 38px;
}
#content.recruit .sec02 ul li .left{
	padding-top: 22px;
	padding-left: 30px;
	float: left;
}
#content.recruit .sec02 ul li .right{
	float: left;

	padding-top: 22px;
	margin-left: 22px;
}
#content.recruit .sec02 ul li .right p{
	font-size: 12px;

	width: 330px;
}
#content.recruit .sec02 .name{
	margin-top: 10px;
}
#content.recruit .sec02 .name .bold{
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
	margin-right: 8px;
}
#content.recruit .sec02 ul li .right .school{
	font-size: 10px;
	/* color: #d73333; */
}
#content.recruit .sec03 .photo{
	width:280px;
	float:left;

}
#content.recruit .sec03 .txt,#content.recruit .sec04 .txt{
	float:left;
	margin-left:20px;
	font-size:16px;
	font-weight:bold;
}
#content.recruit .txt .mini{
	font-weight:normal;
	font-size:14px;
}
#content.recruit .sec04 li{
	float:left;
	width:280px;
	margin-right:40px;
} 
#content.recruit .sec04 .txt{
	margin-left:0;
}
#content.recruit .sec05 {
	width: 752px;
	height: 272px;
	margin: 0 auto;
	background-image:url(../img/service/bg_txt.png);
}
#content.recruit .sec05 .left{
	padding-top: 70px;
	padding-left: 42px;
	padding-bottom: 35px;
	float:left;
}
#content.recruit .sec05 .right{
	padding-top: 8.2%;
	padding-right: 42px;
	float: right;
	width: 654px;
}
#content.recruit .sec05 .right .ta-r{
	text-align: right;
	font-size: 17px;
}
#content.recruit .sec05 .right p{
	line-height: 25px;
}
#content.recruit .sec05 ul li{
	float: left;
}
#content.recruit th{
	width:15%;
	letter-spacing: 0.05em;
}
#content.recruit h4.rec{
	font-size: 12px;
	border-bottom:solid 2px #ddd;
	padding-left: 12px;
	margin-bottom:8px;
	letter-spacing: 0.05em;
}
#content.recruit h4.rec2{
    font-size: 12px;
    border: solid #ddd 1px;
    background-color: #f1f1f1;
    margin-bottom: 5px;
    padding-left: 18px;
    padding-top: 5px;
    padding-bottom: 5px;
    letter-spacing: 0.05em;
}
/*.license------------------*/
#content.license table td span.bold{
	display: inline-block;
	margin: 2px 0px;
}
#content.license table th{
	width: 16em;
}

/*.contact------------------*/
#content.contact span.wpcf7-not-valid-tip{
	color: #ce0000;
	font-size: 12px;
}
#content.contact p.caution{
	font-size: 12px;
	color: #ce0000;
	margin-bottom: 5px;
}
#content.contact table th{
	width: 10em;
}
#content.contact table th span.red{
	color: #ce0000;
	font-weight: normal;
}
#content.contact table td .caution{
	color: #ce0000;
}
#content.contact input[type="text"],
#content.contact input[type="tel"],
#content.contact input[type="email"]{
	height: 26px;
	width: 555px;
	border: 1px solid #E9E9E9;
}
#content.contact textarea{
	height: 204px;
	width: 555px;
	border: 1px solid #E9E9E9;
}
#content.contact input.conf[type="submit"]{
	text-indent: -9999px;
	width: 171px;
	height: 48px;
	border: 0;
	padding: 0;
	margin: 0 30px;
	background-color: transparent;
	background-image:url(../img/contact/btn_conf.png);
}
#content.contact input[type="submit"],
#content.contact input[type="button"]{
	outline: 0;
}
#content.contact input.back[type="button"]{
	text-indent: -9999px;
	width: 171px;
	height: 48px;
	border: 0;
	padding: 0;
	margin: 0 30px;
	background-color: transparent;
	background-image:url(../img/contact/btn_back.png);
}
#content.contact input.send[type="submit"]{
	text-indent: -9999px;
	width: 171px;
	height: 48px;
	border: 0;
	padding: 0;
	margin: 0 30px;
	background-color: transparent;
	background-image:url(../img/contact/btn_send.png);
}
#content.contact .btn{
	text-align: center;
	margin-top: 25px;
}
#content.contact .tohome{
	background-image: url(../img/cmn/ico_arrow.png);
	background-repeat: no-repeat;
	background-position: center left;
	padding-left: 20px;
	text-decoration: underline;
	margin-top: 30px;
	display: block;
}
#content.contact .wpcf7c-conf{
	background-color: #eee;
}
/*.sitemap------------------*/
#content.sitemap ul li a{
	display: inline-block;
	background-image: url(../img/cmn/ico_arrow.png);
	background-repeat: no-repeat;
	background-position: center left;
	padding-left: 25px;
	text-decoration: underline;
}
#content.sitemap ul ul{
	margin-left: 15px;
}

/*.news------------------*/
#content.news .news_list ul{
	margin-left: 50px;
	margin-right: 100px;
}
#content.news .news_list ul h4{
	border-left: 3px solid #CE0000;
	border-bottom: 1px solid #CE0000;
	padding-left: 5px;
	margin-bottom: 15px;
	line-height: 16px;
	padding-bottom: 3px;
}
#content.news .news_list ul h4 a{
	display: table;
	width: 100%;
}
#content.news .news_list ul h4 .date{
	display: table-cell;
	text-align: right;
	font-size: 14px;
	vertical-align: bottom;
}
#content.news .news_list ul h4 .title{
	display: table-cell;
	text-align: left;
	font-size: 16px;
}
#content.news .news_list ul li{
	margin-bottom: 40px;
}
#content.news .news_list ul li p.txt{
	margin-left: 10px;
}
#content.news .link{
	background: url(../img/cmn/ico_arrow.png) no-repeat left 5px;
	padding-left: 18px;
	text-decoration: underline;
	margin-top: 10px;
	margin-left: 10px;
}
#content.news .cmn_tit_03{
	border-left: 4px solid #CE0000;
	padding-left: 8px;
	display: table;
		margin-bottom: 28px;
}
#content.news .cmn_tit_03 .title{
	display: table-cell;
}
#content.news .cmn_tit_03 .date{
	display: table-cell;
	font-size: 14px;
	padding-left: 30px;

}
#content.news .entry-content{
	margin-left: 50px;
	margin-right: 100px;
}
/*.other------------------*/
#content.other a.link{
	padding-left: 18px;
	background: url(../img/cmn/ico_arrow.png) no-repeat left center;
}
/*=====================================
   #pagenavi
=======================================*/
#pagenev_wrap{
	text-align: center;
}
#pagenev_wrap .wp-pagenavi span,
#pagenev_wrap .wp-pagenavi a{
	border: 1px solid #CE0000;
	background-color: #F8E6E6;
	padding: 3px 5px;
	margin: 2px;
}
#pagenev_wrap .wp-pagenavi a:hover{
	background-color: #CE0000;
	color: #fff;
}
#pagenev_wrap .wp-pagenavi .current{
	background-color: #CE0000;
	color: #fff;
}
.pagenav.single{
	text-align: center;
	margin-top: 50px;
}
.pagenav.single li{
	display: inline-block;
	margin: 0 15px;
}
.pagenav.single li a{
	text-decoration: underline;
	font-size: 13px;
}
.pagenav.single li.prev{
	background: url(../img/cmn/ico_arrow_l.png) no-repeat left 7px;
	padding-left: 18px;
}
.pagenav.single li.tolist{
	background: url(../img/cmn/ico_arrow_v.png) no-repeat left 7px;
	padding-left: 18px;
}
.pagenav.single li.next{
	background: url(../img/cmn/ico_arrow.png) no-repeat right 7px;
	padding-right: 18px;
}
/*=====================================
   #pagetop
=======================================*/
#pagetop{
	text-align: right;
	margin: 0 auto;
	margin-top: 100px;
	width: 1000px;
	margin-bottom: 20px;
}
/*=====================================
   #footer
=======================================*/
#footer{
	width: 100%;
	height: 157px;
	background-image: url(../img/cmn/bg_footer.jpg);
	background-repeat: repeat-x;
	background-position: top center;
}
#footer .foot_inner{
	width: 1000px;
	margin: 0 auto;
	padding-top: 35px;
	padding-left: 8px;
	padding-right: 8px;
}
#footer .foot_inner .logo{
	float: left;
	width: 175px;
}
#footer .foot_nav{
	font-size: 0;
	float: left;
	margin-left: 30px;
}
#footer ul.foot_nav li:first-child{
	border-left: none;
}
#footer ul.foot_nav li{
	display: inline-block;
	font-size: 12px;
	border-left: 1px solid #999;
}
#footer ul.foot_nav li{
	color: #999;
	line-height: 1em;
	padding: 0 5px;
}
#footer address{
	display: block;
	float: right;
	font-style: normal;
	margin-top: 70px;
}

.comtxt01{
	text-align:right;
	padding-top:10px;
}

.sbtm01 {
}
.sbtm02 {
	text-align:center;
}
.sbtm03 {
	display:inline-block;
	vertical-align:top;
	margin:0 50px 60px;
}
.sbtm04 {
	text-align:center;
	margin-bottom:15px;
}
.sbtm05 {
	width:335px;
	margin:0 auto;
}
.sbtm05 dt {
	font-weight:bold;
	margin-bottom:7px;
	font-size:18px;
}
.sbtm05 dd {
	text-align:left;
}
.err_bloc{
	padding-top:40px;
	margin-bottom:40px;
}