@charset "utf-8";

body {
	  margin: 0;
	  padding: 0;
    height: 100%;
    width: 100%;
    background-color: #F8F8F8;
    color: #F8F8F8;
    font-family: 'Noto Serif',"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
}

#wrap {
  overflow:hidden;
}

#contents01 {
  background: #F8F8F8;
}

#contents02 {
  background: #F8F8F8;
  width: 100%;
  height: 100%;
}

#contents03 {
  width: 100vw;
  height: 50vw;
  background: #F8F8F8;
}
#contents04 {
  width: 100vw;
  height: 100%;
  background: #F8F8F8;
}

#contents05 {
  width: 100%;
  height:30vw;
  background: #F8F8F8;
}
#top_works{
  width: 100%;
  height:100%;
  background: #F8F8F8;
}

#works{
  width: 100%;
  height:100%;
  background: #F8F8F8;
}



/*TOP_herder_________________________________________________________*/

.header {
  position: relative;
  text-align: right;
  width: 100vw;
  height: 100vh;
  /*  background-color: rgba(70,85,154,0.3);*/

}

/*枠線*/
.bar-top {
    height: 2px;
    left: 0;
    top: 0;
    right: 0;
}
.bar-right {
    width: 2px;
    right: 0;
    top: 0;
    bottom: 0;
}
.bar-bottom {
    height: 2px;
    left: 0;
    right: 0;
    bottom: 0;
  }

.bar-left {
    width: 2px;
    left: 0;
    top: 0;
    bottom: 0;
}

.bar {
    background: #F8F8F8; 
    margin: 40px 64px 32px 64px ;
    -webkit-transition: all .8s cubic-bezier(.86,0,.07,1);
    transition: all .8s cubic-bezier(.86,0,.07,1);
}

.bar, .bar_str {
    position: absolute;
    display: block;
    z-index: 999;
}

.back {
  position: fixed;
  bottom: 10px;
  right: 10px;
}
/*枠線おわり*/


.nav_nav ul {
  text-align: right;
  padding: 80px 80px 80px 80px;
  }

.nav_nav li{
  display: inline-block;
  padding: 0px 10px;
}
 .nav_nav a{
  color: #F8F8F8;
  text-decoration:none;
  font-size: 1rem;
 }

.header-logo1{
  width: 40%;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  animation: fadeIn 4s ease 0s 1 normal;
  -webkit-animation: fadeIn 4s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


.header-logo2{
    display: none;
    animation: fadeIn 4s ease 0s 1 normal;
    -webkit-animation: fadeIn 4s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
}

/* hederのhover処理*/
.groval_nav a {
  position: relative;
  display: inline-block;
  transition: .3s;
  font-weight: 400;

}



.groval_nav a::before,
.groval_nav a::after {
  border-bottom: solid 1.5px #f8f8f8;
  bottom: -10px;
  content: "";
  display: block;
  position: absolute;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}
.groval_nav a::before {
  left: 50%;
}
.groval_nav a::after {
  right: 50%;
}
.groval_nav a:hover::before,
.groval_nav a:hover::after {
  width: 50%;
}



/* hederのhover処理はここまで*/


/*scroll icon*/
.scroll{
  position: absolute;
  color: #F8F8F8;
  top: 82.5%;
  left: 50%;
  -ms-transform: translate(-80%,-50%);
  -webkit-transform: translate(-80%,-50%);
  transform: translate(-80%,-50%);
  margin:0;
  padding:0;
}

.scroll a {
  padding-top: 60px;
}
.scroll a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 30px;
  height: 50px;
  margin-left: -15px;
  border: 2px solid #F8F8F8;
  border-radius: 50px;
  box-sizing: border-box;
}
.scroll a span::before {
  position: absolute;
  top: 10px;
  left: 50%;
  content: '';
  width: 6px;
  height: 6px;
  margin-left: -3px;
  background-color: #F8F8F8;
  border-radius: 100%;
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {-webkit-transform: translate(0, 0);opacity: 0;}
  40% {opacity: 1;}
  80% {-webkit-transform: translate(0, 20px);opacity: 0;}
  100% {opacity: 0;}}
@keyframes sdb {
  0% {transform: translate(0, 0);opacity: 0;}
  40% {opacity: 1;}
  80% {transform: translate(0, 20px);opacity: 0;
  }
  100% {opacity: 0;}}
/*scroll icon*/

