@charset "utf-8";
@media screen and (min-width: 1201px) { html{font-size:16px; } }@media screen and (max-width: 1200px) { html{font-size:15px; } }@media screen and (max-width: 1024px) { html{font-size:14px; } }@media screen and (max-width: 768px) {  html{font-size:13px; } }@media screen and (max-width: 480px) {  html{font-size:12px; } }a,a:visited,a:active { color:rgba(41,41,41,1.00)}a:hover { color:rgba(153,153,153,1.00)}
/* css setting */
/*　==============================　HOME　==============================　*/

/*　home_tittle_space　*/
@media screen and (min-width: 1601px) { .home_tittle_space{ padding-top:180px;} }
@media screen and (max-width: 1600px) { .home_tittle_space{ padding-top:130px;} }
@media screen and (max-width: 1200px) { .home_tittle_space{ padding-top:110px;} }
@media screen and (max-width: 1024px) { .home_tittle_space{ padding-top:100px;} }
@media screen and (max-width: 768px) { .home_tittle_space{ padding-top:75px;} }
@media screen and (max-width: 480px) { .home_tittle_space{ padding-top:38px;} }

/*　area02　*/

@media screen and (max-width: 768px){
#pt001-2Parent  {
  background-image: none!important; }}

/*　top_area05_bg　*/
.top_05_bg {
background-position: bottom right!important;
background-size: 960px auto;
}
@media screen and (max-width: 768px) {
.top_05_bg{background-size: 480px auto!important;}}

/*　contents_tittle_space　*/
@media screen and (min-width: 481px) { .c_tittle_space{ padding-top:60px;} }
@media screen and (max-width: 480px) { .c_tittle_space{ padding-top:34px;} }

@media screen and (max-width: 768px) {
.top_bg,#pt001-1Parent,#pt001-3Parent
{
    background-attachment: scroll!important; }
}

.home_top_btn {
   background-color: rgba(85,99,105,0.85);
}
.home_top_btn:hover {
   background-color: rgba(85,99,105,0.65);
}


/*　スクロールボタン　*/
.bottomfix {
    position: absolute;
    z-index: 100;
    bottom: 0;
    left: 0;
}

/*　==============================　ABOUT　==============================　*/

@media screen and (max-width: 480px) {
.sp_white
{
    color: #fff!important; }
}

@media screen and (max-width: 768px){
#pt003-1Parent  {
  background-image: none!important; }
}


/*　==============================　事業紹介　==============================　*/

@media screen and (max-width: 1200px) {
.bus_bg
{
        background-size: contain!important; }
}
@media screen and (max-width: 480px) {
.bus_bg
{
    background-image: none!important; }
}
@media screen and (max-width: 768px) {
.bus_bg02
{
    background-attachment: scroll!important; }
}


/*　---　設備紹介　---　*/

.fac_a {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: flex-start;/*左寄せ*/
border-bottom:1px solid #e7e7e7;
}
.fac_a:last-child{
border: none;
}
.fac_a li{
padding: 1rem 0 1rem 1rem;/*列のパッディング*/
letter-spacing: 0rem;
line-height: 1.5rem;/*列の文字の高さ*/
}
.fac_a li:nth-child(1){
flex: 6;/*左の比率*/
}
.fac_a li:nth-child(2){
flex: 4.8;/*真ん中の比率*/
}
.fac_a li:nth-child(3){
flex: 1;/*右の比率*/
padding-bottom: 0.5rem;/*3列目のパッディング下*/
}
@media screen and (max-width: 640px) {
.fac_a{
flex-direction: column;
padding: 1rem 1rem 0.5rem 1rem;/*行のマージン下*/
}
.fac_a li{
padding: 0.1rem;/*列のパッディング*/
}
}


/*　----------　施工実績　----------　*/

.work_line {
     border-bottom:1px solid #ccc;
}

.work_left {
      font-size:0.9rem;
      padding: 1rem;
      vertical-align: top;
      text-align: justify;
      width: 68%;
}
.work_right {
      font-size:0.9rem;
      text-align: justify;
      padding: 1rem 0 1rem 1rem;
      vertical-align: top;
      width: 32%;
     border-left:1px dotted #ccc;
}

