@charset "utf-8";
.manual-note {
  margin: 24px 0;
  padding: 22px 24px;
  border: 1px solid rgba(79, 163, 165, 0.35);
  border-radius: 18px;
  background: rgba(79, 163, 165, 0.1);
  color: #e6e8ea;
}
.manual-warning {
  margin: 24px 0;
  padding: 22px 24px;
  border-left: 5px solid #e0b04f;
  border-radius: 14px;
  background: rgba(224, 176, 79, 0.12);
}
.manual-steps {
  margin: 18px 0 0;
  padding-left: 1.4em;
}
.manual-steps li,
.normal-list li {
  margin: 8px 0;
}
.pan .panmini {
  opacity: 0.8;
}
.pan {
  font-size: 13px;
}
/* =========================
   Chat Section
========================= */
.chat-section {
  margin: 26px 0;
  padding: 22px;
  border: 1px solid rgba(79, 163, 165, 0.22);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.045);
}
.chat-section h3 {
  margin: 0 0 16px;
  color: #9be3e5;
  font-size: 1.08rem;
}
.chat-flow {
  display: grid;
  gap: 14px;
}
.chat-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.chat-row.right {
  flex-direction: row-reverse;
}
.chat-icon {
  flex: 0 0 84px;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  font-weight: 900;
  color: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
}
.chat-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.chat-icon.consultant {
  background: #667085;
}
.chat-icon.lua {
  background: #4fa3a5;
}
.chat-bubble {
  max-width: min(760px, 86%);
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(230, 232, 234, 0.08);
  border: 1px solid rgba(230, 232, 234, 0.14);
}
.chat-row.left .chat-bubble {
  border-top-left-radius: 4px;
}
.chat-row.right .chat-bubble {
  border-top-right-radius: 4px;
  background: rgba(79, 163, 165, 0.16);
}
.chat-name {
  display: block;
  margin-bottom: 4px;
  font-size: 0.78rem;
  font-weight: 900;
  color: #9be3e5;
}
.chat-bubble p {
  margin: 0;
  color: #e6e8ea;
}
/* =========================
   Template / Source Box
========================= */
.template-box,
.source-box {
  margin: 22px 0;
  padding: 20px;
  border-radius: 16px;
  background: rgba(20, 22, 26, 0.72);
  border: 1px solid rgba(230, 232, 234, 0.16);
  overflow: auto;
}
.template-box pre {
  white-space: pre-wrap;
  margin: 0;
  color: #e6e8ea;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
}
/* =========================
   Check Grid
========================= */
.check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}
.check-card {
  padding: 20px;
  border: 1px solid rgba(230, 232, 234, 0.14);
  border-radius: 18px;
  background: rgba(230, 232, 234, 0.06);
}
.check-card h3 {
  margin: 0 0 10px;
  color: #9be3e5;
}
.small-lead {
  font-size: 0.95rem;
  color: rgba(230, 232, 234, 0.78);
}
/* =========================
   Responsive
========================= */
@media (max-width: 760px) {
  .check-grid {
    grid-template-columns: 1fr;
  }
  .chat-bubble {
    max-width: 82%;
  }
  .chat-section {
    padding: 16px;
  }
}
/* ==========================================================================
   階層分け（ネスト）構造 CSS
   ========================================================================== */
.reality-grid,
.template-grid,
.official-link-grid {
  display: grid;
  gap: 18px;
  margin: 22px 0;
}
.reality-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.official-link-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.template-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.reality-card,
.official-link-card {
  padding: 20px;
  border-radius: 18px;
  border: 1px solid rgba(230, 232, 234, 0.14);
  background: rgba(230, 232, 234, 0.06);
  h3 {
    margin: 0 0 10px;
    color: #9be3e5;
  }
}
.official-badge,
.original-badge {
  display: inline-block;
  margin-bottom: 10px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 900;
}
.official-badge {
  background: rgba(79, 163, 165, 0.18);
  color: #9be3e5;
  border: 1px solid rgba(79, 163, 165, 0.35);
}
.original-badge {
  background: rgba(224, 176, 79, 0.16);
  color: #f3d58a;
  border: 1px solid rgba(224, 176, 79, 0.4);
}
/* =========================================================
   Word書類テンプレート｜画像プレビュー＋Wordダウンロード
   PC：3枚表示 / スマホ：1枚表示 / 拡大表示対応
   既存CSSなしでも動く統合版
========================================================= */
.legal-doc-section {
  padding: 48px 0;
  background: #101318;
  color: #e6e8ea;
  font-family:
    "Noto Sans JP",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
}
.legal-doc-inner {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}
.legal-doc-heading {
  margin: 0 0 28px;
}
.legal-doc-kicker {
  margin: 0 0 8px;
  color: #9be3e5;
  font-size: 0.88rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}
