@charset "UTF-8";




.wf-loading { visibility: hidden;}
.wf-active { visibility: visible;}




@font-face {
  font-family: 'TradeGothic';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/TradeGothicLH-Extended.eot");
  src: url("../fonts/TradeGothicLH-Extended.eot?#iefix") format("embedded-opentype"), url("../fonts/TradeGothicLH-Extended.ttf") format("truetype"), url("../fonts/TradeGothicLH-Extended.woff") format("woff")
}

@font-face {
  font-family: 'TradeGothicbold';
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/TradeGothicLH-Extended-Bold.eot");
  src: url("../fonts/TradeGothicLH-Extended-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/TradeGothicLH-Extended-Bold.ttf") format("truetype"), url("../fonts/TradeGothicLH-Extended-Bold.woff") format("woff")
}


._tradeg{
  font-family: 'TradeGothicbold';
}



body {
  font-family: 'Noto Sans', 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset', sans-serif;
  font-weight: 500;
  line-height: 1.9;
  color: #000000;
  letter-spacing: 0.1em;
  background-color: #ffffff;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  font-size:14px;
  margin:0;
  padding:0;
  position: relative;
  -webkit-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  -moz-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  -o-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -wekbit-transition-property: left;
  -moz-transition-property: left;
  -o-transition-property: left;
  transition-property: left;
  left: 0;
}




._bold {
  font-family: 'Noto Sans CJK JP Bold', sans-serif;
  font-weight:900;
}


a {
  color: #000000;
  text-decoration: none;
  transition-property: color;
  transition-duration: 0.2s
}

a:hover {
  color: #a1c62e
}

  .under {
    background:none;
  }
  

@media screen and (max-width:800px) {
.under {
  background: linear-gradient(transparent 65%, #e7f48d 35%);
}

}

time {
  color: #898989;
  font-size: 14px
}

address {
  font-style: normal
}

img {
  vertical-align: bottom
}

*, :after, :before {
  box-sizing: border-box
}

::-moz-selection, ::selection {
  color: #ffffff;
  background: #1d2846
}

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, l, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0
}

li {
  list-style: none
}

a img {
  border: none
}

img {
  max-width: 100%;
  height: auto
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: inherit
}

input[type=text] {
  -webkit-appearance: none
}

input[type=submit] {
  -webkit-appearance: none
}

input[type=textarea] {
  -webkit-appearance: none
}



/* CONTENTS ALIGN
================================================== */

._left{
	text-align:left;
	margin:0 0 0 2.5%;
}

._left_txt{
	text-align:justify!important;
}




/* CONTENTS
================================================== */


main.main{
  margin:0;
  padding:0;
  display: block; /* 追記 */
}



.contents {
  position: relative;
  overflow: hidden;
  margin: 10% 0;
  padding:0;
}


.contents-company {
  position: relative;
  overflow: hidden;
  margin: 10% 0;
  padding:0 140px;
}


.contents-map {
  position: relative;
  overflow: hidden;
  margin:0 0 -60px 0;
  padding:0;
}


.contents-works {
  position: relative;
  overflow: hidden;
  margin:0;
  padding:5% 140px 5% 140px;
  background-color:#1d2846;
}


@media screen and (max-width:800px) {


  main.main{
    margin:0;
    padding:0;
    display: block; /* 追記 */
  }
  
  
  
  .contents {
    position: relative;
    overflow: hidden;
    margin:0 0;
    padding:0 0;
  }
  
  
  .contents-company {
    position: relative;
    overflow: hidden;
    margin:75px 20px;
    padding:0;
  }
  
  
  .contents-map {
    position: relative;
    overflow: hidden;
    margin:0 0 -60px 0;
    padding:0;
  }
  
  
  .contents-works {
    position: relative;
    overflow: hidden;
    margin:0;
    padding:50px 20px 50px 20px;
    background-color:#1d2846;
  }
  


}



/* HEADER
================================================== */


.header {
  margin:0;
  padding:15px 0 5px 0;
  height:auto;
  background-color:#ffffff;
  box-shadow: 0px 4px 6px -3px rgba(0,0,0,0.2);
  -webkit-box-shadow: 0px 4px 6px -3px rgba(0,0,0,0.2);
  -moz-box-shadow: 0px 4px 6px -3px rgba(0,0,0,0.2);
}