.header_sp {position: relative;}
.nav-button {display: none;}

.nav {
    color: #f8f8f8;
    text-align: center;
    line-height:56px;
    margin-top:0px;
}
  .nav a {text-decoration: none;}
  .nav li {display: inline-block;margin: 0 25px;}

.nav-wrap.open {display: block;}
.nav-wrap.close {display: none;}

@media screen and (max-width: 768px) {
  .nav-button {
    display: block;
    cursor: pointer;
  }

  .nav-wrap {
    position: fixed;/*fixed*/
    left: 0;
    top: 0;
    display: none;
    z-index: 10;
    background-color: rgba(0, 0, 0, 0.7);
    width: 100%;
    height: 100%;
  }

    .nav{
      height: 100%;
      position: relative;
      overflow-x: hidden;
      overflow-y: auto;
    }

.none{border-bottom: solid 0px #252525 !important;margin-top: 65px !important;}


 .nav_logo{
    position: absolute;
    top: 0;
    left: 0;

}
  .nav-wrap li {
    display: block;
    padding: 15px;
    /* border-bottom: 2px solid rgba(203,203,203,.6); */
  }


 .logo_wrap{
  margin: 0 0 0 0 ;
  text-align: left;
}
  .nav-wrap a {
    font-size: 16px;
    color: #f8f8f8;
}

  /*メニューボタンのエフェクト*/
  .nav-button,
  .nav-button span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
  }
  .nav-button {
    z-index: 20;
    position: fixed;/*fixed*/
    width: 36px;
    height: 36px;
    top: 0;
    right :0;
    margin: 25px 25px 25px 25px ;
  }


  .nav-button span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    border-radius: 1px;
  }

    .nav_color1 span {
    background-color: #F8F8F8;
  }
    .nav_color2 span {
    background-color: #252525;
  }
  .nav-button.active span{
  background-color: #F8F8F8;
  }

  .nav-button span:nth-of-type(1) {top: 0px;}
  .nav-button span:nth-of-type(2) {top: 12px;}
  .nav-button span:nth-of-type(3) {bottom: 8px;}

  .nav-button.active span:nth-of-type(1) {
    -webkit-transform: translateY(12px) rotate(-45deg);
    transform: translateY(12px) rotate(-45deg);}

  .nav-button.active span:nth-of-type(2) {opacity: 0;}

  .nav-button.active span:nth-of-type(3) {
    -webkit-transform: translateY(-12px) rotate(45deg);
    transform: translateY(-12px) rotate(45deg);}}


@media(min-width: 768px)　{ 
  .nav_wrap img{
    display:none;}
  }/*768px以上の画面サイズにCSSを適応*/


@media(max-width:768px){
.header { height: 100vh;}
.groval_nav{display: none;}
 .nav-wrap img{width:80px;height:36px;}
 .nav_logo{margin: 25px 0 0 25px;}

}/*768px以下の画面サイズにCSSを適応*/

@media(max-width:480px){
.header-logo1{display: none;}
.header-logo2{display: block; width: 36%;position: absolute;top: 45%;left: 50%;
  -ms-transform: translate(-50%,-50%);-webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);margin:0;padding:0;}
.bar{display: none;}
  }/*480px以下の画面サイズにCSSを適応*/

/*TOP_herder_________________________________________________________*/

.site-header{
    background: rgba(255, 255, 255, 0.8);
    display: inline-block;
    padding: 10px 15px;
    position: absolute;
    width: 100%;
}
.header-change{
    display: flex;
    justify-content: space-between;
    padding: 0px 0px;
    position: fixed;
    top: -120px;
    transition: .3s;
    width: 100%;
    z-index: 9999999;
}
.header-change.show{
    top: 0;
}
.header-change .gnav__menu__item a{
    color: #282828;
    text-decoration: none;

}

.site-logo{
    width: 100px;
    height: 40px;
    padding: 8.0px 0 0 5%;
    display: none;
}
.header-change li {
  display: inline-block;
  padding-right: 10px;
  padding-left: 10px;
}
.gnav{
  padding-right: 70px;
  text-align: right;
  width: 100vw;
}


/* hederのhover処理*/
.gnav a {
  position: relative;
  display: inline-block;
  transition: .3s;
  line-height: 56px;
}

/* hederのhover処理はここまで*/

.gnav a::before,
.gnav a::after {
  border-bottom: solid 1.5px #252525;
  bottom: 10px;
  content: "";
  display: block;
  position: absolute;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}
