@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 小石川書塾 ブログ「静かな教室日記」 */
body:has(.p-homeContent .p-postList) {
  --ks-ink: #292d2a;
  --ks-ink-soft: #667069;
  --ks-paper: #f5f1e7;
  --ks-paper-light: #fbfaf6;
  --ks-line: #d8d1c2;
  --ks-red: #a3493f;
  --ks-sage: #727d73;
  color: var(--ks-ink);
  background: var(--ks-paper);
}

body:has(.p-homeContent .p-postList) .l-content {
  max-width: none;
  padding-top: 0;
  background:
    linear-gradient(rgba(41, 45, 42, .018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(41, 45, 42, .014) 1px, transparent 1px),
    var(--ks-paper-light);
  background-size: 34px 34px;
}

body:has(.p-homeContent .p-postList) .l-mainContent {
  width: min(100% - 40px, 1040px);
  max-width: 1040px;
  margin-inline: auto;
  padding-top: clamp(64px, 9vw, 118px);
}

body:has(.p-homeContent .p-postList) .l-sidebar {
  display: none;
}

body:has(.p-homeContent .p-postList) .c-pageTitle {
  position: relative;
  max-width: 900px;
  margin: 0 auto clamp(78px, 10vw, 126px);
  padding: 0 92px 54px 0;
  border: 0;
  border-bottom: 1px solid var(--ks-line);
  color: var(--ks-ink);
  text-align: left;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
}

body:has(.p-homeContent .p-postList) .c-pageTitle::before {
  content: "KOISHIKAWA SHODO  /  CLASSROOM NOTES";
  display: block;
  margin-bottom: 23px;
  color: var(--ks-sage);
  font: 600 11px/1.5 system-ui, sans-serif;
  letter-spacing: .24em;
}

body:has(.p-homeContent .p-postList) .c-pageTitle__inner {
  font-size: 0;
}

body:has(.p-homeContent .p-postList) .c-pageTitle__inner::before {
  content: "教室日記";
  display: block;
  font-size: clamp(38px, 6.2vw, 66px);
  font-weight: 500;
  line-height: 1.34;
  letter-spacing: .1em;
}

body:has(.p-homeContent .p-postList) .c-pageTitle__inner::after {
  content: "積み重ねた一枚に、少しずつ自信をのせて";
  display: block;
  margin-top: 22px;
  color: var(--ks-ink-soft);
  font: 400 clamp(14px, 2vw, 16px)/2.05 "Yu Gothic", sans-serif;
  letter-spacing: .08em;
}

body:has(.p-homeContent .p-postList) .c-pageTitle::after {
  content: "日記";
  position: absolute;
  visibility: visible;
  top: 8px;
  right: 0;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(163, 73, 63, .62);
  color: var(--ks-red);
  font: 500 17px/1 "Yu Mincho", serif;
  letter-spacing: .08em;
  transform: rotate(2deg);
}

body:has(.p-homeContent .p-postList) .p-homeContent {
  max-width: 900px;
  margin: 0 auto !important;
  padding-bottom: clamp(88px, 11vw, 150px);
}

body:has(.p-homeContent .p-postList) .p-homeContent::before {
  content: "教室からの便り";
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0 0 32px;
  color: var(--ks-ink);
  font: 500 clamp(20px, 3vw, 28px)/1.5 "Yu Mincho", "Hiragino Mincho ProN", serif;
  letter-spacing: .1em;
}

body:has(.p-homeContent .p-postList) .p-homeContent::after {
  content: "墨の香り、紙をめくる音。日々の教室にある静かな発見を綴ります。";
  display: block;
  margin-top: 50px;
  padding-top: 28px;
  border-top: 1px solid var(--ks-line);
  color: var(--ks-ink-soft);
  text-align: center;
  font: 400 13px/2 "Yu Mincho", serif;
  letter-spacing: .08em;
}

body:has(.p-homeContent .p-postList) .p-postList {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--ks-line);
}

body:has(.p-homeContent .p-postList) .p-postList__item {
  width: auto !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--ks-line);
}

body:has(.p-homeContent .p-postList) .p-postList__link {
  display: grid;
  grid-template-columns: minmax(260px, .86fr) minmax(0, 1.14fr);
  align-items: center;
  gap: clamp(28px, 5vw, 58px);
  min-height: 286px;
  padding: 34px 0;
  background: transparent;
  box-shadow: none;
  transition: color .3s ease;
}

body:has(.p-homeContent .p-postList) .p-postList__item:nth-child(even) .p-postList__link {
  grid-template-columns: minmax(0, 1.14fr) minmax(260px, .86fr);
}

body:has(.p-homeContent .p-postList) .p-postList__item:nth-child(even) .p-postList__thumb {
  grid-column: 2;
}