#worklist .tk_title {
    font-size: 0.9rem;
   margin-bottom: 0rem!important;
    padding: 0 0 0 1rem;
}
#workpage .tk_title {
    font-size: 1rem;
   margin-bottom: 0rem!important;
}
#worklist .tk_title a, #worklist .tk_title a:visited, #worklist .tk_title a:active,
#workpage .tk_title a, #workpage .tk_title a:visited, #workpage .tk_title a:active {
    color: #7a8e96;
}
#worklist .tk_title a:hover ,#workpage .tk_title a:hover {
    opacity: 0.5;
    transition:0.5s;
}


/*　==============================　企業情報　==============================　*/


/*　----------　ボタン　----------　*/

.color_btn .fs_btn_text_main {
      font-size:1.4rem;
}
.color_btn .fs_btn_text_sub {
      font-size:0.9rem;
}
.color_btn .fs_btn{
line-height: 1.4rem;
    background-color: rgba(41,41,41,0.05);
}

.color_btn .fs_btn:hover {
    background-color: rgba(255,210,0,0.55);
}


/*　----------　会社概要　----------　*/
.cp_left {
      font-size: 0.9rem;
      padding: 1rem 0;
      vertical-align: top;
      width: 20%;
     font-weight: bold;
      text-align: justify;
color: #999;
}
.cp_right {
      font-size: 0.9rem;
      text-align: justify;
      padding: 1rem  0 1rem 1rem;
      vertical-align: top;
      width: 80%;
}

.cp_line {
     border-top:1px solid #ccc;
}

/*　----------　沿革　----------　*/

.his_table_list{
border-bottom: 1px solid #ededed;
padding-bottom: 0.5rem;
}
.his_table_list:last-child{
padding-bottom:0.5rem;
}
.his_contents {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
padding: 1rem 0rem 0.5rem 0rem;
}
.his_contents dt{
padding: 0rem 1rem 0rem 0rem;
width: 180px;
     font-weight: bold;
color: #999;
}
.his_contents dd{
text-align: left;
padding: 0rem 0rem 0rem 0rem;
width: calc(100% - 130px);
}
@media screen and (max-width: 768px){
.his_contents {
flex-flow: column wrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
padding: 0.8rem 0rem 0.4rem 0rem;
}
.his_contents dt{
padding: 0rem 0rem 0.4rem 0rem;
width: 100%;
}
.his_contents dd{
padding: 0rem 0rem 0rem 0rem;
width: 100%;
}
}



/*　----------　環境7　----------　*/

.eco_left {
      font-size: 1.2rem;
      vertical-align: middle;
      width: 12%;
      border-top:1px solid #eff2f1;
      text-align: center;
     background:#ffdc00;
}
.eco_right {
      font-size: 1rem;
      text-align: justify;
      padding: 1rem;
      vertical-align: top;
      width: 88%;
     border-top:1px solid #eff2f1;
}


/*　==============================　スタッフ紹介　==============================　*/

/*　----------　インタビュー背景　----------　*/

@media screen and (max-width: 1200px) {
.interview_bg01 , .interview_bg02
{
        background-size: contain!important; }
}

@media screen and (max-width: 480px) {
.interview_bg02
{
    background-image: none!important; }
}


@media screen and (max-width: 768px) {
.interview_space
{
        padding-top: 40vh!important;
        background-attachment: scroll!important;  }
}

/* -------------------------------------------------- スライドページリスト --------------------------------------------------*/ 


.slick-slide div.contentsslider_footer div.contentsslider_btn p {
    background-color: #666666;
    padding: 0.3rem;
    margin-top: 0.2rem;
    font-size: 0.6rem;
    text-align: center;
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
    margin: 1rem;
    background-color: #fff;
}


.slick-slide a h3 {
    margin: 0;
    padding: 0;
    font-weight: 500;
    font-size: 0.9rem;
    line-height: 1.5rem;
    display: block;
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    color: #292929;
border-bottom: 0px solid #ffffff;
}

.slick-slide div.contentsslider_footer div.contentsslider_btn p {
    background-color: #292929;
    padding: 0.3rem;
    margin-top: 0.2rem;
    font-size: 0.8rem;
    text-align: center;
}

.slick-slide div.contentsslider_footer div.contentsslider_btn p:hover {
    background-color: #666;
}

