@charset "UTF-8";

/* ヘッダーを最前面へ */
#header{
  z-index: 9999;
}
/* リンクした際のヘッダー分のずらし */
#main::before{
  content: "";
  display: block;
  height: 5rem;
  margin-top: -5rem;
  visibility: hidden;
}

#main::before{
  height: 0;
}
/* メインビジュアルの調整 */
#main-visual{
  top: 8rem;
  width: 100vw;
  height: 90svh;
  position: relative;
}

#main-visual img{
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

/* mvの太文字タイトル　「Portfolio」 */
.mv-title1{
  position: absolute;
  top: 20%;
  left: 20%;
  transform: translate(-50%, -50%);
  color: var(--text-color);
  text-align: center;
  text-shadow: -1px -1px 1px #000000, 1px 1px #ffffff;
  font-size: clamp(2.5rem, 8vw, 8rem);
}
/* mvの太文字タイトル　「Sueoka Akira」 */
.mv-title2{
  position: absolute;
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--text-color);
  text-align: center;
  text-shadow: -1px -1px 1px #000000, 1px 1px #ffffff;
  font-size: clamp(2.5rem, 8vw, 8rem);
}
/* mvのキャッチ文 */
.mv-catch{
  position: absolute;
  top: 90%;
  left: 30%;
  transform: translate(-50%, -50%);
  font-size: clamp(0.75rem, 1.75vw, 1.5rem);
}

/* sp MV */
@media screen and (max-width: 768px) {

  h1{
    font-size: 0;
  }

  #main-visual{
    width: 100%;
    height: auto;
  }
  #main-visual img{
    width: 100%;
    height: auto;
  }f
  .mv-catch{
    max-width: 100%;
    margin-top: 0 1rem;
    font-size: 1rem;
  }
}

/* works セクション */
#works{
  width: 100%;
  overflow: hidden;
  height: auto;
}

/* works セクションのボックス */
#works-box{
  width: 100%;
  margin-top: 10rem;
  padding-bottom: 2rem;
  right: -5%;
  height: auto;
  background: var(--base-color);
  position: relative;
  border-radius: 3rem 0 0 3rem;
}
/* セクションタイトル　ワークスとアバウトのタイトル部分の調整 英語と日本語を縦並びにして中央寄せ*/
.section-title{
  width: 100%;
  height: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1rem;
}
.works-catch{
  width: 100%;
  height: auto;
  text-align: center;
  padding: 1rem;
}
/* ここから下はワークスカード */
#workscard-flexbox{
  width: 100%;
  height: auto;
  position: relative;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  text-align: center;
  padding: 1rem;
  gap: 1rem;
}

.workscard{
  width: 40vh;
  height: 60vh;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1rem;
  background-color: var(--white);
  box-shadow:var(--effect1);
  line-height:3rem;
  border-radius: 2rem;
}

.workscard img{
  width: 100%;
  height: 40%;
  aspect-ratio: 4/3;
  object-fit: cover;
  margin-bottom: 2rem;
}
.workscard-title{
  font-size:  clamp(1.5rem, 3.5vw, 3rem);
  font-weight: bold;
}
.workscard-category{
  display: flex;
  width: 80%;
  height: 5%;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
  background-image: var(--gradient3);
}

.more-btn{
  max-width: 100vw;
  height: auto;
  padding: 1rem;
  display: block;
  margin-left: 1rem auto;


}
.more-btn a{
  width: 70%;
  height: auto;
  padding: 1rem 1.5rem;
  text-align: center;
  border-radius: 3rem;
  background: var(--gradient1);
  box-shadow: var(--effect2);
  box-shadow: inset var(--effect1);
  transition: all 0.3s ease;
  text-decoration: none;
  color: var(--text-color);
}


.more-btn a:hover{
  background: var(--gradient1);
  transform:translateY(-0.3rem);
  box-shadow: var(--effect3);
  box-shadow: inset var(--effect2);
}

/* SP ワークス */
@media screen and (max-width: 768px) {
  #workscard-flexbox{
    flex-direction: column;
  }
  .workscard{
    width: 80%;
    height: auto;
    margin: 1rem auto 0 auto;
  }
  .works-catch{
    width: 90%;
    margin: 0 auto;
    text-align: left;
  }
}

/* about　セクション */
#about{
  width: 100%;
  overflow: hidden;
  height: auto;
}
#about-box{
  width: 90vw;
  margin-top: 10rem;
  height: auto;
  background: var(--base-color);
  position: relative;
  box-shadow:var(--effect1);
  border-radius: 0 3rem 3rem 0;
  display: flex;
  justify-content: space-evenly;

}

#about-text{
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  text-align: left;
  justify-content: center;
  margin-top: 2rem;
  padding: 1rem;
}
#about-card-text p{
margin-top: 2rem;
}

#about-card-sv{
  max-width: 100%;
  height: auto;
  position: relative;
  display: flex;
  justify-content: right;

}
#about-card-sv img{
  max-width: 100%;
  height: auto;
}

/* SP about*/
@media screen and (max-width: 768px) {
  /* about */
  #about{
    width: 100%;
    height: auto;
    margin-top: 2rem;
  }
  #about-box{
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    max-width: 100%;
    left: -5%;
    height: auto;
    margin: 0 auto;
  }
  #about-text{
    max-width: 100vw;
    text-align: center;
    height: auto;

  }

  #about-card-name{
    width: 100%;
    height: auto;
    text-align: center;
  }
  #about-card-name>dt{
    text-align: center;
    margin-top: 2rem;
  }
  #about-card-name>p{
    text-align: center;
    margin: 0 auto;
  }
  #about-card-name>dd{
    text-align: left;
    margin-top: 2rem;
  }
  #about-card-sv{
    max-width: 90vw;
    height: auto;
    text-align: right;
    margin: 0;
  }
  #about-card-sv img{
    max-width: 100%;
    height: auto;
    text-align: center;
    object-fit: cover;
  }
}