.gnav a::before {
  left: 50%;
}
.gnav a::after {
  right: 50%;
}
.gnav a:hover::before,
.gnav a:hover::after {
  width: 50%;
}












/*TOP_about_________________________________________________________*/

.about{
  margin-bottom: 10%;
  background-color: #F8F8F8;
  color: #252525;
  text-align: center;
}

#about{
background-image: url(../img/mio.jpg);
background-position: center center;
background-repeat: no-repeat;
background-attachment: fixed;
background-size: cover;
background-color: #F8F8F8;}



.about_box{
text-align: center;
padding-bottom: 5%;
}

.about-caption_pc{
  display: inline-block;
  line-height: 36px;
  text-align: left;
  margin: 0 0 7% 0;
  font-family: 'Noto Serif',"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  text-align: justify;
}

.about-caption_pc{
  display: inline-block;
  line-height: 2.55;
  font-size: 16px;
  text-align: left;
  margin: 0 0 7% 0;
  font-family: 'Noto Serif',"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  letter-spacing: .1em;
  writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  text-align: justify;
}

.about-caption_sp{
  display:none;
  line-height: 36px;
  font-size: 1rem;
  text-align: left;
  margin: 0 0 7% 0;
  font-family: 'Noto Serif',"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  text-align: justify;

}


.about_pro{padding-top: 200px;}
.about_pro1{padding-top: 200px;}
.about img{
  padding: 0 0 0 80px ;
}
/*#about{
   /* 画像ファイルの指定 background-image: url(../img/mio01.jpg);
  /* 画像を常に天地左右の中央に配置 background-position: center center;
  /* 画像をタイル状に繰り返し表示しない background-repeat: no-repeat;
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 background-attachment: fixed;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 background-size: cover;*/
  /* 背景画像が読み込まれる前に表示される背景のカラー background-color: #F8F8F8;}*/


@media(min-width:768px){
.nav-wrap{display: none;}
}/*768px以上の画面サイズにCSSを適応*/

@media(max-width:768px){
.about_logo{display: none;}
.about{height: 60vw;line-height: 28px;font-size: 16px;} 
.about-caption_pc{padding:0;}
.header-change{display:none;}

}/*768px以下の画面サイズにCSSを適応*/

@media(max-width:480px){
.about_logo{display: none;}
.about{height: 145vw;line-height: 32px;font-size: 12px;} 
.about-caption_pc{
  margin-bottom: 30px;
  padding:0px 0 0 0 ;
  width: auto;
  margin-left: auto;
  margin-right: auto;
  font-size: 12px;
  line-height: 26px;
  display: none;
}

.about-caption_sp{
  margin-bottom: 30px;
  padding:0 10%;
  width: auto;
  margin-left: auto;
  margin-right: auto;
  font-size: 12px;
  line-height: 26px;
  display: inline-block;
}
.about-caption_pc {font-family: 'Noto Serif',serif ;}
.about_wrap{height: auto;}
.top_worklist{width: 100% !important;}
.about_mozi{width: 100% !important;font-size: 12px; padding-top: 40px; padding-bottom: 50px;}
.about_mozi p {font-size: 3.5vw !important;}
.company_caption{line-height: 46px !important;}
.about_pro1{padding-bottom: 100px;}
}/*480px以下の画面サイズにCSSを適応*/

/*TOP_about_________________________________________________________*/










 /* Main works______________________________________________________*/
.top_worklist{
  text-align: center;
  margin: 10% auto;
  padding-bottom: 5%;
  max-width: 1200px;
}


/*バナー全体のサイズ*/
.banner1 {
    width: 350px;
    height: 235px;
    overflow: hidden;
    position: relative;
    text-align: center;
    display: inline-block;
    margin: 3.5% 1.5% 0 1.5%;
    vertical-align: middle;
}

.banner1 img{width: 350px;height: 235px;}

 /*マウスオーバーするマスク*/
 .mask1{
    width: 350px;
    height: 235px;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
}

.banner1 img:hover{
  transform: scale(1.2);
 transition: all 0.3s ease-in-out;
}


 /*見出し*/
.banner1 h2 {
    color: #F8F8F8;
    text-align: center;
    position: relative;
    font-size: 1.2em;
    padding-top: 30%;
    letter-spacing: .05em;
  }

 /*テキスト*/