.slick-slide div.contentsslider_footer div.time_ymd ,
.slick-slide div.contentsslider_footer div.contentsslider_btn p{
    display: none;
}



/*　----------　スタッフ更新リスト　----------　*/

@media screen and (max-width: 480px) {
#archiveBoxesC3 .archiveEachBox{
    margin:0;
}
}

#archiveBoxesC3 .archiveEachBox .eachArticle p.post-time
 {
    display : none ;
}

#archiveBoxesC3 .archiveEachBox .eachArticle h3.post-title  {
    font-size: 1rem;
    padding: 1rem 0 1rem 1rem;
    margin-bottom: 0;
    background: #7a8e96;
    font-weight: normal;
}

#archiveBoxesC3 .archiveEachBox .eachArticle h3.post-title a {
    color: #fff;
}
#archiveBoxesC3 .archiveEachBox .eachArticle ul.post-cat li {
    display: none;
}


/*　==============================　採用情報　==============================　*/

/*　----------　fix背景　----------　*/

@media screen and (max-width: 768px) {
.rec_bg01 , .rec_bg02 , .fix_bg
{
    background-attachment: scroll!important; }
}
@media screen and (max-width: 1200px) {
.rec_bg02
{
        background-size: contain!important; }
}

 .sankaku{
	width: 0;
	height: 0;
	border: 3rem solid transparent;
	border-top: 3rem solid #fff;
        margin: 0 auto;
}




/*　----------　募集要項　----------　*/
.rec_left {
      font-size: 0.9rem;
      padding: 1rem 0;
      vertical-align: top;
      width: 24%;
     font-weight: bold;
      text-align: center;
background: #999;
color: #fff;
vertical-align: middle;
}
.rec_right {
      font-size: 0.9rem;
      text-align: justify;
      padding: 1rem;
      vertical-align: top;
      width: 76%;
}

.rec_line {
     border-top:1px solid #eff2f1;
}



/*　==============================　お問い合わせ　==============================　*/

.formBlockSurveyTable dl dt {
    color: #777777;
    text-align: left;
    width:100%;
    margin-right: 0%!important;
}
.formBlockSurveyTable dl dd {
    width: 100%;
}
.formBlockSurveyTable dl {
    padding: 1% 0;
}
.formBlockSurveyTable dl dd input,
.formBlockSurveyTable dl dd textarea {
    width: 96%;
    resize: none;
    border-radius: 0;
    padding: 2%;
}
.formBlockSubmitButton {
    width:100%!important;
    text-align:center!important;
    background-color: #333333!important;
    color:#fff;
}
.formBlockSubmitButton:hover {
    background-color: #556369!important;
    color:#fff;
    transition:0.6s;
}
.on-pointer input {
    cursor: pointer;
}
@media screen and (max-width: 498px) {
.formBlockSurveyTable dl dd input,
.formBlockSurveyTable dl dd textarea {
    width: 100%;
}
}


/*　==============================　お知らせ　==============================　*/

.tk_tags_news {
    display: inline-table;
    font-size: 0.8rem;
    text-align: center;
    vertical-align: middle;
    line-height: 1.4;
    padding: 0.1rem 0.5rem;
    background: #ffdc00;
    color: #292929;
}

.tk_title {
    font-size: 1rem;
    font-weight: bold;
}
.tk_title a{
    color: #666;
}
.tk_title a:hover {
    opacity: 0.5;
    transition:0.5s;
}
.tk_kiji {
     font-size:0.8rem;
}

.tk_flex {
padding: 2rem 0;
}


/*　———　シェアボタン　———　*/

.fs-snsbutton-color1 .twitter-btn-icon,
.fs-snsbutton-color1 .facebook-btn-icon {
    background-color: #999999;
}

.fs-snsbutton-color1 .twitter-btn-icon:hover ,
.fs-snsbutton-color1 .facebook-btn-icon:hover {
    background-color: #666666;
        transition:0.5s;
}

/*　--------------------　カレンダーの設定　--------------------　*/
div.cal_wrapper table.cal tr th div.cal_ui input {
    border: solid 1px #fff;
}

/*曜日部分*/

div.cal_wrapper table.cal tr.headline td {
    padding: 5px 0px;
    color: #ffffff;
}

