@charset "UTF-8";
/* //////////////////////
共通設定
///////////////////////*/

html{
  font-size: 62.5%;   /* 10px ブラウザのデフォ値16pxにかけてる */
}

body{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  font-size: 1.5rem;
  color: #353535;
}

a{
  text-decoration: none;
  color: #222;
  transition: .3s;
}

a:hover{
  opacity: .5;
}

.inner{
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

/* //////////////////////
header
///////////////////////*/
header{
  width: 100%;
  height: 100px;
  background: linear-gradient(to bottom,rgba(232,232,232,.7),rgba(232,232,232,.7) 60%,rgba(232,232,232,0));
  /* background-color: tomato; */
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
}

header div.wrapper{
  display: flex;
  justify-content: space-between;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  height: 100px;  /* 高さ指定しないとlogoの高さ分しかないので垂直に揃わない */
  align-items: center;
}

header .logo a{
  font-size: 5.4rem;
  font-family: 'Caveat', sans-serif;
  font-weight: 400;
  text-decoration: none;
  color: #000;
  transition: .2s;
}

header .logo a:hover{
  opacity: .5;
}
@media screen and (min-width:768px){

  header div.wrapper{
    width: 100%;
    padding: 0 50px;
  }

}/* =========== end min-width:768px */

/* //////////////////////
Navi
///////////////////////*/

.pcNav{
  display: none;
}

.spNav{
  display:block;
}

/* sp menu */

.spNav .menuBtn{
  /* background-color: tomato; */
  position: fixed;
  top: 36px;
  right: 5%;
  width: 30px;
  height: 30px;
  /* height: 22px; */
  z-index: 10;
}

.spNav .menuBtn span{
  display: block;
  width: 100%;
  height: 2px;
  background-color: #444;
  position: absolute;
  transition: .2s;
}

.spNav .menuBtn span:nth-child(1){
  top:4px;
}

.spNav .menuBtn span:nth-child(2){
  top:14px;
}

.spNav .menuBtn span:nth-child(3){
  bottom:4px;
}

.spNav.on .menuBtn span:nth-child(1){
  transform: translate(0,10px) rotate(45deg);
}

.spNav.on .menuBtn span:nth-child(2){
  display: none;
}

.spNav.on .menuBtn span:nth-child(3){
  transform: translate(0,-10px) rotate(-45deg);
}

.spNav ul{
  background-color: rgba(227,227,227,.95);
  position: fixed;
  top:0;
  right: -60%;
  width: 60%;
  height: 100vh;  /* vh:端末の高さの1/100 */
  padding-top: 145px;
  padding-left: 20px;
  padding-right: 20px;
  transition: .3s;
}

.spNav.on ul{
  right: 0;
}

.spNav ul li{
  height: 75px;
  border-bottom: 1px solid #fff;
}

.spNav ul li:nth-child(1){
  border-top: 1px solid #fff;
}

.spNav ul li a{
  display: block;
  line-height: 75px;
  text-align: center;
  font-size: 2rem;
}

@media screen and (min-width:768px){
  .spNav{
    display: none;
  }
  .pcNav{
    display: block;
  }

  .pcNav li{
    display: inline;
    margin-left: 50px;
    line-height: 5.4rem;
  }

  .pcNav li a{
    color: #222;
    /* font-size: 1.6rem; */
    border-bottom: 1px solid transparent;
  }

  .pcNav li a:hover{
    border-bottom:1px solid #222;
    opacity: 1;
  }

  .pcNav li:last-child a{
  background-color: #222;
  color: #fff;
  padding: 2px 25px;
  border-radius: 20px;
  }

  .pcNav li:last-child a:hover{
    opacity: .6;
  }

}/* =========== end min-width:768px */

/* //////////////////////
TOP #key
///////////////////////*/

#key{
  width: 100%;
  height: 70vh;
  background-image: url(../img/honey-yanibel-minaya-cruz-3cj-G1sV26Q-unsplash.jpg);
  background-size:cover ;
  padding: 155px 5% 0;
}