.banner1 p {
    font-size: 16px;
    position: relative;
    color: #F8F8F8;
    text-align: center;
    padding: 15px;
    letter-spacing: .05em;
}
 /*黒にする*/
.banner-view .mask1 {
    opacity: 0;
    background-color: #252525;
    transition: all 0.3s ease-in-out;
}
 /*マウスオーバーしたとき　不透明度を下げる**/
.banner-view:hover .mask1{
    opacity: 0.8;
}

/*バナー全体のサイズ*/
.banner2 {
    width: 350px;
    height: 185px;
    overflow: hidden;
    position: relative;
    text-align: center;
    display: inline-block;
    margin: 3.5% 1.5% 0 1.5%;
    vertical-align: middle;
  }

.banner2 img{width: 350px;height: 185px;}

 /*マウスオーバーするマスク*/
.banner2 .mask2{
    width: 350px;
    height: 185px;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
}
 /*見出し*/
.banner2 h2 {
    color: #F8F8F8;
    text-align: center;
    position: relative;
    font-size: 1.2em;
    padding-top: 21%;
    letter-spacing: .05em;
    }

 /*テキスト*/
.banner2 p {
    font-size: 1em;
    position: relative;
    color: #F8F8F8;
    text-align: center;
    padding: 10px;
    letter-spacing: .05em;
}
 /*黒にする*/
.banner-view .mask2 {
    opacity: 0;
    background-color: #252525;
    transition: all 0.3s ease-in-out;
}
 /*マウスオーバーしたとき　不透明度を下げる**/
.banner-view:hover .mask2{
    opacity: 0.8;
}


@media(max-width:480px){

  .banner1 {width: 300px !important;height: 200px !important;}
  .banner2 {width: 300px !important;height: 200px !important;}
  .mask1 {width: 300px !important;height: 200px !important;}
  .mask2 {width: 300px !important;height: 200px !important;}

  }/*480px以下の画面サイズにCSSを適応*/















 /* Main works______________________________________________________*/

.top_work{width:100%;height:100%;}
.item img{text-align: center;margin: 3px 0 0 0 ;}
.item_ver1{width: 350px;height: 235px;}
.item_ver2{width: 350px;height: 185px;}

.item{display: inline-block;box-sizing: border-box;vertical-align: middle;text-align: center;overflow: hidden;border-radius: 2px;max-width: 350px;max-height: 300px;margin: 3.5% 1.5% 0 1.5%;}

.item1{width:350px;height:300px;color:#252525;/* border:2px solid #252525; */}

.item1 h2{
font-size:1.5rem; 
padding: 140px 0 135px 0 ;
letter-spacing: .05em;
}

.button_base {
    margin: 0;
    border: 0;
    width: 350px;
    height:300px;
    text-align: center;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-user-select: none;
    cursor: default;
}

.button_base:hover {cursor: pointer;}

.b09_electric {
    color: #252525;
    background-color: #F8F8F8;
    border: #252525 solid 1px;
    padding: 10px;
    transition: all 0.1s ease;
    -webkit-transition: all 0.1s ease;
    -moz-transition: all 0.1s ease;
}

.b09_electric:hover {
    color: #F8F8F8;
    background-color: #252525;
    animation: b09_electric_blinkIn 0.1s step-end 0 2;
    -webkit-animation: b09_electric_blinkIn 0.1s step-end 0 2;
    -moz-animation: b09_electric_blinkIn 0.1s step-end 0 2;
    transition: all 0.2s ease 0.2s;
    -webkit-transition: all 0.2s ease 0.2s;
    -moz-transition: all 0.2s ease 0.2s;
}

.button_base h2 {/* マスクを表示する */
  font-size: 1.5rem;
  padding-top: 125px;
}

@media(min-width:768px){
  .item{position:relative;}
  .item2{position:relative;}
  figure{position:relative;}
  }/*768px以上の画面サイズにCSSを適応*/

@media(max-width:768px){
figcaption {bottom: 0;}
.item1{width: 320px;}
.item{margin-bottom: 3.5%;}
.button_base{width: 300px;}
.item2 img:hover {transform: scale(1.0); }
.item2{margin-bottom: 3.5%;}
/*768px以下の画面サイズにCSSを適応*/}




 /* Main works______________________________________________________*/






  /* footer_________________________________________________________*/
.footer{
  /* margin-top: 50px; */
  margin-bottom: 0px;
  height: 80px;
  width: 100%;
  box-sizing: border-box;
  display: inline-block;
  color: #b4b4b4;
  padding: 20px;
  text-align: center;
  /* background: rgba(0, 0, 0, .05); */
  }
.footer p{margin: 20px 0 0 0 ;}


 /* footer_________________________________________________________*/

 /* index以外のheder________________________________________________*/
.header01 {
  position: relative;
  width: 100vw;
  height: 100%;
}

.header-logo01{
  width: 125px;
  height:50px;
  position: absolute;
  top: 0%;
  left: 0%;
  padding: 50px 0 0 5%;
}

.header01 ul {
  text-align: right;
  padding: 45px 70px;
  }

.header01 li{
  display: inline-block;
  padding: 0px 10px;
}
 .header01 a{
  color: #F8F8F8;
  text-decoration:none;
  font-size: 1rem;
 }


/* hederのhover処理*/
.groval_nav_etc a {
  position: relative;
  display: inline-block;
  transition: .3s;
  line-height: 56px;
}
.groval_nav_etc a::before,
.groval_nav_etc a::after {
  border-bottom: solid 2px #252525;
  bottom: 10px;
  content: "";
  display: block;
  position: absolute;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}
.groval_nav_etc a::before {
  left: 50%;
}
.groval_nav_etc a::after {
  right: 50%;
}
.groval_nav_etc a:hover::before,
.groval_nav_etc a:hover::after {
  width: 50%;
}
}
/* hederのhover処理はここまで*/
.nav_nav_etc ul {
  text-align: right;
  padding: 60px 70px;
  }

