/*  Common */

html{
    min-width: 999px;
    max-width: 100vw;
    width: 100vw;
}

body{
    font-family: 'Noto Serif JP', sans-serif;
    height: 100vh;
    padding: 0;
    margin: 0;
    scroll-behavior:smooth;
    height: 100%;
}
body p,body dd{
    font-family:'メイリオ', 'Meiryo', sans-serif;
    color: #A7A9AC;
}

/* 画像　読み込み変更 */
.pc_img { display: block !important; }
.sp_img { display: none !important; }
.sp-br{display: none;}


#container{
    height: 100%;
    width: 100vw;
    flex: 1;/*mainコンテンツの高さを固定*/
    box-sizing: border-box;
}

/*　main_img */ 
#container .main_img .main_img_pc{
    position: relative;
}

#container .main_img .main_img_sp{
    display: none;
}



/* Fade_In  logo*/
.fade_in {
   animation: fadeIn 5s cubic-bezier(0.55, 1, 0.68, 1) 1 forwards;
   width:50%;
    margin:0 auto;
    text-align: center;
    padding: 80px 0 0;
    
}
   
  @keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }

.fade_in img{
    width:70%;
    text-align: center;
}
.fade_in_txt{
    color: #A7A9AC;
    font-size: 12px;
    line-height: 1.5;
    padding: 20px 0;
}


  /* Slide_In  left*/
  .slidein_l{
    width: 100%;
    position:absolute;
    bottom:-50px;
    left:0;
    z-index:-999;
  }
  .slidein_l {
    animation: slide-skew 0.4s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
  }
   
  @keyframes slide-skew {
    0% {
      transform: translate(-9999px,30px);
      opacity: 0;
    }
    100% {
      transform: translate(0,0);
    }
    20%,100% {
      opacity: 1;
    }
  }

 /* center LOGO zoomin */
  .zoomin {
    animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
  }
   
  @keyframes zoomIn {
    0% {
      transform: scale(0.8);
      opacity: 0;
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }


/* Slide_In right*/
.slidein_r{
    width: 100%;
    position:absolute;
    top: 0;
    right: 0;
    z-index: -999;
    text-align: right;
}
.slidein_r{
    animation: slideIn 0.55s cubic-bezier(0.65, 1, 0.5, 1) 1 forwards;
  }
   
  @keyframes slideIn {
    0% {
      transform: translateX(9999px);
      opacity: 0;
    }
    100% {
      transform: translateX(0);
    }
    40%,100% {
      opacity: 1;
    }
  }
  .slidein_l img,
  .slidein_r img{
    width:45%;
  }


/**** main contents ****/
/*bg_gear*/
#container {
    background:
     url(../img/gear_1.png)  right 36%  /20% no-repeat,
      url(../img/gear_2.png)  left 55% /22%  no-repeat,
      url(../img/gear_3.png)  right 70%  /14% no-repeat,
       url(../img/gear_2.png)  left 95% /25% no-repeat;
 }
 /* url 位置　/サイズ */
 


#container .sub_img{
    width: 100vw;
    height: auto;
    padding:200px 0 0;
    overflow: hidden;
}

 /* 私たちにできること zoomin */
.sub_img .zoomin {
    animation: zoomIn 3s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
  }
   
  @keyframes zoomIn {
    0% {
      transform: scale(0.8);
      opacity: 0;
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }

.sub_img .sub_img_in{
    width:60%;
    margin: 0 auto;
    height: auto;
    overflow: hidden;
}
.sub_img .sub_img_in h2{
    font-size:24px;
    color: #58595b;
    font-weight:300;
    font-family: "Noto Sans Japanese";
}

.sub_img .sub_img_in p{
    font-size: 12px;
    color: #A7A9AC;
    text-align: center;
}

.sub_img .sub_img_in .sub_img_l{
    width:50%;
    height: auto;
    margin: 0;
    padding: 0;
    float: left;
    box-sizing: border-box;
}


.sub_img .sub_img_in .sub_img_l figure,
.sub_img .sub_img_in .sub_img_r figure{
    width: 90%;
    text-align: center;
    margin: 0 auto;
}

.sub_img .sub_img_in .sub_img_l img,
.sub_img .sub_img_in .sub_img_r img{
    width:96%;
    padding:8px 0 0;
    text-align: center;
}

.sub_img .sub_img_in .sub_img_l h2{
    text-align: center;
}

.sub_img .sub_img_in .sub_img_r{
    width:50%;
    height: auto;
    margin: 0;
    float: left;
    box-sizing: border-box;
    }


.sub_img .sub_img_in .sub_img_r h2{
    text-align: center;
    vertical-align: bottom;
}



/*******  main_contents *******/
#container #container_inner{
    width: 60%;
    margin: 0 auto;
    padding: 40px 0 0;
    overflow: hidden;/*float用*/
   height: 100%;
}

