/* =========================================================
   ART LIBRARY — Information
   Archive / Single
   Loaded by header.php from /common/css/info.css
   Mobile first: base = スマホ / @media (min-width: 768px) = PC
   ========================================================= */

/* =========================================================
   スマホ
   ========================================================= */

.artlib-info {
  --info-ink: #111;
  --info-muted: #666;
  --info-rule: #d8d8d8;

  box-sizing: border-box;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 80px 0;
}

.artlib-info *,
.artlib-info *::before,
.artlib-info *::after { box-sizing: border-box; }

.artlib-info__container { width: 100%; margin: 0 auto; }

/* Archive: typography aligned with ARTISTS / art movement index */
.artlib-info__masthead {
  padding: 0 0 20px 0;
}

.artlib-info__page-title {
  display: block;
  margin: 0;
  color: steelblue;
  font-family: "trajan-pro-3", serif;
  font-size: 22px;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  letter-spacing: -0.03em;
  text-decoration: none;
}

.artlib-info__intro {
margin: 10px 0 0 0;
font-size: 11px;
line-height: 1.4;
}

/* Archive: publication date + title only */
.artlib-info--archive .artlib-info__entries {
  margin-top: 6px;
  border-top: 1px solid var(--info-rule);
}

.artlib-info__entry {
  margin: 0;
  border-bottom: 1px solid var(--info-rule);
}

.artlib-info__entry-link {
margin: 0;
padding: 15px 8px 15px 8px;


  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;

  color: var(--info-ink);
  text-decoration: none;
  transition: background-color 180ms ease;
}

.artlib-info__entry-link:hover,
.artlib-info__entry-link:focus-visible {
  background: #fff;
}

