@charset "UTF-8";
.blog__article-body p {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  /*padding-left: 10px;*/
}

.blog__article-body figure {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  /*padding-left: 10px;*/
}

/* Headings */
/* ============================================ */
.blog__article-body h1,
.blog__article-body h2,
.blog__article-body h3,
.blog__article-body h4,
.blog__article-body h5,
.blog__article-body h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
.blog__article-body ul,
.blog__article-body ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
.blog__article-body dt {
  font-weight: bold;
}

.blog__article-body dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
.blog__article-body hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
.blog__article-body pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

.blog__article-body address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
.blog__article-body a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
.blog__article-body abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
.blog__article-body b,
.blog__article-body strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
.blog__article-body code,
.blog__article-body kbd,
.blog__article-body samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
.blog__article-body small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
.blog__article-body sub,
.blog__article-body sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

.blog__article-body sub {
  bottom: -0.25em;
}

.blog__article-body sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
.blog__article-body svg,
.blog__article-body img,
.blog__article-body embed,
.blog__article-body object,
.blog__article-body iframe {
  vertical-align: bottom;
}

.blog__article-body h2 {
  font-size: 2.8rem;
  font-weight: bold;
  margin-top: 6rem;
  color: #fff;
  background: #000;
  padding: 1rem 1.8rem;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .blog__article-body h2 {
    font-size: 1.65rem;
    margin-top: 5rem;
    line-height: 1.5;
  }
}

.blog__article-body h3 {
  font-size: 2.6rem;
  font-weight: bold;
  margin-top: 4rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #000;
}
@media (max-width: 768px) {
  .blog__article-body h3 {
    font-size: 1.5rem;
    margin-top: 3.5rem;
    padding-bottom: 0.8rem;
  }
}
.blog__article-body h4 {
  font-size: 2rem;
  font-weight: bold;
  margin-top: 3rem;
}
@media (max-width: 768px) {
  .blog__article-body h4 {
    font-size: 1.35rem;
    margin-top: 2.5rem;
  }
}

.blog__article-body a {
  color: #4eb1e9;
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}
.toc_list a{
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0rem;
}

/*
.blog__article-body mark {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0, rgba(78, 177, 233, 0.65)));
  background: linear-gradient(transparent 70%, rgba(78, 177, 233, 0.65) 0);
}

.blog__article-body mark.has-inline-color {
  background: linear-gradient(transparent 70%, rgba(78, 177, 233, 0.65) 0) !important;
  background-color: transparent !important;
}
*/

.custom-highlight {
  background-color: transparent !important;
  background: linear-gradient(transparent 70%, var(--highlight-color) 0) !important;
}

.wp-block-list {
  padding-left: 2.4rem;
  list-style: none;
  margin-top: 3rem;
  display: block;
}

@media (max-width: 768px) {
  .wp-block-list {
    margin-top: 2rem;
    /*display: block;*/
  }
}

.blog__article-list--pattern1 .blog__article-list-title {
  font-size: 1.6rem;
  position: relative;
}

@media (max-width: 768px) {
  .blog__article-list--pattern1 .blog__article-list-title {
    font-size: 1.25rem;
  }
}

.blog__article-list--pattern1 .blog__article-list-title::before {
  content: "・";
  position: absolute;
  left: -2rem;
}

/* wordpressリスト項目のスタイル */
.wp-block-list li {
  margin-top: 1rem;
  font-size: 1.6rem;
}

@media (max-width: 768px) {
  .wp-block-list li {
    font-size: 1.25rem;
  }
}

.wp-block-list li {
  position: relative;
  margin-left: 2.4rem;
}

.wp-block-list li::before {
  content: "・";
  position: absolute;
  left: -2rem;
}


/* コンテナ全体 */
#toc_container {
  background: #e9e9e9 !important;
  padding: 3rem;
  margin-top: 6rem;
  transition: all 0.3s ease;
  overflow: hidden;
}
@media (max-width: 768px) {
  #toc_container {
    margin-top: 3rem;
    padding: 2rem 1.2rem 2rem 2.2rem;
  }
}

/* タイトルとトグル */
.toc_title {
  font-size: 1.6rem;
  font-weight: bold;
  color: #000;
  margin: 0 0 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
  .toc_title {
    font-size: 1.35rem;
    margin-bottom: 0;
  }
}
.toc_toggle a {
  font-size: 1.2rem;
  color: #4eb1e9;
  text-decoration: none;
}
.toc_toggle a:hover {
  text-decoration: underline;
}

/* リスト全体 */
.toc_list {
  list-style: none;
  padding: 3rem 0.4rem 1.8rem;
  margin: 0;
}

/* 見出しレベル1 */
.toc_list > li {
  margin-bottom: 2.8rem !important;
}
@media (max-width: 768px) {
  .toc_list > li {
    margin-bottom: 1.8rem !important;
  }
}
.toc_list > li:last-child {
  margin-bottom: 0 !important;
}
.toc_list > li > a {
  display: flex;
  align-items: center;
  text-decoration: none;
  font-size: 1.4rem !important;
  font-weight: 500;
  transition: color 0.3s ease;
}
@media (max-width: 768px) {
  .toc_list > li > a {
    font-size: 1.17rem !important;
  }
}
.toc_list > li > a:hover {
  color: var(--primary-text);
}

/* 見出しレベル2 */
.toc_list li ul {
  list-style: none;
  padding: 0;
  margin: 2.4rem 0 0 2rem !important;
}
@media (max-width: 768px) {
  .toc_list li ul {
    margin: 1.8rem 0 0 2rem !important;
  }
}
.toc_list li ul li {
  margin-bottom: 1rem !important;
}
.toc_list li ul li:last-child {
  margin-bottom: 0;
}
.toc_list li ul li a {
  display: flex;
  align-items: center;
  text-decoration: none;
  font-size: 1.3rem !important;
  font-weight: 500;
  transition: color 0.3s ease;
}
@media (max-width: 768px) {
  .toc_list li ul li a {
    font-size: 0.92rem !important;
  }
}
.toc_list li ul li a:hover {
  color: #4eb1e9;
}

/* 番号と区切り */
.toc_number {
  color: #4eb1e9;
  margin-right: 0.8rem !important;
  font-weight: bold;
}
.toc_brackets {
  color: #4eb1e9;
  font-weight: bold;
}