@charset "utf-8";










* {
  box-sizing: border-box;
}

:root {
  font-size: 20px;
}

body {
  color: #3E3D3D;
  margin: 0;
  font-family: 'メイリオ', 'Meiryo', 'MS ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
}

a {
  text-decoration: none;
  color: #3E3D3D;

}

a:hover {
  opacity: .5;
}




/*========= ヘッダーナビゲーションのためのCSS ===============*/

/*==ヘッダーの形状*/
#header {
  height: 6vw;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #B89797;
  color: #fff;
  text-align: center;



}


.header-logo img {
  margin-left: 50px;
  opacity: .5;
  width: 8vw;
  margin-top: 20px;
  margin-bottom: 20px;
}



/*==ヘッダーのテキストナビゲーションの形状*/
#g-nav {
  width: 100%;
}


#g-navi ul {
  

font-weight: 700;

font-style: normal;
  font-size: 1.5vw;
  list-style: none;
  display: flex;
  justify-content: center;
  margin-right: 5vw;
}

#g-navi ul li a {
  display: block;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.822);
  margin-left: 4vw;
  margin-top: 20px;
  transition: all 0.2s ease-out;
}

#g-navi ul li.current a,
#g-navi ul li a:hover {
  color: rgb(172, 62, 62);
  transform: scale(1.10);

}




@media screen and (max-width:768px) {
  #header{
    padding-bottom: 10%;
    padding-top: 0;
  }
  #header ul{
    display: flex;
padding: 5%;
    justify-content: center;
  }
  #header ul a{
margin: 2%;
  }
  .header-logo img{
    margin-top:50%;
    padding-top: 30%;
  }
  #g-navi ul{
    padding-top: 10vw;
  }

}







/*========= レイアウトのためのCSS ===============*/

#top {
  background-color: #B89797;
  width: 100%;
  height: 20vw;



}

.title {

  display: flex;
  justify-content: center;
  overflow: hidden;
  color: #484848;
  font-family: ta-hougan-k500, sans-serif;
font-weight: 400;
font-style: normal;
  font-size: 8vw;
  margin: 0;
}

.title span {

  margin-top: 16vw;

  display: block;
  transform: translate(0, 105%);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;

}

.title.-visible span {
  transform: translate(0, 0);
}

.title span:nth-child(2) {
  transition-delay: 0.06s;
}

.title span:nth-child(3) {
  transition-delay: 0.12s;
}

.title span:nth-child(4) {
  transition-delay: 0.18s;
}

.title span:nth-child(5) {
  transition-delay: 0.24s;
}

.title span:nth-child(6) {
  transition-delay: 0.30s;
}

.title span:nth-child(7) {
  transition-delay: 0.36s;
}

.title span:nth-child(8) {
  transition-delay: 0.42s;
}

.title span:nth-child(9) {
  transition-delay: 0.48s;
}

.title span:nth-child(10) {
  transition-delay: 0.54s;
}

.title span:nth-child(11) {
  transition-delay: 0.6s;
}

.title span:nth-child(12) {
  transition-delay: 0.66s;
}

.title span:nth-child(13) {
  transition-delay: 0.72s;
}

.title span:nth-child(14) {
  transition-delay: 0.78s;
}



/*========= 流れるテキスト ===============*/

/*全共通*/




.slide-in {


  overflow: hidden;
  display: inline-block;

  text-align: end;
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  font-family: ta-hougan-k500, sans-serif;
font-weight: 400;
font-style: normal;


  font-size: 2vw;
  color: #484848;

  margin-top: 10%;
  margin-right: 20%;
  margin-bottom: .5%;

}

.slide-in_inner {
  display: inline-block;

}




/*左右のアニメーション*/
.leftAnime {
  opacity: 0;
  /*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
  animation-name: slideTextX100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes slideTextX100 {
  from {
    transform: translateX(-100%);
    /*要素を左の枠外に移動*/
    opacity: 0;
  }

  to {
    transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
  animation-name: slideTextX-100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}


@keyframes slideTextX-100 {
  from {
    transform: translateX(100%);
    /*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
    transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1;
  }
}

.subtitle {
  display: flex;
  align-items: center;
  /* 垂直中心 */
  justify-content: center;
  /* 水平中心 */
  font-family: fot-chiaro-std, sans-serif;

  font-weight: 700;
  
  font-style: normal;
  font-size: 3vw;
  margin-left: 5%;

}

.subtitle:after {
  border-top: 1px solid  #9c9b9b;
  content: "";
  width: 100%;
  /* 線の長さ */
  margin-left: 1rem;
  /* 文字の右隣 */
}



#about {
  margin-top: 30%;

  position: relative;
}