div.cal_wrapper table.cal tr.headline {
    background-color: #333;
}


/*更新日部分*/

div.cal_wrapper table.cal tr td div.Birthday {
    font-weight: bolder;
    background-color: #333;
    color: #ffffff;
    border-radius: 0%;
}

div.cal_wrapper table.cal tr td div.pointer:hover {
    background-color: #666;
}

div.cal_wrapper table.cal tr td div span {
    display: none;
    position: absolute;
    top: 30px;
    left: 0px;
    width: 180px;
    border: none;
    background-color: #ffffff;
    text-align: left;
    padding: 5px;
    z-index: 10;
    color: #ffffff;
    font-weight: normal;
    line-height: 1.8em;
    box-shadow: none;
}

div.cal_wrapper table.cal tr td {
    font-size: 10px;
    text-align: center;
    padding: 0px;
}

div.cal_wrapper table.cal tr td div {
    position: relative;
    padding: 6px 10px;
    font-size: 0.7rem;
    text-align: center;
    background-color: #FFF;
    border-radius: 0%;
}



/*　==============================　ヘッダー　==============================　*/

/*　ヘッダーロゴに関する設定　*/
@media screen and (min-width: 769px) {
#top_logo .fs_btn{padding-top: 35px!important;}}
@media screen and (min-width: 769px) {
#top_logo {margin: 1.4rem 2rem 1.4rem 2rem; }}
@media screen and (max-width: 768px) {
#top_logo .fs_btn{padding-top: 30px!important;}}
@media screen and (max-width: 768px) {
#top_logo {margin: 1.5rem 1rem 1.5rem 1rem;}}
@media screen and (max-width: 480px) {
#top_logo .fs_btn{padding-top: 20px!important;}}
@media screen and (max-width: 480px) {
#top_logo {margin: 1.8rem 1rem 1.8rem 1rem;}}


/*　--------------------　PC用（オートナビ）に関する設定　--------------------　*/
.h_navi a {
  position: relative;
  display: inline-block;
  transition: .3s;
}
.h_navi a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 5px;
  background-color: #fff;
  transition: .3s;
}
.h_navi a:hover::after {
  width: 100%;
}

.h_navi .fsNavMenuList li:first-child {
     display:none;
}

/*　--------------------　SP用（Fatナビ）に関する設定　--------------------　*/

.fat-nav li {
    list-style-type: none;
    text-align: left;
    padding: 1.4rem ;
    font-size: 1.4rem;
    line-height: 1.3rem;
    border-bottom: 1px solid #aaabab;
}
.fat-nav li a {
    border-bottom: 0px solid #fff;
}
.fat-nav li .sub_title{
    font-size: 0.8rem;
}

.fat-nav{
    background: rgba(40, 40, 40, 0.96);
}

.hamburger .hamburger__icon, .hamburger .hamburger__icon:before, .hamburger .hamburger__icon:after {
    background-color: #fff;
}

.topfix_A {
    position: absolute;
    z-index: 100;
    top: 0;
    right: 0;
}
.topfix_B {
    position: absolute;
    z-index: 10;
    top: 0;
    right: 0;
}


/*　==============================　フッター　==============================　*/



/*　———　サイトマップ　———　*/
.sitemap_table {
      padding: 0 1rem 0.5rem 0;
      vertical-align: top;
      width:50%;
}

.sitemap_table_eng {
      color: #787878;
      letter-spacing: 0.1rem;
      font-size:1rem;
      padding: 0 1rem 0.25rem 0;
      vertical-align: bottom;
      width:50%;
}

.sitemap_table a, .sitemap_table a:visited, .sitemap_table a:active {
    color: #ccc;
}

.sitemap_table a:hover {
    opacity: 0.5;
    transition:0.5s;
}


/*　———　フッターで使用するボタン　———　*/

.f_btn .fs_btn_text_main {
      font-size:1.1rem;
}
.f_btn .fs_btn_text_sub {
      font-size:0.7rem;
}
.f_btn .fs_btn{
line-height: 1.4rem;
}

/*　———　リンクカラー　———　*/

.f_link a , .f_link a:visited, .f_link a:active  {
    color: #ffffff;
}
.f_link a:hover{
 opacity: 0.5;
    transition:0.4s;
}

/*　———　ページトップボタン　———　*/

.pagetop_btm{
    position: fixed;
    z-index: 20;
    bottom: 0;
    right: 0;
}
.pagetop_btm .fs_btn{
   line-height: 1rem;
}
.pagetop_btm_sp {
   background-color: rgba(215,10,20,0.5);
}


/*　==============================　色に関する設定　==============================　*/

.opacity {
    opacity: 0.9;
}

.main_color {
    color: #7a8e96;
}

.main_color2 {
    color: #556369;
}

.main_backgroundcolor {
    background-color: #7a8e96;
}

.main_rgba {
    background-color: rgba(85,99,105,0.85);
}

.main2_rgba {
    background-color: rgba(122,142,150,0.85);
}

.white_rgba {
    background-color: rgba(255,255,255,0.85);
}

.black_rgba {
    background-color: rgba(35,24,21,0.85);
}

.black_rgba50 {
    background-color: rgba(35,24,21,0.5);
}


/*　==============================　文字に関する設定　==============================　*/

.bold {
    font-weight: bold;
}
.italic {
    font-style: italic;
}
.space_1{
    letter-spacing: 0.1rem;
}
.space{
    letter-spacing: 0.2rem;
}
.space_2{
    letter-spacing: 0.4rem;
}
.space_3{
    letter-spacing: -0.1rem;
}

/*　———　Googlefont　———　*/

.eiji {
font-family: 'Barlow', 游ゴシック Medium,Yu Gothic Medium,游ゴシック体,YuGothic,sans-serif;
}

/* latin-ext */
@font-face {
font-family: 'Barlow';
font-style: normal;
font-weight: 500;
src: local('Barlow Medium'), local('Barlow-Medium'), url(https://fonts.gstatic.com/s/barlow/v1/7cHqv4kjgoGqM7E3_-gs6VospT4.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Barlow';
font-style: normal;
font-weight: 500;
src: local('Barlow Medium'), local('Barlow-Medium'), url(https://fonts.gstatic.com/s/barlow/v1/7cHqv4kjgoGqM7E3_-gs51os.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*　==============================　デフォルト　==============================　*/

a   {
      text-decoration:none;
      }

h1 , h2 , h3 {
    margin: 0px 0px 0px 0px;
    padding: 0px 0px;
    margin-top: 0px;
}

/*　———　ホバー時半調　———　*/

.hover_opacity a:hover{
    opacity: 0.8;
    transition:0.6s;
}

.hover_opacity_img img:hover {
opacity:0.7;
transition:0.6s;
}

/*　———　telリンク - スマホ版のみ　———　*/

@media screen and (min-width: 480px) {
     .tel_splink {
         pointer-events: none;
     }
 }

/*　———　SP版センター　———　*/

@media screen and (max-width: 480px) {
     .sp_center {
         text-align: center!important;
     }
 }

/*　———　SP版左　———　*/

@media screen and (max-width: 480px) {
     .sp_justify {
             text-align: justify!important;
     }
 }

/*　———　SP版右　———　*/

@media screen and (max-width: 480px) {
     .sp_right {
             text-align: right!important;
     }
 }


/*　———　スマホ時改行なし　———　*/

@media screen and (max-width: 480px){
.sp_br_none br {
  display:none;
 }
}

/*　———　スマホ時改行あり　———　*/

@media only screen and (min-width: 769px){
.sp_br br {
  display:none;
 }
}

/*　スマホ時バックグラウンドイメージ非表示　*/

@media screen and (max-width: 480px) {
.sp_bg_none
{
    background-image: none!important; }
}

@media screen and (max-width: 480px) {
.sp_bg_contain
{
     background-size: contain!important;
background-position: bottom!important;
 }
}



/*　———　マルチイメージ、スリックスライドのポインター無　———　*/
.cuosor {
  pointer-events: none ;
  cursor: default ;
}

/*　==============================　その他　==============================　*/

/*　box-shadow　*/
.boxshadow_20 {
box-shadow: 4px 4px 6px 0 rgba(0,0,0,.20);
}
.boxshadow_50 {
box-shadow: 4px 4px 6px 0 rgba(0,0,0,.5);
}
.boxshadow_90 {
box-shadow: 4px 4px 6px 0 rgba(0,0,0,.9);
}

