@charset "utf-8";


/* ----------------
 共通
------------------- */
.small_t{
 font-size: 15px !important;
}
.red{
 color: #CC3300;
}

/* -----------------
 home
-------------------- */
.home .main h2{
 text-align: right;
 margin-bottom: 20px;
 font-size: 150%;
 font-weight: bold;
 padding: 5px;
 width: 200px;
 position: relative;
 border-bottom: 2px solid #0069ab;
}
.ichiran{
 max-width: 250px;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 20px;
 text-align: center;
 border: 2px solid #0069ab;
}
.ichiran a{
 display: block;
 color: #0069ab;
 padding: 10px;
 font-size: 110%;
 text-decoration: none;
}
.ichiran a:hover{
 background-color: #0069ab;
 color: #fff;
 text-decoration: none;
}
.new_ul li{
 width: 100%;
}
#inner_col{
 width: 100%;
}
.post_thumb{
 width: 300px;
 margin-bottom: 10px;
 overflow: hidden;
 height: 200px; 
}
.post_thumb img{
 background-size: cover;
}
.thumb_box li{
 width: 300px;
 padding: 1.5%;
 min-height: 200px;
 overflow: hidden;
}
.thumb_box .title a{
 color: #333;
 font-size: 110%;
 font-weight: bold;
}
.thumb_box .date{
 font-size: 80%;
 text-align: left; 
}
.post_thumb img {
    -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}
.post_thumb img:hover {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}
.transitions-enabled{
 margin-bottom: 20px;
}

@media screen and (min-width: 770px) {/* まで */
.home .new_ul{
 width: 800px;
 float: none;
 margin-left: auto;
 margin-right: auto;
}

.home #contents{
 position: relative;  
}
.home .bus-bg{
 width: 489px;
 height: 280px; 
 position: absolute;
 top: -30px;
 left: 50%;
 right: 50%;
 webkit-transform: translateX(-50%) translateY(-50%);
- moz-transform: translateX(-50%) translateY(-50%);
-ms-transform: translateX(-50%) translateY(-50%);
-o-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
text-align: center;  
}

.home .main .group_1 .inner{ 
 width: 980px;
 margin-left: auto;
 margin-right: auto;
 padding: 40px 0px 30px;
 background: url(images/news-bg.png) no-repeat 90px 30px;
}

}/* pc end */

@media screen and (max-width: 769px) {/* 以下 */
.home .main{
 margin-bottom: 30px;
}

.home .bus-bg{
 position: relative;
 max-width: 40%;
 margin-left: auto;
 margin-right: auto;
 margin-top: -30px;
 text-align: center;
 z-index: 50;  
}


}/* sp end */

