/* Case detail polish: flat editorial system for case pages. */
:root {
  --case-ink: #242424;
  --case-muted: rgba(36, 36, 36, 0.58);
  --case-line: rgba(36, 36, 36, 0.12);
  --case-hairline: rgba(36, 36, 36, 0.08);
  --case-gold: #a77f24;
  --case-gold-soft: rgba(167, 127, 36, 0.24);
  --case-surface: #fff;
  --case-soft: #f7f5ef;
}

.case-detail-page {
  background: var(--case-surface) !important;
}

.case-detail-page .case-summary {
  margin: 0 0 3.6rem;
  padding: 0 0 0 2rem;
  border-left: 1px solid var(--case-gold-soft);
  background: transparent !important;
}

.case-detail-page .case-summary p {
  color: var(--case-ink) !important;
  font-size: 1.7rem;
  line-height: 2.05;
}

.case-detail-page .case-facts {
  display: block;
  margin: 0 0 4.4rem;
  border-top: 1px solid var(--case-line);
  border-bottom: 1px solid var(--case-line);
}

.case-detail-page .case-facts div {
  display: grid;
  grid-template-columns: minmax(12rem, 0.36fr) 1fr;
  gap: 2.4rem;
  align-items: baseline;
  padding: 2rem 0;
  border: 0;
  border-bottom: 1px solid var(--case-hairline);
  border-radius: 0;
  background: transparent !important;
}

.case-detail-page .case-facts div:last-child {
  border-bottom: 0;
}

.case-detail-page .case-facts dt {
  margin: 0;
  color: var(--case-gold) !important;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

.case-detail-page .case-facts dd {
  color: var(--case-ink) !important;
  font-size: 1.72rem;
  font-weight: 600;
  line-height: 1.75;
}

.case-detail-page .case-points {
  margin: 3.8rem 0 4.4rem;
  padding: 3.2rem 0;
  border-top: 1px solid var(--case-line);
  border-bottom: 1px solid var(--case-line);
  background: transparent !important;
  box-shadow: none;
}

.case-detail-page .case-points ul {
  border-top: 1px solid var(--case-hairline);
}

.case-detail-page .case-points ul li {
  padding: 1.35rem 0 1.35rem 2.2rem;
  border-bottom: 1px solid var(--case-hairline);
  color: var(--case-ink) !important;
}

.case-detail-page .single_content .article-buttons {
  margin: 3.2rem 0 4.8rem;
}

.case-detail-page .single_content .article-heading {
  margin: 4.8rem 0 1.6rem;
  padding: 0 0 1.5rem;
  border-bottom: 1px solid var(--case-line);
}

.case-detail-page .single_content .article-heading::before {
  width: 4rem;
}

.case-detail-page .single_content .article-body {
  padding: 2.2rem 0 0 2.4rem;
  border-left: 1px solid var(--case-gold-soft);
  background: transparent !important;
}

.case-detail-page .single_content .article-body p {
  font-size: 1.62rem;
  line-height: 2.05;
}

.case-detail-page .single_content .article-list {
  margin: 2.2rem 0 0;
  padding: 0 0 0.8rem 2.4rem;
  background: transparent !important;
}

.case-detail-page .single_content .article-list li {
  padding: 1rem 0 1rem 2rem;
  border-bottom: 1px solid var(--case-hairline);
  line-height: 1.8;
}

.case-detail-page .single_content .article-list li::before {
  color: #b88e2c;
}

.case-detail-page .article-checklist,
.case-detail-page .article-note-box,
.case-detail-page .article-quote,
.case-detail-page .article-image-pair {
  margin: 3rem 0;
}

.case-detail-page .article-checklist,
.case-detail-page .article-note-box {
  padding: 2.6rem 0 2.6rem 2.4rem;
  border: 0;
  border-left: 1px solid var(--case-gold-soft);
  border-top: 1px solid var(--case-line);
  border-bottom: 1px solid var(--case-line);
  background: transparent !important;
  box-shadow: none;
}

.case-detail-page .article-checklist--warm,
.case-detail-page .article-note-box--point {
  background: transparent !important;
}

.case-detail-page .article-checklist__title,
.case-detail-page .article-note-box__title {
  margin: 0 0 1.4rem;
  color: #b88e2c !important;
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
  line-height: 1.55;
}

.case-detail-page .article-checklist__items {
  display: grid;
  gap: 0.9rem;
}

.case-detail-page .article-checklist__items li {
  position: relative;
  padding-left: 2.3rem;
  line-height: 1.8;
}

.case-detail-page .article-checklist__items li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: var(--case-gold);
  box-shadow: inset 0 0 0 0.3rem #fff;
}

.case-detail-page .article-note-box--caution {
  border-left-color: rgba(130, 90, 44, 0.32);
}

.case-detail-page .article-note-box__body p,
.case-detail-page .article-note-box__body li {
  font-size: 1.5rem;
  line-height: 1.95;
}

