/* category archive */
/*
category-page
*/

.category-page{
  padding:20px;
}

.post-item{
  margin-bottom:40px;
}

.post-item a{
  color:#000;
  text-decoration:none;
}

.post-item h2{
  font-size:20px;
  margin-bottom:10px;
}
.category-fv{
  padding:80px 20px;
  background:#d8c7a3;
  text-align:center;
}

.category-title{
  font-size:22px;
  letter-spacing:.08em;
  color:#5b3b2b;
}

.category-main{
  padding:30px 20px 80px;
}

.post-card{
  margin-bottom:50px;
  padding-bottom:30px;
  border-bottom:1px solid #b89f84;
}

.post-card a{
  color:#5b3b2b;
  text-decoration:none;
}

.post-card h2{
  font-size:22px;
  margin-bottom:15px;
}

.post-card p{
  line-height:1.9;
  font-size:14px;
}

/**/
.sticky-post{
  background:#efe3c7;
  padding:25px;
  margin-bottom:60px;
  border:none;
}

.sticky-post h2{
  font-size:26px;
}
/**/
.category-entry{
  margin-bottom:60px;
  padding-bottom:45px;
  border-bottom:none;
}

.entry-title{
  font-size:22px;
  margin:0 0 10px;
  color:#6b3f2b;
  text-align:center;
}

.entry-date{
  margin-bottom:22px;
  font-size:12px;
  color:#8a6d5a;
  text-align:center;
}

.entry-content{
  font-size:16px;
  line-height:1.7;
  letter-spacing:.06em;
  color:#5b3b2b;
  padding:0 14px;
  box-sizing:border-box;
}

.category-pagination{
  margin:50px 0 20px;
  text-align:center;
}

.category-pagination .page-numbers{
  display:inline-block;
  margin:0 4px;
  padding:4px 8px;
  color:#5b3b2b;
  text-decoration:none;
}

.category-pagination .current{
  font-weight:bold;
  border-bottom:1px solid #5b3b2b;
}
/*固定投稿用のCSS*/
.category-entry-sticky{
  max-width:640px;

  margin:0 auto 64px;
  padding:20px 14px 20px;

  border-bottom:none;

  text-align:center;
  box-sizing:border-box;
}
.category-entry-sticky .entry-content{
  font-size:18px;
  line-height:2.15;
  letter-spacing:.08em;

  color:#4a2b1d;
}

@media (max-width:767px){

  .category-entry-sticky{
    padding:0 14px 14px;
      }

  .category-entry-sticky .entry-content{
    font-size:18px;
    line-height:2;
  }

}
/* category FV image */
.category-fv{
  padding:0;
  background:transparent;
  text-align:center;
}

.category-fv-image{
  width:100%;
  line-height:0;
}

.category-fv-image img{
  display:block;
  width:100%;
  height:auto;
}

.category-title{
  padding:30px 20px 8px;
}
/* normal post title icon */
.entry-title-with-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}

.entry-title-icon{
  width:54px;
  height:54px;
  border-radius:999px;
  object-fit:cover;
  flex:0 0 auto;
}

@media (max-width:767px){
  .entry-title-with-icon{
    gap:12px;
  }

  .entry-title-icon{
    width:46px;
    height:46px;
  }
}
/**固定投稿背景色**/
/* sticky background variations */
.category-bg-white{
  background:#fff;
}

.category-bg-beige{
  background:#efe3c7;
}

.category-bg-cream{
  background:#fcfaf4;
}

.category-bg-brown{
  background:#774b31;
}
.category-bg-transparent{
  background:transparent;
}

.journal-sns-links{
  display:flex;
  justify-content:center;
  gap:18px;
  margin-top:28px;
}

.journal-sns-icon-link{
  color:#5b3b2b;
  text-decoration:none;
  transition:transform .25s ease, opacity .25s ease;
}

.journal-sns-icon-link:hover{
  opacity:.8;
  transform:translateY(-2px);
}

.journal-sns-icon{
  width:42px;
  height:42px;
  display:block;
}

.journal-line-icon{
  display:flex;
  align-items:center;
  justify-content:center;

  width:36px;
  height:36px;

  border-radius:8px;

  background:#5b3b2b;
  color:#fff;

  font-size:10px;
  font-family:Arial, sans-serif;
  font-weight:700;

  box-sizing:border-box;
}
.journal-sns-icon-link-line{
  transform:translateY(2.5px);
}
.category-entry-sticky .entry-content p:first-child{
  margin-top:0;
}