.header-logo {
  width:25%;
  height: auto;
  margin:0 0 15px 0;
  text-align:left;
}

.header-logo img{
  width:300px;
}


.header-inner {
width: 100%;
padding-left: 75px;
padding-right: 75px;
margin-left: auto;
margin-right: auto;
position: relative;

}



ul.main-gnav{
width:70%;
height:auto;
margin:0px 0 0 0;
padding:0;
text-align:right;
position: absolute;
right:75px;
top:0px;
}



ul.main-gnav li{
display: inline-block;
list-style: outside none none;
padding:0;
margin:0 3%;
text-align:center;
overflow: hidden;
font-size:16px;
}

ul.main-gnav li.contact{
display: inline-block;
list-style: outside none none;
padding:3px 7px 0 37px;
margin:10px 0 0 3.5%;
text-align:center;
overflow: hidden;
font-size:14px;
border:1px solid #000000;
background:url(/assets/img/common/icon_contact.svg) no-repeat;
background-size:17px 17px;
background-position: 10px 6px;
}




@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, ul.main-gnav li.contact{
    display: inline-block;
    list-style: outside none none;
    padding:3px 7px 0 37px;
    margin:10px 0 0 3.5%;
    text-align:center;
    overflow: hidden;
    font-size:14px;
    border:1px solid #000000;
    background:url(/assets/img/common/icon_contact.svg) no-repeat;
    background-size:17px 17px;
    background-position: 10px 6px;
    }
}


@media screen and (max-width:800px) {



  .header {
    width:100%;
    margin:0;
    padding:15px 0 5px 20px;
    height:60px;
    background-color:#ffffff;
    box-shadow: 0px 3px 3px -3px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0px 3px 3px -3px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 3px 3px -3px rgba(0,0,0,0.2);
    position: fixed;
    z-index:10;
  }


.header-inner {
width: 100%;
padding-left: 0;
padding-right: 0;
margin-left: auto;
margin-right: auto;
position: relative;
}


ul.main-gnav{
  width:100%;
  height:auto;
  margin:0;
  padding:0 0 0px 0;
  text-align:left;
  position:absolute;
  z-index:10;
  left:0;
  top:0px;
  background-color: #ffffff;

}

ul.main-gnav li{
  width:auto;
  height:auto;
  margin:0;
  padding:15px 20px;
  text-align:left;
  font-size:16px;
  display:block;
  font-weight:bold;
  border-bottom:1px solid #cccccc;
}

ul.main-gnav li:nth-child(5){
  border-bottom:none;
}

ul.main-gnav li a {
  position: relative;
  display: block;
  margin: 0 auto;
  color: #000000;
  font-size: 16px;
  text-align:left;
  text-decoration: none;
  }
  

  
  ul.main-gnav li.contact{
    display: inline-block;
    list-style: outside none none;
    padding:3px 7px 0 37px;
    margin:5px 0 20px 20px;
    text-align:center;
    overflow: hidden;
    font-size:14px;
    border:1px solid #000000;
    background:url(/assets/img/common/icon_contact.svg) no-repeat;
    background-size:17px 17px;
    background-position: 10px 6px;
    }
    
  
  
}


/* SP HEADER
================================================== */


@media screen and (max-width:800px) {

  .header-logo {
      width:auto;
      height: auto;
      margin:0px;
      text-align:left;
      position: relative;
      top:-5px;
      z-index:1;
  
    }
  
    .header-logo img{
      width:240px;
    }
  
  }
  
  
  
  
  
  
  
  
  @media screen and (max-width:1000px) {
  
    .gnav {
      display: none;
      position: fixed;
      left: 0;
      top:60px;
      width: 100%;
      margin:0px 0 0 0;
      border-top:1px solid #cccccc;
      background-color: #ffffff
    }
  
  }
  
  


/* FOOTER
================================================== */


.footer {
  width:100%;
  height:auto;
  background-color:#1d2846;
  padding:2.5% 0;
  margin:0 0 0 0;
  position: relative;
}

.footer-logo {
  width:auto;
  height: auto;
  margin:0 0 15px 0;
  text-align:left;
}

.footer-logo img{
  width:300px;
}



.footer-inner {
  width: 100%;
  padding-left: 75px;
  padding-right: 75px;
  margin-left: auto;
  margin-right: auto;
 position: relative;
 display: flex;
}

.footer-box-left{
  width:40%;
  height:auto;
  margin:0;
  padding:0;
}

