/* TOC 共通（フロント） */
.hpp-toc { border:1px solid #e2e2e2; background:#fafafa; margin:16px 0; border-radius:6px; }
.hpp-toc .toc-toggle { width:100%; text-align:left; padding:10px 12px; background:#f7f7f7; border:0; border-bottom:1px solid #e2e2e2; cursor:pointer; font-weight:600; }
.hpp-toc .toc-content { padding:8px 12px; display:none; }
.hpp-toc .toc-list { margin:0; padding:0; list-style:none; }
.hpp-toc .toc-li-h2 > .toc-link { display:block; padding:6px 0; }
.hpp-toc .toc-sub { margin:4px 0 8px 14px; padding:0; list-style:disc; }
.hpp-toc .toc-li-h3 .toc-link { display:list-item; }

/* プラグインのラッパー */
.lmw-container {
  margin: 0 auto;
  max-width: 920px;
  padding: 0 16px;
}

#lmw-toc {
  font-size: 16px;
  font-weight: bold;
  border: 1px solid #e2e2e2;
  background: #fafafa;
  margin: 16px 0;
  padding: 12px;
  border-radius: 6px;
  color: rgb(81, 81, 81);
}

#lmw-toc-body a {
  display: block;
  text-decoration: none;
  padding: 4px 2px;
}

#lmw-toc-body a.toc-h2 { font-weight: 600; }
#lmw-toc-body a.toc-h3 { padding-left: 12px; font-size: .95em; }

#lmw-toc-body a:hover,
.hpp-toc .toc-list .toc-link:hover,
.hpp-toc .toc-sub .toc-link:hover {
  opacity: 0.7;
}

#lmw-toc-body a:hover {
  transition: all .5s;
}

.lmw-container {
  font-size: 17px;
  line-height: 1.9;
}

.lmw-container img {
  max-width: 100%;
  height: auto;
}

.lmw-container a, .lmw-container nav li {
    transition: all .5s;
}

.toc-li.toc-li-h2 {
  padding: 10px 0px 20px 16px;
}

.toc-li.toc-li-h3 {
  padding-top: 5px;
}

.wp-block-list {
    /* color: #447fff; */
    margin-bottom: 20px;
}
.hpp-toc .toc-list,
.hpp-toc .toc-sub {
  list-style: none;
}

#lmw-toc-body ul,
#lmw-toc-body ol {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

list {
    text-decoration: none;
}

/* Checklist: add stsvg check icon to list items */
.lmw-container .last-main-block ul.checklist,
.lmw-container .last-main-block ol.checklist {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
.lmw-container .last-main-block > ul {
  margin-left: 15px;
  margin-bottom: 30px;
}
.lmw-container .last-main-block > ul ul > li {
  display: flex;
  align-items: center;
  line-height: 27px;
}
.lmw-container .last-main-block > ul ul > li::before {
  content: "\f058";
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", sans-serif;
  font-weight: 900; /* Solid */
  color: rgb(173, 152, 37);
  font-size: 16px;
  line-height: 27px;
  margin-right: 7px;
}

.lmw-container .last-main-block > ul > li {
  display: flex;
  align-items: center;
  line-height: 27px;
}
.lmw-container .last-main-block > ul > li::before {
  content: "\f058";
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", sans-serif;
  font-weight: 900; /* Solid */
  color: rgb(173, 152, 37);
  font-size: 16px;
  line-height: 27px;
  margin-right: 7px;
}

/* LMW article styles (scoped) */
.lmw-container .last-main-block {
  margin: 0 auto;
  max-width: 920px;
  font-size: 17px;
  line-height: 1.9;
  color: #222;
}

.lmw-container .last-main-block .entry-title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 16px;
}

.lmw-container .last-main-block p { margin: 1.1em 0; }

.lmw-container .last-main-block img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 12px auto;
}

.lmw-container .last-main-block .wp-caption {
  text-align: center;
  margin: 12px auto;
}
.lmw-container .last-main-block .wp-caption img { display: inline-block; }
.lmw-container .last-main-block .wp-caption-text {
  font-size: .9em;
  color: #666;
  margin-top: 6px;
}

.lmw-container .last-main-block .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.lmw-container .last-main-block a { color: #1a73e8; text-decoration: underline; }

/* .lmw-container .last-main-block ul,
.lmw-container .last-main-block ol { margin: 0 0 1.2em 1.4em; }
.lmw-container .last-main-block li { margin: .3em 0; } */

/* .lmw-container .last-main-block blockquote {
  border-left: 4px solid #e5e5e5;
  padding: .6em 1em;
  color: #555;
  margin: 1.2em 0;
  background: #fafafa;
} */

.lmw-container .last-main-block table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.2em 0;
}
.lmw-container .last-main-block th,
.lmw-container .last-main-block td {
  border: 1px solid #e5e5e5;
  padding: .6em .8em;
}