#key h2{
  font-size: 2rem;
  font-weight: 300;
  margin-bottom: 50px;
}

#key p{
  line-height: 3.3rem;
}

#key p span{
  background: linear-gradient(transparent 0%,rgba(255,255,255,.85) 0%);
}

@media screen and (min-width:768px){
  #key{
    height: 85vh;
    min-height: 500px;
  }

  #key .inner{
    margin-left: 120px;
  }

}/* =========== end min-width:768px */

/* //////////////////////
TOP #topWorks
///////////////////////*/
#topWorks {
  position: relative;
  margin-bottom: 100px;
}

#topWorks .title{
  position: absolute;
  top:-100px;
}

#topWorks .bar{
  width: 1px;
  height: 120px;
  background-color: #222;
  position: absolute;
  top:-30px;
  left:35px ;
}

#topWorks h2{
  font-family: 'Noto Serif', serif;
  font-size: 2.6rem;
  transform:rotate(90deg);
  position: absolute;
  top:130px;
}

#topWorks .work01{
  position: relative;
  margin-bottom: 90px;
}
#topWorks .work02{
  position: relative;
  margin-bottom: 90px;
}
#topWorks .work03{
  position: relative;
}

#topWorks .num{
  font-family: 'Noto Serif', serif;
  font-size: 3.2rem;
  position: absolute;
  z-index: 10;
  top: -5px;
  left: 90px;
}

#topWorks .tri{
  display: block;
  width: 76px;
  height: 76px;
  background-color: #fff;
  border-bottom:1px solid #eee;
  position: absolute;
  top:-38px;
  left: 72px;
  transform: rotate(-45deg);
}

#topWorks section p.img{
  max-width: 715px;
  height: 150px;
  margin-left: 110px;
  background-size: cover;
  border: 1px solid #eee;
  margin-bottom: 24px;
}

#topWorks section.work01 p.img{
  margin-top: 100px;
  background-image: url(../img/hrp_top.png);
}

#topWorks section.work02 p.img{
  background-image: url(../img/sf_top.png);
}

#topWorks section.work03 p.img{
  background-image: url(../img/bn01_300x250.png);
}

#topWorks section .cap{
  margin-left: 110px;
  color: #444;
}

#topWorks section .cap h3{
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 20px;
}

#topWorks section .cap p{
  font-size: 1.2rem;
  line-height: 2rem;
  margin-bottom: 15px;
}

#topWorks section ul.skill{
  font-size: 1rem;
  color: #888;
  list-style: none;
  margin-bottom: 25px;
}

#topWorks section ul.skill li{
  display: inline-block;
  margin-right: 1rem;
  line-height: 1.8rem;
}

#topWorks section .worksBtn a{
  display: block;
  width: 200px;
  height: 36px;
  color: #444;
  border: 1px solid #444;
  border-radius: 18px;
  text-align: center;
  line-height: 36px;
}

#topWorks section .worksBtn a:hover{
  background-color: #444;
  color: #fff;
}

@media screen and (min-width:768px){
  #topWorks {
    margin-bottom: 150px;
  }

  #topWorks .title{
    top:-50px;
  }

  #topWorks section{
    display: flex;
    justify-content: space-between;
  }

  #topWorks section.work01{
    padding-top: 140px;
  }

  #topWorks section.work01 .num{
    top: 135px;
    /* top: -5px; */
  }
  
  #topWorks section.work01 .tri{
    top:102px;
    /* top:-38px; */
  }

  #topWorks section p.img{
    width: 715px;
    height: 250px;
    margin-bottom: 0;
  }

  #topWorks section.work01 p.img{
    margin-top: 0;
  }

  #topWorks section .cap{
    width: 230px;
    margin-top: 0;
    margin-left: 30px;
    padding-right: 15px;
  }

}/* =========== end min-width:768px */

/* //////////////////////
TOP .topBlog
///////////////////////*/

