body{
/*  font-family: 'Poiret One', cursive;*/
  font-family: 'Poiret one', 'Zen Maru Gothic', sans-serif;
}
.post{
	width: 80%;
	max-width: 1200px;
	margin: 0 auto;
}
.has-black-background-color{
  background-color: #333;
}
.has-black-color{
  background-color: #333;
}
.has-gray1-background-color{
  background-color: #a9a9a9;
}
.has-gray1-color{
  background-color: #a9a9a9;
}
.has-gray2-background-color{
  background-color: #e6e4e4;
}
.has-gray2-color{
  background-color: #e6e4e4;
}
.has-x-small-font-size{
  font-size: 0.875rem;
}
.has-small-font-size{
  font-size: 1rem;
}
.has-normal-font-size{
  font-size: 1.125rem;
}
.has-large-font-size{
  font-size: 1.5rem;
}
.has-huge-font-size{
  font-size: 2.25rem;
}


h2{
  font-weight: normal;
  color: #333;
  font-size: 4vw;
  text-align: center;
  padding: 40px;
}
h3{
  font-weight: normal;
  color: #333;
  font-size: 2vw;
}
html {
  font-size: 16px;
}
p{
  color: #333;
  line-height: 1.8;
  font-size: 16px;
  text-align: center;
}
body{
  width: 100%;
  background-color: #f6f6f6;
  font-size: 16px;
  display: flex;
}
header{
  /* width: 148px; */
  width: 16%;
  background-color: #f6f6f6;
  z-index: 90;
}
.g-nav{
  position: sticky;
  top: 0;
  left: 0;
  z-index: 10;
  width:100%;
}
.header-nav{
  padding-top: 34vh;
  width: 100%;

}
.nav-list{
  height: 50vh;
  text-align: center;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
}
.nav-list a{ 
  font-weight: bold;
  font-size: 16px;
  display: inline-block;
  width:100%;
  padding-bottom: .4em;
  position: relative;
  width: 55%;
  margin: 0 auto;
}
.nav-list a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #333;
  transition: .3s;
}
.nav-list a:hover::after {
  width: 70%;
}
.nav-list a:hover{
  opacity: .8;
}
.main-footer{
  width: 84%;
}
.kv-inner{
  position: relative;
  top:0;
  left:0;
  width: 100%;
  height: 100vh;
  /* background-color: aqua; */
  overflow: hidden;
}
.kv_text{
  position: absolute;
  top: 0;
  right: 112px;
  width: 50%;
  height: 40%;
  text-align: right;
  z-index: 10;
  background-color: rgba( 246, 246, 246, 0.55 );
  padding-top: 10vh;
}
h1{
  color: #333;
  font-size: 7vw;
}
h1:before{
  width: 100%;
  height: 10%;
  content: "さあ、その扉を開こう！";
  font-size: 25px;
  display: block;
}
h1 .name{
  display: block;
  font-size: 50%;
}
.img_kv_cat{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  height: 100vh;

}
.img_kv_cat img{
  height: 100vh;

}
.effect-fade {
  opacity : 0;
  transition : all 2s;
}
.effect-fade.effect-scroll {
  opacity : 1;
}
.kv .scroll a{
  display: inline-block;
  position: absolute;
  right: 112px;
  bottom: 16%;
  z-index: 10;
  font-size: 14px;
  writing-mode: vertical-lr;
  text-transform: uppercase;
}
.kv .scroll a::after{
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0.5px;
  height: 200%;
  background: #333;
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
} 
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.works{
  padding-top: 120px;
  margin-bottom: 160px;
}
.works h3{
  margin-left: 112px;
  font-weight: bolder;
}
.works h3:before{
  content: "#";
    padding-right: 5px;
}
.works-web_back{
  background-color: #e6e4e4;
  padding-top: 40px;
  padding-bottom: 20px;
  margin-bottom: 15px;
  border-top: solid #333 1px;
  border-bottom: solid #333 1px;
}
.works-other_back{
  background-image: url(../img/back-line2.svg);
  padding-top: 40px;
  padding-bottom: 10px;
  margin-bottom: 15px;
  background-repeat: no-repeat;
  /* background-color: pink; */
  background-size: auto 100%;
}
.works-web_item, 
.works-other_item{
  position: relative;
  width: 100%;
  height: auto;
}
.ratio-1_1:before,
.ratio-1_:before{
  content: "";
  display: block;
  padding-top: 75%;
}
.ratio-1_:before{
  padding-top: 65%;
}
.works-web_item .img-mok-pc,
.works-other_item .img-banner{
  position: absolute;
  top: 0;
  left: 5%;
  width: 90%;
  height: auto;
  z-index: 3;
  filter: grayscale(50%);
  transform: scale(0.9);
  transition: all 1s ease;
}
.works-web_item:hover .img-mok-pc,
.works-other_item:hover .img-banner{
  filter: grayscale(0%);
  transform: scale(1);
  opacity: 1;
  -webkit-animation: flash .5s;
  animation: flash .5s;
}
@-webkit-keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: .4;
  }
  100% {
    opacity: 1;
  }
}
.works-web_item .img-mok-pc img{
  width: 100%;
  margin: 0 auto;
  height: auto;
}
.works-other_item .img-banner img{
  width: 100%;
  height: 16vw;
  object-fit: scale-down;
  opacity: 1;
  margin: 0 auto;
}
.works-web_item:hover .shadow,
.works-other_item:hover .shadow{
  transform: scale(1);
}
.works-web_item .shadow,
.works-other_item .shadow{
  position: absolute;
  bottom: 0;
  left: 5%;
  width: 90%;
  margin: 0 auto;
  height: auto;
  z-index: 2;
  transform: scale(0);
  transition: all 1s ease;
}
.works-web_item span,
.works-other_item span{
  font-size: 24px;
  color:#333;
  position: absolute;
  bottom: 5%;
  left: 20%;
  z-index: 4;
  opacity: 0;
  transition: all 0.8s ease;
}
.works-web_item:hover span,
.works-other_item:hover span{
  color:#a9a9a9;
  opacity: 1;
}
.arrow-area{
  margin-right: 112px;
  margin-left: 112px;
  text-align: right;
}
.arrow_btn .arrow::after{
  content:url(../img/arrow.svg);
}
.arrow_btn{
  display: inline-block;
  padding-left: 6px;
  text-align: left;
  transition: all .6s ease-in-out;
  margin-bottom: 100px;
  width: 100px;
  font-size: 1rem;
}
.arrow_btn:hover{
  opacity: 0.8;
    -webkit-transform: skew(-10deg) translateX(2em);
    -moz-transform: skew(-10deg) translateX(2em);
    transform: skew(-10deg) translateX(2em);
}
.website .arrow::after{
  width: 10px;
}
.about,
.skill{
  margin-right: 112px;
  margin-left: 112px;
  margin-bottom: 160px;
}
.about .foto{
  width: 100px;
  height: 100px;
  border-radius: 50%;
  /* background: bisque; */
  margin: 0 auto;
  margin-bottom: 20px;
}
.about .foto img{
  width:100%;
}
.about .birth{
  margin-bottom: 24px;
}
.about .text{
  line-height: 2;
  font-family: 'Zen Maru Gothic', sans-serif;
  padding-left: 20%;
  padding-right: 20%;
  text-align: left;
}
.skill table{
  line-height: 1.8;
  font-size: 1rem;
}
.skill table td{
  display: block;
  padding: 5px;
}
.skill table td.comment{
  font-family: 'Zen Maru Gothic', sans-serif;
}
table td:nth-child(odd){
  font-weight: bold;
}
.skill table td:nth-child(2n){
  margin-bottom: 20px;
}