.about-img {
  margin-top: 15%;
  margin-right: 50px;
}

.about-img p {
  width: 55%;
  line-height: 2.5vw;
  text-align: center;
  text-align: left;
  font-size: 1.5vw;
  padding: 4vw;
  padding-left: 6.5vw;
  background-color: #FFFBF6;
  position: absolute;
  left: 30%;
  z-index: 3;

}




.about-img img {
  margin-top: 10%;
  width: 65%;

  position: absolute;
  top: 10%;
  left: 10%;
  z-index: 2;
}

.skills h3 {
  margin-top: 70%;


  margin-left: 10%;
  font-family: vdl-lineg, sans-serif;

  font-weight: 400;
  
  font-style: normal;
  font-size: 2vw;
  font-weight: normal;
}

.skills-img{
  width: 100%;
 padding: 10vw;
  margin: 0 auto;

}
.skills-img img{
  width: 100%;
  margin: 0 auto;
}


/*------works----------*/

.category {
  position: relative;

  margin: 0 auto;
  margin-top: 10vw;
}

.category::before {
  width: 100%;
  content: "";
  position: absolute;
  left: 45%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6vw 0 0 20vw;
  border-color: transparent transparent transparent #dbcbcb;
}



.category p {

  font-family: vdl-lineg, sans-serif;

font-weight: 400;

font-style: normal;
  font-size: 2.2vw;
  position: absolute;
  left: 48%;
  line-height: .2;


}

.category .line {
  padding: 0;
  margin: 0;
}

.works-img {
  margin-top: 25%;
  display: flex;
  margin-right: 5%;
  margin-left: 5%;
  justify-content: center;
}








.works-img a img {
  width: 100%;

}

.img-box {
  margin: 2%;
  flex-direction: row;
  width: 100%;
  display: block;
  z-index: 200;

}

.img-box p {
  font-size: 2vw;
}

.work-style span {
  border: 1px solid #8b8b8b;
  border-radius: 50%;
  padding: .6vw;
  font-size: .8vw;
  margin-top: -2vw;
}


figure {

  margin: 0;
  overflow: hidden;
}

figure img {
  transition: .3s all;
}

.img-box a:hover figure img {
  opacity: .8;
  transform: scale(1.05);
  transition: 1.2s all;
}




@media screen and (max-width:768px) {
  .works-img {
    flex-direction: column;
    margin: 0 auto;
    width: 100%;
    padding-left: 20px;
    padding-right: 30px;
    padding-top: 50px;

  }

  .img-box {
    margin-top: 30px;
  }
}




#profile {
  margin-top: 20vw;


}

.pofile-text p {
  position: absolute;

  text-align: left;
  font-size: 1.5vw;
z-index: 2;
left: 5%;
top: 0;
}

.pofile-box{
  display: flex;
  justify-content: center;
  align-items: flex-end;
 margin-top: 10vw;
 margin-left: 15vw;
 margin-bottom: 30vw;
 position: relative;
}
.pofile-box div{
  margin: 5vw;
}
  
.pofile-img img{
  
  z-index: 1;
  position: absolute;
  width: 30%;
  left: 40%;
  top: 0;
  
}



.pofile-img img:hover{
  opacity: 0.1;
  background: url(../top_img/profile-img.png);
}









#contact {
  margin-top: 15vw;
}

#contact .contact-box {
  background-color: #B89797;
  margin-top: 10vw;
  padding-top: 7vw;
}





.line-2 {
  display: block;
  border-bottom: 0.1px solid #fff;
  width: 50%;
}

.contact-text {
  display: flex;
  margin: 0 auto;
  justify-content: center;
  font-size: 2vw;
  width: 100%;
  text-align: left;
  margin-top: 5vw;
  color: #fff;

}

.arrow {
  position: relative;
  display: inline-block;

}














/*------------------問い合わせフォーム-------------------*/
/*デザインcss↓*/

.formTable {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0;
  border-collapse: collapse;
  border-spacing: 0;
  background-color: #B89797;
}



.box_con08 {
  display: flex;

  max-width: 900px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .box_con08 {
    width: 95%;
  }
}