.legal-doc-heading h2 {
  margin: 0 0 12px;
  color: #ffffff;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  line-height: 1.35;
}
.legal-doc-heading p {
  margin: 0;
  color: rgba(230, 232, 234, 0.82);
  line-height: 1.9;
}
/* =========================
   グリッド
========================= */
.legal-doc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
/* =========================
   カード
========================= */
.legal-doc-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid rgba(230, 232, 234, 0.16);
  border-radius: 20px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
}
.legal-doc-preview-button {
  display: block;
  width: 100%;
  padding: 18px 18px 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}
/* =========================
   A4プレビュー枠
========================= */
.legal-doc-preview-frame {
  width: 100%;
  aspect-ratio: 210 / 297;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.34);
}
.legal-doc-preview-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
  background: #ffffff;
}
/* 2ページ縦結合画像用。
   カード上では上から見せる。はみ出しは枠内で隠す。 */
.legal-doc-preview-frame.is-long-doc img {
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: top center;
}
/* =========================
   カード本文
========================= */
.legal-doc-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 16px 18px 18px;
}
.legal-doc-badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  margin-bottom: 10px;
  padding: 4px 10px;
  border: 1px solid rgba(224, 176, 79, 0.42);
  border-radius: 999px;
  background: rgba(224, 176, 79, 0.14);
  color: #f3d58a;
  font-size: 0.76rem;
  font-weight: 900;
  line-height: 1.3;
}
.legal-doc-body h3 {
  margin: 0 0 8px;
  color: #9be3e5;
  font-size: 1.05rem;
  line-height: 1.55;
}
.legal-doc-body p {
  margin: 0 0 16px;
  color: rgba(230, 232, 234, 0.82);
  font-size: 0.92rem;
  line-height: 1.75;
}
.legal-doc-download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: auto;
  padding: 10px 14px;
  border-radius: 999px;
  background: #4fa3a5;
  color: #ffffff;
  text-decoration: none;
  font-weight: 900;
  line-height: 1.4;
}
.legal-doc-download:hover {
  filter: brightness(1.08);
}
/* =========================
   補足・注意書き
========================= */
.legal-doc-note {
  margin: 24px 0 0;
  padding: 16px 18px;
  border-left: 5px solid #e0b04f;
  border-radius: 14px;
  background: rgba(224, 176, 79, 0.12);
  color: rgba(230, 232, 234, 0.9);
  line-height: 1.85;
}
.legal-doc-note strong {
  color: #ffe2a3;
}
/* =========================
   拡大モーダル
========================= */
.legal-doc-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.legal-doc-modal.is-open {
  display: flex;
}
.legal-doc-modal-bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(5px);
}
.legal-doc-modal-panel {
  position: relative;
  z-index: 1;
  width: min(980px, 96vw);
  max-height: 92vh;
  overflow: auto;
  border: 1px solid rgba(230, 232, 234, 0.18);
  border-radius: 22px;
  background: #111418;
  padding: 18px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.62);
}
.legal-doc-modal-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 0 14px;
  background: #111418;
}
.legal-doc-modal-header h3 {
  margin: 0;
  color: #9be3e5;
  font-size: 1.05rem;
  line-height: 1.5;
}
.legal-doc-modal-close {
  flex: 0 0 auto;
  border: 1px solid rgba(230, 232, 234, 0.18);
  border-radius: 999px;
  padding: 8px 12px;
  background: #20242a;
  color: #ffffff;
  font-weight: 900;
  cursor: pointer;
}
.legal-doc-modal-close:hover {
  filter: brightness(1.12);
}
.legal-doc-modal-image-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
}
.legal-doc-modal-image-wrap img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: none;
  border-radius: 8px;
  background: #ffffff;
}
.legal-doc-modal-image-wrap img.is-single-page {
  max-height: calc(92vh - 90px);
}
.legal-doc-modal-image-wrap img.is-multi-page {
  max-height: none;
}
/* =========================
   スマホ
========================= */
@media (max-width: 900px) {
  .legal-doc-section {
    padding: 34px 0;
  }
  .legal-doc-inner {
    width: min(100% - 20px, 560px);
  }
  .legal-doc-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .legal-doc-preview-button {
    padding: 14px 14px 0;
  }
  .legal-doc-body {
    padding: 14px 16px 16px;
  }
  .legal-doc-modal {
    padding: 10px;
  }
  .legal-doc-modal-panel {
    width: 100%;
    max-height: 94vh;
    padding: 12px;
    border-radius: 16px;
  }
  .legal-doc-modal-header {
    padding-bottom: 12px;
  }
  .legal-doc-modal-image-wrap img.is-single-page,
  .legal-doc-modal-image-wrap img.is-multi-page {
    width: 100%;
    max-height: none;
  }
}
@media (max-width: 420px) {
  .legal-doc-heading h2 {
    font-size: 1.35rem;
  }
  .legal-doc-body h3 {
    font-size: 1rem;
  }
  .legal-doc-download {
    width: 100%;
  }
}
.legal-pdf-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.legal-pdf-modal.is-open {
  display: flex;
}
.legal-pdf-modal[aria-hidden="false"] {
  display: flex;
}
.legal-pdf-modal-bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(5px);
}
.legal-pdf-modal-panel {
  position: relative;
  z-index: 1;
  width: min(980px, 96vw);
  max-height: 92vh;
  overflow: auto;
  padding: 18px;
  border-radius: 22px;
  background: #111418;
  border: 1px solid rgba(230, 232, 234, 0.18);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.62);
}
.legal-pdf-modal-panel h3 {
  position: sticky;
  top: 0;
  z-index: 2;
  margin: 0 70px 14px 0;
  padding: 0 0 14px;
  background: #111418;
  color: #9be3e5;
  font-size: 1.05rem;
  line-height: 1.5;
}
.legal-pdf-modal-close {
  position: sticky;
  top: 0;
  float: right;
  z-index: 3;
  border: 1px solid rgba(230, 232, 234, 0.18);
  border-radius: 999px;
  padding: 8px 12px;
  background: #20242a;
  color: #ffffff;
  font-weight: 900;
  cursor: pointer;
}
.legal-pdf-modal-close:hover {
  filter: brightness(1.12);
}
#legalPdfModalImage {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  border-radius: 8px;
  background: #ffffff;
}
#legalPdfModalImage.is-single-page {
  max-height: calc(92vh - 90px);
}
#legalPdfModalImage.is-multi-page {
  max-height: none;
}
@media (max-width: 900px) {
  .legal-pdf-modal {
    padding: 10px;
  }
  .legal-pdf-modal-panel {
    width: 100%;
    max-height: 94vh;
    padding: 12px;
    border-radius: 16px;
  }
  .legal-pdf-modal-panel h3 {
    margin-right: 64px;
  }
  #legalPdfModalImage.is-single-page,
  #legalPdfModalImage.is-multi-page {
    width: 100%;
    max-height: none;
  }
}
.chapter-visual-placeholder {
  padding: 10px;
  border-radius: 18px;
  border: 1px dashed rgba(155, 227, 229, 0.45);
  background: linear-gradient(
    135deg,
    rgba(79, 163, 165, 0.16),
    rgba(255, 255, 255, 0.04)
  );
  aspect-ratio: 16 / 9;
  width: 80%;
  margin: 0 auto;
}
.chapter-visual-placeholder img {
  border-radius: 10px;
}
.flow-step-list {
  counter-reset: flowstep;
  display: grid;
  gap: 12px;
  margin: 18px 0;
  padding: 0;
  list-style: none;
}
.flow-step-list li {
  counter-increment: flowstep;
  position: relative;
  padding: 14px 16px 14px 54px;
  border-radius: 14px;
  border: 1px solid rgba(230, 232, 234, 0.14);
  background: rgba(255, 255, 255, 0.045);
  line-height: 1.85;
}
.flow-step-list li::before {
  content: counter(flowstep);
  position: absolute;
  left: 16px;
  top: 16px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #4fa3a5;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}
.legal-info-table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0 24px;
  overflow: hidden;
  border-radius: 14px;
  font-size: 0.95rem;
}
.legal-info-table th,
.legal-info-table td {
  border: 1px solid rgba(230, 232, 234, 0.14);
  padding: 12px 14px;
  vertical-align: top;
  line-height: 1.75;
}
.legal-info-table th {
  background: rgba(79, 163, 165, 0.22);
  color: #c9fbfc;
  text-align: left;
}
.legal-info-table td {
  background: rgba(255, 255, 255, 0.04);
}
.chapter-link-box {
  margin: 22px 0;
  padding: 18px 20px;
  border-radius: 16px;
  border: 1px solid rgba(155, 227, 229, 0.35);
  background: rgba(79, 163, 165, 0.12);
  line-height: 1.9;
}
.chapter-link-box a,
.official-link-list a {
  color: #9be3e5;
  font-weight: 900;
}
.official-link-list {
  margin: 18px 0 0;
  padding-left: 1.25em;
  line-height: 1.85;
}
@media (max-width: 640px) {
  .legal-info-table,
  .legal-info-table tbody,
  .legal-info-table tr,
  .legal-info-table th,
  .legal-info-table td {
    display: block;
    width: 100%;
  }
  .legal-info-table tr {
    margin-bottom: 12px;
  }
  .legal-info-table th {
    border-bottom: 0;
  }
}
.toc-chapter-number-list {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
.toc-chapter-number-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 8px 0;
}
.toc-chapter-label {
  flex: 0 0 auto;
  min-width: 78px;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(79, 163, 165, 0.16);
  color: #9be3e5;
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
}
.toc-chapter-label.is-sub {
  background: rgba(224, 176, 79, 0.14);
  color: #ffe2a3;
}
.toc-chapter-label.is-system {
  background: rgba(230, 232, 234, 0.08);
  color: rgba(230, 232, 234, 0.76);
}
@media (max-width: 600px) {
  .toc-chapter-number-list li {
    gap: 8px;
  }
  .toc-chapter-label {
    min-width: 66px;
    padding: 3px 7px;
    font-size: 0.7rem;
  }
}
.sub-section h3 span {
  margin-left: 30px;
  opacity: 0.6;
  font-size: 20px;
  align-items: center;
}
.sub-section h3 span a {
  border-bottom: 1px solid #ffffff;
}
.sub-section h3 span a:hover {
  color: #4fa3a5;
  border-bottom: 1px solid #4fa3a5;
}