.artlib-info__date {
  display: block;
  color: #444;
  font-family: "hoefler-text", sans-serif;
  font-size: 13px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.artlib-info__entry-title {
  margin: 0;
  color: var(--info-ink);

  font-family: YakuHanJPs, "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;

  font-size: 13px;
  font-feature-settings: "palt" 1;
  line-height: 1.3;

  overflow-wrap: anywhere;
}

.artlib-info__entry-link:focus-visible,
.artlib-info a:focus-visible {
  outline: 1px solid var(--info-ink);
  outline-offset: -2px;
}

.artlib-info__empty {
  margin-top: 28px;
  padding: 24px 20px;
  border-top: 1px solid var(--info-rule);
  color: var(--info-muted);
  font-size: 14px;
}

/* Archive pagination */
.artlib-info__pagination { margin: 48px 8px 0; }

.artlib-info__pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.artlib-info__pagination li { margin: 0; padding: 0; }

.artlib-info__pagination a,
.artlib-info__pagination span {
  color: var(--info-muted);
  font-family: "hoefler-text", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
}

.artlib-info__pagination a:hover,
.artlib-info__pagination .current { color: var(--info-ink); }

/* Single Information entry */
.artlib-info--single .artlib-info__container {
  max-width: 900px;
}

.artlib-info--single .artlib-info__masthead {
  padding-left: 0;
}

.artlib-info__detail-header {
  padding: 0 8px 8px 0;
  border-bottom: 1px solid var(--info-rule);
}

.artlib-info__detail-date {
  display: block;
  margin-bottom: 20px;
  color: var(--info-muted);
  font-family: "hoefler-text", sans-serif;
  font-size: 13px;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}

.artlib-info__detail-title {
  margin: 0;
  font-family: YakuHanJPs, "Noto Serif JP", serif;
  font-size: 17px;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  line-height: 1.2;
  letter-spacing: 0.0em;
  overflow-wrap: anywhere;
}

.artlib-info__detail-body {
  max-width: 800px;
  padding: 30px 8px 0 0;
  font-size: 15px;
  line-height: 1.95;
  overflow-wrap: anywhere;
}

.artlib-info__detail-body > :first-child { margin-top: 0; }
.artlib-info__detail-body p {
margin: 0 0 1.65em;
line-height: 1.6;
}

.artlib-info__detail-body h2,
.artlib-info__detail-body h3 {
  margin: 2.5em 0 0.8em;
  font-weight: 500;
  line-height: 1.5;
}

.artlib-info__detail-body h2 { font-size: 1.4em; }
.artlib-info__detail-body h3 { font-size: 1.15em; }

.artlib-info__detail-body ul,
.artlib-info__detail-body ol {
  margin: 0 0 1.65em;
  padding-left: 1.65em;
}

.artlib-info__detail-body li { margin-bottom: 0.85em; line-height: 1.6; }
.artlib-info__detail-body a { color: inherit; text-underline-offset: 3px; }
.artlib-info--single .artlib-info__detail-body ul {
  padding-left: 0;
  list-style: none;
}
.artlib-info--single .artlib-info__detail-body a {
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.artlib-info__detail-body img { max-width: 100%; height: auto; }
.artlib-info__detail-body figure { max-width: 100%; margin: 2em 0; }
.artlib-info__detail-body figcaption { color: var(--info-muted); font-size: 12px; line-height: 1.7; }
.artlib-info__detail-body blockquote { margin: 2em 0; padding-left: 1.4em; border-left: 1px solid var(--info-rule); }
.artlib-info__detail-body pre { overflow-x: auto; padding: 16px; background: #f6f6f6; font-size: 13px; line-height: 1.65; }

.artlib-info__back {
  margin: 65px 8px 0 0;
  padding: 0;
}

.artlib-info__back a {
  display: flex;
  width: 100%;
  min-height: 60px;
  align-items: center;
  justify-content: center;
  padding: 12px;
  border: 1px solid var(--info-rule);
  color: var(--info-ink);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  transition: background-color 180ms ease;
}

.artlib-info__back a:hover { background: #fff; }

/* スマホ終了 */


/* =========================================================
   PC
   ========================================================= */

@media (min-width: 768px) {

  .artlib-info {
    --info-ink: #111;
    --info-muted: #666;
    --info-rule: #d8d8d8;

    box-sizing: border-box;
    width: calc(100% - 36px);
    max-width: 1120px;
    margin: 88px auto 0;
    padding: 0 0 110px;
    background: transparent;
    color: var(--info-ink);
  }

  .artlib-info *,
  .artlib-info *::before,
  .artlib-info *::after { box-sizing: border-box; }

  .artlib-info__container { width: 100%; margin: 0 auto; }

  /* Archive */
  .artlib-info__masthead {
    padding: 48px 20px 26px;
  }

  .artlib-info__page-title {
    display: block;
    margin: 0;
    color: steelblue;
    font-family: "trajan-pro-3", serif;
    font-size: 27px;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: -0.03em;
    text-decoration: none;
  }

  /* Archive: a narrower article column with a vertical right rule */
  .artlib-info--archive .artlib-info__container {
    border-right: 1px solid #ededed;
  }

  .artlib-info--archive .artlib-info__masthead,
  .artlib-info--archive .artlib-info__entries,
  .artlib-info--archive .artlib-info__pagination,
  .artlib-info--archive .artlib-info__empty {
    width: calc(100% - 20%);
    max-width: 900px;
  }

  .artlib-info__intro {
    max-width: 760px;
    margin: 19px 0 0;
    font-size: 14px;
    line-height: 1.7;
  }

  .artlib-info--archive .artlib-info__entries {
    margin-top: 10px;
    margin-left: 20px;
    border-top: 1px solid var(--info-rule);
  }

  .artlib-info__entry {
    margin: 0;
    border-bottom: 1px solid var(--info-rule);
  }

  .artlib-info__entry-link {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 26px;
    align-items: baseline;
    padding: 16px 20px 16px 0;
    color: var(--info-ink);
    text-decoration: none;
    transition: background-color 180ms ease;
  }

  .artlib-info__entry-link:hover,
  .artlib-info__entry-link:focus-visible {
    background: #fff;
  }

  .artlib-info__date {
    display: block;
    color: #444;
    font-family: "hoefler-text", serif;
    font-size: 15px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.4;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }

  .artlib-info__entry-title {
    margin: 0;
    color: var(--info-ink);
    font-family: YakuHanJPs, "Noto Serif JP", serif;
    font-size: 16px;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-feature-settings: "palt" 1;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  .artlib-info__entry-link:focus-visible,
  .artlib-info a:focus-visible {
    outline: 1px solid var(--info-ink);
    outline-offset: -2px;
  }

  .artlib-info__empty {
    margin-top: 28px;
    padding: 24px 20px;
    border-top: 1px solid var(--info-rule);
    color: var(--info-muted);
    font-size: 14px;
  }

  /* Archive pagination */
  .artlib-info__pagination { margin: 64px 20px 0; }

  .artlib-info__pagination ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .artlib-info__pagination li { margin: 0; padding: 0; }

  .artlib-info__pagination a,
  .artlib-info__pagination span {
    color: var(--info-muted);
    font-family: "hoefler-text", serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    text-decoration: none;
  }

  .artlib-info__pagination a:hover,
  .artlib-info__pagination .current { color: var(--info-ink); }

  /* Single Information entry */
  .artlib-info--single .artlib-info__container {
    max-width: 900px;
  }

  .artlib-info__detail-header {
    padding: 0 20px 10px 0;
    border-bottom: 1px solid var(--info-rule);
  }

  .artlib-info__detail-date {
    display: block;
    margin-bottom: 20px;
    color: var(--info-muted);
    font-family: "hoefler-text", serif;
    font-size: 15px;
    line-height: 1.4;
    font-variant-numeric: tabular-nums;
  }

  .artlib-info__detail-title {
    margin: 0;
    font-family: YakuHanJPs, "Noto Serif JP", serif;
    font-size: 21px;
    font-weight: 500;
    font-feature-settings: "palt" 1;
    line-height: 1.2;
    letter-spacing: 0.01em;
    overflow-wrap: anywhere;
  }

  .artlib-info__detail-body {
    max-width: 800px;
    padding: 24px 20px 0 0;
    font-size: 16px;
    line-height: 2;
    overflow-wrap: anywhere;
  }

  .artlib-info__detail-body > :first-child { margin-top: 0; }
  .artlib-info__detail-body p {
margin: 0 0 1.65em 0;
line-height: 1.8;
}

  .artlib-info__detail-body h2,
  .artlib-info__detail-body h3 {
    margin: 2.5em 0 0.8em;
    font-weight: 500;
    line-height: 1.5;
  }

  .artlib-info__detail-body h2 { font-size: 1.4em; }
  .artlib-info__detail-body h3 { font-size: 1.15em; }

  .artlib-info__detail-body ul,
  .artlib-info__detail-body ol {
    margin: 0 0 1.65em;
    padding-left: 1.65em;
  }

  .artlib-info__detail-body li { margin-bottom: 0.45em; line-height: 2; }
  .artlib-info__detail-body a { color: inherit; text-underline-offset: 3px; }
  .artlib-info--single .artlib-info__detail-body a {
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-thickness: 1px;
    text-decoration-color: #999;
    text-underline-offset: 4px;
    padding: 2px 3px;
    margin: 0 -3px;
    background: transparent;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    transition: text-decoration-color 180ms ease, background-color 180ms ease;
  }
  .artlib-info--single .artlib-info__detail-body a:hover,
  .artlib-info--single .artlib-info__detail-body a:focus-visible {
    background: #fff;
    text-decoration-color: var(--info-ink);
  }
  .artlib-info__detail-body img { max-width: 100%; height: auto; }
  .artlib-info__detail-body figure { max-width: 100%; margin: 2em 0; }
  .artlib-info__detail-body figcaption { color: var(--info-muted); font-size: 12px; line-height: 1.7; }
  .artlib-info__detail-body blockquote { margin: 2em 0; padding-left: 1.4em; border-left: 1px solid var(--info-rule); }
  .artlib-info__detail-body pre { overflow-x: auto; padding: 16px; background: #f6f6f6; font-size: 13px; line-height: 1.65; }

  .artlib-info__back {
    margin: 85px 20px 0 0;
  }

  .artlib-info__back a { min-height: 64px; font-size: 16px; }

}

/*PC 終了*/


@media (prefers-reduced-motion: reduce) {
  .artlib-info__entry-link { transition: none; }
  .artlib-info__back a { transition: none; }
  .artlib-info--single .artlib-info__detail-body a { transition: none; }
}