.box_con08 form {
  width: 100%;
}

.box_con08 form ul {
  width: 100%;
  background: #B89797;
}

.box_con08 form ul li {
  position: relative;
  overflow: hidden;
  margin: .5em 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media only screen and (min-width: 769px) {
  .box_con08 form ul li {
    display: -webkit-flex;
    display: flex;
  }
}

@media print {
  .box_con08 form ul li {
    display: -webkit-flex;
    display: flex;
  }
}

.ie8 .box_con08 form ul li {
  display: -webkit-flex;
  display: flex;
}

.box_con08 form ul li .title3 {
  flex-direction: row;
  position: relative;
  font-family: "メイリオ";
  width: 30%;
  font-size: 1.3vw;
  font-weight: normal;
  color: #fff;

}

.title3 span {
  margin: 0 auto;
}



@media only screen and (min-width: 769px) {
  .box_con08 form ul li .title3 {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
}

@media print {
  .box_con08 form ul li .title3 {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }
}

.ie8 .box_con08 form ul li .title3 {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}

@media only screen and (max-width: 768px) {
  .box_con08 form ul li .title3 {
    text-align: center;
    width: 100%;
    display: block;
    padding: .8em .2em;
    color: #fff;
    background: #1A1818;
  }
}

.box_con08 form ul li .title3 em {
  position: relative;
  font-size: 1.5vw;
  z-index: 1;
}

.box_con08 form ul li .title3 span {
  background: #b14545af;
  padding: 0 .3em;
  color: #fff;
  margin-left: .5em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 1vw;
}

.box_con08 form ul li .box_det {
  width: 70%;
  position: relative;
  padding: 1em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
  .box_con08 form ul li .box_det {
    padding: 1.5em .5em;
    display: block;
    width: 100%;
  }
}

.box_con08 form ul li .box_br {
  display: block;
}

.box_con08 form ul li select,
.box_con08 form ul li textarea,
.box_con08 form ul li .wide {
  width: 100%;
  height: 3em;
  padding: .5em;
  border: none;
  outline: none;
  background: transparent;
  background: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.box_con08 form ul li textarea {
  height: 10em;
}

/*プライバシーのデザインcss↓*/
.con_pri {
  max-width: 700px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .con_pri {
    width: 95%;
  }
}

.con_pri .box_pri {
  height: 300px;
  overflow-y: scroll;
  border: 1px solid #B89797;
  background: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-top: 20px;
  padding: 20px 55px;
  font-size: 1.1vw;
}

@media only screen and (max-width: 768px) {
  .con_pri .box_pri {
    margin-top: 4%;
    padding: 3%;
    font-size: 1.3vw;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .con_pri .box_pri {
    padding: 4%;
  }
}

.con_pri .box_pri .box_tori {
  text-align: left;
  margin-top: 40px;
}

@media only screen and (max-width: 768px) {
  .con_pri .box_pri .box_tori {
    margin-top: 4%;
  }
}

.con_pri .box_pri .box_tori h4 {
  font-weight: normal;
  margin-bottom: 30px;
  font-size: 150%;
}

@media only screen and (max-width: 768px) {
  .con_pri .box_pri .box_tori h4 {
    margin-bottom: 4%;
  }
}

.con_pri .box_pri .box_tori .txt {
  padding: 0 20px;
}

@media only screen and (max-width: 768px) {
  .con_pri .box_pri .box_tori .txt {
    padding: 0;
  }
}

.con_pri .box_pri .box_num {
  margin-top: 30px;
}

@media only screen and (max-width: 768px) {
  .con_pri .box_pri .box_num {
    margin-top: 5%;
  }
}

.con_pri .box_pri .box_num h4 {
  font-weight: normal;
  font-size: 113%;
}

.con_pri .box_pri .box_num .txt {
  padding: 10px 0 0 20px;
}

@media only screen and (max-width: 768px) {
  .con_pri .box_pri .box_num .txt {
    padding: 3% 0 0 3%;
  }
}

.box_check {
  text-align: center;
  margin: 1em auto;
}

.box_check label {
  display: inline-block;
}

.box_check label span {
  margin-left: .3em;
}

.btn {
  text-align: center;
}

.btn input {
  display: inline-block;
  background: #1A1818;
  padding: .5em 4em;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  border: none;
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.btn input:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}

.formTable input textarea {
  font-size: 1rem;
  font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}




#footer section {

  
  width: 100%;


  background: #B89797;
  margin: 0 auto;
  padding: 5%;
  padding-top: 0;
}






#footer ul {
  justify-content: flex-end;
  margin: 0;
  padding:5%;
  padding-right: 0;


}


small {
  display: block;
 padding-top: 1%;
  text-align: right;
  font-size: .8vw;
  color: #fff;
  border-top: .5px solid;
  position: absolute;
  right: 4%;
  height: auto;
 
}

@media screen and (max-width:768px) {
  #footer section{
    padding-bottom: 10%;
    padding-top: 0;
  }
  #footer ul{
    display: flex;
padding: 5%;
    justify-content: center;
  }
  #footer ul a{
margin: 2%;
  }
  small{
left: 5%;
    text-align: center;
    font-size: .1vw;
    
  }
}





