@charset "utf-8";

/* ************************************************ 
*	各ページ共通タイトルなど
* ************************************************ */
.pagetitle-bg {
width: 100%;
padding: 100px 0 0 0;
margin: 0;
}
.pagetitle-box {
width: 100%;
height: 150px;
padding: 0;
margin: 0 auto 0 auto;
position:relative;
z-index: 0;
background: linear-gradient(
    -45deg,
    #efefef 25%, #fff 25%,
    #fff 50%, #efefef 50%,
    #efefef 75%, #fff 75%,
    #fff
  );
background-size: 15px 15px;
}

.pagetitle {
font-size: 30px;
font-weight:500;
letter-spacing: 0.05em;
padding: 0;
margin: 0;
text-align:center;
border-bottom:none;
width:100%;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
z-index:999;
}

.midashi-title,
.midashi-title2,
.midashi-title3 {
font-size: 24px;
margin: 0 0 30px 0;
padding: 0 0 20px 0;
letter-spacing: 0.05em;
font-weight: 500;
position: relative;
display: block;
line-height: 120%;
}
.midashi-title:after,
.midashi-title2:after,
.midashi-title3:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  content: '';
}
.midashi-title:after {
  background-image: -webkit-repeating-linear-gradient(135deg, #999, #999 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #999, #999 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.midashi-title2:after {
  background-image: -webkit-repeating-linear-gradient(135deg, #27a639, #27a639 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #27a639, #27a639 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.midashi-title3:after {
  background-image: -webkit-repeating-linear-gradient(135deg, #378fb9, #378fb9 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #378fb9, #378fb9 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}


.sub-title,
.sub-title2,
.sub-title3 {
font-size: 18px;
margin: 0 0 20px 0;
padding: 10px;
letter-spacing: 0.05em;
font-weight: 400;
position: relative;
display: block;
line-height: 120%;
}
.sub-title { background-color: #efefef; }
.sub-title2 { background-color: #c3e8dc; }
.sub-title3 { background-color: #c3ddea; }


/* ************************************************ 
*	各ページ共通ボックス
* ************************************************ */
.box-inner{
width: 100%;
margin: 0 0 50px 0;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.box-inner-end{
width: 100%;
margin: 0 0 100px 0;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.box-inner-center{
width: 80%;
margin: 0 auto 100px auto;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.box-inner .left-box,
.box-inner-end .left-box{
width: 57.5%;
}
.box-inner .right-box,
.box-inner-end .right-box{
width: 37.5%;
}

.box-inner .left-box2,
.box-inner-end .left-box2{
width: 70%;
}
.box-inner .right-box2,
.box-inner-end .right-box2{
width: 25%;
text-align: center;
margin: 0 auto;
}


.box-inner-center .left-box{
width: 65%;
}
.box-inner-center .right-box{
width: 30%;
text-align: center;
margin: 0 auto;
}

.text-block{
margin: 0 0 20px 0;
padding: 0;
}


/* ************************************************ 
*	各ページ共通リスト
* ************************************************ */
ul.list1 {
font-size: 16px;
counter-reset:list;
list-style-type:none;
padding:0;
margin: 0 0 20px 0;
}
ul.list2 {
font-size: 16px;
counter-reset:list;
list-style-type:none;
padding:0;
margin: 0;
}
ul.list1 li,
ul.list2 li{
position:relative;
padding: 0 0 0 20px;
margin: 0;
font-weight: normal;
line-height: 30px;
}

ul.list1 li:before,
ul.list2 li:before{
background: #ffce38;
counter-increment: list;
content: "";
display: block;
position: absolute;
left: 0px;
height: 10px;
width: 10px;
border-radius: 50%;
top: 13px;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.under-line{
margin: 0;
padding: 0;
display: inline;
background-image: linear-gradient(rgba(0,0,0,0) 65%, rgb(256,206,56) 50%);
}


/* ************************************************ 
*	労働安全・衛生業務
* ************************************************ */
.box-inner-safety{
width: 100%;
margin: 40px 0 70px 0;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.box-inner-safety .box{
width: 49%;
margin: 0 0 25px 0;
}
.box-inner-safety .box img{
vertical-align: bottom;
}

.safety-tablebox{
width: 80%;
margin: 60px auto 100px auto;
}
table.safety {
width: 100%;
margin: 0 auto 10px auto;
padding: 0;
border: none;
border-collapse: collapse;
border-spacing: 0;
border-top: 1px solid #999;
}
table.safety tr {
border-bottom: 1px solid #999;
}
table.safety th {
padding: 10px;
white-space: normal;
font-weight: normal;
vertical-align: middle;
text-align: left;
width: 70%;
}
table.safety td {
text-align: right;
padding: 10px;
white-space: normal;
vertical-align: middle;
color: #ff0000;
}

table.profile {
width: 100%;
margin: 0 0 60px 0;
padding: 0;
border: none;
border-collapse: collapse;
border-spacing: 0;
border-top: 1px solid #999;
}
table.profile tr {
border-bottom: 1px solid #999;
}
table.profile th {
padding: 20px;
white-space: normal;
font-weight: normal;
vertical-align: middle;
text-align: center;
width: 20%;
background-color: #efefef;
}
table.profile td {
text-align: left;
padding: 20px;
white-space: normal;
vertical-align: middle;
}


/* ************************************************ 
*	警備業務
* ************************************************ */
.flow-design {
  display: flex;
  margin: 30px 0 100px 10px;
}

.flow-design ul {
  padding: 0;
}

.flow-design li {
  list-style-type: none;
}

.flow-design dd {
  margin-left: 0;
}

.flow {
  position: relative;
}

.flow::before {
  content: "";
  width: 15px;
  height: 100%;
  background: #eee;
  margin-left: -129px;
  display: block;
  position: absolute;
  top: 0;
  left: 120px;
  border-radius: 20px;
}

.flow > li {
  position: relative;
}

.flow > li:not(:last-child) {
  margin-bottom: 60px;
}

.flow > li .icon03 {
  font-size: 16px;
  width: 2em;
  height: 2em;
  line-height: 2;
  text-align: center;
  font-weight: bold;
  border-radius: 100vh;
  color: #fff;
  background: #27a639;
  display: inline-block;
  margin-right: 0.3em;
}

.flow > li dl {
  padding-left: 70px;
  position: relative;
}

.flow > li dl::before,
.flow > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}

.flow > li dl::before {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  background: #27a639;
  border-radius: 50%;
  left: -4px;
}

.flow > li dl::after {
  width: 50px;
  border-bottom: 1px dashed #999;
  position: absolute;
  left: 5px;
}

.flow > li dl dt {
  font-size: 21px;
  font-weight: 600;
  color: #27a639;
  margin-bottom: 0.5em;
  display: flex;
  align-items: center;
}

.flow > li dl dd .safety{
color: #27a639;
font-size: 18px;
font-weight: 500;
}
.flow > li dl dd .security{
color: #378fb9;
font-size: 18px;
font-weight: 500;
}


/* ************************************************ 
*	採用情報
* ************************************************ */
.recruit-lead-text{
margin: 0 0 30px 0;
}
table.recruit {
width: 100%;
margin: 0 0 10px 0;
padding: 0;
border: none;
border-collapse: collapse;
border-spacing: 0;
border-top: 1px solid #999;
}
table.recruit tr {
border-bottom: 1px solid #999;
}
table.recruit th {
padding: 20px;
white-space: normal;
font-weight: normal;
vertical-align: middle;
text-align: center;
width: 20%;
background-color: #efefef;
}
table.recruit td {
text-align: left;
padding: 20px;
white-space: normal;
vertical-align: middle;
}
table.recruit td a{
color: #6cbb63;
text-decoration: underline;
}
table.recruit td a:hover{
color: #000;
text-decoration: none;
}


/* ************************************************ 
*	お問い合わせ
* ************************************************ */
.contact-inner{
width: 96%;
margin: 20px auto;
padding: 2%;
background-color: #efefef;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

table#contact {
width: 100%;
margin: 100px 0 30px 0;
padding: 0 0 0 0;
border-top: 1px #666 solid;
border-bottom: 1px #666 solid;
border-collapse: collapse;
border-spacing: 0;
font-size: 15px;
}
table#contact th {
padding: 16px 20px 15px 20px;
white-space: normal;
vertical-align: middle;
border-top: 1px #666 solid;
width: 25%;
background-color:#efefef;
font-weight: 500;
}
table#contact th.last {
vertical-align: top;
}
table#contact td {
text-align: left;
padding: 15px;
white-space: normal;
vertical-align: top;
border-bottom: 1px #666 solid;
width: 75%;
}

.wpcf7-list-item {
display: block!important;
margin: 0 0 0 0!important;
}
.wpcf7-list-item:last-child{
    display: inline-block!important;
    margin: 0 0 0 0!important;
}

.contact-end{
margin: 0 auto;
text-align: center;
}
.contact-endbox{
width: 100%;
margin: 0 0 70px 0;
display: flex;
flex-wrap: wrap;
justify-content: center;
}

.text50{
width: 45%;
margin: 0;
padding: 0;
}
.sub-btn-box {
width: 250px;
margin: 30px auto 70px auto;
}
/* 送信ボタン */
input.sub-btn {
	width: 100%;
	background: #454545;
	color: #fff;
	font-size: 16px;
	margin: 0;
	padding: 15px;
	letter-spacing: 0.1em;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;	
}

/* 送信ボタンホバー */
input.sub-btn:hover{
	background: #27a639;
	color: #fff;  
}

input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0;
  border-style: none;
  border-color: none;
}

.wpcf7 .ajax-loader { display: none !important; }


.privacy-box{
width: 100%;
margin: 0 0 50px 0;
padding: 0;
}
.privacy-box ol{
margin: 0;
padding: 20px 0;
}
.privacy-box ol li{
margin: 0 0 20px 20px;
padding: 0;
font-weight: 500;
line-height: 170%;
}
.privacy-box ol li span{
margin: 0;
padding: 0;
font-weight: 400;
}


/* ************************************************ 
*	プライバシーポリシー
* ************************************************ */
.privacypolicy-box{
margin: 0 0 70px 0;
padding: 0;
}
.privacypolicy-box h3{
font-family: 'Noto Sans JP';
margin: 35px 0 15px 0;
padding: 10px 15px;
font-size: 16px;
font-weight: 600;
background-color: #efefef;
}
.privacypolicy-endbox{
margin: 0 0 50px 0;
padding: 0;
text-align: right;
}

.privacypolicy-endbox .company-name{ margin: 0 0 5px 0; }
.privacypolicy-endbox p{ font-size: 16px; }
.privacypolicy-endbox p span{ font-size: 21px; }
.privacypolicy-endbox .company-name img{ width: 250px; }


/* ************************************************ 
*	お知らせ
* ************************************************ */
.news-listbox{
margin: 0 0 40px 0;
padding: 0;
overflow: hidden;
}
.newsimg-box{
margin: 0 0 0 0;
padding: 0 0 0 0;
float:left;
width: 27%;
height: 200px;
overflow: hidden;
}
.newsimg-box img{
margin: 0;
padding: 0;
height:200px;
width:100%;
object-fit: cover;
font-family: 'object-fit: cover;'; /*IE用*/
}

.newstext-box{
margin: 0 0 0 4%;
padding: 0 0 0 0;
float:left;
width: 69%;
line-height:180%;
}

.news-date {
line-height: 150%;
padding: 0px 0px 0px 0px;
margin: 0px 0px 5px 0px;
}
.news-title {
margin: 0px 0px 10px 0px;
padding: 0px 0px 0px 0px;
font-size: 18px;
font-weight: 500;
}

.news-title a {
color:#333;
text-decoration: underline;
}
.news-title a:hover {
color:#000;
text-decoration: none;
}

.newstext-box a{
text-decoration: underline;
}
.newstext-box a:hover{
color:#000;
text-decoration: none;
}

.news-title-single {
margin: 0;
padding: 0 0 20px 0;
font-size: 21px;
font-weight: 500;
position: relative;
}
.news-title-single:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #999, #999 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #999, #999 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.date-single {
float: right;
font-size:90%;
padding: 0px 10px;
margin: 10px 0 15px 0;
background-color: #efefef;
}
.wp-pagenavi span.current { font-weight: 500!important; }


/* ************************************************ 
*	BLOG　NEWS ページャー 
* ************************************************ */
.next-pagenavi{
text-align:center;
margin:0 0 60px 0;
}

.wp-pagenavi a,
.wp-pagenavi span {
    text-decoration: none;
    border: 1px solid #333 !important;
    padding: 3px 8px !important;
    margin: 2px;
}

#next-navi {
font-size:100%;
font-weight:lighter;
text-align: center;
margin: 0 0 100px 0;
padding: 20px 10px;
border-top: 1px solid #999;
border-bottom: 1px solid #999;
}
#next-navi .left{ width:47%; margin: 0 3% 0 0; text-align:left; float:left;}
#next-navi .right{ width:47%; margin: 0 0 0 3%; text-align:right; float:right;}
#next-navi .left a{ padding: 0 0 0 0; display: block; line-height: 180%; color: #333; text-decoration: none;}
#next-navi .right a{ padding: 0 0 0 0; display: block; line-height: 180%; color: #333; text-decoration: none;}
#next-navi .left a:hover{ color: #000; text-decoration: underline;}
#next-navi .right a:hover{ color: #000; text-decoration: underline;}



/* ************************************************ 
*	レスポンシブ
* ************************************************ */
/* PC 画面の横幅が1160px以上 */
@media only screen and (min-width: 1160px) {
#anq1,
#anq2 {
margin: -125px 0 0 0;
padding-top:125px;
}
}


/* Tablet (Portrait) 画面の横幅が768px〜1159pxまで */
@media only screen and (min-width: 768px) and (max-width: 1159px) {
.pagetitle-bg { padding: 139px 0 0 0; }
.pagetitle-box { height: 120px; }
.pagetitle {
font-size: 24px;
top: 45%;
}

.midashi-title,
.midashi-title2,
.midashi-title3 {
font-size: 18px;
margin: 0 0 25px 0;
padding: 0 0 15px 0;
}
.sub-title,
.sub-title2,
.sub-title3 {
font-size: 16px;
margin: 0 0 10px 0;
}

ul.list1,
ul.list2 { font-size: 14px; }

.flow > li dl dt { font-size: 18px; }
.flow > li .icon03 { font-size: 14px; }
.flow > li dl dd .safety,
.flow > li dl dd .security {
font-size: 16px;
}
.flow > li:not(:last-child) {
    margin-bottom: 40px;
}

.box-inner-center{
width: 100%;
margin: 0 auto 100px auto;
}

.newsimg-box{ height: 130px; }
.newsimg-box img{ height:130px; }
.news-title { font-size: 16px; }
.news-title-single {
padding: 0 0 15px 0;
font-size: 18px;
}
.news-title-single:after { height: 7px; }
#next .left a{ font-size: 14px;}
#next .right a{ font-size: 14px;}

#next-navi {
margin: 0 0 50px 0;
padding: 15px 10px;
}

#next-navi .left a{ font-size: 14px;}
#next-navi .right a{ font-size: 14px;}

#anq1,
#anq2 {
margin: -125px 0 0 0;
padding-top:125px;
}

}

/* Mobile (Portrait) 画面の横幅が767pxまで */
@media only screen and (max-width: 767px) {
.pagetitle-bg { padding: 70px 0 0 0; }
.pagetitle-box { height: 100px; }
.pagetitle { font-size: 6vw; }

.midashi-title,
.midashi-title2,
.midashi-title3 {
font-size: 5.5vw;
margin: 0 0 20px 0;
padding: 0 0 15px 0;
letter-spacing: 0;
}

.sub-title,
.sub-title2,
.sub-title3 {
font-size: 4.75vw;
}

.box-inner-end {
margin: 0 0 50px 0;
}

.box-inner .left-box,
.box-inner-end .left-box {
width: 100%;
margin: 0 0 20px 0;
}
.box-inner .right-box,
.box-inner-end .right-box {
width: 100%;
}

.box-inner .left-box2,
.box-inner-end .left-box2 {
width: 100%;
margin: 0 0 20px 0;
}
.box-inner .right-box2,
.box-inner-end .right-box2 {
width: 100%;
}

.box-inner-center{
width: 100%;
margin: 0 auto 50px auto;
}
.box-inner-center .left-box {
width: 100%;
margin: 0 0 20px 0;
}
.box-inner-center .right-box {
width: 60%;
}

table.profile {
font-size: 4.5vw;
}
table.profile th {
padding: 10px;
width: calc(100% - 20px);
display: block;
}
table.profile td {
padding: 10px;
width: calc(100% - 20px);
display: block;
}

.box-inner-safety { margin: 20px 0 30px 0; }
.box-inner-safety .box { width: 100%; }

.safety-tablebox {
width: 100%;
margin: 30px auto 70px auto;
}
table.safety th {
padding: 10px 0;
width: 58%;
}

.flow-design { margin: 30px 0 50px 10px; }
.flow > li dl { padding-left: 0; }
.flow > li dl::before,
.flow > li dl::after {
display: none;
}

.flow > li dl dt {
font-size: 6vw;
}
.flow > li .icon03 {
font-size: 4vw;
}
.flow > li dl dd .safety,
.flow > li dl dd .security {
font-size: 5.25vw;
}
.flow > li:not(:last-child) {
margin-bottom: 40px;
}

#next-navi {
margin: 0 0 50px 0;
padding: 15px 10px;
}

.recruit-lead-text{ font-size: 4.5vw; }
table.recruit {
font-size: 4.5vw;
}
table.recruit th {
padding: 10px;
width: calc(100% - 20px);
display: block;
}
table.recruit td {
padding: 10px;
width: calc(100% - 20px);
display: block;
}

table#contact {
margin: 50px 0 30px 0;
font-size: 4.5vw;
}
table#contact th {
padding: 15px;
width: calc(100% - 30px);
display: block;
}
table#contact td {
padding: 15px 0 15px 0;
width: calc(100% - 2px);
display: block;
}
.sub-btn-box {
width: 100%;
margin: 20px auto 50px auto;
}
.contact-endbox { margin: 0 0 20px 0; }

.newsimg-box{
width: 100%;
height: auto;
}
.newsimg-box img{ height: auto; }
.newstext-box{
margin: 20px 0 0 0;
width: 100%;
}
.news-title { font-size: 4.5vw; }
.news-title-single { font-size: 4.5vw; }
#next .left a{ font-size: 4vw;}
#next .right a{ font-size: 4vw;}


#anq1,
#anq2 {
margin: 0 0 0 0;
padding-top:0;
}

}
