@charset "utf-8";

/* トップページ以外のcssはとりあえずここに全部書く */

/* 共通部分 - 各ページタイトル*/
.page-title{
  margin: 48px 0 56px;
  text-align: center;
  color: #fff;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
/* 共通部分 - boxホバー時 */
.item-box a{
  transition: all 0.7s ease;
}
.item-box a:hover{
  opacity: .7;
}

/* works・favorite一覧 カテゴリリスト */
.category-list{
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.category-list li{
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.1em;
  padding: 10px 20px;
  margin-bottom: 20px;
}
.category-list li a{
  transition: all 0.5s ease;
}
.category-list li a:hover{
  color: #69789f;
}
.category-now{
  width: auto;
  height: 22px;
  border-radius: 14px;
  background: #fff;
  color: #97BCDE;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 8px 10px 6px;
  margin-bottom: 10px;
}

/* works・favorite一覧のレイアウト */
.item-container{
  width: 90%;
  /* max-width: 960px; */
  margin: 0 auto;
  padding-top: 60px;
  padding-bottom: 180px;
}
.item-list{
  width: 100%;
  max-width: 960px;
  display: flex;
  margin: 0 auto;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
}
.item-box{
  margin: 20px 12px;
  width: 44%;
  min-width: 240px;
}
.item-img{
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  background: #cccccc;
}
.item-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 640px) {
  .item-box{
    margin: 20px 12px;
    width: 420px;
  }
  .category-list li{
    padding: 10px;

  }
}

/* 一覧テキスト右寄せ */
  .itembox-title,
  .date{
    text-align: right;
    padding-right: 16px;
  }

/* works 一覧*/
.works,
.favorite{
  width: 100%;
  height: auto;
  background: linear-gradient(#BED1ED, #E6EBF8);
}

/* 投稿（article） */
.article{
  width: 100%;
  height: auto;
  background: linear-gradient(#BED1ED, #E6EBF8);
  padding: 120px 0 180px;
}
.article-inner{
  width: 84%;
  max-width: 768px;
  height: auto;
  /* background: #c0ccea; */
  margin: 0 auto;
  padding: 16px;
}
.article-title-box{
  margin-bottom: 60px;
}
.article-title-box p{
  color:#69789f;
  font-size:15px;
  margin-bottom: 1.6em;
  letter-spacing: 0.07em;
}
.article-title-box h1{
  font-size: 24px;
	font-weight: 500;
  line-height: 1.6em;
	margin-bottom: 1em;
}
.article-title-box h2{
  color: #7e89a4;
  font-size: 13px;
  margin-bottom: 1em;
  letter-spacing: 0.07em;
}
.article-category a{
  display: inline;
  transition: 0.3s;
}
.article-category a:hover{
  color: #fff;
}
/* wp用 */
.post-categories{
  display: inline-block;
}
/* wp用ここまで */
.article-img{
  width:100%;
  height: auto;
}
.article-img img{
  width:100%;
  height: auto;
}
.article-text{
  color:#333;
  font-size: 15px;
  font-family: 'Noto Sans','Zen Kaku Gothic New', sans-serif;
  line-height: 1.9em;
}
.article-text p{
  margin: 2em 0;
}
.works-info{
  width: 80%;
  max-width: 660px;
  margin: 20px auto; 
}
.works-info th, td{
  background: #fff;
  border: 1px solid rgba(190, 209, 237, .5);
  font-size: 13px;
  color: #666;
  padding: 10px 12px;
}
.works-info th{
  width: auto;
  font-weight: 400;
}
.works-detail{
  width: 80%;
  max-width: 720px;
  margin: 20px auto; 
}
.works-detail th, 
.works-detail td{
  background: #fff;
  border: 1px solid rgba(190, 209, 237, .5);
  color: #666;
  font-size: 13px;
  padding: 10px 12px;
}
.works-detail th{
  width: 30%;
  font-weight: 400;
}
/* wp用 */
.works-info-wp{
  width: 80%;
  max-width: 660px;
  margin: 20px auto; 
}
.works-info-wp table tbody tr th, 
.works-info-wp table tbody tr td{
  background: #fff;
  border: 1px solid rgba(190, 209, 237, .5);
  font-size: 13px;
  color: #666;
  padding: 10px 12px;
}
.works-info-wp table tbody tr th{
  width: auto;
  font-weight: 400;
}
.works-detail-wp{
  width: 80%;
  max-width: 720px;
  margin: 20px auto; 
}
.works-detail-wp table tbody tr th, 
.works-detail-wp table tbody tr td{
  background: #fff;
  border: 1px solid rgba(190, 209, 237, .5);
  color: #666;
  font-size: 13px;
  padding: 10px 12px;
}
.works-detail-wp table tbody tr th{
  width: 30%;
  font-weight: 400;
}

/* wp用ここまで */

/* 投稿（article） SP用*/
@media screen and (max-width: 660px) {
  .works-info tr th,
  .works-info tr td,
  .works-detail tr th
  .works-detail tr td{
    font-size: 11px;
  }
  .works-info,
  .works-detail{
    width: 100%;
  }
	  .works-info-wp,
  .works-detail-wp{
    width: 100%;
  }
}


/* その他の作品 */
.others{
  width: 84%;
  max-width: 768px;
  margin: 120px auto 40px;
}
.others h3{
  color: #69789f;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin: 32px 0;
}
.others ul{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  overflow: hidden;
}
.others-box{
  width: 33%;
  max-width: 216px;
  padding-right: 32px;
}
.others-img{
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  background: #fff;
}
.others-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.others-box .date,
.others-title{
  text-align: left;
}

/* その他の作品  SP用*/
@media screen and (max-width: 660px) {
  .others-box{
    width: 50%;
  }
  .others-box:nth-last-child(1){
    display: none;
  }
}

/* aboutページ ※policyページ（背景・inner）もここに記載 */
.fixed-page{
  background: linear-gradient(#C4CCE3, #F4EDF8 50%, #F7F4F8);
  padding: 150px 0 180px;
}
.fixed-page-inner{
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
/* aboutページ  SP用*/
@media screen and (max-width: 768px) {
  .about{
    padding: 80px 0 180px;
  }
}

/* about 自己紹介 */
.introduce{
  width: 100%;
  max-width: 840px;
  margin: 0 auto 120px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.introduce h1{
  width: 42%;
  height: auto;
  padding: 0 20px 0 40px;
  color:#fff;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.introduce h1 span{
  display: block;
  font-size: 13px;
  font-weight: 400;
  margin-top: 8px;
}
.about-text{
  width: 57%;
  height: auto;
}
.about-text h3{
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 24px;
}
.about-text h3 span{
  font-size: 13px;
  font-weight: 400;
  padding-left: 16px;
}
.about-text p{
  margin-bottom: 18px;
  font-size: 13px;
  line-height: 2em;
  font-family: 'Noto Sans','Zen Kaku Gothic New', sans-serif;
}
/* about 自己紹介 SP用*/
@media screen and (max-width: 768px) {
  .introduce{
    width: 100%;
    display: block;
  }
  .introduce h1,
  .about-text,
  .policy-text{
    width: 90%;
    margin: 20px auto 60px;
  }
  .introduce h1{
    text-align: center;
    padding: 0;
  }
  
}
/* about できること */
.possible-title{
  color: #A289B6;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-left: 20px;
  margin: 20px 0;
}
.possible-list{
  width: 100%;
  max-width: 960px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-bottom: 120px;
}
.possible-box{
  position: relative;
  width: 92%;
  height: 94%;
  margin: 12px auto;
  background-color: #fff;
  padding: 18px;
}
.possible-box::before{
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  width: 100%;
  height: 100%;
  border-right: 4px solid #fff;
  border-bottom: 4px solid #fff;
  z-index: -1;
}
.possible-box h3{
  margin-bottom: 15px;
  letter-spacing: 0.05em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.possible-box h3 span:nth-child(1){
  display: inline-block;
  width: 32px;
  height: 32px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #b5a4c8;
  margin-right: 12px;
  padding: 2px 0 0 1px;
  color: #fff;
  font-size: 15px;
  text-align: center;
  line-height: 32px;
}
.possible-box h3 span:nth-child(2){
  display: inline-block;
  color: #b5a4c8;
  font-size: 17px;
  font-weight: 500;
  padding-top: 2px;
}
.possible-box p{
  text-align: justify;
  line-height: 1.8em;
  padding: 0 4px;
  margin-bottom: 18px;
}
.possible-box a{
  position: relative;
  display: block;
  width: fit-content;
  margin: 0 auto;
  color: #A289B6;
  line-height: 18px;
  transition: 0.5s;
}
.possible-box a img{
  margin-left: 4px;
}
.possible-box a::after{
  content: "";
  position: absolute;
  top: 110%;
  left: 0px;
  display: inline-block;
  width: 0%;
  height: 1px;
  background: #A289B6;
  opacity: .5;
}
.possible-box a:hover{
  opacity: .6;
}
.possible-box a:hover::after,
.possible-box a:active::after{
  animation: navLine 0.7s;
}
/* about できること SP用*/
@media screen and (max-width: 768px) {
  .possible-list{
    width: 100%;
    max-width: 960px;
    display: block;
    margin-bottom: 120px;
  }
  .possible-box{
    margin: 24px auto;
    padding: 18px;
  }
  .possible-box p{
    padding: 0 10px;
    margin-bottom: 18px;
  }  
}

/* about スキル表 */
table{
  width: 100%;
  max-width: 660px;
  margin: 0 auto;
}
table tr th,
table tr td{
  background: #fff;
  padding: 10px 12px;
  color: #333;
  border: 1px solid #E3D8F0;
}
table tr th{
  font-size: 15px;
  font-weight: 400;
}
table tr td{
  line-height: 1.7em;
}
table tr th img{
  width: 94px;
  height: 14px;
  margin: 6px 0;
} 
.skill-title{
  margin: 0 auto 40px;
  text-align: center;
  color: #A289B6;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.skill-studying-title{
  width: 100%;
  max-width: 660px;
  margin: 50px auto 20px;
  color: #A289B6;
  font-size: 14px;
}

/* policy */
.policy-content{
  width: 100%;
  max-width: 840px;
  margin: 0 auto 120px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.policy-content h1{
  width: 40%;
  height: auto;
  padding: 0 20px 0 40px;
  color:#fff;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.7em;
}
.policy-content h1 span{
  display: block;
  font-size: 13px;
  font-weight: 400;
  margin-top: 8px;
}
.policy-text{
  width: 60%;
  height: auto;
}
.policy-text h2{
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 32px;
  margin-bottom: 16px;
}
.policy-text h2:nth-child(1){
  margin-top:0;
}
.policy-text p{
  margin-bottom: 18px;
  font-size: 13px;
  line-height: 2em;
  font-family: 'Noto Sans','Zen Kaku Gothic New', sans-serif;
  letter-spacing: 0.05em;
}
/* policy SP用*/
@media screen and (max-width: 768px) {
  .policy-content{
    width: 100%;
    display: block;
  }
  .policy-content h1,
  .policy-text{
    width: 90%;
    margin: 20px auto 60px;
  }
  .policy-content h1{
    text-align: center;
    padding: 0;
  }
  
}
/* wp用　投稿なしの場合 */
.no-post-message{
  margin-top: 60px;
}
.no-post-message-in-post{
  margin-top: 32px;
}