@charset "utf-8";

html {
  font-size: 62.5%;
  font-family: 'Open Sans', sans-serif;
}
section {
  /* padding: 110px 0; */
  /* text-align: center; */
}

body{
  font-family: "Avenir Next",游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, Meiryo, メイリオ, "MS Pゴシック", Arial, Helvetica, Verdana, sans-serif;;
  font-size: 16px;
  color: #333333;
}
*:focus {
  outline: none !important;
}
a{
  text-decoration: none;
  color: #333333;
  outline: none;
}
a:hover{
  opacity: .7;
  text-decoration: none;
}
ul{
  list-style: none;
}
p{
  text-align: left;
  letter-spacing: 0.2rem;
  line-height: 1.8;
}
h2{
  text-align: center;
}

.tx {
  margin-top: 40px;
}
.mt20 {
  margin-top: 20px;
}
.tx-mb{
  margin-bottom: 15px;
}
.sub-tx-mb{
  margin-bottom: 20px;
}

.top{
  margin-top: 110px;
}
.section-wrapper{
  padding: 70px 10%;
}
.wrapper{
  max-width: 1300px;
  margin: auto;
}
.section-title{
  font-family: "Avenir Next";
  font-size: 4.4rem;
}

.sub-title__span{
  color: #494544;
  font-size: 1.8rem;
}

/* .container{
  max-width: 90%;
  margin: auto;
} */
header{
  /* padding: 35px 0; */
}
.logo-title{
  position: fixed;
  top: 10px;
  left: 120px;
  font-weight: 600;
  font-size: 4.6rem;
  z-index: 999;
  font-family: "Avenir Next";
}

.header{
  height: 75px;
  padding: 0 120px;
  font-size: 1.6rem;
}
.nav-list{
  display: inline-block;
  display: flex;
  justify-content: flex-end;
  padding: 30px 0;
  font-weight: 700;
}
.nav-item{
  margin-right: 55px;
  font-size: 2.2rem;
}


.burger-btn{
  display: none;
}
/* ------------------------ */
/* key-visual */
/* ------------------------ */
.key-backimg{
  background-image: url(../images/masaaki-komori-14cHwhRKJh8-unsplash.jpg);
  /* height: 760px; */
  height: 70vh;
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  /* flex-direction: column; */
  position: relative;

}
.key-message{
  position: absolute;
  top: 50%;
  right: 30%;
}

.key-visual-text{
  font-family: "筑紫A丸ゴシック";
}
/* ------------------------ */
/* about */
/* ------------------------ */

.about-blocks__flex{
  max-width: 1000px;
  display: flex;
  justify-content: space-between;
  margin: auto;
}
.about-block__left{
  width: 45%;
}
.about-block__left img{
  width: 70%;
  height: auto;
  border-radius: 50%; 
}
.about-block-text{
  width: 45%;
}
.sub-title{
  font-size: 2.8rem;
  line-height: 1.8;
  letter-spacing: 0.2rem;
}
/* ----------------- */
/* skill */
/* ----------------- */
#skill{
  background-color: #e0f1f1;
}
.skill-boxes{
  display: flex;
}
.skill-box{
  border: 1px solid #e8e8e8;
  background-color: #fff;
  padding: 20px 20px;
  width: 50%;
}

.skill-box__title{
  font-size: 2.4rem;
}

.skill-box__tx{
  font-size: 1.7rem;
}
.skill-img{
  width: 20%;
  margin: auto;
}
.skill-img img{
  width: 100%;
}

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

.works-items{
  display: flex;
  justify-content: space-between;
}
.works-item{
  width: 380px;
  padding: 30px 20px;
  margin: 0 1%;
  border: 2px solid #f3e7ea;
  border-radius: 5px;
  background-color: #fff;
}

.works-item img{
  width: 100%;
}
.works-item_p{
  font-weight: 500;
  font-size: 1.7rem;
}


.contact{
  background-color: #d8dbd9;
  color: #000000;
}
.contactforms{
  flex-direction: column;
  margin: auto;
  align-items: center;
}
.mail,.sns {
  display: block;
  text-align: center;
}

.fa-envelope{
  font-size: 4rem;
}
.contact__tx{
  text-align: center;
  margin-top: 40px;
}


/* form#contact-form input {
  height: 50px;
  border-radius: 0px;
  }

  form#contact-form textarea {
  height: 170px;
  border-radius:  0px;
  margin-top: 15px;
  }
  .form-control{
    font-size: 1.6rem;
  }

  

.div-btn {
  display: block;
  background-color: #669b76;
  padding: 20px 15px;
  border: 2px solid #669b76;
  border-radius:5px;
  max-width: 220px;
  width: 100%;
  margin: 35px auto 0;
  color: #fff;
  text-transform: uppercase;
  -webkit-transition: .2s background-color ease;
  -o-transition: .2s background-color ease;
  transition: .2s background-color ease;
  font-size: 1.4rem;
  letter-spacing: 1px;
  font-weight: 600;
  cursor: pointer;

  }
  .div-btn:hover {
  color:#669b76;
  background-color: transparent; } */

  .fa-twitter{
    color: #63a6db;
    font-size: 4rem;
  }