.category-entry-sticky .entry-content p:last-child{
  margin-bottom:0;
}
.category-title-first{
  color:#b41612;
}
.category-title-first{
  color:#b41612;
  margin-right:-0.3em;
}
/* only normal posts in book-music have simple border separators */
.category-fv-book-music ~ .category-main .category-entry:not(.category-entry-sticky){
  border-bottom:1px solid #b89f84;
}

/* journal normal post separator image */
.category-fv-journal ~ .category-main .category-entry:not(.category-entry-sticky){
  position:relative;
  border-bottom:none;
}

.category-fv-journal ~ .category-main .category-entry:not(.category-entry-sticky)::after{
  content:"";
  display:block;

  width:100%;
  height:32px;

  margin:35px 0 0;

  background:
    url("./assets/images/hr-line2.png")
    center center / contain no-repeat;
}
/* journal only: adjust spacing between normal posts */
.category-fv-journal ~ .category-main .category-entry:not(.category-entry-sticky){
  padding-bottom:0;
  margin-bottom:45px;
}

/* journal only: keep bottom padding on the oldest post in the current page */
.category-fv-journal ~ .category-main .category-entry:not(.category-entry-sticky):last-of-type{
  padding-bottom:45px;
}

/* access moving clouds */
.access-cloud-area{
  position:relative;
  width:100%;
  height:700px;
  overflow:hidden;
margin-top:-280px;
z-index:2;
}

.access-cloud{
  position:absolute;
  width:68%;
  max-width:520px;
  height:auto;
  pointer-events:none;
  will-change:transform;
}

.access-cloud-01{
  top:40px;
  left:-75%;
  animation:access-cloud-left-to-right 28s linear infinite;
}

.access-cloud-02{
  top:210px;
  right:-75%;
  animation:access-cloud-right-to-left 32s linear infinite;
}

.access-cloud-03{
  top:380px;
  left:-75%;
  animation:access-cloud-left-to-right 34s linear infinite;
}

.access-cloud-04{
  top:520px;
  right:-75%;
  animation:access-cloud-right-to-left 30s linear infinite;
}

@keyframes access-cloud-left-to-right{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(190vw);
  }
}

@keyframes access-cloud-right-to-left{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-190vw);
  }
}

@media (min-width:768px){
  .access-cloud-area{
    height:760px;
    margin-top:-120px;
z-index:2;
  }

  .access-cloud{
    width:54%;
  }
}

/* details custom */
details{
  margin:0 0 5px;
  border-bottom:1px solid rgba(91,59,43,.16);
}

summary{
  position:relative;

  display:flex;
  align-items:center;

  gap:12px;

  padding:18px 40px 18px 0;

  cursor:pointer;

  list-style:none;

  font-size:19px;
  line-height:1.6;
  color:#000;
}

/* 標準矢印を消す */
summary::-webkit-details-marker{
  display:none;
}

summary::before{
  content:"";

  width:10px;
  height:10px;

  border-right:2px solid #5b3b2b;
  border-bottom:2px solid #5b3b2b;

  transform:rotate(-45deg);

  transition:
    transform .35s ease,
    opacity .25s ease;

  opacity:.7;

  flex:0 0 auto;
}

/* 開いた時 */
details[open] summary::before{
  transform:rotate(45deg) translateY(-2px);
  opacity:1;
}

/* NOTE文字 */
summary strong{
  margin-left:8px;

  font-size:0.9em;
  letter-spacing:.08em;

  color:#8b5e3c;

  font-weight:500;
}

/* 開閉アニメーション */
details > *:not(summary){
  animation:detailsFade .45s ease;
}