.lmw-container .last-main-block h2,
.lmw-container .last-main-block h3 {
  margin: 1.6em 0 .8em;
  line-height: 1.4;
}

.lmw-container .last-main-block h2 {
  font-size: 22px;
  border-left: 4px solid #222428;
  padding-left: 10px;
}

.lmw-container h3::before,
.lmw-container h3::after {
  content: "";
  position: absolute;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  bottom: -10px;
  left: 30px;
  border-top: 10px solid #222428;
}
.lmw-container h3::after {  border-radius: 2px; }
/* Reset (scoped to #lmw-content to avoid global impact) */
.lmw-container, .lmw-container * { box-sizing: border-box; }
.lmw-container { margin: 0; padding: 0; }
.lmw-container {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "YuGothic", Meiryo, sans-serif;
}
.lmw-container h1,
.lmw-container h2,
.lmw-container h3,
.lmw-container h4,
.lmw-container h5,
.lmw-container h6,
.lmw-container p,
.lmw-container figure,
.lmw-container blockquote,
.lmw-container dl,
.lmw-container dd,
.lmw-container ul,
.lmw-container ol { margin: 0; padding: 0; }
.lmw-container ul, .lmw-container ol { list-style: none; padding-left: 0; margin-left: 0; }
.lmw-container a { text-decoration: none; color: inherit; }
.lmw-container img { max-width: 100%; height: auto; border: 0; }
.lmw-container table { border-collapse: collapse; border-spacing: 0; width: 100%; }
.lmw-container th, .lmw-container td { padding: 0; }
.lmw-container button,
.lmw-container input,
.lmw-container select,
.lmw-container textarea { font: inherit; }

