@charset "UTF-8";

/*-------------------------------------------*/
/*----会社案内トップページ-------------------------------*/
/*-------------------------------------------*/


/*------テーブル-----*/
@media screen and (min-width: 641px){ /*PC*/
main article th{width:25%;}
main article td{width:75%;}
}
@media screen and (max-width: 640px){ /*SP*/
main article th,main article td{width: 100%; padding: 10px;}
}

/*---------------トップ：メインイメージ--------------------*/

.company .cpmain{background: rgba(0,0,0,1.00);overflow: hidden; position: relative;}
.company .cpmain img.text{position: absolute;  top: 50%; left: 50%; transform: translate(-50%,-50%); }
@media screen and (min-width:641px){ /*PC*/
	.company .cpmain{height:777px;}
	.company .cpmain .bg{min-height:777px;min-width: 1499px;position: absolute;top: 50%; left: 50%; transform: translate(-50%,-50%);width:100%;   }
	.company .cpmain img.text{width: 460px;}
}
@media screen and (max-width: 640px){ /*SP*/
	.company .cpmain img.bg{position: relative;}
	.company .cpmain img.text{width:75%;}
}




/*---------------トップ：会社案内--------------------*/

.company .cp .title.inner{padding-bottom: 0;}
@media screen and (min-width:641px){ /*PC*/
	.company .cp .s01 {position: relative;z-index: 3;width: 100%;overflow: inherit;}
	.company .cp .s01 .photo{width: 100%; max-width: 1400px; margin:0 auto;}
	.company .cp .s01 img.text{ width: 73px; position: absolute; top:140px; left: 50%; transform: translate(-50%,-00%);}
}
@media screen and (max-width: 640px){ /*SP*/
	.company .cp .s01 {position: relative;z-index: 3;width: 100%;overflow: inherit;}
	.company .cp .s01 .photo{width: 100%; max-width: 1400px; margin:0 auto;}
	.company .cp .s01 img.text{ width:43px; position: absolute; top:54px; left: 50%; transform: translate(-50%,-00%);}
}

@media screen and (min-width:641px){ /*PC*/
	.company .cp .s02 {display: flex;width: 100%;}
	.company .cp .s02 .ele01{width:46%;}
	.company .cp .s02 .ele02{width:57%;}
	.company .cp .s02 .ele01 p{display: block;width:95%; padding: 60px 0 0 45px; font-size: 18px; line-height: 35px;}
	.company .cp .s02 img.ptext{width:95%; margin:0 auto 0 0;}
}
@media screen and (max-width: 640px){ /*SP*/
	.company .cp .s02 .ele01{padding-bottom: 40px;}
	.company .cp .s02 img.ptext{margin:30px 0 20px;}
}