/* ----------------------
  ページ
------------------------- */
/* ---------------------------
  会社概要
------------------------------ */
@media screen and (min-width: 770px) {/* まで */
h2.page_ttl{
 margin-bottom: 30px;
 border-bottom: 2px solid #0168ab;
 padding-bottom: 5px;
 width: 50%;
 padding-left: 100px;
}
.page #main{
 width: 840px;
 margin-left: auto;
 margin-right: auto;
}
.about .l_box{
 width: 400px;
 float: left;
}
.about .l_box .name{
 text-align: right;
 margin-top: 20px;
}
.about .r_box{
 width: auto;
 float: right;
}
.about table{
 width: 100%;
 margin: 60px auto;
 border: 1px solid #0069ab;
 border-style: 1px 1px 1px 1px;
}
.about table th{
 width: 120px;
 color: #fff;
 background-color: #0069ab;
 border-bottom: 1px solid #fff;
 padding: 20px;
 vertical-align: middle;
}
.about table tr:last-child th{
 border-bottom: 1px solid #0069ab !important;
}
.about table td{
 padding: 20px;
 background-color: #fff;
 vertical-align: middle;
 border-bottom: 1px solid #0069ab;
}
.about table td.tel{
 font-size: 130%;
 font-weight: bold;
 color: #ed1c24;
}
}/* end */
@media screen and (max-width: 769px) {/* 以下 */
h2.page_ttl{
 text-align: center;
 margin-bottom: 30px;
 border-bottom: 2px solid #0168ab;
 padding-bottom: 5px;
}
.about .l_box{
 text-align: center;
 margin-bottom: 20px;
}
.about .l_box .name{
 text-align: center;
 margin-top: 20px;
}
.about .r_box{
 text-align: center;
}
.about table{
 width: 100%;
 margin: 30px auto;
}

.about table tr,
.about table th,
.about table td{
 display: block;
}
.about table th{
 color: #fff;
 background-color: #0069ab;
 border-bottom: 1px solid #fff;
 padding: 10px;
 vertical-align: middle;
}
.about table tr:last-child th{
 border-bottom: 1px solid #0069ab !important;
}
.about table td{
 padding: 10px;
 background-color: #fff;
 vertical-align: middle;
 border-bottom: 1px solid #0069ab;
}
.about table td.tel{
 font-size: 130%;
 font-weight: bold;
 color: #ed1c24;
}
}/*  */
/* ---------------------------
 安全への取り組み
------------------------------ */
@media screen and (min-width: 770px) {/* まで */
.safety .group_1{
 margin-bottom: 50px;
 background: url(images/s-bg1.png) no-repeat 350px 90px;
}
.safety .group_1 .l_box{
 width: 360px;
 float: left;
}
.safety .group_1 .r_box{
 width: 400px;
 float: right;
 padding-top: 50px;
}
.safety h2.page_ttl{
 float: left;
 width: 440px;
}
.safety .sub_t1{
 float: right;
 font-size: 140%;
 line-height: 2;
}

.safety h3.t1{
 font-size: 140%;
 color: #0069ab;
 line-height: 1.5;
 padding: 8px 0 8px 50px;
 font-weight: bold;
 margin-bottom: 20px;
 background: url(images/s-i1.png) no-repeat left center;
}
.safety h3.t2{
 font-size: 140%;
 color: #0069ab;
 line-height: 1.5;
 padding: 8px 0 8px 50px;
 font-weight: bold;
 margin-bottom: 10px;
 background: url(images/s-i2.png) no-repeat left center;
}
.safety h3.t3{
 font-size: 140%;
 color: #0069ab;
 line-height: 1.5;
 padding: 8px 0 8px 50px;
 font-weight: bold;
 margin-bottom: 10px;
 background: url(images/s-i3.png) no-repeat left center;
}
.safety h3.t4{
 font-size: 140%;
 color: #0069ab;
 line-height: 1.5;
 padding: 8px 0 8px 50px;
 font-weight: bold;
 margin-bottom: 10px;
 background: url(images/s-i4.png) no-repeat left center;
}
.safety .group_2{
 padding-bottom: 50px;
}
.safety .group_2 .l_box{
 width: 350px;
 float: left;
}
.safety .group_2 .r_box{
 width: 350px;
 float: right;
}
.safety .group_3{
 padding: 20px;
 border: 1px solid #ccc;
 box-sizing: border-box;
 margin-top: 50px;
}
.safety .group_3 h4{
 font-size: 110%;
 color: #0069ab;
 font-weight: bold;
 margin-bottom: 10px; 
}
.safety .group_3 table{
 width: 100%;
 border: 1px solid #0069ab;
 margin-bottom: 15px;
}
.safety .group_3 table th{
 background-color: #0069ab;
 padding: 5px;
 color: #fff;
 text-align: center;
 border-right: 1px solid #fff;
}
.safety .group_3 table th._2,
.safety .group_3 table th._3{
 width: 130px;
}
.safety .group_3 table th:last-child{
 border-right: none;
}
.safety .group_3 table td{
 border-bottom: 1px solid #0069ab;
 border-right: 1px solid #0069ab;
 text-align: center; 
 padding: 5px;
}
.safety .group_3 table._3{
 width: 435px;
 float: left;
}
.safety .group_3 table._4{
 width: 305px;
 float: right;
}
.safety .group_3 ol{
 margin: 20px 0;
}
.safety .group_3 ol li{
 margin-bottom: 15px;
}
.safety .group_3 ol{
counter-reset:number; 
list-style:none; 
}
.safety .group_3 ol li{
}
.safety .group_3 ol li:before{
counter-increment: number; 
content: counter(number); 
 color: #0069ab; 
 margin-right: 10px;
}
}/* pc end */