.footer-box-right{
  width:40%;
  height:auto;
  margin:0;
  padding:0;
}



.address-txt{font-size:12px;}
.copyright{color:#ffffff;font-size:9px; position: absolute;
  right:75px;
  top:60px;}


ul.footer-gnav{
    width:70%;
    height:auto;
    margin:0px 0 0 0;
    padding:0;
    text-align:right;
    position: absolute;
    right:75px;
    top:10px;
  }
  
  
  
  ul.footer-gnav li{
    display: inline-block;
    list-style: outside none none;
    padding:0;
    margin:0 3%;
    text-align:center;
    overflow: hidden;
    font-size:16px;
  }
  
  ul.footer-gnav li.contact{
    display: inline-block;
    list-style: outside none none;
    padding:3px 7px 0 7px;
    margin:10px 0 0 3.5%;
    text-align:center;
    overflow: hidden;
    font-size:14px;
    border:1px solid #000000;
  }

.footer a{
    color:#ffffff;
  }

  .footer a:hover{
    color:#a1c62e;
  }


  @media screen and (max-width:800px) {



    .footer {
      width:100%;
      height:auto;
      background-color:#1d2846;
      padding:50px 20px;
      margin:0 0 0 0;
    }
    
    .footer-logo {
      width:auto;
      height: auto;
      margin:0 0 20px 0;
      text-align:center;
    }
    
    .footer-logo img{
      width:75%;
    }
    
    
    
    .footer-inner {
      width: 100%;
      padding-left: 0;
      padding-right: 0;
      margin-left: auto;
      margin-right: auto;
     position: relative;
     display: block;
    }
    
    .footer-box-left{
      width:auto;
      height:auto;
      margin:0;
      padding:0;
    }
    
    .footer-box-right{
      width:auto;
      height:auto;
      margin:0;
      padding:0;
    }
    
    
    
    .address-txt{font-size:12px;text-align:center;}
    .copyright{margin:20px auto 0 auto;text-align:center;color:#ffffff;font-size:9px; position: relative;
      right:0;
      top:0px;}
    
    
    ul.footer-gnav{
        width:auto;
        height:auto;
        margin:20px 0 0 0;
        padding:20px 0;
        text-align:center;
        position: relative;
        right:0;
        top:0px;
        border-top:1px solid #ffffff;
        border-bottom:1px solid #ffffff;
      }
      
      
      
      ul.footer-gnav li{
        display: inline-block;
        list-style: outside none none;
        padding:0;
        margin:0 3.5%;
        text-align:center;
        overflow: hidden;
        font-size:14px;
      }
      

    .footer a{
        color:#ffffff;
      }
    
      .footer a:hover{
        color:#a1c62e;
      }
    


  }


/* HUMBERGER MENU
================================================== */



body.is-open {
  overflow-y: hidden;
  position: relative;
  z-index:12;
}

body.is-open .gnav {
  display: block;
  height:100%;
  z-index: 9999;
  overflow-y: scroll;
  background-color:rgba(0,0,0,0.8);
}


.burger {
  position: fixed;
  right:0;
  top: 0;
  width:60px;
  display: block;
  height: 60px;
  z-index: 20;
  background-image: url("../img/common/header_nav05_sp.svg");
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center top 42px;
  background-color:#a1c62e;
}

@media screen and (min-width:1000px) {
  .burger {
    display: none
  }
}

.burger span {
  position: absolute;
  left:15px;
  width: 30px;
  height: 2px;
  background-color: #ffffff;
  border-radius: 0px;
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: all 200ms cubic-bezier(0.25, 0.1, 0.25, 1)
}

.burger span:first-of-type {
  top: 20px
}

.burger span:nth-of-type(2) {
  display:none;
}

.burger span:nth-of-type(3) {
  top: 30px
}

body.is-open .burger span:first-of-type {
  top: 22px;
  transform: translateY(0px) rotate(-45deg)
}

body.is-open .burger span:nth-of-type(2) {
  top: 29px;
  opacity: 0
}

body.is-open .burger span:nth-of-type(3) {
  top: 22px;
  transform: translateY(0px) rotate(45deg)
}




/* COMMON TTL CONTENTS
================================================== */

h2{
  font-size:26px;
  color:#000000;
  margin:0 0 20px 0;
  padding:0;
  text-align:left;
  letter-spacing: 0.1em;
}