.skill table .name:before{
  content: "■";
  font-family: 'serif';
  padding-right: 5px;
  font-size: 20px;
}
.contact{
  background: #a9a9a9;
  text-align: center;
  margin-bottom: 0;
}
.contact h2{
  padding-top: 50px; 
}
.contact p{
  font-family: 'Zen Maru Gothic', sans-serif;
  margin-bottom: 10px;
}
.contact .img{
 width: 200px;
 margin: 0 auto;
}
.contact .img img{
  width: 100%;
}
footer{
  padding: 12px;
  font-size: 14px;
  text-align: center;
}
@media screen and (max-width: 1090px){
  header{
    width: 80px;
  }
  .kv .scroll a{
    right: 48px;
  }
  .main-footer{
    width: calc(100% - 80px);
  }
  

  .burger-btn{
    display: block;
    width: 30px;      
    height: 22px;      
    position: relative; 
    top: 30px;     
    z-index: 3;
    border:none; 
    margin: 0 auto;
  }
  .burger-btn:hover{
    opacity: .6;
  }    
  .bar{      
    width: 30px;      
    height: 2px;        
    display: block;      
    position: absolute;      
    left: 50%;      
    transform: translateX(-50%);      
    background-color: #333;    
  }    
  .bar_top{   
    top: 0px;
  }
  .bar_mid{    
    top: 50%;
    transform: translate(-50%,-50%);
  }
  .bar_bottom{
    bottom: 0px;
  }
  .burger-btn.close .bar_top{      
    transform: translate(-50%,11px) rotate(45deg);      
    transition: transform .3s;    
  }    
  .burger-btn.close .bar_mid{      
    opacity: 0;       
    transition: opacity .3s;    
  }    
  .burger-btn.close .bar_bottom{      
  transform: translate(-50%,-9px) rotate(-45deg);      
  transition: transform .5s;    
  }

  .nav-wrapper{      
    display: none;      
  }  
  .nav-wrapper.block{      
    display: block;
    animation: fadeIn 0.5s normal;
    width:148px;
    height: 100vh;      
    position: fixed;      
    top: 0;      
    left: 0;  
    background-color: #f6f6f6;     
    z-index: 2;     
  }
  @keyframes fadeIn {
    0% {opacity: 0} /*アニメーション開始時は不透明度0%*/
    100% {opacity: 1} /*アニメーション終了時は不透明度100%*/
  }
  .kv_text{
    right: 48px;
  }

}
@media screen and (max-width: 760px){
  body{
    display: block;
  }
  header{
  width: 100%;
  height: 60px;
  position: fixed;
  top:0;  
  background-color: transparent;
 }
 .main-footer{
  width: 100%;
  }  
  .burger-btn{
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 90;
  }
  .nav-wrapper.block{      
    width: 100%;      
  }  
  .header-nav ul.nav-list{        
    top: 34vh;        
    left: 50%;        
  }
  .kv_text{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 30%;
    text-align: center;
  }

  
  h1{
    font-size: 10vw;
  }
  h2{
    font-size: 5vw;
  }
  h3{
    font-size: 3vw;
  }
  
  .works h3{
    margin-left: 48px;
  }
  .arrow-area{
    margin-right: 48px;
    margin-left: 48px;
  }
  .works-other_item .img-banner img{
    height: 33vw;
  }
  .about,
  .skill{
    margin-right: 50px;
    margin-left: 50px;
  }
  .about .text {
    padding-left: 0;
    padding-right: 0;
  }
  
}

@media screen and (max-width: 560px){
h2{
  font-size: 8vw;
}
h3{
  font-size: 4vw;
}
h1{
  font-size: 15vw;
}
h1:before{
  font-size: 4vw;
} 

.works{
  padding-top: 100px;
}
.arrow-area{
  margin: 0 auto;
  text-align: center;
}
.arrow_btn .arrow::after{
  content:url(../img/arrow.svg);
}
.arrow_btn{
  width: 148px;
}
.about p,
.skill td,
.contact p{
  font-size: .9rem;
}
.works{
  margin-bottom: 100px;
}
.about,
.skill{
  margin-bottom: 100px;
}

}


.grecaptcha-badge { visibility: hidden; }