.topBlog{
  padding: 50px 5%;
  background-color: #FFF7EB;
}

.topBlog .title{
  display: flex;
  height: 26px;
  align-items: center;
}

.topBlog .bar{
  /* display: inline-block; */
  width: 120px;
  height: 1px;
  background-color: #222;
  margin-right: 28px;
}

.topBlog h2{
  /* display: inline-block; */
  font-family: 'Noto Serif', serif;
  font-size: 2.6rem;
}

@media screen and (min-width:1024px){
  .topBlog .content{
    display: flex;
    justify-content: space-between;
  }

  .topBlog .content canvas{
    width: 30%;
  }

}/* =========== end min-width:1024px */

/* //////////////////////
TOP #topAbout
///////////////////////*/
#topAbout{
  margin-bottom: 100px;
}

#topAbout .title{
  display: flex;
  height: 26px;
  align-items: center;
  /* justify-content: flex-end; */
  margin: 50px 5% 95px;
  /* margin-bottom: 95px; */
}

#topAbout .bar{
  width: 120px;
  height: 1px;
  background-color: #222;
  margin-right: 28px;
}

#topAbout h2{
  font-family: 'Noto Serif', serif;
  font-size: 2.6rem;
}

#topAbout section.work{
  margin: 0 5% 65px;
}

#topAbout h3{
  font-size: 1.6rem;
  margin: 0 5% 50px;
}

#topAbout dl{
  display: flex;
  margin-bottom: 45px;
}

#topAbout dt{
  margin-right: 20px;
}

#topAbout dd p:nth-child(1){
  margin-bottom: 15px;
}

#topAbout dd p:not(:nth-child(1)){
  font-size: 1.3rem;
  line-height: 2.4rem;
  color: #888;
  width: auto;
}

#topAbout section.education{
  padding-top: 35px;
  padding-bottom: 55px;
  background-color: #F5F5F5;
}

#topAbout section.education div{
  margin: 0 5% ;
}

#topAbout section.skill{
  padding-top: 35px;
  margin: 0 5%;
}

#topAbout section.skill .chart:nth-child(2){
  margin-bottom: 50px;
}


@media screen and (min-width:1024px){
#topAbout{
  background-color: #f5f5f5;
  padding-top: 50px;
}

  #topAbout h3{
    margin: 0 0 50px;
  }

#topAbout .title+.wrapper .inner{
  display: flex;
  justify-content: space-between;
}

#topAbout section.work{
  margin: 0 0 0;
  width: 46%;
}

#topAbout section.education{
  width: 46%;
  padding-top: 0;
  padding-bottom: 0;
}

#topAbout section.education div{
  margin: 0 0 ;
}

#topAbout section.skill{
  background-color: #fff;
  margin: 0 0;
}

#topAbout section.skill .content{
  display: flex;
  justify-content: space-between;
}

#topAbout section.skill .chart{
  width: 300px;
}

}/* =========== end min-width:1024px */

/* //////////////////////
TOP #contact
///////////////////////*/

#contact{
  background-color: #D9CBBE;
  position: relative;
  padding-top: 70px;
}

#contact .title{
  position: absolute;
  top:-30px;
}

#contact .bar{
  width: 1px;
  height: 120px;
  background-color: #222;
  position: absolute;
  top:-30px;
  left:35px ;
}

#contact h2{
  font-family: 'Noto Serif', serif;
  font-size: 2.6rem;
  /* width: 500px; */
  transform:rotate(90deg);
  position: absolute;
  top:130px;
  left: -5px;
}

#contact .wrapper{
  margin-left: 75px;
  margin-right: 5%;
  padding-bottom: 130px;
}

#contact .wrapper p{
  margin-bottom: 55px;
  line-height: 2.5rem;
}

#contact .wrapper dl{
  margin-bottom: 30px;
}

#contact .wrapper dt{
  margin-left: 1rem;
  margin-bottom: 10px;
}