.nav_nav_etc li{
  display: inline-block;
  padding: 0px 10px;
}
 .nav_nav_etc a{
  color: #282828;
  text-decoration:none;
  font-size: 1rem;
 }

img {
    max-width:100%;
    max-height:100%;
  }
 /* index以外のheder_________________________________________________________*/


 /* more works_________________________________________________________*/


.work-title{
  margin: 0 0 2% 5.5% ; 
  color: #282828;
}
.work-title h2  {
  font-size: 1.5em;
}
.work-title p{
  line-height: 26px;
  font-size: 16px;
  margin-top: 10px;
}

#content{
  float: right;
  width: 35%;
  height: auto;
  margin-right: 75px;
  box-sizing: border-box;
  border-right:  solid 1px #282828;
  overflow: auto;
  line-height: 1.5;
}

#content p {
    padding: 0 0 0 5% ;
    display: block;
    color: #282828;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
  }

#work-info{
  width: 55%;
  margin-left: 3%;
  height: 50%;
  float: left;
}
.work-info ul{
  padding: 0 0 0 0 ;
*::-webkit-scrollbar {
    width: 5px;
    background: transparent;
    height: 5px;
}
}

@media(max-width:768px){
.nav_nav_etc{display: none;}
#content{width: 100%;margin:50% 1% 0 1% ;border-right:solid 0px;}
#work-info{width: 98%;margin: 0 0 0 0 ;}
.work-title{margin-top:20%;margin-bottom:4%; }
.header-logo01{width:80px;height:36px;;padding:0 0 15px 0 ;margin: 25px 0 0 0;position: relative; }
.header01{background: #f8f8f8;}
.footer{margin-top: 50px;}
.head_border{margin: 0 25px 0 25px;border-bottom: 1px solid  rgba(0, 0, 0, 0.3) }
.head_border_menu{margin: 0 25px 0 25px; border-bottom: 2px solid rgba(203,203,203,.6);height:80px}
#content{padding:0 5% 0 5% ;}
#content p{font-size: 12.5px;}
}
 /* more works_________________________________________________________*/

#slider{
  width: 90%;
  margin: 0 auto;
  margin-bottom: 20px;
  overflow: hidden;
}


.slide-item{
text-align: center;
overflow: hidden;
}


#thumbnail-list{
  width: 90%;
  display: flex;
  margin-left:auto; 
  margin-right:auto;
}
.thumbnail-item{
  flex: 0 1 20%;
  margin-bottom: 10px;
  padding: 0 0.5% 0 0.5% ;
  box-sizing: border-box;
  position:relative;
  &:after{
    content:'';
    background-color: rgba(0,0,0,0.5);
    position:absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    transition: .3s opacity linear;
  }
  &.thumbnail-current:after{
    opacity: 0;
  }

  img{
    width: 100%;
    margin: 0 auto;
}
  } 