/* =========================================================
   DNA GUIDE
========================================================= */

/* ---------------------------------------------------------
   記事全体
--------------------------------------------------------- */

.dna-guide .article-block {
  scroll-margin-top: 100px;
}

.dna-guide .chapter-intro {
  margin: 0 0 18px;
  color: rgba(230, 232, 234, 0.78);
  font-size: 1.02rem;
  line-height: 1.95;
}

.dna-guide .glossary-term {
  white-space: normal;
}

/* ---------------------------------------------------------
   シリーズ記事への誘導
--------------------------------------------------------- */

.dna-guide .series-nav {
  margin: 32px 0;
  padding: 24px;
  border: 1px solid rgba(79, 163, 165, 0.28);
  background: rgba(79, 163, 165, 0.07);
}

.dna-guide .series-nav h2,
.dna-guide .series-nav h3 {
  margin: 0 0 12px;
  color: var(--main);
}

.dna-guide .series-nav p {
  margin: 0 0 14px;
  color: rgba(230, 232, 234, 0.74);
}

.dna-guide .series-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.dna-guide .series-links a {
  display: block;
  padding: 16px 18px;
  border: 1px solid rgba(230, 232, 234, 0.14);
  background: rgba(230, 232, 234, 0.045);
  text-decoration: none;
}