@media screen and (max-width: 769px) {
.sp_center{
 text-align: center;
}
.safety .group_1 .l_box{
 padding-bottom: 14%;
 background: url(images/s-bg1_sp.png) no-repeat center bottom ;
 background-size: 30% auto;
}

.safety h3.t1{
 font-size: 140%;
 color: #0069ab;
 line-height: 1.5;
 padding: 8px 0 8px 50px;
 font-weight: bold;
 margin-bottom: 20px;
 background: url(images/s-i1.png) no-repeat left center;
}
.safety h3.t2{
 font-size: 140%;
 color: #0069ab;
 line-height: 1.5;
 padding: 8px 0 8px 50px;
 font-weight: bold;
 margin-bottom: 10px;
 background: url(images/s-i2.png) no-repeat left center;
}
.safety h3.t3{
 font-size: 140%;
 color: #0069ab;
 line-height: 1.5;
 padding: 8px 0 8px 50px;
 font-weight: bold;
 margin-bottom: 10px;
 background: url(images/s-i3.png) no-repeat left center;
}
.safety h3.t4{
 font-size: 140%;
 color: #0069ab;
 line-height: 1.5;
 padding: 8px 0 8px 50px;
 font-weight: bold;
 margin-bottom: 10px;
 background: url(images/s-i4.png) no-repeat left center;
}
.safety .group_1 .r_box{
 margin-bottom: 20px;
}
.safety .group_1 .flow{
 text-align: center;
}
.safety .group_2 .r_box,
.safety .group_2 .l_box{
 margin-bottom: 25px;
}
.safety .group_3 h4{
 font-size: 110%;
 color: #0069ab;
 font-weight: bold;
 margin-top: 30px;
 margin-bottom: 10px; 
}
.safety .group_3 table{
 width: 100%;
 border: 1px solid #0069ab;
 margin-bottom: 15px;
}
.safety .group_3 table th{
 background-color: #0069ab;
 padding: 5px;
 color: #fff;
 text-align: center;
 border-right: 1px solid #fff;
}
.safety .group_3 table th._2,
.safety .group_3 table th._3{
 width: ;
}
.safety .group_3 table th:last-child{
 border-right: none;
}
.safety .group_3 table td{
 border-bottom: 1px solid #0069ab;
 border-right: 1px solid #0069ab;
 text-align: center; 
 padding: 5px;
}


}/* sp */

/* ---------------------------
 ラインナップ
------------------------------ */
@media screen and (min-width: 770px) {/* まで */
.lineup #contents{
 padding-top: 0;
}
.lineup .sub_t1{ 
 text-align: center;
 margin: 50px auto;
}
.lineup .group_2,
.lineup .group_1{
 margin-bottom: 50px;
}
.lineup .group_2 .inbox,
.lineup .group_1 .inbox{
 border-bottom: 1px solid #0069ab;
 border-right: 1px solid #0069ab;
 padding-top: 10px;
 background: url(images/l-bg1.png) no-repeat bottom left;
 background-size: auto 100%;
}
.lineup .group_2 .l_box,
.lineup .group_1 .l_box{
 width: 419px;
 float: left;
 text-align: center;
}
.lineup .group_2 .r_box,
.lineup .group_1 .r_box{
 width: 419px;
 float: right;
 text-align: center;
}
.lineup .group_2 .r_box .bus,
.lineup .group_1 .r_box .bus{
 padding-left: 20px;
}
.lineup #main h3{
 border-bottom: 1px solid #0069ab;
 height: 55px;
 margin-bottom: 15px;
}
.lineup .z-btn{
 margin: 10px auto;
}
.lineup ul.soubi{
 margin: 10px auto;
display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.lineup .soubi li{
 float: left;
 margin-right: 30px;
}
.lineup .soubi li:last-child{
 margin-right: 0;
}
.lineup .group_3 .inbox{
 padding-top: 0px;
 text-align: center;
 border-bottom: 1px solid #0069ab;
 border-right: 1px solid #0069ab;
 background: url(images/l-bg2.png) no-repeat bottom left;
}
}/* pc end */

@media screen and (max-width: 769px) {
.lineup .sub_t1{ 
 text-align: center;
 margin: 30px auto;
}
.lineup .group_2,
.lineup .group_1{
 margin-bottom: 30px;
 border-bottom: 2px solid #0069ab;
}
.lineup .group_2 .inbox,
.lineup .group_1 .inbox{
}
.lineup .group_2 .l_box,
.lineup .group_1 .l_box{
 padding: 20px 3%;
 text-align: center;
 margin-bottom: 3px;
 background: url(images/l-bg2.png) no-repeat bottom left;
 background-size: cover;
}
.lineup .group_2 .r_box,
.lineup .group_1 .r_box{
 padding: 20px 3%;
 text-align: center;
 margin-bottom: 20px;
 background: url(images/l-bg2.png) no-repeat bottom left;
 background-size: cover;
}
.lineup #main h3{
 border-bottom: 1px solid #0069ab;
 margin-bottom: 15px;
 height: 40px;
}
.lineup #main h3 img{
 height: 40px;
}
.lineup .z-btn{
 margin: 10px auto;
}
.lineup ul.soubi{
 width: 94%;
 margin: 10px auto;
}
.lineup .soubi li{
 padding: 5px; 
}
.lineup .soubi li:last-child{}
.lineup .group_3{
 margin: 0 auto;
 overflow: hidden;
} 
.lineup .group_3 .inbox{
 text-align: center;
 background: url(images/l-bg2.png) no-repeat bottom left;
 background-size: cover;
 padding: 20px 3%;
} 

}/* sp end */
/* モーダルウィンドウ
------------------------------ */
.modal-content {
    position:fixed;
    display:none;
    z-index:2;
    width:50%;
    margin:0;
    padding: 3%;
    background:#fff;
}
.modal-content .popup{
}
.modal-content p {
    margin:0;
    padding:0;
}
.modal-overlay {
    z-index:1;
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:120%;
    background-color:rgba(0,0,0,0.6);
}
.modal-open {
    text-decoration:underline;
}
.modal-open:hover {
    cursor:pointer;
}
.modal-close {
 z-index: 10;
 position: absolute;
 right: 10px;
 top: 10px;
 height: 28px;
 width: 71px;
 text-decoration:none;
}
.modal-close:hover {
    cursor:pointer;
}
@media screen and (max-width: 769px) {
.modal-content {
    width:98%;
}
.modal-close {
 right: 10px;
 top: -28px;
 height: 28px;
 width: 71px;
 text-decoration:none;
}
}