/* 遅れて表示 */
.late.fade-in {
    -webkit-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 2s;/*表示まで*/
    -ms-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-name: fid;
    animation-name: fid;
    visibility: visible !important;
  }
  @-webkit-keyframes fid {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100px);
        -ms-transform: translateY(-100px);
        transform: translateY(-100px);
      }
      30% {
          opacity: 0.3;
        }
  
     50% {
          opacity: 0.6;
        }
    
      80% {
          opacity: 0.8;
        }
  
      100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
      }
    }
  @keyframes fid {
    0% {
      opacity: 0;
      -webkit-transform: translateY(-100px);
      -ms-transform: translateY(-100px);
      transform: translateY(-100px);
    }
    30% {
        opacity: 0.3;
      }

   50% {
        opacity: 0.6;
      }
  
    80% {
        opacity: 0.8;
      }

    100% {
      opacity: 1;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0);
    }
  }

  /* 共通見出し */
  #container_inner h2{
    font-weight:300;
    font-family: "Noto Sans Japanese";
    font-size: 24px;
    text-align: center;
    color: #095292;
    line-height: 2;
    padding: 150px 0 0;
  }
  #container_inner p{
    text-align: center;
    color: #A7A9AC;
  }

/* web例 */
#container #container_inner .Works {
    width: 100%;
    margin: 0 auto;
}

#container #container_inner .Works p{
    font-size: 12px;
    padding: 10px 0;
}

#container #container_inner .Works .example{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: stretch;
    text-align: left;
    width:100%;
    margin: 0 auto;
    overflow: hidden;
}

#container #container_inner .Works .example dl{
    box-sizing: border-box;
    width:50%;
    padding: 2%;
    float: left;
    text-align: center;
}

#container #container_inner .Works .example dt,
#container #container_inner .Works .example dd{
    font-size: 12px;
    letter-spacing: 0.1em;
    text-align: center;
    padding: 10px 0 0;
    display: block;
}
#container #container_inner .Works .example dt img{
    filter: drop-shadow(2px 4px 2px rgba(83,75,75,0.3));
}


#container #container_inner .Works .example dt:hover img{
    opacity: 0.7;
    transform: scale(1.05, 1.05);
    transition: 0.5s;
    filter: brightness(110%);
}
#container #container_inner .Works .example dt img{
    width:97%;
    text-align: center;
}


/* Logo例 */
#container #container_inner .Logo_item {
    width: 100%;
    margin: 0 auto;
}
#container #container_inner .Logo_item p{
    font-size: 12px;
    padding: 10px 0;
}

#container #container_inner .Logo_item .example{
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: stretch;
    text-align: left;
    width:100%;
    position:relative;
    overflow: hidden;
    display: flex;
}

#container #container_inner .Logo_item .example dl{
    box-sizing: border-box;
    width:24%;
    padding: 2% 0;
    text-align: center;
    display: inline-block;
}

#container #container_inner .Logo_item .example dt,
#container #container_inner .Logo_item .example dd{
    padding: 4%;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-align: center;
    padding:10px 0 0;
}
#container #container_inner .Logo_item .example dd{
    font-size: 11px;
    letter-spacing: -0.02em;
    text-align: center;
    padding: 10px 0 0;
}
#container #container_inner .Logo_item .example dt:hover img{
    opacity: 0.7;
    transform: scale(1.05, 1.05);
    transition: 0.5s;
}

#container #container_inner .Logo_item .example dt img{
    filter: drop-shadow(2px 4px 2px rgba(83,75,75,0.3));
}

#container #container_inner .Logo_item .example dt img{
    width:80%;
    text-align: center;
}

/* DTP例 */
#container #container_inner .dtp {
    width: 100%;
    margin: 0 auto;
}

#container #container_inner .dtp p{
    font-size: 12px;
    padding: 10px 0 0;
}

#container #container_inner .dtp .example{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: stretch;
    text-align: left;
    width:100%;
    position:relative;
    margin: 0 auto;
    overflow: hidden;
}

#container #container_inner .dtp .example dl{
    box-sizing: border-box;
    width: 50%;
    padding: 2%;
    float: left;
    text-align: center;
}

#container #container_inner .dtp  dt img{
    filter: drop-shadow(2px 4px 2px rgba(83,75,75,0.3));
}

#container #container_inner .dtp .example dt,
#container #container_inner .dtp .example dd{
    font-size: 11px;
    text-align: center;
    padding: 10px 0 0;
}

#container #container_inner .dtp .example dt:hover img{
    opacity: 0.7;
    transform: scale(1.05, 1.05);
    transition: 0.5s;
}
#container #container_inner .dtp .example dt img{
    width:97%;
    text-align: center;
}


#container .contact_om{
   width:100%;
   overflow: hidden;
   padding: 100px 0 0;
}
#container .contact_om .contact_om_in{
    width: 80%;
    margin: 0 auto;
}
#container .contact_om .contact_om_in p:first-of-type{
    padding: 50px 0 0;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-align: center;
}
#container .contact_om .contact_om_in p{
    font-size: 11px;
    padding: 15px 0;
}
#container .contact_om .contact_om_in .link_btn{
    width: 50%;
    margin: 0 auto;
}
#container .contact_om .contact_om_in .link_btn img{
    width:60%;
}


footer{
    width: 100%;
    height: auto;
    margin: 120px 0 0;
}
#footer_wrap{
    background-color: #095292;
    padding: 8px 0;
}


/* Services */
#footer_wrap .Services{
    margin:120px 0 0;
    overflow: hidden;
}
#footer_wrap .Services  .Services_in figure{
    width:60%;
    margin: 0 auto;
    text-align: center;
}

#footer_wrap .Services  .Services_in figure img{
    width: 50%;
    text-align: center;
}
#footer_wrap .Services  .Services_in p{
    text-align: center;
    width:100%;
    font-size: 12px;
    padding: 50px 0 30px;
}


#footer_wrap p{
    text-align: center;
    color: #fff;
    font-size: 10px;
}




@media only screen and (min-width:1200px)and (max-width: 9999px) {


}