/*$green: #389723;*/
/* See also: https://kinsta.com/jp/blog/web-safe-fonts/
 *
 * NOTE: Arial, Helvetica は Android の Chrome で細すぎる表示になるため使用しない (Helvetica Neue で代用されてる?)。
 */
@font-face {
  font-family: "Noto Serif Hentaigana";
  src: url("assets/fonts/NotoSerifHentaigana-Regular.ttf") format("truetype");
}
@keyframes blink {
  from {
    opacity: 0.3;
  }
  to {
    opacity: 1;
  }
}
body {
  background-color: #093d86;
  margin: 0px;
  padding: 0px;
}

.container {
  position: relative;
  padding: 0px;
  color: black;
  min-height: 100%;
  font-weight: 200;
  font-size: 17px;
  line-height: 187%;
}

nav .navbar-brand {
  font-weight: 300;
}

nav#nav-menu {
  position: absolute;
  left: 0px;
  top: 0px;
  margin-bottom: 8px;
  /* background-color: #112B4C; */
  background-color: #0e1b3f;
  border-radius: 6px;
  box-shadow: 0.2em 0.2em 0.5em #000000;
  font-family: Robot, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: white;
  font-size: 14px;
  padding: 4px 8px;
  z-index: 100;
}
nav#nav-menu img.profile {
  width: 80px;
}
nav#nav-menu #site_search {
  background-color: #112b4c;
  color: #f7f6f6;
}
nav#nav-menu h5 {
  font-family: "Orbitron", "Tahoma", "Helvetica Neue", "Noto Sans JP", sans-serif;
  padding: 0px 0px;
  margin: 8px 0px 0px 0px;
  border-bottom: solid 1px white;
  font-size: 1.1em;
}
nav#nav-menu h6 {
  font-family: "Helvetica Neue", sans-serif;
  font-size: 1em;
  margin: 4px 0 0 0;
  padding: 0px;
}
nav#nav-menu ul {
  list-style-type: none;
  padding: 0px;
  margin-top: 4px;
}
nav#nav-menu ul li {
  line-height: 130%;
}
nav#nav-menu ul li ul {
  margin-top: 0px;
}
nav#nav-menu ul ul {
  margin-left: 0.8em;
}
nav#nav-menu .profile img {
  margin: 4px 4px 4px 0px;
  border-radius: 4px;
}
nav#nav-menu .profile p {
  font-family: "Times", "Times New Roman", "UD デジタル教科書体NK-R", "BIZ UD明朝", "Hiragino Mincho ProN", serif;
  font-size: 12px;
  line-height: 120%;
  color: #DDD;
}
nav#nav-menu a {
  /* color: $green; */
  color: #ADD8E6;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
}
nav#nav-menu a:hover {
  text-decoration: underline;
}