.case-detail-page .article-quote {
  padding: 2.8rem 0 2.8rem 2.4rem;
  border-left: 1px solid var(--case-gold-soft);
  background: transparent !important;
}

.case-detail-page .article-quote p {
  font-family: "Shippori Mincho", serif;
  font-size: 1.9rem;
  line-height: 1.9;
}

.case-detail-page .article-quote__author {
  display: block;
  margin-top: 1rem;
  color: rgba(34, 34, 34, 0.62);
  font-style: normal;
  text-align: right;
}

.case-detail-page .article-image-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.4rem;
}

.case-detail-page .article-image-pair__item {
  margin: 0;
  background: #fff;
}

.case-detail-page .article-image-pair__item img {
  display: block;
  width: 100%;
  height: auto;
}

.case-detail-page .article-image-pair__item figcaption {
  margin-top: 0.7rem;
  color: rgba(34, 34, 34, 0.62);
  font-size: 1.2rem;
  line-height: 1.6;
}

.case-detail-page .single_content .article-btn.article-btn--primary {
  background: #fff !important;
  border: 1px solid var(--case-gold-soft) !important;
  color: var(--case-gold) !important;
  box-shadow: none;
}

.case-detail-page .single_content .article-btn.article-btn--primary * {
  color: inherit !important;
}

.case-detail-page .single_content .article-btn.article-btn--primary::after {
  filter: none !important;
}

.case-detail-page .related {
  padding-top: 5.6rem;
  background: var(--case-soft) !important;
}

@media screen and (max-width: 767px) {
  .case-detail-page .case-points {
    margin: 7.6923076923vw 0 9.2307692308vw;
    padding: 6.6666666667vw 0;
  }

  .case-detail-page .case-points ul li {
    padding: 3.0769230769vw 0 3.0769230769vw 4.6153846154vw;
  }

  .case-detail-page .single_content .article-buttons {
    margin: 7.1794871795vw 0 7.6923076923vw;
  }

  .case-detail-page .single_content .article-heading {
    margin: 10.2564102564vw 0 3.5897435897vw;
    padding-bottom: 3.5897435897vw;
  }

  .case-detail-page .single_content .article-body {
    padding: 5.1282051282vw 0 0 4.6153846154vw;
  }

  .case-detail-page .single_content .article-body p {
    font-size: 3.8461538462vw;
    line-height: 1.9;
  }

  .case-detail-page .single_content .article-list {
    margin-top: 4.1025641026vw;
    padding: 0 0 2.0512820513vw 4.6153846154vw;
  }

  .case-detail-page .single_content .article-list li {
    padding: 3.0769230769vw 0 3.0769230769vw 4.1025641026vw;
  }

  .case-detail-page .article-checklist,
  .case-detail-page .article-note-box,
  .case-detail-page .article-quote,
  .case-detail-page .article-image-pair {
    margin: 6.1538461538vw 0;
  }

  .case-detail-page .article-checklist,
  .case-detail-page .article-note-box,
  .case-detail-page .article-quote {
    padding: 5.1282051282vw 0 5.1282051282vw 4.6153846154vw;
  }

  .case-detail-page .article-checklist__title,
  .case-detail-page .article-note-box__title {
    margin-bottom: 3.0769230769vw;
    font-size: 4.1025641026vw;
  }

  .case-detail-page .article-checklist__items {
    gap: 2.3076923077vw;
  }

  .case-detail-page .article-checklist__items li {
    padding-left: 5.641025641vw;
  }

  .case-detail-page .article-checklist__items li::before {
    width: 3.0769230769vw;
    height: 3.0769230769vw;
  }

  .case-detail-page .article-note-box__body p,
  .case-detail-page .article-note-box__body li {
    font-size: 3.5897435897vw;
  }

  .case-detail-page .article-quote p {
    font-size: 4.1025641026vw;
  }

  .case-detail-page .article-image-pair {
    grid-template-columns: 1fr;
    gap: 4.1025641026vw;
  }

  .case-detail-page .single_content .article-btn.article-btn--primary {
    width: min(100%, 79.4871794872vw);
    min-width: 0;
    padding: 3.3333333333vw 5.641025641vw;
    border-radius: 6.1538461538vw;
    font-size: 3.5897435897vw;
  }

  .case-detail-page .related {
    padding-top: 8.2051282051vw;
  }

  .case-detail-page .case-summary {
    margin-bottom: 7.6923076923vw;
    padding-left: 4.6153846154vw;
  }

  .case-detail-page .case-summary p {
    font-size: 3.8461538462vw;
    line-height: 1.95;
  }

  .case-detail-page .case-facts {
    margin-bottom: 8.7179487179vw;
  }

  .case-detail-page .case-facts div {
    display: block;
    padding: 4.358974359vw 0;
  }

  .case-detail-page .case-facts dt {
    margin-bottom: 1.7948717949vw;
    font-size: 3.0769230769vw;
  }

  .case-detail-page .case-facts dd {
    font-size: 4.6153846154vw;
    line-height: 1.65;
  }
}