body:has(.p-homeContent .p-postList) .p-postList__item:nth-child(even) .p-postList__body {
  grid-column: 1;
  grid-row: 1;
}

body:has(.p-homeContent .p-postList) .p-postList__thumb {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e9e3d7;
}

body:has(.p-homeContent .p-postList) .p-postList__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(41, 45, 42, .08);
  pointer-events: none;
}

body:has(.p-homeContent .p-postList) .c-postThumb__figure,
body:has(.p-homeContent .p-postList) .c-postThumb__img {
  width: 100%;
  height: 100%;
}

body:has(.p-homeContent .p-postList) .c-postThumb__img {
  object-fit: cover;
  filter: saturate(.72) sepia(.06) contrast(.96);
  transition: transform .7s ease, filter .45s ease;
}

body:has(.p-homeContent .p-postList) .p-postList__link:hover .c-postThumb__img {
  transform: scale(1.025);
  filter: saturate(.9) sepia(0) contrast(1);
}

body:has(.p-homeContent .p-postList) .c-postThumb.noimg_ {
  background:
    radial-gradient(ellipse at 55% 47%, rgba(41, 45, 42, .1) 0 2%, transparent 3%),
    linear-gradient(112deg, transparent 46%, rgba(41, 45, 42, .07) 47% 48%, transparent 49%),
    repeating-linear-gradient(0deg, rgba(41, 45, 42, .028) 0 1px, transparent 1px 25px),
    #e9e3d7;
}

body:has(.p-homeContent .p-postList) .c-postThumb.noimg_ .c-postThumb__img {
  opacity: 0;
}

body:has(.p-homeContent .p-postList) .c-postThumb.noimg_::before {
  content: "書";
  position: absolute;
  z-index: 2;
  inset: 50% auto auto 50%;
  color: rgba(41, 45, 42, .76);
  font: 500 clamp(64px, 8vw, 92px)/1 "Yu Mincho", serif;
  transform: translate(-50%, -53%);
}

body:has(.p-homeContent .p-postList) .c-postThumb__cat {
  top: 14px;
  left: 14px;
  right: auto;
  padding: 6px 11px;
  border-radius: 0;
  background: rgba(41, 45, 42, .82);
  color: #fff;
  font-size: 10px;
  letter-spacing: .09em;
}

body:has(.p-homeContent .p-postList) .p-postList__body {
  padding: 0;
}

body:has(.p-homeContent .p-postList) .p-postList__title {
  color: var(--ks-ink);
  font: 500 clamp(21px, 3vw, 29px)/1.65 "Yu Mincho", "Hiragino Mincho ProN", serif;
  letter-spacing: .055em;
  transition: color .3s ease;
}

body:has(.p-homeContent .p-postList) .p-postList__link:hover .p-postList__title {
  color: var(--ks-red);
}

body:has(.p-homeContent .p-postList) .p-postList__excerpt {
  margin-top: 14px;
  color: var(--ks-ink-soft);
  font-size: 13px;
  line-height: 2;
}

body:has(.p-homeContent .p-postList) .p-postList__meta {
  margin-top: 20px;
  color: #858a84;
  font-size: 11px;
  letter-spacing: .08em;
}

body:has(.p-homeContent .p-postList) .c-pagination {
  margin-top: 56px;
}

body:has(.p-homeContent .p-postList) .page-numbers {
  border-radius: 0;
}

body:has(.p-homeContent .p-postList) .page-numbers.current {
  background: var(--ks-ink);
  color: #fff;
}

@media (max-width: 720px) {
  body:has(.p-homeContent .p-postList) .l-mainContent {
    width: min(100% - 30px, 1040px);
    padding-top: 56px;
  }

  body:has(.p-homeContent .p-postList) .c-pageTitle {
    margin-bottom: 64px;
    padding: 0 0 44px;
  }

  body:has(.p-homeContent .p-postList) .c-pageTitle::after {
    position: static;
    width: 50px;
    height: 50px;
    margin-top: 28px;
    font-size: 15px;
  }

  body:has(.p-homeContent .p-postList) .c-pageTitle__inner::after {
    padding-right: 10px;
  }

  body:has(.p-homeContent .p-postList) .p-postList__link,
  body:has(.p-homeContent .p-postList) .p-postList__item:nth-child(even) .p-postList__link {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 28px 0 32px;
  }

  body:has(.p-homeContent .p-postList) .p-postList__item:nth-child(even) .p-postList__thumb,
  body:has(.p-homeContent .p-postList) .p-postList__item:nth-child(even) .p-postList__body {
    grid-column: 1;
    grid-row: auto;
  }

  body:has(.p-homeContent .p-postList) .p-homeContent::after {
    text-align: left;
  }
}

/* 個別ブログ記事: 本文先頭画像との重複を避けるためアイキャッチを本文上では非表示 */
.single-post .p-articleThumb {
  display: none;
}