.main {
  background-color: #FEFFFD;
  padding: 1em;
  border-radius: 6px;
  box-shadow: 0.3em 0.3em 1em #000000;
  color: #212222;
  font-family: "Helvetica", "Neue Haas Grotesk", "Tahoma", "Verdana", "Segoe", "ヒラギノ角ゴPro", "Hiragino Kaku Gothic Pro", "Osaka", "メイリオ", "Meiryo", "ＭＳＰゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  letter-spacing: 0.02em;
  headings-line-height: 1.5;
  line-height-base: 1.65;
}
.main h1, .main h2, .main h3, .main h4, .main h5, .main h6, .main dt {
  font-family: "Cambria", "Georgia", "Noto Serif", "Times", "Times New Roman", "UD デジタル教科書体NK-R", "BIZ UD明朝", "Hiragino Mincho ProN", serif;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.25);
  letter-spacing: 0.05em;
  position: relative;
}
.main h1 .heading-label, .main h2 .heading-label, .main h3 .heading-label, .main h4 .heading-label, .main h5 .heading-label, .main h6 .heading-label, .main dt .heading-label {
  cursor: pointer;
}
.main h1 a.default_id_anchor, .main h2 a.default_id_anchor, .main h3 a.default_id_anchor, .main h4 a.default_id_anchor, .main h5 a.default_id_anchor, .main h6 a.default_id_anchor, .main dt a.default_id_anchor {
  display: none;
  position: absolute;
  left: -16px;
  top: 4px;
}
.main h1 a.default_id_anchor img, .main h2 a.default_id_anchor img, .main h3 a.default_id_anchor img, .main h4 a.default_id_anchor img, .main h5 a.default_id_anchor img, .main h6 a.default_id_anchor img, .main dt a.default_id_anchor img {
  position: relative;
  margin-left: 4px;
  height: 0.6rem;
}
.main h1 a.default_id_anchor span.glyphicon,
.main h1 a.default_id_anchor .material-icons, .main h2 a.default_id_anchor span.glyphicon,
.main h2 a.default_id_anchor .material-icons, .main h3 a.default_id_anchor span.glyphicon,
.main h3 a.default_id_anchor .material-icons, .main h4 a.default_id_anchor span.glyphicon,
.main h4 a.default_id_anchor .material-icons, .main h5 a.default_id_anchor span.glyphicon,
.main h5 a.default_id_anchor .material-icons, .main h6 a.default_id_anchor span.glyphicon,
.main h6 a.default_id_anchor .material-icons, .main dt a.default_id_anchor span.glyphicon,
.main dt a.default_id_anchor .material-icons {
  position: relative;
  line-height: 16px;
  margin-left: 4px;
  color: #526069;
  font-size: 14px;
  opacity: 0.3;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  text-decoration: none;
}
.main h1 a.default_id_anchor span.glyphicon:visited,
.main h1 a.default_id_anchor .material-icons:visited, .main h2 a.default_id_anchor span.glyphicon:visited,
.main h2 a.default_id_anchor .material-icons:visited, .main h3 a.default_id_anchor span.glyphicon:visited,
.main h3 a.default_id_anchor .material-icons:visited, .main h4 a.default_id_anchor span.glyphicon:visited,
.main h4 a.default_id_anchor .material-icons:visited, .main h5 a.default_id_anchor span.glyphicon:visited,
.main h5 a.default_id_anchor .material-icons:visited, .main h6 a.default_id_anchor span.glyphicon:visited,
.main h6 a.default_id_anchor .material-icons:visited, .main dt a.default_id_anchor span.glyphicon:visited,
.main dt a.default_id_anchor .material-icons:visited {
  color: #526069;
}
.main h1 a.default_id_anchor span.glyphicon:hover,
.main h1 a.default_id_anchor .material-icons:hover, .main h2 a.default_id_anchor span.glyphicon:hover,
.main h2 a.default_id_anchor .material-icons:hover, .main h3 a.default_id_anchor span.glyphicon:hover,
.main h3 a.default_id_anchor .material-icons:hover, .main h4 a.default_id_anchor span.glyphicon:hover,
.main h4 a.default_id_anchor .material-icons:hover, .main h5 a.default_id_anchor span.glyphicon:hover,
.main h5 a.default_id_anchor .material-icons:hover, .main h6 a.default_id_anchor span.glyphicon:hover,
.main h6 a.default_id_anchor .material-icons:hover, .main dt a.default_id_anchor span.glyphicon:hover,
.main dt a.default_id_anchor .material-icons:hover {
  color: #3aa99e;
  opacity: 1;
}
.main h1 {
  margin-bottom: 0px;
}
.main h2 {
  border-bottom: 1px solid #ddd;
  padding-bottom: 0.1em;
  margin-bottom: 0.3em;
}
.main .metainfo {
  font-family: "Helvetica", "Neue Haas Grotesk", "Tahoma", "Verdana", "Segoe", "ヒラギノ角ゴPro", "Hiragino Kaku Gothic Pro", "Osaka", "メイリオ", "Meiryo", "ＭＳＰゴシック", "MS PGothic", sans-serif;
  margin: 0px 0px 1em 0px;
}
.main .metainfo .version {
  color: #666;
}
.main .metainfo .label {
  font-size: 9px;
  margin-left: 4px;
}
.main .metainfo .badge {
  font-size: 11px;
  font-weight: 400;
  border-radius: 0.2rem;
}
.main .metainfo ul {
  margin: 4px 0 0 0;
  padding: 0px;
  position: relative;
}
.main .metainfo ul li {
  display: inline;
  vertical-align: bottom;
}
.main .metainfo ul li.facebook div {
  top: 1px;
}
.main .metainfo small {
  font-size: 6px;
  font-weight: 200;
}
.main b {
  font-family: "Helvetica", "Neue Haas Grotesk", "Tahoma", "Verdana", "Segoe", "ヒラギノ角ゴPro", "Hiragino Kaku Gothic Pro", "Osaka", "メイリオ", "Meiryo", "ＭＳＰゴシック", "MS PGothic", sans-serif;
  font-weight: bold;
}
.main em {
  font-style: italic;
  font-family: "Noto Sans JP", "ＭＳＰゴシック", "MS PGothic", "Helvetica", "Neue Haas Grotesk", "Tahoma", "Verdana", "Segoe", "ヒラギノ角ゴPro", "Hiragino Kaku Gothic Pro", "Osaka", "メイリオ", "Meiryo", "ＭＳＰゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  text-decoration: underline wavy rgba(0, 133, 201, 0.5);
  /* rgba(67,13,18,1); */
  /* rgba(29,56,122,0.75); */
  /* rgba() */
}
.main i {
  font-style: italic;
  font-family: "Noto Sans JP", "ＭＳＰゴシック", "MS PGothic", "Helvetica", "Neue Haas Grotesk", "Tahoma", "Verdana", "Segoe", "ヒラギノ角ゴPro", "Hiragino Kaku Gothic Pro", "Osaka", "メイリオ", "Meiryo", "ＭＳＰゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
}
.main i :not(a[href]) {
  text-decoration: underline dotted #DDD 2px;
}
.main a[href] {
  color: #353FBC;
}
.main a[href] code {
  color: inherit;
}
.main .bg-dark a[href] {
  color: #77B8DA;
}
.main kbd {
  border: 1px solid #aaa;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  -moz-box-shadow: 1px 2px 2px #ddd;
  -webkit-box-shadow: 1px 2px 2px #ddd;
  box-shadow: 1px 2px 2px #ddd;
  background-color: #f9f9f9;
  background-image: -moz-linear-gradient(top, #eee, #f9f9f9, #eee);
  background-image: -o-linear-gradient(top, #eee, #f9f9f9, #eee);
  background-image: -webkit-linear-gradient(top, #eee, #f9f9f9, #eee);
  background-image: linear-gradient(top, #eee, #f9f9f9, #eee);
  padding: 1px 3px;
  font-family: "Tahoma", "Chicago", monospace;
  font-size: 0.7em;
  white-space: nowrap;
  color: black;
  min-width: 0.8em;
}
.main tt {
  font-family: "Consolas", "Courier", "Courier New", monospace;
}
.main pre {
  font-family: Consolas, Courier, Courier new, monospace;
  font-size: smaller;
}
.main pre[class*=language-] code[class*=language-] {
  font-size: 95%;
}
.main blockquote {
  font-size: inherit;
  padding: 0.4em 0.8em;
  margin: 0 0 0.8em;
  border-left: solid 5px #EEE;
}
.main blockquote p:last-child {
  margin-bottom: 0;
}
.main blockquote .note {
  font-size: smaller;
  color: #444;
  line-height: 120%;
}
.main strong, .main mark {
  font-weight: 300;
  /* スマートフォンで透明の中間色部分がグレーに表示されてしまう対応で rgba(255,255,255,0) を追加している。
   * "これは、transparent == rgba(0,0,0,0)であるというカラーリテラルの仕様を、FirefoxやSafariが忠実に踏襲してしまったことが
   * 原因である（だから、仕様的には実はこちらが正しいのである）。グラーデーションを指定するときは、ベースとなるカラーが必ず
   * あるはずだから、たとえば#FFFFFFならrgba(255,255,255,0)とちゃんと書く癖をつけよう。"
   * https://qiita.com/kyoyababa/items/b7403f6ed982fefb6045
  */
  background: rgba(255, 255, 255, 0) linear-gradient(transparent 65%, #fff136 65%, #fff136 82%, transparent 82%);
}
.main cite {
  font-family: "Noto Sans JP", "ＭＳＰゴシック", "MS PGothic", "Helvetica", "Neue Haas Grotesk", "Tahoma", "Verdana", "Segoe", "ヒラギノ角ゴPro", "Hiragino Kaku Gothic Pro", "Osaka", "メイリオ", "Meiryo", "ＭＳＰゴシック", "MS PGothic", sans-serif;
  font-weight: lighter;
}
.main *:not(pre) > code {
  color: black;
  background: #E8EAEA;
  border-radius: 2px;
  padding: 0 0.15em 0 0.15em;
}
.main img.page_logo_image {
  max-width: 260px;
  max-height: 80px;
  margin: 4px;
  float: right;
}
.main dl dt, .main dl dd {
  box-sizing: border-box;
  margin-left: 2.4em;
}
.main dl dt {
  font-weight: 700;
  display: list-item;
  margin-bottom: 0.2em;
}
.main dl.process > dt {
  list-style-type: decimal;
}
.main dl dt:not(:first-child) {
  margin-top: 0.4em;
}
.main dl dd {
  font-size: 97%;
}
.main dl.compact {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 0.4rem;
  align-items: start;
}
.main dl.compact dt {
  padding: 0;
  margin: 0;
  list-style-type: none;
  grid-column: 1;
  white-space: nowrap;
  font-weight: normal;
  text-shadow: none;
  letter-spacing: 0;
  text-indent: -0.7rem;
  padding-left: 0.7rem;
}
.main dl.compact dt::before {
  content: "･ ";
}
.main dl.compact dd {
  padding: 0;
  margin: 0;
  grid-column: 2;
  text-indent: -1.85rem;
  padding-left: 1.8rem;
}
.main dl.compact dd::before {
  /* content: " \22EF "; */
  content: "･･･ ";
}
.main dl.numbering {
  counter-reset: number 0;
}
.main dl.numbering > dt {
  font-size: 110%;
  display: block;
  margin-left: 1em;
}
.main dl.numbering > dt::before {
  counter-increment: number 1;
  content: counter(number) ". ";
}
.main table {
  font-size: 13px;
}
.main table.matrix {
  border-collapse: separate;
  border-spacing: 1px;
  table-layout: fixed;
  border-left: solid 1px lightgray;
  border-right: solid 1px lightgray;
  padding: 0 0.5em 0 0.5em;
  width: 100%;
}
.main table.matrix input {
  width: 100%;
  text-align: right;
}
.main table.matrix td {
  text-align: right;
}
.main table.matrix th {
  text-align: center;
}
.main table.wikitable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0.15rem 0rem;
  margin-bottom: 0.8em;
  background-color: #FEFFFD;
}
.main table.wikitable th .number, .main table.wikitable th .date, .main table.wikitable th .time, .main table.wikitable th .right, .main table.wikitable td .number, .main table.wikitable td .date, .main table.wikitable td .time, .main table.wikitable td .right {
  text-align: right;
}
.main table.wikitable th .center, .main table.wikitable td .center {
  text-align: center;
}
.main table.wikitable th {
  background-color: #F0F0F0;
  border-bottom: solid 0.1rem #FFF;
  padding: 0.2em 0.5em 0.2em 0.5em;
  margin-bottom: 0.2em;
}
.main table.wikitable td {
  border-bottom: dotted 1px #CCC;
  padding: 0.2em 0.5em 0.2em 0.5em;
}
.main table.wikitable tr.hline th, .main table.wikitable tr.hline td {
  border-top: solid 1px #AAA;
}
.main table.wikitable tr.hdline th, .main table.wikitable tr.hdline td {
  border-top: double 3px #AAA;
}
.main table.wikitable thead > tr:last-child > * {
  border-bottom: double 3px gray;
}
.main table.wikitable tr:first-child > td {
  border-top: dotted 1px #CCC;
  padding-top: 4px;
}
.main table.wikitable caption {
  padding: 0.25rem 0 0.4rem 0;
}
.main table.wikitable.smaller td, .main table.wikitable.smaller th {
  font-size: 90%;
}
.main table.wikitable.x-smaller td, .main table.wikitable.x-smaller th {
  font-size: 80%;
  padding: 0 0.5em;
}
.main table.wikitable.auto {
  width: auto;
}
.main table.wikitable.vline-0 tr th:nth-child(1), .main table.wikitable.vline-0 tr td:nth-child(1) {
  border-left: double 3px #AAA;
}
.main table.wikitable.vline-1 tr th:nth-child(2), .main table.wikitable.vline-1 tr td:nth-child(2) {
  border-left: double 3px #AAA;
}
.main table.wikitable.vline-2 tr th:nth-child(3), .main table.wikitable.vline-2 tr td:nth-child(3) {
  border-left: double 3px #AAA;
}
.main table.wikitable.vline-3 tr th:nth-child(4), .main table.wikitable.vline-3 tr td:nth-child(4) {
  border-left: double 3px #AAA;
}
.main table.wikitable.vline-4 tr th:nth-child(5), .main table.wikitable.vline-4 tr td:nth-child(5) {
  border-left: double 3px #AAA;
}
.main table.wikitable.vline-5 tr th:nth-child(6), .main table.wikitable.vline-5 tr td:nth-child(6) {
  border-left: double 3px #AAA;
}
.main table.wikitable.vline-6 tr th:nth-child(7), .main table.wikitable.vline-6 tr td:nth-child(7) {
  border-left: double 3px #AAA;
}
.main table.wikitable.vline-7 tr th:nth-child(8), .main table.wikitable.vline-7 tr td:nth-child(8) {
  border-left: double 3px #AAA;
}
.main table.wikitable.vline-8 tr th:nth-child(9), .main table.wikitable.vline-8 tr td:nth-child(9) {
  border-left: double 3px #AAA;
}
.main table.wikitable.vline-9 tr th:nth-child(10), .main table.wikitable.vline-9 tr td:nth-child(10) {
  border-left: double 3px #AAA;
}
.main table.wikitable.vline-10 tr th:nth-child(11), .main table.wikitable.vline-10 tr td:nth-child(11) {
  border-left: double 3px #AAA;
}
.main table.wikitable.vline-11 tr th:nth-child(12), .main table.wikitable.vline-11 tr td:nth-child(12) {
  border-left: double 3px #AAA;
}
.main table.wikitable.vline-12 tr th:nth-child(12), .main table.wikitable.vline-12 tr td:nth-child(12) {
  border-left: double 3px #AAA;
}
.main figure.figure {
  width: 100%;
}
.main .terminology > li {
  font-size: 100%;
}
.main .terminology > li p {
  line-height: 160%;
}
.main .card-list li footer {
  text-align: right;
  display: block;
  font-size: 80%;
  color: #6c757d;
}
.main .card-list li footer cite::before {
  content: "— ";
}
.main .monospace {
  font-family: "Consolas", "Courier", "Courier New", monospace;
  white-space: pre-wrap;
}
.main .small-caps {
  font-family: "Alegreya Sans SC", sans-serif;
  font-size: 120%;
  /* font-variant-caps: small-caps; Alegreya Sans SC は small-caps フォントのため小文字が小さくなりすぎる */
}
.main ol li p, .main ul li p {
  margin-bottom: 0.5rem;
}
.main ol#bibliography, .main ol.bibliography {
  font-size: smaller;
}
.main ol.inline {
  display: inline;
  list-style-type: decimal;
  counter-reset: INLINE-LIST-ITEMS 0;
  margin: 0;
  padding: 0;
}
.main ol.inline li {
  display: inline;
  padding-right: 0.5em;
}
.main ol.inline li:before {
  content: counter(INLINE-LIST-ITEMS) ")";
  counter-increment: INLINE-LIST-ITEMS;
  padding-right: 0.12em;
}
.main ol.inline li:not(:last-child):after {
  content: ",";
}
.main ul.footnote, .main ol.footnote {
  font-size: smaller;
  list-style-type: none;
  margin: 0 0 1rem 0;
  padding: 4px 0.4rem 0.4rem 0.4rem;
  /* border-top: solid 1px #DADADA; */
  color: #606060;
  background-color: #F8F8F8;
}
.main ul.footnote li, .main ol.footnote li {
  margin-bottom: 0.25rem;
  padding-left: 1.25rem;
  text-indent: -1rem;
  border-left: solid 3.2px #AAAAAA;
}
.main ul.footnote li > sup:first-child, .main ol.footnote li > sup:first-child {
  background-color: #69ACDE;
  color: white;
  border-radius: 2pt;
  padding: 0 3px 0 2px;
  margin-right: 0.1rem;
  font-size: 60%;
}
.main a.noteref {
  background-color: #69ACDE;
  color: white;
  padding: 0 3px 0 2px;
  border-radius: 2pt;
}
.main sup > a.noteref {
  font-size: 60%;
}
.main ruby rt {
  color: #888;
  top: -2px;
}
.main div.table-of-contents-outer {
  margin: 1em 0 0 0;
}
.main div.table-of-contents-outer h6 {
  font-family: Apple Chancery, cursive;
  margin: 0 0 4px 0;
}
.main ol.table-of-contents {
  margin: 1em 0 0 0;
  padding: 8px 8px 8px 2.5em;
  background-color: #F6FBF6;
  color: #4169E1;
}
.main ol.table-of-contents a {
  color: #4169E1;
}
.main ol.table-of-contents {
  border: solid 4px #4169E1;
  border-radius: 10px;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.22);
}
.main ol.table-of-contents .under-construction {
  position: relative;
  top: 1px;
  display: inline-block;
  width: 1em;
  height: 1em;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background-image: url("img/under-construction.png");
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: auto 1em;
}
.main ol.table-of-contents + *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  margin-top: 1rem;
}
.main .under-construction h1, .main h1.under-construction, .main h2.under-construction, .main h3.under-construction {
  /* background-image: url("../stylesheet/under-construction-line.png"); */
  background-image: url("../stylesheet/tiger-rope.png");
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: auto 4px;
}
.main span.under-construction:before {
  content: "🏗️👷🚧"; /* \1F6A7 */
  font-size: 32px;
}
.main .metainfo span.under-construction:before {
  content: "";
  font-size: 100%;
}
.main span.mathjax-def {
  display: none;
}
.main span.qed {
  float: right;
  padding-top: 0.2rem;
}
.main .smaller {
  font-size: smaller;
  line-height: 140%;
}
.main .larger {
  font-size: larger;
}
.main p.pseudocode {
  white-space: pre-wrap;
}
.main table.pseudocode {
  width: 100%;
  margin-top: 1rem;
  margin-bottom: 1rem;
  background-color: transparent;
}
.main table.pseudocode td, .main table.pseudocode th {
  padding: 0.3rem;
  white-space: nowrap;
}
.main table.pseudocode tr {
  border-top: 1px solid #DEE2E6;
}
.main table.pseudocode tr:last-child {
  border-bottom: 1px solid #DEE2E6;
}
.main table.pseudocode .line-number {
  text-align: right;
  width: 0.8em;
}
.main table.pseudocode .line-number a {
  color: #212222;
  color: #212222;
}
.main table.pseudocode .comment {
  color: #888;
}
.main {
  /* See also: default.js */
}
.main dl.foldable-prompts {
  padding: 0.8rem 0.8rem;
  border-radius: 0.3em;
  background-color: rgb(39, 40, 34);
  color: #f8f8f2;
}
.main dl.foldable-prompts dt:has(pre), .main dl.foldable-prompts dd:has(pre) {
  margin: 0;
  padding: 0;
  font-weight: normal;
  display: block;
}
.main dl.foldable-prompts dt:has(pre) pre, .main dl.foldable-prompts dd:has(pre) pre {
  margin: 0;
  padding: 0;
}
.main dl.foldable-prompts dt:has(pre) ::-webkit-scrollbar, .main dl.foldable-prompts dd:has(pre) ::-webkit-scrollbar {
  width: 0.5rem;
  height: 0.5rem;
}
.main dl.foldable-prompts dt:has(pre) ::-webkit-scrollbar-track, .main dl.foldable-prompts dd:has(pre) ::-webkit-scrollbar-track {
  box-shadow: 0 0 5px #000113 inset;
}
.main dl.foldable-prompts dt:has(pre) ::-webkit-scrollbar-thumb, .main dl.foldable-prompts dd:has(pre) ::-webkit-scrollbar-thumb {
  background: #00010e;
  border: 0.75px outset #00010e;
}
.main dl.foldable-prompts dt:has(pre) {
  position: relative;
  padding-left: 24px;
  cursor: pointer;
}
.main dl.foldable-prompts dt:has(pre) .foldable-prompt-grip {
  display: inline-flex;
  position: absolute;
  left: 0px;
  top: 4px;
}
.main dl.foldable-prompts dt:has(pre).collapsed .foldable-prompt-grip {
  content: url("/mox/img/folding-prompt-collapsed.png");
}
.main dl.foldable-prompts dt:has(pre).abridged .foldable-prompt-grip {
  content: url("/mox/img/folding-prompt-abridged.png");
}
.main dl.foldable-prompts dt:has(pre):not(.collapsed):not(.abridged) .foldable-prompt-grip {
  content: url("/mox/img/folding-prompt-opened.png");
}
.main dl.foldable-prompts dd:has(pre) {
  margin-left: 24px;
}
.main dl.foldable-prompts dd:has(pre).collapsed {
  display: none;
}
.main dl.foldable-prompts dd:has(pre) a.foldable-prompt-ellipsis {
  max-height: 1rem;
  cursor: pointer;
  color: #708090;
}
.main dl.foldable-prompts dd:has(pre) a:hover.foldable-prompt-ellipsis {
  text-decoration: none;
}
.main p::selection, .main p *::selection {
  background-color: #D0EAE9;
}
.main .search-results {
  margin-top: 0.8rem;
}
.main .search-results dt {
  text-shadow: none;
  list-style-type: decimal;
  margin-left: 2.3rem;
  font-size: 1.2rem;
  font-family: "Helvetica", "Neue Haas Grotesk", "Tahoma", "Verdana", "Segoe", "ヒラギノ角ゴPro", "Hiragino Kaku Gothic Pro", "Osaka", "メイリオ", "Meiryo", "ＭＳＰゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
}
.main .search-results dd .search-summary {
  margin-bottom: 0;
}
.main .search-results dd .search-fragments {
  margin-top: 0.4rem;
  padding: 0.4rem;
  color: #555;
  font-size: smaller;
  background-color: #D8D6D5;
  border-radius: 0.3em;
}
.main .search-results dd .search-fragments em {
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
  color: #000;
  background: linear-gradient(transparent 70%, #ECDF2B 30%);
}
.main .img-10, .main .width-10 {
  max-width: min(10rem, 100%);
}
.main .img-15, .main .width-15 {
  max-width: min(15rem, 100%);
}
.main .img-20, .main .width-20 {
  max-width: min(20rem, 100%);
}
.main .img-25, .main .width-25 {
  max-width: min(25rem, 100%);
}
.main .img-30, .main .width-30 {
  max-width: min(30rem, 100%);
}
.main .img-35, .main .width-35 {
  max-width: min(35rem, 100%);
}
.main .img-40, .main .width-40 {
  max-width: min(40rem, 100%);
}
.main .img-45, .main .width-45 {
  max-width: min(45rem, 100%);
}
.main .img-50, .main .width-50 {
  max-width: min(50rem, 100%);
}
.main .img-55, .main .width-55 {
  max-width: min(55rem, 100%);
}
.main .img-60, .main .width-60 {
  max-width: min(60rem, 100%);
}
.main .img-65, .main .width-65 {
  max-width: min(65rem, 100%);
}
.main .img-70, .main .width-70 {
  max-width: min(70rem, 100%);
}
.main .img-75, .main .width-75 {
  max-width: min(75rem, 100%);
}
.main .img-80, .main .width-80 {
  max-width: min(80rem, 100%);
}
.main .img-85, .main .width-85 {
  max-width: min(85rem, 100%);
}
.main .img-90, .main .width-90 {
  max-width: min(90rem, 100%);
}
.main .img-95, .main .width-95 {
  max-width: min(95rem, 100%);
}
.main details {
  background-color: #F0F0F0;
  padding: 4px 8px;
}

body.auto-section-numbering ol.table-of-contents {
  list-style-type: none;
  padding-left: 1em;
}

.obfuscated {
  font-family: "Noto Serif Hentaigana", sans-serif;
}

html[lang=en] .main p {
  text-align: justify;
  text-justify: auto;
}

.sr-only {
  display: none;
}

.number {
  text-align: right;
}

.nobr {
  white-space: nowrap;
}

h4.banner-julia {
  background-image: url("lang/julia/logo.png");
}

/* .index.xml に書くカテゴリ共通リスト */
ul.category-index {
  list-style-type: none;
  padding: 0px;
  margin: 0px;
  font-size: smaller;
}
ul.category-index li {
  display: inline;
}
ul.category-index li::before {
  content: " :: ";
}
ul.category-index li.caption {
  font-weight: bold;
}
ul.category-index li.caption::before {
  content: "";
}

.breadcrumb-header, .breadcrumb-footer {
  font-size: 13px;
  background-color: #CFD7DF;
  list-style-type: none;
  border-radius: 4px;
  line-height: 1.6em;
  border-radius: 2px;
}
.breadcrumb-header .bread-crumb-link-index, .breadcrumb-footer .bread-crumb-link-index {
  font-weight: 700;
}

.breadcrumb-header {
  margin: -8px 0px 0px 0px;
}

.breadcrumb-footer {
  margin: 2em 4px 0px 0px;
}

.toc_container h3 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 18px;
  color: #212222;
  font-weight: normal;
}
.toc_container p {
  font-size: smaller;
  line-height: 155%;
  line-break: break-all;
  color: #888;
}
.toc_container a {
  color: #212222;
}
.toc_container img.toc_thumbnail {
  border-radius: 24px;
  height: 48px;
  width: 48px;
  object-fit: cover;
  margin-right: 12px;
  float: left;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.4);
}
.toc_container img.toc_quality {
  border-radius: 4px;
  height: 32px;
  width: 32px;
  object-fit: cover;
  margin-right: 12px;
  float: right;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);
}
.toc_container .toc_item div.metainfo {
  font-size: 12px;
  color: #233;
  margin-bottom: 0;
}
.toc_container .toc_item h3 {
  margin: 0 0 4px 0;
}
.toc_container .toc_item p {
  margin-bottom: 4px;
}
.toc_container .label.under-construction, .toc_container .label-warning.under-construction {
  background-image: url("../stylesheet/tiger-rope.png");
  text-shadow: 1px 1px 1px #000;
}