/*---------------seven-------------------*/

#works-seven{
  
  margin: 0 auto;
  width: 100%;
 
}

.explanation{
  display: flex;
 margin: 5vw;
 justify-content: center;
  


  
}
.text5{
 max-width: 30%;
  padding: 3vw;
  font-size: 1vw;
 
}

.text5 a:hover{
  color: rgb(145, 143, 143);

}

.text5 p{
  margin-top: 5%;
}


.text5 img{
  width: 5%;
}

.img_top img{
  margin: 0 auto;
  width:100%;
  padding: 3vw;
 
  
}

.img_top-2 img{
width: 100%;
}


.title4{
font-size: 2vw;

margin-bottom: 0;
margin-top: 0;
font-weight: bold;
}

.point{
  margin-top: 5vw;
  border-top: .5px solid #9c9b9b;
  padding-top: 3vw;
}

.case{
  padding-bottom: .5vw;
  color: #B89797;
  border-bottom:.5px solid  #9c9b9b ;
}


@media screen and (max-width:768px) {
  .explanation{
    flex-direction: column-reverse;
  }
  .text5{
max-width: 100%;
  }

  

  .text5 img{
    width: 3%;
  }
  .title4{
    font-size: 5vw;
  }

}



.works-imgbox{
  /* Prevent vertical gaps */
  line-height: 0;
  -webkit-column-count: 2;
  -webkit-column-gap: 0px;
  -moz-column-count: 2;
  -moz-column-gap: 0px;
  column-count: 2;
  column-gap: 0px;
  margin: 5vw;
  }

  .works-imgbox div{
    margin:0;
    /* Just in case there are inline attributes */
    width: 100% !important;
    height: auto !important;
  }

  .works-imgbox div img{
    width:100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-b;

padding: 4vw;
  }

.works-imgbox .sevensp img {

padding: 10vw;
  }

  .works-imgbox2 div img{
width: 100%;
margin: 0 auto;
padding: 5vw;

  }

  .works-imgbox .item img {
    width: 90%;
    padding-bottom: 10vw;
    padding-left: 10vw;
  }





  






  .works-imgbox2{
    /* Prevent vertical gaps */
    line-height: 0;
    -webkit-column-count: 3;
    -webkit-column-gap: 0px;
    -moz-column-count: 3;
    -moz-column-gap: 0px;
    column-count: 3;
    column-gap: 0px;
    margin: 5vw;
    }
  
    .works-imgbox2 div{
      margin:0;
      /* Just in case there are inline attributes */
      width: 100% !important;
      height: auto !important;
    }
  
    .works-imgbox2 div img{
      width:100%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-b;
  
  padding: 4vw;
    }





    .works-imgbox3{
      /* Prevent vertical gaps */
      line-height: 0;
      -webkit-column-count: 1;
      -webkit-column-gap: 0px;
      -moz-column-count: 1;
      -moz-column-gap: 0px;
      column-count: 1;
      column-gap: 0px;
      margin: 5vw;
      }
    
      .works-imgbox3 div{
        margin:0;
        /* Just in case there are inline attributes */
        width: 100% !important;
        height: auto !important;
      }
    
      .works-imgbox3 div img{
        width:100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-b;
    
    padding: 4vw;
      }
    
  

    /*リンクの形状*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#81818128;
	font-family: vdl-lineg, sans-serif;

font-weight: 400;

font-style: normal;
	width: 60px;
	height: 60px;
	color: rgb(46, 46, 46);
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
  z-index: 300;
}

#page-top a:hover{
	background: #703e3e;
  color: #fff;
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	bottom:10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}