.dna-guide .series-links strong,
.dna-guide .series-links span {
  display: block;
}

.dna-guide .series-links strong {
  color: #c8ffff;
}

.dna-guide .series-links span {
  margin-top: 6px;
  color: rgba(230, 232, 234, 0.66);
  font-size: 0.84rem;
}

/* ---------------------------------------------------------
   各章・小見出し
--------------------------------------------------------- */

.dna-guide .sub-section {
  margin-top: 40px;
  padding-left: 18px;
  border-left: 3px solid rgba(79, 163, 165, 0.38);
}

.dna-guide .sub-section h3 {
  margin: 0 0 14px;
  color: var(--main);
  font-size: clamp(21px, 2.2vw, 27px);
  line-height: 1.45;
}

.dna-guide .sub-section p {
  margin: 0 0 14px;
  color: rgba(230, 232, 234, 0.78);
  line-height: 1.95;
}

.dna-guide .small-lead {
  margin-top: 14px;
  padding: 14px 16px;
  border-left: 3px solid rgba(230, 196, 111, 0.72);
  background: rgba(230, 196, 111, 0.07);
  color: rgba(230, 232, 234, 0.76);
}

/* ---------------------------------------------------------
   カード
--------------------------------------------------------- */

.dna-guide .card-list {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}