.jumbotron.toc {
  min-height: 300px;
  background-image: url("img/jumbotron.jpg");
  background-size: cover;
  color: white;
}
.jumbotron.toc h1 {
  font-family: "Orbitron", "Tahoma", "Helvetica Neue", "Noto Sans JP", sans-serif;
  font-size: 64px;
  text-shadow: 1px 1px 3px #000;
}
.jumbotron.toc p {
  font-family: "Helvetica", "Neue Haas Grotesk", "Tahoma", "Verdana", "Segoe", "ヒラギノ角ゴPro", "Hiragino Kaku Gothic Pro", "Osaka", "メイリオ", "Meiryo", "ＭＳＰゴシック", "MS PGothic", sans-serif;
  font-size: 1.4rem;
  line-height: 120%;
  text-shadow: 1px 1px 3px #000;
}
.jumbotron.toc blockquote {
  font-family: "Times", "Times New Roman", "UD デジタル教科書体NK-R", "BIZ UD明朝", "Hiragino Mincho ProN", serif;
  font-size: 1.2rem;
  border: none;
  position: relative;
  padding: 10px 15px 10px 55px;
  box-sizing: border-box;
  font-style: italic;
}
.jumbotron.toc blockquote:before {
  display: inline-block;
  position: absolute;
  top: 0px;
  left: 15px;
  content: "“";
  font-size: 60px;
  font-style: normal;
  line-height: 1;
  font-weight: 900;
  color: #CCC;
}