/* Article base (from LMW page – scoped under #lmw-content) */
.lmw-container {
  color: #222;
  font-size: 17px;
  line-height: 1.9;
}
.lmw-container p { margin: 1.2em 0; }
.lmw-container a { color: #1a73e8; text-decoration: underline; }
.lmw-container img { max-width: 100%; height: auto; display: block; margin: 12px auto; }
.lmw-container figure { margin: 12px auto; }
.lmw-container .wp-caption-text { font-size: .9em; color: #666; margin-top: 6px; }

/* .lmw-container ul,
.lmw-container ol { margin: 0 0 1.2em 1.4em; }
.lmw-container ul { list-style: disc; padding-left: 1.4em; } */
.lmw-container ol { list-style: decimal; padding-left: 1.4em; }
.lmw-container li { margin: .3em 0; }

/* .lmw-container blockquote {
  border-left: 4px solid #e5e5e5;
  padding: .6em 1em;
  background: #fafafa;
  color: #555;
  margin: 1.2em 0;
} */

.lmw-container table { width: 100%; border-collapse: collapse; margin: 1.2em 0; }
.lmw-container th,
.lmw-container td { border: 1px solid #e5e5e5; padding: .6em .8em; }

.lmw-container h2,
.lmw-container h3,
.lmw-container h4,
.lmw-container h5,
.lmw-container h6 { line-height: 1.4; }
.lmw-container h2 { font-size: 22px; margin: 1.6em 0 .8em; }
.lmw-container h3 {
  font-size: 20px;
  margin: 1.4em 0 .6em;
  background: #222428;
  color: #ffffff;
  position: relative;
  border: none;
  margin-bottom: 30px;
  padding: 10px 12px 10px 20px;
  font-weight: 700;
}


.lmw-container h2 {
  position: relative;
  padding-left: 0px;
  border-bottom-width: 3px;
  border-bottom-style: solid;
  color: rgb(34, 36, 40);
  background-color: transparent;
  border-bottom-color: rgb(173, 152, 37) !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  border-top: none;
  font-size: 22px;
  line-height: 32px;
  margin: 20px 0;
  font-weight: 700;
}

/* Image + Quote block */
.lmw-container .image-with-quote { margin: 1.2em 0; }
.lmw-container .image-with-quote figure { margin: 0 0 .6em; }
.lmw-container .image-with-quote img { display: inline-block; max-width: 100%; height: auto; }
/* .lmw-container .image-with-quote blockquote.quote { border-left: 4px solid #e5e5e5; background: #fafafa; color: #555; padding: .6em 1em; margin: 0; }
.lmw-container .image-with-quote blockquote.quote cite { display: block; font-size: .9em; color: #666; margin-top: .3em; text-align: right; } */

.lmw-container #headline_summary,
.lmw-container .headline-summary {
  color: rgb(81, 81, 81);
  background: #ffffff;
  margin: 25px 0 25px 0;
  padding: 20px;
  border-color: #ccc;
  border-width: 2px;
  border-radius: 2px;
  border: solid 2px #9E9E9E;
}

.lmw-container p {
  font-size: 16px;
}

/* headline_summary の入れ子ULに丸マーカーを付与 /*/
.lmw-container #headline_summary ul ul,
.lmw-container .headline-summary ul ul {
list-style: none;
margin: 0 0 1em 0;
}

.lmw-container #headline_summary ul,
.lmw-container .headline-summary ul {
list-style: none;
margin: 0 0 1em 0;
}


.lmw-container #headline_summary ul ul > li,
.lmw-container .headline-summary ul ul > li {
position: relative; /* 擬似要素の基準にする */
padding-left: 1.0em; /* マーカー分の左余白 */
}

.lmw-container #headline_summary ul > li,
.lmw-container .headline-summary ul > li {
position: relative; /* 擬似要素の基準にする */
padding-left: 1.0em; /* マーカー分の左余白 */
}

.lmw-container #headline_summary ul ul > li::before,
.lmw-container .headline-summary ul ul > li::before {
content: "";
position: absolute;
left: 0; /* li の左端基準 */
top: .8em; /* 縦位置微調整 */
width: .5em;
height: .5em;
line-height: .5em;
border-radius: 50%;
background-color: rgb(30, 115, 190);
}

.lmw-container #headline_summary ul > li::before,
.lmw-container .headline-summary ul > li::before {
content: "";
position: absolute;
left: 0; /* li の左端基準 */
top: .8em; /* 縦位置微調整 */
width: .5em;
height: .5em;
line-height: .5em;
border-radius: 50%;
background-color: rgb(30, 115, 190);
}

.lmw-container  #article_key_point,
.lmw-container  .article-key-point {
  padding-top: 20px !important;
  font-size: 16px;
  color: rgb(81, 81, 81);
  padding: 0 20px;
  border: solid 2px #9E9E9E;
  border-color: #f3f3f3;
  border-width: 3px;
  border-radius: 5px;
  margin: 25px 0 25px 0;
  position: relative;
  counter-reset: st-list-count;
}

.lmw-container  #article_key_point > ul > li > ul > li,
.lmw-container  .article-key-point > ul > li > ul > li {
  margin-bottom: 20px;
  font-weight: bold;
}

.lmw-container  #article_key_point > ul > li,
.lmw-container  .article-key-point > ul > li {
  margin-bottom: 20px;
  font-weight: bold;
}


.lmw-container  #article_key_point > ul > li > ul > li > ul:first-of-type,
.lmw-container  .article-key-point > ul > li > ul > li > ul:first-of-type {
  margin-top: 20px;
}

.lmw-container  #article_key_point > ul:first-of-type,
.lmw-container  .article-key-point > ul:first-of-type {
  margin-top: 20px;
}


.lmw-container  #article_key_point ul ul ul ul > li,
.lmw-container  .article-key-point ul ul ul ul > li {
  font-weight: normal;
  position: relative; /* 擬似要素の基準にする */
  padding-left: 2.5em;
  counter-increment: st-list-count;
  padding-top: .5em;
  padding-bottom: .5em;
  border-bottom: dotted 1px #ccc;
  line-height: 1.5em !important;
}

.lmw-container  #article_key_point ul > li,
.lmw-container  .article-key-point ul > li {
  font-weight: normal;
  position: relative; /* 擬似要素の基準にする */
  padding-left: 2.5em;
  counter-increment: st-list-count;
  padding-top: .5em;
  padding-bottom: .5em;
  border-bottom: dotted 1px #ccc;
  line-height: 1.5em !important;
}

.lmw-container  #article_key_point ul ul ul ul > li::before,
.lmw-container  .article-key-point ul ul ul ul > li::before {
  color: rgb(255, 255, 255);
  background: rgb(173, 152, 37);
  top: .5em !important;
  content: counter(st-list-count);
  width: 1.5em;
  height: 1.5em;
  line-height: 1.5em;
  position: absolute;
  left: .25em;
  text-align: center;
  transform: scale(.8);
}

.lmw-container  #article_key_point ul > li::before,
.lmw-container  .article-key-point ul > li::before {
  color: rgb(255, 255, 255);
  background: rgb(173, 152, 37);
  top: .5em !important;
  content: counter(st-list-count);
  width: 1.5em;
  height: 1.5em;
  line-height: 1.5em;
  position: absolute;
  left: .25em;
  text-align: center;
  transform: scale(.8);
}

.lmw-container table {
  font-size: 15px;
  line-height: 27px;
  color: rgb(81, 81, 81);
  max-width: initial;
  box-sizing: border-box;
  border-top: 1px #d4d4d4 solid;
  border-right: 1px #d4d4d4 solid;
  margin-bottom: 20px;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: 20px;
}

.lmw-container table thead {
  border-top: 1px #d4d4d4 solid;
  border-right: 1px #d4d4d4 solid;
  font-size: .9em;
  font-weight: 700;
}

.lmw-container table thead th {
  background-color: rgb(34, 36, 40);
  color: rgb(255, 255, 255);
}

.lmw-container table thead th,
.lmw-container table thead td {
  border-bottom: 1px #d4d4d4 solid;
  border-left: 1px #d4d4d4 solid;
  border-top: none;
  border-right: none;
  position: sticky;
  top: -1px;
  z-index: 99998;
}

.lmw-container table tr td {
  padding: 10px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-bottom-style: solid;
  border-left-style: solid;
  border-bottom-color: #d4d4d4;
  border-left-color: #d4d4d4;
  vertical-align: top;
  box-sizing: border-box;
  word-break: break-word;
  border-right: none;
  border-top: none;
}

.lmw-container table tbody tr td:first-of-type {
  font-weight: 700;
}

.lmw-container h4 {
  margin: 20px 0;
  font-weight: 700;
  border-left: 5px solid #ad9825;
  color: #f40000;
  background-color: #ffffff;
  padding-left: 20px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.lmw-container .image-with-quote .quote {
  font-size: 12px;
  color: #757575;
  line-height: 1.4;
  text-align: center;
  margin: .5em 0 0;
}
.lmw-container .image-with-quote img,
.lmw-container .image-with-quote .aligncenter {
  margin-bottom: 0;
}
.lmw-container .image-with-quote .quote p {
  margin: 0;
}
/* ST-style TOC look for #lmw-toc (st_toc_container mimic) */
#lmw-toc.hpp-toc { border:1px solid #e5e5e5; background:#fff; margin:20px 0; border-radius:3px; box-shadow: 0 1px 0 rgba(0,0,0,0.02); }
#lmw-toc .toc-toggle { width:100%; display:block; background:#f7f7f7; border:0; border-bottom:1px solid #e5e5e5; padding:10px 12px; cursor:pointer; font-weight:700; text-align:left; position:relative; font-size:0; }
#lmw-toc .toc-toggle:before {
  font-size:14px; color:#222;
  content:'\f0ca\00a0目次'; /* fa-list */
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", sans-serif;
  font-weight: 900;
}
#lmw-toc.is-collapsed .toc-toggle:after { content:'[表示]'; }
#lmw-toc:not(.is-collapsed) .toc-toggle:after { content:'[非表示]'; }
#lmw-toc .toc-toggle:after { font-size:13px; color:#2a6ebb; position:absolute; right:12px; top:10px; }
#lmw-toc .toc-content { padding:10px 14px; }
#lmw-toc .toc-list { list-style:none; margin:0; padding:0; }
#lmw-toc .toc-li-h2 > .toc-link { display:block; padding:6px 0; text-decoration:none; color:#333; }
#lmw-toc .toc-sub { margin:4px 0 8px 16px; padding:0; list-style:none; }
#lmw-toc .toc-li-h3 .toc-link { display:block; padding:4px 0 4px 0; text-decoration:none; color:#333; font-size:95%; }
#lmw-toc .toc-link:hover { color:#0b4cc2; }

/* TOC header center, no bg/border */
#lmw-toc.hpp-toc { border: none !important; background: transparent !important; box-shadow: none !important; }
#lmw-toc .toc-toggle { text-align: center !important; background: transparent !important; border: 0 !important; padding: 10px 0 !important; }
#lmw-toc .toc-toggle:after { position: static !important; right: auto !important; top: auto !important; margin-left: .5em; }
#lmw-toc .toc-content { background: transparent !important; border: 0 !important; }

/* TOC: make only the [�\��]/[��\��] part clickable */
#lmw-toc .toc-toggle { text-align: center; margin: 0 auto; display: block !important; width: auto !important; padding: 4px 8px !important; border: 0 !important; background: transparent !important; cursor: pointer; }
/* Remove title from button and show it as container label */

.lmw-container ul {
  padding-left: 0 !important;
}
.box-point,
.box-caution {
  ul {
    li {
      list-style-type: disc;
    }
  }
}