span.ttl_caption{
  margin:0 0 -12px 3px;
  padding:0;
  display:block;
  font-size:11px;
  color:#cccccc;
  letter-spacing: 0.12em;
}


@media screen and (max-width:800px) {

  h2{
    font-size:22px;
    font-weight: bold;
    color:#000000;
    margin:0 0 20px 0;
    padding:0;
    text-align:left;
    letter-spacing: 0.1em;
  }
  
  span.ttl_caption{
    margin:0 0 -10px 3px;
    padding:0;
    display:block;
    font-size:10px;
    color:#cccccc;
    letter-spacing: 0.12em;
  }
  



}


/* PAGES
================================================== */

main.pages-main{
  margin:40px 0 0 0;
  padding:0 75px 130px 75px;
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 400px,#f5f5f5 400px, #f5f5f5 50%, #f5f5f5 100%);
  display: block; /* 追記 */
}





.pages-header {
  width:100%;
   padding:0;
   margin:0 0 10px 0;
   display:flex;
   box-sizing:border-box;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
 }
 
 
 
 .pages-header-ttl{
   width:15%;
   height:auto;
   padding:0;
   margin:0;
   text-align:left;
   display:flex;
   position: relative;
 }
 
 
 .pages-header-txt{
   width:85%;
   height:auto;
   padding:0;
   margin:-10px 0 0 0;
   text-align:left;
   position: relative;
 }


.pages-main-contents-box {
  position: relative;
  overflow: hidden;
  margin:0 0 0 0;
  padding:0;
  background-color:#ffffff;
  -webkit-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -moz-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -ms-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
}

#company main.pages-main .pages-main-contents-box {
  position: relative;
  overflow: hidden;
  margin:40px 0 0 0;
  padding:0;
  background-color:#ffffff;
  -webkit-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -moz-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -ms-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
}


.pages-main-contents-box-t {
  position: relative;
  overflow: hidden;
  margin:75px 0;
  padding:0;
  background-color:#ffffff;
  -webkit-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -moz-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -ms-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
}

.pages-main-contents-box-end {
  position: relative;
  overflow: hidden;
  margin:75px 0 0 0;
  padding:0;
  background-color:#ffffff;
  -webkit-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -moz-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -ms-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
}



.pages-main-contents-box-ex{
  padding:75px;
  margin:0;
}



@media screen and (max-width:800px) {


  main.pages-main{
    margin:0px 0 0 0;
    padding:0 15px 150px 15px;
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 220px,#f5f5f5 220px, #f5f5f5 50%, #f5f5f5 100%);
    display: block; /* 追記 */
    position: relative;
    top:90px;
  }
  
  #company main.pages-main{
    margin:0px 0 0 0;
    padding:0 15px 150px 15px;
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 420px,#f5f5f5 420px, #f5f5f5 50%, #f5f5f5 100%);
    display: block; /* 追記 */
    position: relative;
    top:90px;
  }
  
  
  
  
  .pages-header {
    width:auto;
     padding:0;
     margin:0  0 25px 0;
     display:block;
     box-sizing:border-box;
     justify-content: center;
     align-items: center;
     flex-wrap: wrap;
   }
   
   
   
   .pages-header-ttl{
     width:auto;
     height:auto;
     padding:0;
     margin:0;
     text-align:left;
     display:flex;
     position: relative;
   }
   
   
   .pages-header-txt{
     width:auto;
     height:auto;
     padding:0;
     margin:-10px 0 0 0;
     text-align:left;
     position: relative;
   }
  
  
  .pages-main-contents-box {
    position: relative;
    overflow: hidden;
    margin:0 0 0 0;
    padding:0;
    background-color:#ffffff;
    -webkit-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
    -moz-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
    -ms-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
    filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  }
  
  .pages-main-contents-box-t {
    position: relative;
    overflow: hidden;
    margin:75px 0;
    padding:0;
    background-color:#ffffff;
    -webkit-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
    -moz-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
    -ms-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
    filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  }
  
  .pages-main-contents-box-end {
    position: relative;
    overflow: hidden;
    margin:75px 0 0 0;
    padding:0;
    background-color:#ffffff;
    -webkit-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
    -moz-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
    -ms-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
    filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  }
  
  
  
  .pages-main-contents-box-ex{
    padding:50px 15px;
    margin:0;
  }
  

}