/* ----------------- */
/* footer */
/* ----------------- */

  .footer{
    padding: 15px 0;
    margin: auto;
    background-color: #333333;
    color: #fff;
  }
  .footer-copyright{
    display: block;
  }
  
/* ----------------- */
/* レスポンシブ */
/* ----------------- */

  @media screen and (max-width:768px){
    .wrapper {
      width: calc(100% - 32px);
      margin: 0 auto;
    }
/* ----------------- */
/* ヘッダー */
/* ----------------- */
    .header{
      padding: 15px 5%;
    }
    .burger-btn{
      margin-left: auto;
      display: block;
      width: 39px;
      height: 39px;
      position: fixed;
      top: 15px;
      right: 5%;
      z-index: 3;
      background-color: transparent;
      border: none;
      outline: none;

    }
    .bar{
      width: 20px;
      height: 1px;
      display: block;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      background-color: #333333;
      }
      .bar_top{
      top: 10px;
      }
      .bar_mid{
      top: 50%;
      transform: translate(-50%,-50%);
      }
      .bar_bottom{
      bottom: 10px;
      }
      .burger-btn.close .bar_top{
      transform: translate(-50%,10px) rotate(45deg);
      transition: transform .3s;
      }
      .burger-btn.close .bar_mid{
      opacity: 0;
      transition: opacity .3s;
      }
      .burger-btn.close .bar_bottom{
      transform: translate(-50%,-8px) rotate(-45deg);
      transition: transform .3s;
      }
    .nav-wrapper{
    display: none;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;/*キービジュアルと.btn_triggerとの重なりの前後関係を調整*/
    }
    .header-nav{
    width: 100%;
    height: 100%;
    /* background-color:#fff;  */
    background: rgba(255, 255, 255, .9);       
    z-index: 2;
    }
    .header-nav .nav-list{
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
    }
    .header-nav .nav-item{
    margin-right: 0;
    margin-bottom: 40px;
    }
  /* ----------------- */
  /* 共通 */
  /* ----------------- */
    body {
      font-size: 14px;
    }
    .section-wrapper{
      padding: 50px 5%;
    }
  .section-title{
    font-size: 2.9rem;
  }

  .sub-title__span{
    font-size: 1.5rem;
  }

  .works-item_p{
    font-size: 1.4rem;
  }
  .works-item__title{
    font-size: 1.6rem;
  }
  /* ----------------- */
  /* header */
  /* ----------------- */
  .logo-title{
      position: fixed;
      top: 5px;
      left: 10px;
      font-weight: 600;
      font-size: 2rem;
    }
  /* ----------------- */
  /* key */
  /* ----------------- */


  .key-backimg{
    height: 50vh;
  }
    .key-message{
      position: absolute;
      top: 40%;
      right: 5%;
    }

    .key-visual-text{
      font-size: 2rem;
    }
  /* ----------------- */
  /* about */
  /* ----------------- */
  
  .about-blocks__flex{
    flex-direction: column;
    margin: auto;
    align-items: center;
  }
  .sub-title{
    margin-top: 20px;
    font-size: 2.2rem;
  }
  
  .about-block__left{
    width: 45%;
  }
  .about-block__left img{
    width: 100%;
    height: auto;
    border-radius: 50%; 
  }
  .about-block-text{
    width: 100%;
  }





  /* ----------------- */
  /* skill */
  /* ----------------- */
  .skill-boxes{
    flex-direction: column;
    margin: auto;
    align-items: center;
  }
  .skill-box{
    padding: 20px 20px;
    width: 90%;
  }
  .skill-box__title{
    font-size: 2.4rem;
  }
  
  .skill-box__tx{
    font-size: 1.7rem;
  }
  .skill-img{
    width: 25%;
    margin: auto;
  }
  .skill-img img{
    width: 100%;
  }
  
  
  /* ----------------- */
  /* works*/
  /* ----------------- */
  .works-items{
    flex-direction: column;
    margin: auto;
    align-items: center;
  }
  .works-item{
    margin: 10px 15px;
    padding: 20px 20px;
    width: 90%;
  }
  .works-item__title{
    font-size: 1.4rem;
  }
  /* ----------------- */
  /* contact */
  /* ----------------- */

  .contactforms{
    flex-direction: column;
    margin: auto;
    align-items: center;
  }
  
  }
  
  @media screen and (max-width:414px){
    .key-message{
      top: 40%;
      right: 0;
      font-size: 1rem;
    }
  }