.company .cp .s03 > div{background-color:#fff;position: relative;}
.company .cp .s03 > div:before,.company .cp .s03 > div:after{  content:''; width: 30px; height: 30px; position: absolute; display: inline-block;}
.company .cp .s03 > div:before{ border-left: solid 1px #c1c1c1; border-top: solid 1px #c1c1c1; top:0; left: 0;}
.company .cp .s03 > div:after{ border-right: solid 1px #c1c1c1; border-bottom: solid 1px #c1c1c1; bottom:0; right: 0;}

.company .cp .s03 > div a{display: inline-block; position: relative;color: #000; border-bottom:5px solid; border-image: linear-gradient(to right, rgba(161, 177, 173, 0.50) 0%, rgba(97, 119, 115, 0.50) 100%);border-image-slice: 1;}
.company .cp .s03 > div a em{color:rgba(97,119,115,0.5);display: block;}
.company .cp .s03 > div a span{}
.company .cp .s03 > a{display: inline-block;position: relative;border: 1px solid #a1b1ad; color: #666; background-color: rgba(255,255,255,0.6);}
.company .cp .s03 a span{position: absolute; right: 20px; top:50%; transform: translate(-00%,-50%);font-size:80%;color: rgba(161, 177, 173, 0.50);}
@media screen and (min-width:641px){ /*PC*/
	.company .cp .s03{margin:100px auto 0px;width: 90%;}
	.company .cp .s03 > div{padding:70px 50px; margin-bottom:60px;}
	.company .cp .s03 > div a{width:22%; margin: 0 40px;font-size: 20px; line-height: 30px; padding: 0 0 10px 0;}
	.company .cp .s03 > div a em{font-size: 14px; line-height: 19px;}
	.company .cp .s03 > a{padding: 10px 30px; margin: 0 50px; width: 25%;}
	

}
@media screen and (max-width: 640px){ /*SP*/
	.company .cp .s03{margin:50px auto 0px;width: 90%;}
	.company .cp .s03 > div{padding:30px 20px; margin-bottom:30px;}
	.company .cp .s03 > div a{width:90%; margin: 0 5% 20px;font-size:17px; line-height:27px; padding:10px 0;}
	.company .cp .s03 > div a em{font-size: 14px; line-height: 19px;}
	.company .cp .s03 > a{width:72%; padding: 8px 20px; margin: 22px 14% 0px;}
	
}


/*---------------トップ：事業--------------------*/
.company .bc .title.inner{padding-bottom: 0;}
@media screen and (min-width:641px){ /*PC*/
	
	.company .bc img.mphoto{width: 100%; max-width: 1400px; margin:0 auto;}
	.bc .s02 .fl_left{width:42%; padding: 50px 0 0;}
	.bc .s02 .fl_right{width: 51%;}
	.bc .s02 .fl_left h3{font-size: 32px; line-height: 57px; margin: 50px 0 30px 50px;}
	.bc .s02 .fl_left p{margin:0px 0 0px 50px; }
}
@media screen and (max-width: 640px){ /*SP*/
.bc .s02 .fl_left{padding-bottom: 40px;}
.bc .s02 .fl_left h3{text-align: left; font-size:26px; line-height: 48px; margin:40px 0 20px;}
}

.bc .s03 .biz{background-color: rgba(255,255,255,0.4);}
.bc .s02 .fl_right a,
.bc .s03 .biz a{display: block;position: relative;color: rgba(255,255,255,1.00);}
.bc .s02 .fl_right a div,
.bc .s03 .biz a div{background-color: rgba(0,0,0,0.6);text-align: left;position: absolute;bottom: 0; left: 0;right: 0;}
.bc .s02 .fl_right .icon,
.bc .s03 .biz .icon{width:10%;filter: brightness(0) invert(1);position: absolute; right: 20px; top:50%; transform: translate(-00%,-50%); }
.bc .s02 .fl_right a em,
.bc .s03 .biz a em{display: block; color: rgba(255,255,255,0.6);font-size: 14px; line-height: 19px;}
@media screen and (min-width:641px){ /*PC*/
	.bc .s03 .biz{ padding: 60px 0;}
	.bc .s02 .fl_right a{width:100%; margin:0;font-size:30px; line-height: 45px;}
	.bc .s03 .biz a{width: 23%; margin:30px;font-size:20px;}
	.bc .s02 .fl_right a div{padding:25px 30px;}
	.bc .s03 .biz a div{padding: 15px 20px;}
	.bc .s03 .arrow.inner{padding: 60px 0 180px;}
	.bc .s03 .bot{position: absolute; right: 0;top:60px; margin: 0;}
}
@media screen and (max-width: 640px){ /*SP*/
	.bc .s03 .biz{ padding: 30px 0;}
	.bc .s02 .fl_right a{width:100%; margin:0;font-size:26px; line-height: 40px;}
	.bc .s03 .biz a{width:80%; margin:10px;font-size:18px;}
	.bc .s02 .fl_right a div{padding:15px 20px;}
	.bc .s03 .biz a div{padding: 10px 15px;}
	.bc .s03 .arrow.inner{padding: 20px 0 50px;}
}
.slick-slider{height:auto!important;}	
.slick-slide{height:auto!important;}
.arrow_box { display: flex; align-items: center; justify-content:flex-start; margin:0; position: relative;}
.prev-arrow,
.next-arrow { display: block; width: 50px; height: 50px;
  background:rgba(255,255,255,0.4);border: 1px solid #999;
  border-radius: 50%; transition: all .3s ease; cursor: pointer; position:relative;}
.prev-arrow { transform: rotate(180deg); margin-right: 20px;}
.prev-arrow::before,
.next-arrow::before{ position:absolute;content: "";width:10px;height:10px; border-right: 2px solid #999;  border-top: 2px solid #999;top:0; bottom:0;left:0;right:0;margin:auto;transform:rotate(45deg) translate(-3px,2px);}

@media screen and (max-width:640px){
  .arrow_box { margin: 10px 0 0; justify-content: center;}
  .prev-arrow, .next-arrow { width: 45px; height: 45px; }
}


/*---------------トップ：IRニュース--------------------*/
.company article .irnews li{text-align:left; }
.company article .irnews .previous{display: block; text-align: right; }
@media screen and (min-width:641px){ /*PC*/
.company article .irnews .previous{padding:30px 0 0;}
}
@media screen and (max-width: 640px){ /*SP*/
.company article .irnews .previous{padding:20px 0 0;}
}

/*---------------トップ：IR--------------------*/
.irblock{background: url(img/top_irimg.jpg) center top; background-size: cover;background-attachment: fixed; position: relative;} 
.irblock::before {content: ''; position: absolute;top: 0;right: 0;bottom: 0;left: 0; background-color:rgba(97,119,115,0.75) /*rgba(161,177,173,0.7)*/;
}
@media screen and (min-width:641px){ /*PC*/
	.irblock{background-size:100% auto ;}
}
@media screen and (max-width: 640px){ /*SP*/
.irblock{background-size: auto 100%;}
}

.irblock section{background-color: rgba(255,255,255,0.6);}
.irblock .irmenu a{color: #000; background-color: rgba(255,255,255,0.8);padding: 20px 0 20px 15px;font-size: 110%; border-bottom:5px solid; border-image: linear-gradient(to right, rgba(161,177,173,0.5) 0%, rgba(97,119,115,0.5) 100%);border-image-slice: 1;}
.irblock .irmenu a span{margin: 0 0 0 10px; font-size: 80%; }
.irblock .flex_box03 div{border-bottom: 1px dotted rgba(97,119,115,0.5);}
.irblock .flex_box03 div a{color: #333;display: flex;justify-content: center;align-content: center; align-items: center;}
.irblock .flex_box03 div span{line-height: 18px; height: 18px;}
.irblock .flex_box03 div span img{width: 18px; /*filter: brightness(0) invert(1);*/vertical-align: bottom;margin: 0 ;opacity: 0.7;}

@media screen and (min-width:641px){ /*PC*/
	.irblock section{padding:100px 50px;}
	.irblock .irmenu{display: flex;justify-content: center;align-content: center; align-items: center;}
	.irblock .irmenu a{width:30%; margin: 0 1.5%;}
	.irblock .flex_box03{padding: 60px 0 0 0; width:92%; margin: 0 auto; }
	.irblock .flex_box03 div{position: relative;width: 27%; margin: 0 2.5%!important; padding:20px 0;}
	.irblock .flex_box03 div img.icon{height:40px; margin:0px 10px 0px 0;width: auto;}
	.irblock .flex_box03 div span{display: block;}
}
@media screen and (max-width:640px){ /*SP*/
	.irblock section{padding:50px 30px;}
.irblock .irmenu a{display: block;margin: 0 0 30px;}
.irblock .flex_box03{padding:1px 0 0 0; width:100%; margin: 0 auto; }
.irblock .flex_box03 div{margin:00px 0 0 ; padding:15px 0 15px 0px;overflow: hidden;text-align: left; }
	.irblock .flex_box03 div a{justify-content:flex-start;}
.irblock .flex_box03 div img.icon{margin:0 20px 0 0;width:12%;float: left;}
.irblock .flex_box03 div span{display:inline;}
}


/*---------------トップ：取り組み--------------------*/


.initi ul li a{color: rgba(0,0,0,1.00);}
.initi ul li p{display: block;}
.initi ul li p span{font-size: 70%; opacity: 70%; margin-right: 10px;}

@media screen and (min-width:641px){ /*PC*/
	.initi .set01{display:flex; padding-bottom:80px;width:72%; margin: -160px 0 0 28%;z-index: 2;position: relative;}
	.initi .set01 .ltext{display: block; margin:0; width: 70%; padding: 0;text-align: left;}
	.initi .set01 .ltext h3{ font-size: 23px; letter-spacing: 3px; margin-bottom: 0;}
	.initi .set01 .ini_img{margin: 0;position: absolute;right: 0; top: 10px;width: 220px;}
	/*main .initi .set01 .botmini{margin: 0;position: absolute;right: 0; top: 10px;}*/
	main .initi section{ padding: 0; }
	.initi ul{display: flex;}
	.initi ul li{width: 30%;line-height: 25px;}
	.initi ul li:nth-child(2){width:40%; padding: 0 5%; }
	.initi ul li p{padding: 20px 0 0;}
}
@media screen and (max-width: 640px){ /*SP*/
	.initi .set01 .ltext h3{font-size: 18px;margin-bottom: 10px;}
	.initi .set01 .ini_img{margin:20px 10% 15px 40%;width:50%;}
	main .initi section{padding: 0;}
	.initi ul{padding-top: 30px;}
	.initi ul li{padding: 20px 0;border-bottom:1px dotted #aaa;}
	.initi ul li:first-child{border-top:1px dotted #aaa;}
	.initi ul li a{display: block;display: flex;justify-content: center;align-content: center; align-items: center;}
	.initi ul li img{width: 30%; margin:0 2% 0 0; padding-bottom: 0;display: inline-block;}
	main .initi ul li p{width: 67%; font-size:16px;line-height: 22px;}
}





/*-------------------------------------------*/
/*----企業理念ページ-------------------------------*/
/*-------------------------------------------*/
.philosophy .sec01 h2{text-align: left;}
@media screen and (min-width:641px){ /*PC*/
	.philosophy .eng_title{width: 40%; margin: 80px 0 00px 60%;}
	.philosophy main article .flex_box02{margin-bottom: 20px;}
	.philosophy main article .flex_box02 > div.sec01{width: 43%; margin-right: 0;}
	.philosophy main article .flex_box02 > div.sec02{width: 57%;padding: 60px 0 0 2%}
	.philosophy main article .goho .inner{padding-top: 120px;}
	.philosophy main article .goho .flex_box02{padding-top:100px;}
	.philosophy main article .goho .flex_box02 > div:nth-child(2){padding: 0 0 0 60px;}
}
@media screen and (max-width: 640px){ /*SP*/
	.philosophy article .bg01 .inner{width: 100%;}
	.philosophy main article .inner{width: 100%;}
	.philosophy .eng_title{width: 77%; margin:30px auto 30px 20%;}
	.philosophy main article  .flex_box02 > div.sec02{margin: 60px 0 0;}
	.philosophy main article  .flex_box02 > div.sec01,
	.philosophy main article .goho .flex_box02 > div:nth-child(2){width: 90%; margin: auto;}
	.philosophy main article .goho .flex_box02 > div:nth-child(1) img{width: 80%; margin:30px auto;}
	
}
/*-------------------------------------------*/
/*----ごあいさつページ-------------------------------*/
/*-------------------------------------------*/
.message article  #sign{display: flex;align-items:flex-end;align-content: flex-end;}
.message article  #sign div{text-align:right;}
@media screen and (min-width:641px){ /*PC*/
	.message article  section{padding:0 90px;}
	.message article  #sign{padding-top: 50px;}
	.message article  #sign div{width:77%;}
	.message article  #sign img{width: 20%; margin: 0 0 0 3%;}
}
@media screen and (max-width:640px){ /*SP*/
	.message article  section{padding:30px;}
	.message article  #sign{padding-top: 30px;}
	.message article  #sign div{width:50%;}
	.message article  #sign img{width:45%; margin: 0 0 0 5%;}
}

/*-------------------------------------------*/
/*----会社概要ページ-------------------------------*/
/*-------------------------------------------*/
.overview article  section{background-color: #fff;} 
@media screen and (min-width:641px){ /*PC*/
	.overview article  section{padding:90px;}
}
@media screen and (max-width:640px){ /*SP*/
	.overview article  section{padding:30px;}
}
/*-------------------------------------------*/
/*----役員紹介ページ-------------------------------*/
/*-------------------------------------------*/
.officer article  section{background-color: #fff;} 
.officer article  dd em {display:inline-block;float: right;font-size: 90%; color: rgba(0,0,0,0.7);}
@media screen and (min-width:641px){ /*PC*/
	.officer article  section{padding:90px;}
}
@media screen and (max-width:640px){ /*SP*/
	.officer article  section{padding:30px;}
}

/*-------------------------------------------*/
/*----グループ会社ページ-------------------------------*/
/*-------------------------------------------*/
	.group .flex_box02 h2 a{color: #3c6059;display: block;}
	.group .flex_box02 h2{position: relative; border: 1px solid rgba(60,96,89,0.4); background-color: rgba(255,255,255,1.00); text-align:left; color:#3c6059; }
	.group .flex_box02 h2 em{display: block;color: #000!important; }
	.group .flex_box02 h2 img{width:6%; position: absolute; top:50%;transform: translate(0,-50%);right:20px;opacity: 0.4;}
	.group main article  table th,.group main article  table td{padding: 15px;}

	.group .mini{padding: 15px 0 0;}
@media screen and (min-width:641px){ /*PC*/
	.group .groupimg{width: 42%; margin-bottom:80px;}
	.group main p.lead{text-align: center; width: 80%;margin: 10px auto 50px;}
	.group main article  .flex_box02{margin-bottom: 0;}
	.group main article  .flex_box02 > div{margin-top:80px;}
	.group main article  .flex_box02 > div{width: 46%}
	.group main article  .flex_box02 > div:nth-child(odd){margin-right: 8%;}
	.group .flex_box02 h2 {padding: 20px 0 20px 20px;margin-bottom: 20px;line-height:35px;font-size:26px;}
	.group .flex_box02 h2 em{font-size: 16px; line-height: 36px;}
	.group main article  table tr:nth-child(1){border-bottom: 1px dotted #999;}
	.group main article  table tr:nth-child(1){border-top:none;}
}
@media screen and (max-width: 640px){ /*SP*/
	.group .groupimg{width: 80%; margin-bottom: 30px;}
	.group main article  section{padding: 0;}
	.group .flex_box02 h2 {padding: 15px 0 15px 20px;margin-bottom: 20px;line-height:25px;font-size:16px;}
	.group .flex_box02 h2 em{font-size: 12px; line-height:26px;}
	.group main article table th,.group main article  table td{font-size: 14px;padding: 8px;}
	.group main article  table th{width: 32%;}
}

/*-------------------------------------------*/
/*----局一覧ページ-------------------------------*/
/*-------------------------------------------*/
.locations article .list section{background-color: #fff;} 
.locations article .list dl.honsya{border-top:1px solid #d0d0d0;}
.locations article .list dl dd span,.locations article .list .kyoku p span {color:rgba(97,119,115,0.5); font-size:14px; margin: 0 10px 0;line-height: 14px;}
.locations article .list dl dt a{font-size:14px;line-height: 14px;padding: 2px 10px 4px 15px; border-radius: 30px;background-color: rgba(255,255,255,0.6); display: inline-block; border: 1px solid rgba(97,119,115,0.5);color:rgba(97,119,115,0.9); }
.locations article .list dl dt a span{font-size: 80%; padding: 0; margin-top: 6px;}
@media screen and (min-width:641px){ /*PC*/
.locations article .list section{padding: 90px;}
.locations article .list dl dt,.locations article .list dl dd{line-height:40px;}
}
@media screen and (max-width:640px){ /*SP*/
.locations article .list section{padding:30px;}
.locations article .list dl dt{padding: 3px 0;}
.locations article .list dl dt,.locations article .list dl dd{line-height:30px;font-size: 90%;}
}
/* 局の地図表示 */
.locations article .list .kyoku p {text-align: center;}
.locations article .list .kyoku p.tel a{color:rgba(97,119,115,0.9); }
@media screen and (min-width:641px){ /*PC*/
.locations article .list .kyoku p.address{padding-top: 20px;}
.locations article .list .kyoku p.tel a{ font-size: 50px; line-height:90px;}
.locations article .list .kyoku p.tel a span{ font-size:40px; line-height:90px;}
.locations article .list .kyoku p.fax{font-size: 20px; line-height: 50px;}
.locations article .list .kyoku p.fax span{font-size: 18px; line-height: 50px;}
.locations article .list .kyoku .photo_flex3{margin: 70px 0;}
.locations article .list #google_map{width: 100%; height: 500px; margin-top:60px;}
}
@media screen and (max-width: 640px){ /*SP*/
.locations article .list .kyoku p.address{padding-top: 20px;}
.locations article .list .kyoku p.tel a{font-size:30px; line-height:60px;}
.locations article .list .kyoku p.tel a span{ font-size:28px; line-height:60px;}
.locations article .list .kyoku p.fax{font-size:18px; line-height:30px;}
.locations article .list .kyoku p.fax span{font-size:16px; line-height:30px;}
.locations article .list .kyoku .photo_flex3{margin: 30px 0;}
.locations article .list #google_map{width: 100%; height:290px; margin-top:30px;}
}

.locations .select label{display: block;margin-bottom: 0;color: #3c6059;}
@media screen and (min-width:641px){ /*PC*/
	.locations .select label{margin-bottom: 30px;}
}
/*-------------------------------------------*/
/*----沿革ページ-------------------------------*/
/*-------------------------------------------*/
.history article  section{background-color: #fff;} 
.history article  table td span {display:inline-block; width:50px; text-align: center; background-color:rgba(97,119,115,0.6); color: rgba(255,255,255,1.00);font-size:14px; margin: 0 10px 0 -60px;line-height: 14px; padding: 4px 0;}
@media screen and (min-width:641px){ /*PC*/
	.history article section{padding: 90px;}
	.history article  table th,
	.history article  table td{line-height:40px;}
.history article  table td {padding-left: 80px;}
}
@media screen and (max-width:640px){ /*SP*/
.history article section{padding:30px;}
.history article  table th{padding: 3px 0;}
.history article table th,.history article table td{line-height:30px;font-size: 90%;display: block;}
.history article table td {padding-left:60px;}
}