@keyframes detailsFade{
  from{
    opacity:0;
    transform:translateY(-8px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* staff profile */
.staff-profile-block{
  font-size:16px;
  line-height:2.1;
  letter-spacing:.06em;
  color:#5b3b2b;
  text-align:left;
}

.staff-profile-image{
  float:right;
  width:46%;
  max-width:320px;
  height:auto;
  margin:0 0 24px 14px;
}
.staff-name-area{
  margin:0 0 24px;
  text-align:left;
}

.staff-name{
  margin:0 0 8px;

  font-size:19px;
  line-height:1.5;
  letter-spacing:.08em;

  color:#6b3f2b;
}

.staff-instagram-link{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  width:72px;

  color:#341208;
  text-decoration:none !important;
  line-height:1;
}

.staff-instagram-link svg{
  width:37px;
  height:37px;
  fill:currentColor;
}

.staff-instagram-text{
  margin-top:5px;

  font-size:10px;
  line-height:0.4;
  letter-spacing:.04em;

  white-space:nowrap;
}

.staff-instagram-link:hover{
  opacity:.7;
}

/* 回り込み解除 */
.staff-profile-block::after{
  content:"";
  display:block;
  clear:both;
}

@media (max-width:767px){
  .staff-profile-image{
    width:45%;
    margin:0 0 18px 5px;
  }
}




/* staff page narrower side padding */
.category-fv-staff ~ .category-main .entry-content{
  padding-left:20px;
  padding-right:20px;
}

/**images line**/
.hair-separator{
  width:100%;
  height:32px;

  margin:35px 0;

  background:
    url("./assets/images/hr-line.png")
    center center / contain no-repeat;
}
/* whole background for book&music */

body.category-book-music .footer-page-buttons{
  z-index:30;
}
/* book&music title color */
.category-fv-book-music .category-title{
  color:#fff;
}

.category-fv-book-music .bookmusic-title-b{
  color:#ffca47;
}

.category-fv-book-music .bookmusic-title-m{
  color:#e57777;
}
/* monthly archive dropdown */
.category-month-archive{
  margin:32px auto 0;
  text-align:center;
}

.category-month-label{
  display:block;
  margin-bottom:10px;

  font-size:13px;
  line-height:1;
  letter-spacing:.12em;

  color:#6b3f2b;
}

.category-month-select{
  appearance:none;
  -webkit-appearance:none;

  min-width:210px;
  padding:12px 44px 12px 18px;

  border:1px solid #8d7561;
  border-radius:999px;

  background:
    linear-gradient(45deg, transparent 50%, #6b3f2b 50%) right 18px center / 7px 7px no-repeat,
    linear-gradient(135deg, #6b3f2b 50%, transparent 50%) right 12px center / 7px 7px no-repeat,
    #f7f1e3;

  color:#5b3b2b;

  font-family:"Kaisei Opti", serif;
  font-size:14px;
  letter-spacing:.08em;

  cursor:pointer;
}

.category-month-select:focus{
  outline:none;
  border-color:#6b3f2b;
}

/* book&music only */
.category-fv-book-music ~ .category-main .category-month-label{
  color:#fff;
}

.category-fv-book-music ~ .category-main .category-month-select{
  border-color:rgba(255,255,255,.65);
  background:
    linear-gradient(45deg, transparent 50%, #fff 50%) right 18px center / 7px 7px no-repeat,
    linear-gradient(135deg, #fff 50%, transparent 50%) right 12px center / 7px 7px no-repeat,
    rgba(255,255,255,.12);

  color:#fff;
}
/* book&music background */
body.category-book-music .site-wrap{
  background-color:#67504b;
  background-image:url("./assets/images/book-music-bg.png");
  background-repeat:repeat-y;
  background-position:center 0;
  background-size:100% auto;
  background-attachment:scroll;
}

/* book&music post card */
body.category-book-music .category-entry{
  max-width:640px;
  margin:0 auto 56px;
  padding:34px 28px 36px;

  background:rgba(255,255,255,.75);
  border-radius:22px;

  box-sizing:border-box;
  color:#332020;
}

/* book&music sticky post card */
body.category-book-music .category-entry-sticky{
  background:rgba(255,255,255,.75);
  border-radius:22px;
  color:#332020;
}



body.category-book-music .entry-content{
  color:#332020;
}

body.category-book-music .entry-date{
  color:#332020;
  opacity:.72;
}

@media (max-width:767px){
  body.category-book-music .category-entry{
    margin-left:10px;
    margin-right:10px;
    padding:10px;
    border-radius:10px;
  }
}
/* book&music post text layout */
body.category-book-music .category-entry{
  text-align:left;
}
body.category-book-music .entry-content{
  font-size:16px;
  line-height:2;
  letter-spacing:.06em;
}
body.category-book-music .entry-content p{
padding: 0 5px;
}
body.category-book-music .entry-title{
  margin:5px 0 8px 15px;

  text-align:left;
  font-size:21px;
  line-height:1.6;
  color:#332020;
}

body.category-book-music .entry-date{
  margin:0 17px 22px;
  padding-bottom:14px;

  text-align:right;
  font-size:12px;
  line-height:1.4;
  letter-spacing:.06em;

  color:#332020;


  border-bottom:1px solid rgba(51,32,32,.28);
}

body.category-book-music .entry-content{
  text-align:left;
  color:#332020;
}