/* <system section="theme" selected="17179246901369037364"> */
@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Armata&display=swap");
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@400;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1+Code&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@700&display=swap");
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css | Minified by CookieBox26 */
html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0;}main{display:block;}h1{font-size:2em;margin:0.67em 0;}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent;}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder;}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:list-item;}template{display:none;}[hidden]{display:none;}
/*!
  Theme: Notive
  Author: Chihiro Mihara
  Responsive: yes
  Description:
    Parts of this stylesheet, specifically normalize.css, are licensed under the MIT License.
    This stylesheet is based on boilerplate.scss, which is also licensed under the MIT License.
    The rest of this stylesheet is licensed under the GPLv3.
*/
:root {
  --font-family-text:
    "Armata", "IBM Plex Sans JP",
    "Helvetica Neue", "Helvetica", "Arial", "Hiragino Kaku Gothic Pro",
    "Meiryo", "MS PGothic", sans-serif;
  --font-family-title:
    "M PLUS Rounded 1c",
    "Helvetica Neue", "Helvetica", "Arial", "Hiragino Kaku Gothic Pro",
    "Meiryo", "MS PGothic", sans-serif;
  --font-family-mono:
    "JetBrains Mono", "M PLUS 1 Code",
    "Monaco", "Consolas", "Courier New", "Courier", monospace;
  --font-weight-title: 700;
  --font-weight-header: 700;
  --color-text: #393939;
  --color-accent: #4682b4;
  --color-text-lighter-1: #747474 /* color-mix 非対応ブラウザ用 */;
  --color-text-lighter-1: color-mix(in srgb, var(--color-text), white 30%);
  --color-accent-lighter-1: #7ea8cb /* color-mix 非対応ブラウザ用 */;
  --color-accent-lighter-1: color-mix(in srgb, var(--color-accent), white 30%);
  --container-width: 850px;
  --content-margin: 0 0.75rem;
  --container-width-plus-margin: calc(var(--container-width) + 0.75rem + 0.75rem);
  --bgcolor-console: #454545;
  --bgcolor-program: #f0f0f0;
  --label-content: "目次";
  --label-reference: "参考文献";
  --label-point: "この記事の要点";
}
html {
  background-color: #fff;
}
body {
  background-color: #fff;
  letter-spacing: 0.02em;
  font-family: var(--font-family-text);
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.4;
}
a {
  color: var(--color-accent);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
h1 a, h1 a:hover, h1 a:visited,
h2 a, h2 a:hover, h2 a:visited,
h3 a, h3 a:hover, h3 a:visited {
  color: var(--color-text);
  text-decoration: none;
}
h4 a, h4 a:hover, h4 a:visited,
h5 a, h5 a:hover, h5 a:visited,
.entry-footer-time a, .entry-footer-subscribe a {
  color: var(--color-accent);
}
a.keyword {
  text-decoration: none;
  border-bottom: 1px dotted #d2d2d2;
  color: var(--color-text);
}
/* ----- グローバルヘッダ― ----- */
#globalheader-container {
  background: #fff;
  border-bottom: 1px solid #e3e3e3;
  color: var(--color-text);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
}
/* ----- ブログコンテナ ----- */
#container {
  margin: 0 auto;
  padding: 0 25px;
}
#container #content {
  display: block;
  *zoom: 1;
}
#container #content:after {
  display: block;
  visibility: hidden;
  font-size: 0;
  height: 0;
  clear: both;
  content: ".";
}
#container-inner {
  width: 100%;
  max-width: var(--container-width-plus-margin);
  margin: 35px auto 0;
  background: #fff;
  padding-bottom: 50px;
}
.globalheader-off #container {
  padding-top: 1px;
}
#main {
  float: none;
  max-width: var(--container-width);
  margin: var(--content-margin);
}
/* ----- ブログタイトル領域 ----- */
#blog-title {
  max-width: var(--container-width);
  margin: var(--content-margin);
  padding: 0.5em 0 1.5rem;
  text-align: left;
}
#title {
  margin: 0;
  padding: 0;
  font-size: 260%;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-title);
}
#title a:hover {
  color: var(--color-text-lighter-1);
}
#blog-description {
  margin: 0.5rem 0 0;
  padding: 0;
  font-size: 100%;
  font-weight: normal;
}
.header-image-enable #blog-title {
  margin: 0 0 70px;
  padding: 0;
}
.header-image-enable #title {
  padding: 55px 20px 0;
}
.header-image-enable #blog-title-inner {
  -moz-border-radius-topright: 3px;
  -moz-border-radius-topleft: 3px;
  -webkit-border-top-left-radius: 3px;
  -webkit-border-top-right-radius: 3px;
}
#top-editarea {
  max-width: var(--container-width);
  margin: var(--content-margin);
  font-size: 92%;
}
#top-box {
  max-width: var(--container-width);
  margin: var(--content-margin);
  font-size: 100%;
}
.breadcrumb {
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-title);
  font-size: 120%;
}
/* 下部マージンがないと記事間が重なる */
.entry {
  position: relative;
  margin-bottom: 135px;
}
.entry.sleeping-ads {
  padding-bottom: 2em;
}
/* ----- 記事ヘッダー ----- */
.entry-header {
  margin-bottom: 1rem;
}
.entry-title {
  font-size: 180%;
  letter-spacing: 0.035em;
  margin: 0;
  padding: 0.4rem 0 0.3rem;
  line-height: 1.25;
  border-bottom: 3px solid var(--color-text);
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-header);
}
.entry-title a {
  color: var(--color-text);
}
.entry-title a:hover {
  color: var(--color-text-lighter-1);
}
.date {
  color: var(--color-accent);
  font-size: 135%;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-header);
  padding: 0;
}
.date a {
  text-decoration: none;
}
.date a:hover {
  color: var(--color-accent-lighter-1);
}
.date-last-updated {
  color: var(--color-accent);
  font-size: 90%;
}
.date-footer {
  font-size: 105%;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-header);
}
.categories {
  margin: 1rem 0 1rem;
  padding: 0;
  text-align: left;
  font-size: 90%;
}
.categories a {
  margin: 0 0.2em 0 0;
  padding: 4px 7px;
  color: white;
  background-color: var(--color-accent);
  border-radius: 4px;
}
.categories a:hover {
  text-decoration: none;
  background: var(--color-accent-lighter-1);
}
.categories-header {
  margin: 0 !important;
  float: left;
  font-size: 94%;
  height: 1.8rem;
}
.entry-header-menu {
  position: absolute;
  top: 42px;
  left: -78px;
}
.entry-header-menu a {
  background: #b3b3b3;
  font-size: 88%;
  padding: 9px 14px;
  color: #fff;
}
.entry-header-menu a:hover {
  text-decoration: none;
  background: silver;
}
/* ----- 記事本文 ----- */
.entry-content {
  padding: 0;
}
.entry-content p {
  margin: 0 0 1em;
}
.entry-content img, .entry-content video {
  max-width: 100%;
}
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 {
  margin: 1.3em 0 0.8em;
  line-height: 1.5;
}
.entry-content h1 {
  font-size: 150%;
  padding: 0 0 0.15em 0;
  border-bottom: 2px solid var(--color-text);
}
.entry-content h2 {
  font-size: 140%;
  padding: 0 0 0.15em 0;
  border-bottom: 1px dotted var(--color-text);
}
.entry-content h3 {
  font-size: 130%;
}
.entry-content h4 {
  font-size: 120%;
}
.entry-content h5 {
  font-size: 110%;
}
.entry-content h6 {
  font-size: 100%;
}
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6,
.entry-content .footnote-number {
  scroll-margin-top: 50px;
}
.entry-content ul,
.entry-content ol,
.entry-content dd {
  margin: 0 0 1em 0;
  padding: 0 0 0 1.75em;
}
.entry-content ul li ul,
.entry-content ol li ul,
.entry-content dd li ul,
.entry-content ul li ol,
.entry-content ol li ol,
.entry-content dd li ol {
  margin-bottom: 0;
}
.entry-content table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 1.5rem auto;
}
.entry-content table img {
  max-width: none;
}
.entry-content table th, .entry-content table td {
  border: 1px solid #ddd;
  padding: 0.4em 0.8em;
}
.entry-content table th {
  background: #f7f7f7;
}
.entry-content hr {
  border: none;
  width: 100%;
  border-top: 2px solid #ccc;
  margin: 3em 0 2rem;
}
.entry-content blockquote {
  margin: 0 0 10px;
  padding: 5px 15px 5px 5px;
  color: var(--color-text);
}
.entry-content blockquote p {
  margin-top: 0;
  margin-bottom: 0;
}
.entry-content blockquote a.keyword {
  color: var(--color-text);
  text-decoration: none;
}
.entry-content blockquote cite {
  margin: 10px 0 0;
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
.entry-content .hatena-asin-detail {
  margin: 0.5rem 0;
  border: none;
  padding: 1rem;
  background: #f0f0f0;
}
.hatena-asin-detail .hatena-asin-detail-info .asin-detail-buy {
  background: var(--color-accent);
  color: #fff;
  border-radius: 4px;
}
/* ----- ソースコード ----- */
.entry-content pre {
  font-size: 90%;
  border: 1px solid #e0e0e0;
  background: var(--bgcolor-console);
  color: var(--bgcolor-program);
  font-family: var(--font-family-mono);
  margin: 1rem 0;
  padding: 0.6em 0.9em;
  border-radius: 4px;
  white-space: pre;
  line-height: 1.4;
}
.entry-content pre.code {
  background: var(--bgcolor-program);
  color: var(--color-text);
}
.entry-content code {
  font-size: 90%;
  margin: 0 2px;
  padding: 0 4px;
  word-break: break-all;
  border: 1px solid #e0e0e0;
  background: var(--bgcolor-program);
  border-radius: 3px;
  font-family: var(--font-family-mono);
}
.entry-content pre > a,
.entry-content pre > a.keyword {
  color: var(--bgcolor-program);
}
.entry-content pre > a:hover,
.entry-content pre > a.keyword:hover {
  text-decoration: none;
}
/* シンタクスハイライト */
.synComment {
  color: #47885e;
}
.synIdentifier, .synPreProc, .synSpecial {
  color: #618ea3;
}
.synType, .synStatement {
  color: #006eb0;
}
.synConstant {
  color: #aa8840;
}
/* ----- 記事フッター ----- */
.entry-footer {
  margin: 20px 0 -80px 0;
}
.entry-footer-section {
  margin: 0 0 30px;
  color: #4d4d4d;
  color: #abb4b7;
}
.entry-footer-section .fn {
  margin: 0 2px 0 0;
}
.social-buttons, .entry-footer-html {
  margin: 20px 0 10px;
}
.hatena-star-container {
  margin: 10px 0 20px;
}
.hatena-id-link {
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-title);
  font-size: 110%;
}
.comment-box ul {
  list-style: none;
  margin: 50px 0 30px;
  padding: 0;
  font-size: 95%;
  line-height: 1.7;
}
.comment-box li {
  padding: 20px 0 20px 70px;
  border-bottom: 1px solid #ccc;
  position: relative;
}
.comment-box li:first-child {
  border-top: 1px solid #ccc;
}
.comment-box .read-more-comments {
  padding-left: 0;
  border-bottom: none;
}
.comment-box .hatena-id-icon {
  position: absolute;
  top: 20px;
  left: 0;
  width: 50px!important;
  height: 50px!important;
  border-radius: 3px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
.comment-user-name {
  margin: 0 0 10px;
  font-weight: 700;
}
.comment-content {
  font-size: 90%;
  margin: 0 0 10px;
  word-wrap: break-word;
}
.comment-content p {
  margin: 0 0 10px;
}
.comment-metadata {
  font-size: 88%;
  color: #abb4b7;
  margin: 20px 0 0;
}
.comment-metadata a {
  color: #999;
}
.comment-delete-button img {
  top: 18px!important;
}
.leave-comment-title, .leave-comment-title:hover {
  border-radius: 6px;
  padding: 0.6em 0.8em;
  font-size: 110%;
  background-color: var(--color-accent);
  color: #fff;
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
.leave-comment-title:hover {
  text-decoration: underline;
}
#box2 {
  float: none;
  font-size: 94%;
  margin: 0;
  width: 100%;
}
#box2-inner {
  display: block;
  *zoom: 1;
  overflow: hidden;
}
#box2-inner:after {
  display: block;
  visibility: hidden;
  font-size: 0;
  height: 0;
  clear: both;
  content: ".";
}
#box2-inner .hatena-module {
  padding: 0;
  margin: 0 0.75rem 1.5rem;
  min-width: calc(50% - 1.5rem);
  max-width: calc(50% - 1.5rem);
  float: left;
}
#box2-inner .hatena-module:nth-child(3n/**/+1) {
  clear: both;
}
.hatena-module {
  text-align: left;
  margin-bottom: 60px;
}
.hatena-module-title {
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-header);
  margin: 0 0 0.75rem;
  padding: 0 0 0.25rem;
  font-size: 140%;
  border-bottom: 3px solid var(--color-text);
}
.hatena-module-title a {
  color: var(--color-text);
  text-decoration: none;
}
.hatena-module-title a:hover {
  color: var(--color-text-lighter-1);
}
.hatena-urllist {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hatena-urllist li {
  padding: 0;
}
.hatena-urllist li a {
  padding: 0;
}
.hatena-urllist li a:hover {
  text-decoration: underline;
  color: var(--color-accent);
}
.urllist-title-link {
  font-size: 100%;
}
.hatena-module-profile .profile-icon {
  float: left;
  margin: 0 10px 10px 0;
  border-radius: 5px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
.hatena-module-profile .id {
  display: block;
  font-weight: bold;
  font-size: 110%;
  margin-bottom: 5px;
  margin-top: 15px;
}
.hatena-module-profile .id a {
  padding: 0;
}
.hatena-module-profile .id a:hover {
  text-decoration: none;
  color: var(--color-accent-lighter-1);
}
.hatena-module-profile .profile-description {
  font-size: 90%;
}
.hatena-module-profile .profile-description p {
  margin-top: 0;
}
.hatena-module-search-box .search-form {
  width: 100%;
  background: #f0f0f0;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}
.hatena-module-search-box .search-module-input {
  padding: 8px 5px;
  background: none;
  border: none;
  outline: none;
  height: 20px;
  width: 90%;
}
.hatena-module-search-box .search-module-button {
  width: 20px;
  height: 20px;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill:none;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3Esearch%3C/title%3E%3Cpath d='M16.7,15l-3.4-3.3h-.1a5.4,5.4,0,0,0,.9-3.1,5.6,5.6,0,1,0-5.6,5.6,5.4,5.4,0,0,0,3.1-.9.1.1,0,0,0,.1.1L15,16.7a1.1,1.1,0,0,0,.8.3,1.6,1.6,0,0,0,.9-.3,1.4,1.4,0,0,0,0-1.7M8.5,12.3A3.8,3.8,0,0,1,4.8,8.5,3.8,3.8,0,0,1,8.5,4.7a3.9,3.9,0,0,1,3.8,3.8,3.8,3.8,0,0,1-3.8,3.8'/%3E%3Crect class='a' width='20' height='20'/%3E%3C/svg%3E") no-repeat right center;
  border: none;
  outline: none;
  text-indent: -9999px;
  position: absolute;
  top: 8px;
  right: 5px;
  opacity: .5;
  filter: alpha(opacity=50);
}
.hatena-module-search-box .search-module-button:hover {
  opacity: .85;
  filter: alpha(opacity=85);
}
.pager {
  margin: 20px 0 120px;
  padding: 20px 0;
  text-align: center;
  font-size: 80%;
}
.pager a {
  font-size: 150%;
  padding: 0 0 3px;
  color: var(--color-accent);
}
.pager a:hover {
  color: var(--color-accent);
  text-decoration: underline;
}
.pager .pager-prev {
  margin-right: 40px;
}
#footer {
  padding: 30px 0;
  text-align: center;
  line-height: 1.5;
  font-size: 80%;
  margin: auto 50px;
}
#footer p {
  margin: 0;
}
#bottom-editarea {
  max-width: var(--container-width-plus-margin);
  margin: 0 auto;
}
/* ----- アバウトページ ----- */
.page-about .entry-content {
  padding: 0;
}
.page-about dt {
  font-size: 125%;
  border-bottom: 3px solid var(--color-text);
  margin: 0 0 0.75rem;
  padding: 0 0 0.25rem;
  font-weight: bold;
  color: var(--color-text);
}
.page-about dd {
  margin-left: 0;
  margin-bottom: 40px;
}
.page-about dd:last-child {
  margin-bottom: 0;
}
/* ----- アーカイブページ ----- */
.archive-heading {
  font-size: 1.6rem !important;
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-title);
}
.page-archive #main {
  margin: var(--content-margin);
  padding: 0 0 120px;
}
.page-archive #main section {
  margin: 0 0 40px;
}
.page-archive #main h1 {
  margin: 0.3rem 0;
  padding: 0 0 0.25rem;
  font-size: 128%;
  border-bottom: 3px solid var(--color-text);
}
.page-archive #main ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.page-archive #main ul li {
  border: none;
  padding: 8px 0;
  line-height: 1.5;
}
.page-archive a.entry-title-link {
  font-size: 1.4rem;
  border-bottom: none;
  color: var(--color-text);
  vertical-align: middle;
  padding: 0;
}
.page-archive a.entry-title-link:hover {
  text-decoration: none;
  color: var(--color-text-lighter-1);
}
.page-archive .categories {
  margin: 0.6rem 0;
  padding: 0;
  background: none;
  vertical-align: middle;
  display: block;
  text-align: left;
  *zoom: 1;
}
.page-archive .categories:after {
  display: block;
  visibility: hidden;
  font-size: 0;
  height: 0;
  clear: both;
  content: ".";
}
.page-archive .categories a {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
.page-archive .categories a:after {
  content: "";
  visibility: hidden;
}
.page-archive .entry-thumb {
  margin-top: 0.5rem;
}
.page-archive .entry-description {
  font-size: 94%;
}
@media (min-width: 801px) and (max-width: 1040px) {
  .entry-header-menu {
    left: 0;
    top: -35px;
  }
  #box2 .hatena-module:nth-child(3n/**/+1) {
    clear: none
  }
  #box2 .hatena-module:nth-child(odd) {
    clear: both;
  }
}
@media (max-width: 800px) {
  #globalheader-container {
    position: static;
  }
  #container {
    word-wrap: break-word;
    overflow: hidden;
  }
  #container-inner {
    margin: 5px auto 0;
  }
  #box2 {
    font-size: 96%;
  }
  #box2-inner {
    width: 100%;
  }
  #box2-inner .hatena-module {
    min-width: calc(100% - 1.5rem);
    max-width: calc(100% - 1.5rem);
    float: none;
    padding: 0;
  }
  .entry-header-menu {
    top: -30px;
    left: 0;
  }
}
@media (max-width: 480px) {
  body {
    font-size: 14px;
    background: #fff !important;
  }
  #container {
    padding: 0 5px;
  }
  #container-inner {
    margin: 0;
  }
  .entry-content {
    padding: 0;
  }
  .entry-content blockquote {
    padding: 45px 20px 20px;
    background-position: 20px 17px;
    background-size: 23px 18px;
    line-height: 1.4;
  }
  .header-image-enable #blog-title {
    margin: 0 0 50px;
  }
  #box2 {
    font-size: 100%;
  }
}
/* ----- 目次記法の強調 ----- */
ul.table-of-contents {
  margin: 1.6em 0 1.2em;
  padding: 1.2em 0.8em 1.2em 2.4em;
  border: 2px solid var(--color-text);
  border-radius: 6px;
  position: relative;
  font-size: 94%;
}
ul.table-of-contents:before {
  background-color: #fff;
  font-size: 110%;
  font-weight: bold;
  left: 0.8rem;
  padding: 0 0.5rem;
  position: absolute;
  top: -0.7rem;
  content: var(--label-content);
}
/* ----- 参考文献の強調 ----- */
/* 見出しは画面外へ */
#参考文献 {
  position: absolute;
  left: -9999px;
}
/* 参考文献の強調 (ol) */
#参考文献 + ol {
  margin: 2.6em 0 1.2em;
  padding: 1.2em 0.8em 1em 2.8em;
  border: 2px solid var(--color-text);
  border-radius: 6px;
  position: relative;
  font-size: 94%;
  counter-reset: lii;
}
#参考文献 + ol:before {
  background-color: #fff;
  font-size: 110%;
  font-weight: bold;
  left: 0.8rem;
  padding: 0 0.5rem;
  position: absolute;
  top: -0.7rem;
  content: var(--label-reference);
}
#参考文献 + ol > li {
  position: relative;
  list-style: none;
}
#参考文献 + ol > li:before {
  position: absolute;
  left: -1.9em;
  counter-increment: lii;
  content: "["counter(lii)"]";
}
/* 参考文献の強調 (dl) */
#参考文献 + dl {
  margin: 2.6em 0 1.2em;
  padding: 1.2em 0.8em 1em 1em;
  border: 2px solid var(--color-text);
  border-radius: 6px;
  position: relative;
  font-size: 94%;
  display: grid;
  grid-template-columns: auto 1fr;
}
#参考文献 + dl:before {
  background-color: #fff;
  font-size: 110%;
  font-weight: bold;
  left: 0.8em;
  padding: 0 0.5em;
  position: absolute;
  top: -0.7em;
  content: var(--label-reference);
}
#参考文献 + dl > dt {
  grid-column: 1;
}
#参考文献 + dl > dt:before {
  content: "[";
}
#参考文献 + dl > dt:after {
  content: "]";
}
#参考文献 + dl > dd {
  grid-column: 2;
  margin: 0;
  padding-left: 0.5em;
}
/* ----- 要点ボックス ----- */
ul.table-of-contents li:has(> a[href^="#notive-pointbox"]) {
  display: none;
}
[id^="notive-pointbox"] {
  position: absolute;
  left: -9999px;
}
[id^="notive-pointbox"] + p,
[id^="notive-pointbox"] + ul,
[id^="notive-pointbox"] + ol {
  background: #dedede;
  padding: 2.6em 1.2em 0.9em;
  border-radius: 0.5em;
  position: relative;
  margin-bottom: 2em;
}
[id^="notive-pointbox"] + ul,
[id^="notive-pointbox"] + ol {
  padding-left: 2.6em;
}
[id^="notive-pointbox"] + p:before,
[id^="notive-pointbox"] + ul:before,
[id^="notive-pointbox"] + ol:before {
  font-size: 105%;
  font-weight: bold;
  left: 1.2rem;
  position: absolute;
  top: 0.7rem;
  content: var(--label-point);
}

/* </system> */