.tooltip-inner a[href] {
  color: white;
  text-decoration: underline;
}

footer {
  margin-top: 0.4em;
  color: #888;
  font-size: 9px;
  line-height: 100%;
}

/* スマートフォンなど */
@media (max-width: 767px) {
  nav#nav-menu {
    display: none;
    margin-top: 54px;
  }
  .container {
    /*
      margin: 4px 4px 4px 4px;
      */
  }
  .main {
    width: 100%;
    margin: 54px 0px 4px 0px;
  }
  .jumbotron.toc {
    min-height: 12rem;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .jumbotron.toc h1 {
    font-size: 2.1rem;
  }
  .jumbotron.toc p {
    font-size: 1.8rem;
  }
  .page_logo_image {
    display: none;
  }
  html[lang=en] .main p {
    text-align: start;
  }
}
/* タブレットなど */
@media (min-width: 768px) and (max-width: 991px) {
  nav.navbar {
    display: none;
  }
  #nav-menu-button {
    display: none;
  }
  nav {
    width: 160px;
    float: left;
  }
  .main {
    margin-left: 168px;
    margin-right: 8px;
  }
  footer.pagefooter {
    margin-left: 168px;
  }
  .jumbotron.toc {
    min-height: 240px;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
/* PC など */
@media (min-width: 992px) {
  nav.navbar {
    display: none;
  }
  #nav-menu-button {
    display: none;
  }
  nav {
    width: 240px;
    float: left;
  }
  .container {
    margin: 0.4rem 0 1rem 0.2rem;
  }
  .main {
    margin-left: 248px;
    margin-right: 8px;
  }
  footer.pagefooter {
    margin-left: 248px;
  }
}
/* プリンター向け設定 */
@media print {
  body {
    background-color: white;
    color: black;
  }
  .container {
    max-width: 100%;
    margin: 0;
    padding: 0;
  }
  .main {
    font-size: 0.8rem !important;
    box-shadow: none;
    margin: 0;
    background-color: white;
    color: black;
    border-radius: 0;
  }
  .main a:link, .main a:visited {
    color: #212222;
    text-decoration: underline solid #AAA;
  }
  .main em {
    text-decoration: underline wavy #444;
  }
  .main .figure-caption {
    color: black;
  }
  #nav-menu, .navbar {
    display: none;
  }
  .no-print, .table-of-contents {
    display: none;
  }
}
/* Bootstrap 5 で導入されたデフォルトの smooth scroll をオフ。 */
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: auto;
  }
}
/* Creative Commons ライセンス
 * https://creativecommons.org/about/downloads/
*/
span.pd, span.cc-by, span.cc-by-sa {
  display: inline-block;
  width: 80px;
  height: 15px;
  background-repeat: no-repeat;
  color: transparent;
  font-size: 0px;
  overflow: hidden;
}

span.cc-by-sa {
  background-image: url("https://licensebuttons.net/l/by-sa/3.0/80x15.png");
}

span.cc-by {
  background-image: url("https://licensebuttons.net/l/by/3.0/80x15.png");
}

span.pd {
  background-image: url("https://licensebuttons.net/p/mark/1.0/80x15.png");
}