html {
  font-size: 100%;
}

body{
  color: #383e45;
  font-size: 14.4px;
  line-height:  1.5;
}

/*------------------------
ヘッダー
------------------------*/
a {
  text-decoration: none;
  color: #383e45;
}

.site-title img{
max-width: 100%;
}

.site-title a {
display: block;
}

.header_wrapper {
  display: flex;
  justify-content: space-between;
  height: 60px;
  max-width: 960px;
  margin: 0 auto;
}

.site-title {
  width: 120px;
  padding: 10px 0 10px 40px;
  height: 40px;
}

nav ul li {
  display:flex inline;
  align-items: center; /* 上下中央 */
  height: 60px; /* 親要素に高さがある場合 */
  list-style: none; /* リストの点を消す */
  padding-left: 20px;
}

ul li:last-child {
  margin-top: auto;    /* 上の余白を自動調整 */
  margin-bottom: auto; /* 下の余白を自動調整 */
  /* 必要に応じて他の中央揃え用CSS（transformなど）を追加 */
  padding-right: 40px;
}

nav ul li :hover{
    opacity: 0.7;
  }

html {
  scroll-behavior: smooth; /* なめらかに移動 */
  }
  
/*-------------------
main-visual
--------------------*/
.main-visual img{
  width: 100%;
  max-width: 100%;
  height: 600px;
  object-fit: cover;
  margin-bottom: 90px;
}

/*-------------------
About
--------------------*/
.wrapper {
  max-width: 960px;
  margin: 0 auto 100px;
}

.section-title {
  font-size: 33px;
  border-bottom: #383e45;
  text-decoration: underline;
  text-align: center;
  padding-bottom: 50px;
  line-height:  1.5;
}

.wrapper .contents {
 margin: 0 30px;
}

.wrapper .contents .profile h3 {
  padding-bottom: 10px;
  font-size: 17px;
}

.face {
    margin-right: 30px;
}

.face img {
  width: 100px;
  height: 100px;
  border-radius: 50%;  /* 円形にする */
}

.wrapper .contents {
  display: flex;
  justify-content: center;
  margin-bottom: 100px;
}
/*--------------------
Skills
---------------------*/
.wrapper-skills .skill img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

.wrapper-skills {
display: flex;
gap: 15px;
justify-content: center;
max-width: 100%;
padding: 0 4% 4% 20px;
}

.skill {
  text-align: center;
  margin: 0 auto; 
  flex: 1;
}

.skill img {
width: 100%;
object-fit: cover;
}

h3 {
  padding: 8px 0;
  font-size: 16px;
}

footer {
  text-align: center;
  color: #383e45;
  font-size: 8px;
  padding-bottom: 10px;
}

/*--------------------
レスポンシブ
---------------------*/
@media screen and (max-width: 600px) {
  /*--------------------
  main-visual
  ---------------------*/
  .main-visual img {
    height: calc(100vh - 60px);
  }
  /*--------------------
  about
  ---------------------*/
  .contents {
    flex-direction: column; /* 縦並びに変更 */
  }
  .contents {
    align-items: center;
  }

  .face {
    margin: 0 0 10px 0;
  }
  /*--------------------
  Skills
  ---------------------*/
  .wrapper-skills {
    flex-direction: column; /* 縦並びに変更 */
  }

  .skill {
    margin-bottom: 20px;
  }
}