/* ---------------------------
 お問い合わせ
------------------------------ */
@media screen and (min-width: 770px) {
.contact #main{
}
.contact .page_ttl{
 float: left;
}
.contact .sub_t1{
 float: right;
 font-size: 140%;
 line-height: 2;
}
.contact .t_outer{
 background-color: #f4efeb;
 padding: 30px 0;
}
.contact .inline{
 background-color: #fff;
 width: 750px;
 height: 300px;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 15px;
 overflow: auto;
 box-sizing: border-box;
 padding: 20px;
}
}
.contact .doui{
 text-align: center;
 margin-bottom: 15px;
}
.form_btn{
 width: 280px;
 margin-left: auto;
 margin-right: auto;
}
.contact .inline h3{
 font-weight: bold;
 font-size: 120%;
 margin-bottom: 10px;
}
@media screen and (max-width: 769px) {
.contact .t_outer{
 background-color: #f4efeb;
 padding: 20px 0;
}
.contact .inline{
 background-color: #fff;
 width: 750px;
 height: 300px;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 15px;
 overflow: auto;
 box-sizing: border-box;
 padding: 20px;
}
.contact .inline{
 background-color: #fff;
 width: 90%;
 height: 300px;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 15px;
 overflow: auto;
 box-sizing: border-box;
 padding: 20px;
 webkit-overflow-scrolling: touch;
}
}
/* -----------------
 お問い合わせ table
 ------------------- */
table.contact_t{
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 30px;
} 
table.contact_t th{
 padding: 7px;
 font-weight: bold;
 text-align: left;
 color: #0069ab;
 border-bottom: 1px dashed #333;
 box-sizing: border-box;
}
table.contact_t td{
 padding: 7px;
 text-align: left;
 border-bottom: 1px dashed #333;
 box-sizing: border-box;
}
table.contact_t span.req{
 background-color: #a02810;
 padding: 1px 5px;
 font-size: 11px;
 color: #fff;
 float: right;  
}
.jyusho select{
 margin-top: 5px;
 margin-bottom: 5px;
}
.jyusho input{ margin-bottom: 5px !important;}
.wpcf7-list-item-label{}
.wpcf7-checkbox{}

input.wpcf7c-btn-back, 
input.wpcf7-submit,
input.wpcf7-confirm {
 line-height: 55px;
 font-size: 140%;
 font-weight: bold;
 padding: 0;
 width: 280px;
 background: url(images/inc-btn-bg.png) repeat-x center left;
}  
@media screen and (min-width: 770px) {/* まで */
table.contact_t{
 width: 90%;
}
.wpcf7c-elm-step1{
 width: 570px;
 height: 55px;
 margin-left: auto;
 margin-right: auto;
 background: url(images/inc-flow-1.png) no-repeat center center;
}
.wpcf7c-elm-step2{
 width: 570px;
 height: 55px;
 margin-left: auto;
 margin-right: auto;
 background: url(images/inc-flow-2.png) no-repeat center center;
}
.wpcf7c-elm-step3{
 width: 570px;
 height: 55px;
 margin-left: auto;
 margin-right: auto;
 background: url(images/inc-flow-3.png) no-repeat center center;
}
textarea.wpcf7-form-control{
 width: 350px;
}
}/* pc */ 

@media screen and (max-width: 769px) {/* 以下 */
table.contact_t{
 width: 100%;
 float: left;
}
table.contact_t td,
table.contact_t th,
table.contact_t tr{
 display: block;
}
table.contact_t th{
 background-color: #efefef;
 width: 100%; 
 box-sizing: border-box;
}
table.contact_t td{
 padding-bottom: 5px;
 width: 100%;
 box-sizing: border-box;
}
input.wpcf7-form-control{
 max-width: 270px;
}
textarea.wpcf7-form-control{
 max-width: 270px;
}
}/* sp */