.contact{
  width: 100%;
  height: 100%;
}
.address{
  margin-top: 1%;
  padding: 3% 0 ;
  color: #282828;
  text-align: center;
}

.address p {
  font-size: 1.0em;
  padding: 1% 0 ;
}

.message{
  margin-top: 2%;
  padding: 2% 0 ;
  color: #282828;
  text-align: center;
}

.message p {
  font-size: 1.0em;
}

.form-control {
    display: block;
    margin: 0 auto 0 auto; 
    font-size: 1rem;
    line-height: 2;
    color: #282828;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    width: 50%;
}

.btn-default {
    border-radius: 1px;
    font-size: 1em;
    color: #282828;
    background: #F8F8F8;
    text-align: center;
    text-decoration: none;
    line-height: 2;
    outline: none;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
    border: 1px solid #282828;
    padding: 5px 100px ;
    display: block !important;
    margin: 3% auto 0 auto ;
}

.form-group label {
    margin: 1% 0 0.25% 25%; 
    color: #282828;
    display: inline-block;
    line-height: 1.5;
}



.btn-default:hover {
    color: #F8F8F8;
    background-color: #282828;
    opacity: 0.8;
    border: #282828 solid 1px;
    animation: b09_electric_blinkIn 0.1s step-end 0 2;
    -webkit-animation: b09_electric_blinkIn 0.1s step-end 0 2;
    -moz-animation: b09_electric_blinkIn 0.1s step-end 0 2;
    transition: all 0.2s ease 0.2s;
    -webkit-transition: all 0.2s ease 0.2s;
    -moz-transition: all 0.2s ease 0.2s;
}


#profile{
  box-sizing: border-box;
  /* border: solid 1px #282828; */
  height: auto;
  margin-bottom: 2.5%;
}

.right01{
               float: right;
               width: 40%;
               height: 35vw !important;
               margin-right: 10%;
               }

.left01{float: left;width: 35%;height: 35vw !important;margin-left: 10%;background-color: #252525;}



.right02{
               float: left;
               /* margin-right: 19%; */
               margin-top: 5%;
               color: #252525;
               /* background-color: black; */
               width: 35%;
               margin-left: 10%;
}

.right01 p h2{
    padding: 0 3% 0 5%  !important}

.right01 p  h2{
    padding: 0 3% 0 5%;
  }


.left02{
  float: left;
  margin-left: 5%;
  margin-top: 5%;
  /* margin-bottom:1%; */
  width: 35%;
  color: #252525;
  }

#profile p {
    display: block;
    color: #282828;
    line-height: 1.5;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
  }
#profile h2{
  color: #282828;
  font-size: 1.25rem;
}
  
.profile-title{
  /* margin: 0 0 2% 0; */
  color: #282828;
  background-color: #F8F8F8;
  /* text-align: left; */
  /* line-height: 26px; */
  font-size: 16px;
  margin-top: 10px;
  /* margin-bottom: 3%; */
}
.about-title{
  color: #282828;
  text-align: center;
  font-size: 16px;
  font-size: 1.5em;
  padding: 15% 0 10% 0;
}

.about-title_{
  color: #282828;
  text-align: center;
  font-size: 16px;
  font-size: 1.5em;
  padding: 10% 0 5% 0;
}

.profile-title h2  {
  font-size: 1.5em;
  margin: 7% 0 2.5% 0;
}


.profile-caption{
  display: inline-block;
  text-align: left;
  font-size: 1rem;
}

#contact{
  /* margin-bottom: 0px; */
  height: auto;
  /* padding-bottom: 4%; */
  width: 100%;
  box-sizing: border-box;
  display: inline-block;
  color: #282828;
  /* padding: 20px; */
  text-align: center;
  /* background: rgba(0, 0, 0, .05); */
}
.contact-title{
  display: inline-block;
  text-align: center;
  margin: 2% 0 2% 0;
  color: #282828;
  line-height: 56px;
  font-size: 16px;
}

.contact-title h2{font-size: 2.0em;position: relative;display: inline-block;padding: 0 70px;}



.works-menu{
margin: 0 0 4% 0 ;
text-align: center;
}

.works-menu h2{
font-size: 2.5em;
margin:7% 0 5% 0; 
text-align: center;
}


.SERVICE{
 color: #252525;
 text-align: center;
 line-height: 46px;
 /* width: 40%; */
 /* float: left; */
 /* margin-left: 10%; */
}