#contact .wrapper dd input{
  width: 100%;
  height: 45px;
  border-radius: 5px;
  border: 1px solid #fff;
  padding: 0 10px;
  font-size: 1.5rem;
  line-height: 1.5rem;
}

#contact .wrapper dd textarea{
  width: 100%;
  height: 120px;
  border-radius: 5px;
  border: 1px solid #fff;
  padding: 10px 10px;
  font-size: 1.5rem;
  line-height: 2.2rem;
}

#contact .wrapper input[type="submit"]{
  font-size: 1.6rem;
  width: 200px;
  height: 40px;
  line-height: 40px;
  color: #fff;
  background-color: #444;
  border:  1px solid #444;
  border-radius: 20px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  transition: .3s;
}

#contact .wrapper input[type="submit"]:hover{
opacity: .5;
}

@media screen and (min-width:768px){
  #contact .wrapper{
    width: 650px;
    margin-left: auto;
    margin-right: auto;
  }

}/* =========== end min-width:768px */

/* //////////////////////
TOP footer
///////////////////////*/

footer{
  margin-top: 50px;
  margin-bottom: 55px;
  text-align: center;
}

/* //////////////////////
下層ページ .contact
///////////////////////*/

.contact #contact{
  margin-top: 120px;
}

.contact #contact .wrapper dl:nth-child(4){
  margin-bottom: 50px;
}

.contact #contact .wrapper dd {
  width: 100%;
  height: 45px;
  border-radius: 5px;
  padding: 0 10px;
  line-height: 4.5rem;
  background-color:rgba(255,255,255,.4);
}

.contact #contact .wrapper dl:nth-child(4) dd {
  padding: 10px 10px;
  line-height: 2.2rem;
  height: 120px;
}

.contact #contact .wrapper input[type="button"]{
  font-size: 1.6rem;
  width: 200px;
  height: 40px;
  line-height: 40px;
  color: #444;
  background-color: transparent;
  border: 1px solid #444;
  border-radius: 20px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  transition: .3s;
  margin-bottom: 30px;
}

.contact #contact .wrapper input[type="button"]:hover{
  opacity: .5;
}

.attention{
  color:#DB5353 ;
}

.contact .thanks{
  margin-left: 75px;
  margin-right: 5%;
  padding-bottom: 100px;
  line-height: 2.2rem;
}

@media screen and (min-width:768px){

.contact .thanks{
  width: 650px;
  margin-left: auto;
  margin-right:auto;
}

.contact form .btnWrapper{
display: flex;
}
}/* =========== end min-width:768px */

/* //////////////////////
下層ページ .under
///////////////////////*/
.under{
margin-top: 150px;
position: relative;
}

.under .title{
  position: absolute;
  top:-30px;
}

.under .bar{
  width: 1px;
  height: 120px;
  background-color: #222;
  position: absolute;
  top:-30px;
  left:35px ;
}

.under h2{
  font-family: 'Noto Serif', serif;
  font-size: 2.6rem;
  transform:rotate(90deg);
  position: absolute;
  top:130px;
  left: -5px;
}

.under .content{
  margin-left: 75px;
  margin-right: 5%;
  padding-bottom: 100px;
  line-height: 2.2rem;
}

.under h3{
  margin-bottom: 50px;
}
@media screen and (min-width:768px){
  .flexWrapper{
    display: flex;
  }

}/* =========== end min-width:768px */

@media screen and (min-width:1024px){
  .under .content{
    margin-left: 100px;
    margin-right: 0;
  }

}/* =========== end min-width:1024px */
/* //////////////////////
下層ページ #bnr
///////////////////////*/

/* バナーサイズ */

.w300{
  max-width: 300px;
}

.w468{
  max-width: 468px;
}

.w728{
  max-width: 728px;
}

#bnr figure{
  margin-bottom: 55px;
}

#bnr figcaption{
  color: #888;
  font-size: 1.3rem;
}

@media screen and (min-width:728px){

  #bnr figure{
    margin-right: 50px;
  }
}/* =========== end min-width:728px */