.dna-guide .point-card {
  padding: 22px 24px;
  border: 1px solid rgba(230, 232, 234, 0.15);
  border-radius: 14px;
  background: rgba(230, 232, 234, 0.055);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

.dna-guide .point-card h3,
.dna-guide .point-card h4 {
  margin: 0 0 10px;
  color: var(--main);
}

.dna-guide .point-card p {
  margin: 0 0 10px;
  color: rgba(230, 232, 234, 0.76);
  line-height: 1.85;
}

.dna-guide .point-card ul,
.dna-guide .point-card ol {
  margin: 8px 0 0;
  padding-left: 1.35em;
}

.dna-guide .point-card li {
  margin: 0.55em 0;
  line-height: 1.75;
}

/* ---------------------------------------------------------
   事例・注意書き
--------------------------------------------------------- */

.dna-guide .case-note {
  margin: 26px 0;
  padding: 20px 22px;
  border-left: 4px solid #d79d79;
  background: rgba(150, 96, 65, 0.1);
}

.dna-guide .case-note strong {
  display: block;
  margin-bottom: 7px;
  color: #ffd1b3;
}

.dna-guide .case-note p {
  margin: 0;
  color: rgba(230, 232, 234, 0.78);
  line-height: 1.9;
}

.dna-guide .plain-check {
  margin: 20px 0;
  padding: 18px 20px;
  border: 1px solid rgba(79, 163, 165, 0.28);
  background: rgba(79, 163, 165, 0.065);
}

.dna-guide .plain-check h3 {
  margin: 0 0 10px;
}

.dna-guide .plain-check li {
  margin: 0.5em 0;
}

/* ---------------------------------------------------------
   比較表
--------------------------------------------------------- */

.dna-guide .compare-scroll {
  overflow-x: auto;
  margin: 24px 0;
}

.dna-guide table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  background: rgba(230, 232, 234, 0.035);
}

.dna-guide th,
.dna-guide td {
  padding: 13px 14px;
  border: 1px solid rgba(230, 232, 234, 0.14);
  text-align: left;
  vertical-align: top;
}

.dna-guide th {
  background: rgba(79, 163, 165, 0.14);
  color: var(--main);
}

/* ---------------------------------------------------------
   鑑定会社
--------------------------------------------------------- */

.dna-guide .provider-list {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}

.dna-guide .provider-item {
  padding: 22px 24px;
  border: 1px solid rgba(230, 232, 234, 0.15);
  border-radius: 14px;
  background: rgba(230, 232, 234, 0.05);
}

.dna-guide .provider-item h3 {
  margin: 0 0 8px;
}

.dna-guide .provider-item p {
  margin: 8px 0;
}

.dna-guide .provider-item a {
  display: inline-block;
  margin-top: 8px;
  border-bottom: 1px dotted rgba(185, 244, 245, 0.55);
  color: #b9f4f5;
}

/* ---------------------------------------------------------
   用語辞書
--------------------------------------------------------- */

.dna-guide .glossary-cards {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}

.dna-guide .glossary-cards .point-card p {
  line-height: 2.45;
}

/* ---------------------------------------------------------
   開閉式コンテンツ
--------------------------------------------------------- */

.dna-guide details {
  margin: 12px 0;
  border: 1px solid rgba(230, 232, 234, 0.14);
  background: rgba(230, 232, 234, 0.035);
}

.dna-guide details summary {
  padding: 15px 17px;
  font-weight: 800;
  cursor: pointer;
}

.dna-guide details > *:not(summary) {
  margin-right: 17px;
  margin-left: 17px;
}

.dna-guide details p {
  padding-bottom: 15px;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 760px) {
  .dna-guide .series-links {
    grid-template-columns: 1fr;
  }

  .dna-guide .sub-section {
    padding-left: 14px;
  }

  .dna-guide .point-card {
    padding: 19px 18px;
  }

  .dna-guide .section-heading {
    font-size: 25px;
  }
}