#company{
 color: #252525;
 text-align: center;
 line-height: 46px;
}



@media(max-width:768px){
.left01{width: 80%;}
.right01{width: 80%;font-size: 12px;height:auto !important;margin-left: 15%;}
.right02{width: 80%;font-size: 12px;height:auto;}
.left02{width: 80%;font-size: 12px;margin-left: 10%;}
.contact_caption{font-size: 12px;}
}/*768px以下の画面サイズにCSSを適応*/





.about_wrap{
  height: 200vh;
  padding: 0 10% 15% 10%;
  color: #252525;
  background-color: #eeefef;
}

.about_photo{height: 35vw;max-height: 100%;max-width: 50%;/* float: left; */margin-left: 10%;}

.about_photo img {/* width: 100%; */}

.about_mozi{
width: 45%;
line-height: 28px;
font-feature-settings: "palt";
letter-spacing: .04em;
}

.about_mozi h2{font-size: 1.25rem;}
.about_mozi p{font-size: 1.17vw;}



.service_wrap{
  height: 25vw;
  width: 35%;
  margin: 0 0 0 18%;
  color: #252525;
  display:inline-block;
  vertical-align: middle;
}

.service_caption{
text-align: left;
float: left;
line-height: 32px;
}

.service_title{
  font-size: 1.5rem;
  padding-bottom:20px;
}

.company_wrap{
  margin: 0 auto;
  padding-bottom: 80px;
  color: #252525;
  /* background-color :#eeefef; */
}

.border{
  border-bottom: solid 1px #282828;
  margin:5% 10%;
}


.company_box{text-align: left;}

.company_caption{
line-height: 32px;
padding-bottom: 5%;
text-align: center;
}


.company_title{
  font-size: 1.5rem;
  padding-bottom:20px;
}


.about-title h2{
position: relative;
display: inline-block;
margin-bottom: 1em;
}

.about-title_ h2{
position: relative;
display: inline-block;
margin-bottom: 1em;
}

.about-title h2:before {content: '';position: absolute;bottom: -15px;display: inline-block;width: 25px;
height: 2px;left: 50%;-moz-transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);
transform: translateX(-50%);background-color: #252525;border-radius: 2px;}

.aboutus-title h2{
position: relative;
display: inline-block;
margin-bottom: 1em;
}
.aboutus-title h2:before {content: '';position: absolute;bottom: -15px;display: inline-block;width: 25px;
height: 2px;left: 50%;-moz-transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);
transform: translateX(-50%);background-color: #252525;border-radius: 2px;}

.about-title_ h2:before {content: '';position: absolute;bottom: -15px;display: inline-block;width: 25px;
height: 2px;left: 50%;-moz-transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);
transform: translateX(-50%);background-color: #252525;border-radius: 2px;}

.aboutus-title_ h2{
position: relative;
display: inline-block;
margin-bottom: 1em;
}
.aboutus-title_ h2:before {content: '';position: absolute;bottom: -15px;display: inline-block;width: 25px;
height: 2px;left: 50%;-moz-transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);
transform: translateX(-50%);background-color: #252525;border-radius: 2px;}

.company-title{text-align: center;padding: 5% 0 5% 0 }
.company-title h2{
position: relative;
display: inline-block;
margin-bottom: 5%;
font-size: 1.5em;
margin-top: 5%;
}
.company-title h2:before {content: '';position: absolute;bottom: -15px;display: inline-block;width: 25px;
height: 2px;left: 50%;-moz-transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);
transform: translateX(-50%);background-color: #252525;border-radius: 2px;}


.about_mozi a{text-decoration: none;}



#about_us{
  padding: 0 10% 10% 10%;
  color: #252525;
  background-color: #eeefef;
}



@media(min-width:480px){

.prof_photo01{
  width: 30%;
  height: 420px;
  float: left;
  padding-bottom: 75px;
}

.prof_photo02{
  width: 30%;
  float: left;
}

.about_mozi{float: right;padding-bottom: 75px;}

.mem01{height: 500px;}
.mem02{height: 500px;}

}


@media(max-width:480px){
.company_caption p{font-size :3.5vw !important;}
.about_mozi a{font-size: 3.5vw;}
.scroll{top:75.5%;}
}




.a-title{text-align: center; }
.a-title h2{
position: relative;
display: inline-block;
margin-bottom: 5%;
font-size: 1.5em;
margin-top: 5%;
}

















/* MixItUpのCSS*/




.controls{
  padding: 0 1% 0 1% ;
  background-color:#F8F8F8;
  color: #282828;
  text-align:center;}

.controls p{ font-family: 'Noto Serif',serif ;}


.container{
  text-align: center;
  margin: 0 auto;
  padding-bottom: 5%;
}


label{
  margin: 0 .4em 0 0;
}

button{
  display: inline-block;
  border: 0;
  color: #282828;
  font-size: 1em;
  cursor: pointer;
  background-color: rgba(255,0,0,0);
}

button:focus{
  outline: 0 none;
  font-weight: 700;
}

button + label{
  margin-left: 0em;
}

 /* hederのhover処理*/
button {
  position: relative;
  display: inline-block;
  transition: .4s;
}
button::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  content: '';
  width: 0;
  height: 2px;
  background-color: #282828;
  transition: .3s;


}
button:hover::after {
  width: 100%;
}
button.active{


}



.sort{
  color: #46559a ;
}

.mix h3{
  padding-top: 10px;
  line-height: 25px;
  color: #252525;
  width: 300px;
}

.works-item{
text-align: center;
position:   relative; 
width: 300px;
height: 200px;
overflow: hidden;
}



.works-item img {
  transition-duration: 0.3s;  /*変化に掛かる時間*/


}
.works-item img:hover {
  transform: scale(1.1);  /*画像の拡大率*/
  transition-duration: 0.3s;  /*変化に掛かる時間*/
}

.caption {
  font-size:    130%;
  text-align:     center;
  color:      #282828;
}

.works-item .mask {
  width:      100%;
  height:     100%;
  position:   absolute; /* 絶対位置指定 */
  top:      0;
  left:     0;
  opacity:    0;  /* マスクを表示しない */
  background-color: rgba(0,0,0,0.4);  /* マスクは半透明 */
  -webkit-transition: all 0.2s ease;
  transition:   all 0.2s ease;
}
.works-item:hover .mask {
  opacity:    1;  
}

.container{
  width: 100%;
  background: #F8F8F8;
  display: inline-block;
  text-align: center;
}


.container:after{
  display: inline-block;
  width: 100%;
}

.container .mix,
.container .gap{
  display: inline-block;
  width: 20%;
  padding: 1% 0.4% 0 0.4% ;
}

.container .mix{
  display: none;
}

.container .mix:after{
 /* content: attr(data-myorder);*/
  color: white;
  display: inline-block;
  vertical-align: top;
}

.container .mix:before{
  content: '';
  display: inline-block;
}

@media all and (min-width: 768px){
  .container .mix,
  .container .gap{
  width:300px;
  margin:0 1% 0 1%; 
}
}

@media all and (max-width: 768px){
  .container .mix,.container .gap{width: 300px;}
  button::after {height: 0px;}
  button{margin-top:12px;font-size: 13.5px;}
  .works-menu{text-align: center;}
  .works-menu h2{font-size:18px;margin-top: 15%;}
  button{font-size: 12px;}
}


 /* ここまで*/


.fadeInUp{
  opacity : 0;
  transform: translateY(40px);
}

.fadeInUp01{
    transition: 2.5s;
}

.fadeInUp02{
    transition: 5s;
}

.fadeInUp03{
    transition: 7.5s;
}



.motion-txt {
  display: inline-block;
  position: relative;
  overflow: hidden;
  color: #252525;
}
.motion-txt:after {
  content: '';
  position: absolute;
  opacity: 1;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  background-color: #5F5F5F;
  transform: translate3d(-101%, 0, 0);
}
.js-scroll.show .motion-txt:after {
  transition-property: transform, opacity;
  transition-duration: 1s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transform: translate3d(0, 0, 0);
}
.js-scroll.done .motion-txt:after {
  transition-property: transform;
  transition-duration: 2.5s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transform: translate3d(103%, 0, 0);
}
.motion-txt .motion-inner {
  display: inline-block;
  opacity: 0;
}
.js-scroll.done .motion-txt .motion-inner {
  opacity: 1;
}

.button {
  display: inline-block;
  width: 300px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button {

  border: 2px solid #333;
  color: #333;
  line-height: 50px;
}
.button:hover {
  background-color: #333;
  border-color: #333;
  color: #fff;
}

table{
  width: 95%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin:0 2.5% 2.5% 2.5%;
}

table th{
  text-align: left;
}

table td{
  text-align: left;
}