:root{
 --letter_spacing: 0.05em;
 --letter_spacing_gothic: 0.0em;
 --letter_spacing_part: 2.0em;
 --letter_spacing_chapter: 0.8em;
 --letter_spacing_section: 0.5em;
 --letter_spacing_subsec: 0.25em;
 --letter_spacing_item: 0.25em;
 --color_href: #2064af;
 --color_visited: #2064af;
 --color_hover: #ff003c;
 --color_active: #ff007e;
 --color_paragraph: #323232;
 --color_border: #323232;
 --color_background: #ffffff;
 --color_title: #565657;
 --color_gayouorg: #bdc2ce;
 --color_navi: #f7f9fc;
 --color_sitemap: #e4e7ed;
 --color_quotation_background: #f7f9fc;
 --color_quotation_border: #bdc2ce;
 --color_exclamation: #ffff00;
 --height_paragraph_std: 2.0;
 --height_paragraph_in_table: 1.65;
 --height_paragraph_in_notes: 1.65;
 --height_paragraph_in_tempo: 1.25;
 --height_paragraph_in_sitepath: 1.5;
 --height_paragraph_in_figcaption: 1.2;
 --height_paragraph_in_toc: 2.0;
 --height_paragraph_in_navi: 1.65;
 --width_paging: 64px;
 --tocIndent: 1em;
 --tocGap: 1.5em;
 --tocInterval: 1.0em;
}

:target {
  background-color: transparent;
  animation-name: noteBgColor;
  animation-delay: 100ms;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  outline: none;
}

a:link {
 color: var( --color_href );
 text-decoration: none;
}
a:visited {
 color: var( --color_visited );
 text-decoration: none;
}
a:hover {
 color: var( --color_hover );
 text-decoration: none;
}
a:active {
 color: var( --color_active );
 text-decoration: none;
}

q::before {
  content: "";
}

q::after {
  content: "";
}

abbr, cite, dfn {
  font-style: normal;
  text-decoration: none;
  border: none;
  cursor: default;
}

html {
  scroll-padding-top: 4em;
  scroll-behavior: smooth;
}

body {
 color: var( --color_paragraph );
 background-color: var( --color_background );
 font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN" , "游明朝", "Yu Micho", "YuMicho", "ＭＳ Ｐ明朝", "MS PMincho", "ＭＳ 明朝", "MS Mincho", "NINJAL変体仮名", "Century", serif;
 font-size: medium;
 font-weight: normal;
 font-optical-sizing: auto;
 font-style: normal;
 line-height: var( --height_paragraph_std );
 line-break: strict;
 text-align: left;
 vertical-align: baseline;
 letter-spacing: var( --letter_spacing );
 margin: 0px;
 padding: 0px;
 -webkit-text-size-adjust: 100%;
}

/* ナビエリア: 個別コンテンツ (上下) */
div.navi {
 display: flex;
 justify-content: center;
 background-color: var( --color_navi );
 line-height: 1.0;
 width: 100%;
 margin: 0px;
 padding-top: 4px;
 padding-bottom: 4px;
 border-style: none;
}

div.pagingContainer {
 display: flex;
 flex-wrap: nowrap;
 justify-content: space-between;
 background-color: var( --color_navi );
 line-height: 1.5;
 text-align: left;
 align-items: flex-end;
 margin: 0px;
 padding-top: 4px;
 padding-bottom: 4px;
 padding-left: 8px;
 padding-right: 8px;
 border-style: none;
}

div.previous {
  display: block;
  order: 1;
  background-color: transparent;
  white-space: nowrap;
  text-align: left;
  vertical-align: bottom; 
  margin: 0px;
  padding: 0px;
  width: var( --width_paging );
  border-style: none;
}

div.next {
  display: block;
  order: 3;
  background-color: transparent;
  white-space: nowrap;
  text-align: right;
  vertical-align: bottom; 
  margin: 0px;
  padding: 0px;
  width: var( --width_paging );
  border-style: none;
}

div.current, h1.current {
  display: block;
  order: 2;
  font-size: x-large;
  font-weight: bold;
  font-optical-sizing: auto;
  font-style: normal;
  background-color: transparent;
  white-space: nowrap;
  text-align: center;
  vertical-align: top; 
  margin: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 1em;
  padding-right: 1em;
  width: calc( 100% - var( --width_paging ) * 2 - 2em );
  overflow: hidden;
  text-overflow: ellipsis;
  border-style: none;
}

/* ナビエリア: gayou.org (下のみ) */
div.gayouorg {
 display: block;
 background-color: var( --color_gayouorg );
 vertical-align: bottom;
 margin: 0px;
 padding-top: 0.25em;
 padding-bottom: 0.25em;
 padding-left: 0px;
 padding-right: 0px;
 border-style: none;
}

/* ナビエリア: サイトマップ (下のみ) */
div.sitemapContainer {
  font-family: "ヒラギノ角ゴシック ProN W3", "Hiragino Kaku Gothic ProN" , "游ゴシック", "Yu Gothic", "YuGothic", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", "NINJAL変体仮名", "Arial", sans-serif;
  letter-spacing: var( --letter_spacing_gothic );
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
  background-color: var( --color_sitemap );
  font-size: medium;
  font-weight: bold;
  font-style: normal;
  line-height: var( --height_paragraph_in_navi );
  text-align: left;
  vertical-align: top;
  margin: 0px;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 8px;
  padding-right: 8px;
  border-style: none;
}

/* サイトマップ アイテム */
ul.sitemap {
  background-color: transparent;
  white-space: wrap;
  margin: 0px;
  padding: 0px;
  list-style: none;
  line-height: var( --height_paragraph_in_navi );
  border-style: none;
}

li.sitemap {
  background-color: transparent;
  white-space: wrap;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 1em;
  margin-right: 0px;
  padding: 0px;
  list-style: none;
  border-style: none;
}

/* サイトパス */
ol.sitepath {
  font-family: "ヒラギノ角ゴシック ProN W3", "Hiragino Kaku Gothic ProN" , "游ゴシック", "Yu Gothic", "YuGothic", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", "NINJAL変体仮名", "Arial", sans-serif;
  letter-spacing: var( --letter_spacing_gothic );
  font-size: medium;
  font-weight: medium;
  font-style: normal;
  margin-top: 0px;
  margin-bottom: 2em;
  margin-left: 0px;
  margin-right: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
/*  padding-left: calc( 15px + 0.45em ); */
  padding-left: 0px;
  padding-right: 0px;
/*  text-indent: calc( -15px -0.45em ); */
  list-style: none;
  line-height: var( --height_paragraph_in_sitepath );
  overflow: hidden;
  text-overflow: ellipsis;
}

li.sitepath {
  display: inline;
  list-style: none;
  white-space: nowrap;
}

li.sitepath:before {
  content: ">";
  padding-left: 0.2em;
  padding-right: 0.2em;
}

li.sitepath:first-child:before {
  content: url("../images/parts/home.svg");
  padding-left: 0.1em;
  padding-right: 0.3em;
}

/* ホーム用 */
h1.tentative {
  display: block;
  font-size: x-large;
  font-weight: bold;
  font-optical-sizing: auto;
  font-style: normal;
  background-color: transparent;
  text-align: center;
  vertical-align: middle; 
  margin: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 1em;
  padding-right: 1em;
  border-style: none;
}

table.top {
 margin-top: 0px;
 margin-bottom: 0px;
 margin-left: auto;
 margin-right: auto;
 padding: 0px;
 border-style: none;
}

td.top {
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 0px;
 padding-right: 0px;
 margin: 0px;
 text-align: center;
}

/* フッタ */
div.copyright {
  font-family: "ヒラギノ角ゴシック ProN W3", "Hiragino Kaku Gothic ProN" , "游ゴシック", "Yu Gothic", "YuGothic", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", "NINJAL変体仮名", "Arial", sans-serif;
  letter-spacing: var( --letter_spacing_gothic );
  display: block;
  background-color: var( --color_background );
  font-size: small;
  font-weight: normal;
  font-style: normal;
  line-height: 1.0;
  text-align: center;
  vertical-align: baseline;
  white-space: wrap;
  margin: 0px;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  padding-left: 1.0em;
  padding-right: 1.0em;
  border-style: none;
}

footer.copyrightPolyhedral {
 display: block;
 background-color: var( --color_sitemap );
 font-size: small;
 font-weight: normal;
 font-optical-sizing: auto;
 font-style: normal;
 line-height: 1.0;
 text-align: center;
 vertical-align: baseline;
 white-space: wrap;
 margin-top: 2em;
 margin-bottom: 0px;
 margin-left: 0px;
 margin-right: 0px;
 padding-top: 8px;
 padding-bottom: 8px;
 padding-left: 0px;
 padding-right: 0px;
 border-style: none;
}

/* シンプルボックス */
span.smplbxH {
 padding-top: 0px;
 padding-bottom: 1.0px;
 padding-left: 4px;
 padding-right: 4px;
 border-top-style: none;
 border-bottom-style: solid;
 border-left-style: none;
 border-right-style: none;
 border-width: 1.0px;
 border-color: var( --color_border );
}

div.smplbx {
 display: block;
 background-color: transparent;
 margin-left: 8px;
 margin-right: 0px;
 margin-top: 0px;
 margin-bottom: 0px;
 padding: 0px;
 border-style: none;
}

/* ラウンドボックス */
aside.rndbx {
 display: block;
 background-color: transparent;
 margin-left: 1.0em;
 margin-right: 1.0em;
 margin-top: 1.75em;
 margin-bottom: 1.0em;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 0.75em;
 padding-right: 0.75em;
 border-style: solid;
 border-width: 1.0px;
 border-color: var( --color_border );
 border-radius: 8px;
}

/* ラウンドボックス */
div.rndbx {
 display: block;
 background-color: transparent;
 margin-left: 1.0em;
 margin-right: 1.0em;
 margin-top: 1.75em;
 margin-bottom: 1.0em;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 0.75em;
 padding-right: 0.75em;
 border-style: solid;
 border-width: 1.0px;
 border-color: var( --color_border );
 border-radius: 8px;
}

h3.rndbxT {
  display: block;
  font-size: medium;
  font-weight: normal;
  font-optical-sizing: auto;
  font-style: normal;
  background-color: var( --color_background );
  letter-spacing: var( --letter_spacing );
  width: fit-content;
  margin-left: 0em;
  margin-right: 0em;
  margin-top: -1em;
  margin-bottom: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 0.75em;
  padding-right: 0px;
  border-style: none;
}

div.rndbxT {
 display: block;
 background-color: var( --color_background );
 letter-spacing: var( --letter_spacing );
 width: fit-content;
 margin-left: 0em;
 margin-right: 0em;
 margin-top: -1em;
 margin-bottom: 0px;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 0.75em;
 padding-right: 0px;
 border-style: none;
}

/* 引用ボックス */
table.qtbx {
 background-color: #edf0f3;
 font-size: medium;
 font-optical-sizing: auto;
 font-style: normal;
 line-height: var( --height_paragraph_std );
 letter-spacing: var( --letter_spacing );
 margin-left: 1em;
 margin-right: 1em;
 margin-top: 1.25em;
 margin-bottom: 1em;
 padding: 0px;
 border-style: none;
/*
 border-width: 1.0px;
 border-color: var( --color_quotation_border );
*/
 border-spacing: 0px;
 width: calc( 100% - 2em );
}

div.qtbxT {
 display: block;
 background-image: linear-gradient(0deg, var( --color_quotation_background ) 0%, var( --color_quotation_background ) 50%, var( --color_background ) 60%, var( --color_background ) );
 letter-spacing: var( --letter_spacing );
 width: fit-content;
 margin-left: 0px;
 margin-right: 0px;
 margin-top: -1em;
 margin-bottom: 0px;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 0.75em;
 padding-right: 0.75em;
 border-style: none;
}

tr.qtbx {
/* nothing to do so far. */
}

td.qtbx {
 font-weight: normal;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 0.75em;
 padding-right: 0.75em;
 border-bottom-style: none;
 border-left-style: none;
 border-right-style: none;
 border-width: 1.0px;
 border-color: var( --color_quotation_border );
 border-spacing: 0px;
}

td.qtbxS {
 border-top-style: solid;
}

td.qtbxD {
 border-top-style: dashed;
}

td.qtbxN {
 border-top-style: none;
}

/* リスト: 三角 */
ul.trngl {
 list-style-position: outside;
 list-style-image: url("../images/parts/mark_triangle.svg");*
 margin-left: 0px;
 margin-right: 0px;
 margin-top: 0px;
 margin-bottom: 0px;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 1em;
 padding-right: 0px;
 border-style: none;
}

li.std {
 margin: 0px;
 padding: 0px;
 border-style: none;
}

/* 目次 */
ol.toc {
  font-size: medium;
  font-weight: normal;
  font-optical-sizing: auto;
  font-style: normal;
  line-height: var( --height_paragraph_in_toc );
  margin: 0px;
  padding: 0px;
  padding-inline-start: 0px;
  padding-inline-end: 0px;
  border-style: none;
}

li > ol.toc {
  padding-inline-start: var( --tocIndent );
}

li.toc {
  list-style: none;
  margin-top: var( --tocInterval );
  margin-bottom: var( --tocInterval );
  margin-left: 0px;
  margin-right: 0px;
  border-style: none;
}

div.toc2 {
  display: block;
  flex-wrap: nowrap;
  align-items: baseline;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  border-style: none;
  background-position: right bottom;
  background-image: url( "../images/parts/structure_line_toc.svg" );
  background-repeat: space no-repeat;
}

div.toc {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  border-style: none;
}

span.tocTitle {
  flex-grow: 0;
  text-align: left;
  border-style: none;
 background-color: #ffff55;
}

span.tocTitleChapter {
 letter-spacing: var( --letter_spacing_chapter );
}

span.tocTitleSection {
 letter-spacing: var( --letter_spacing_section );
}

span.tocTitleSubsec {
 letter-spacing: var( --letter_spacing_subsec );
}

span.tocTitleItem {
 letter-spacing: var( --letter_spacing_item );
}

span.tocDot {
  flex-grow: 1;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 4px;
  margin-right: 0px;
  background-repeat: space no-repeat;
  background-position: bottom;
  background-image: url( "../images/tocdot.svg" );
  border-style: solid;
  border-width: 1px;
  border-color: #0000ff;
  height: 18px;
}

span.tocFinal {
  flex-grow: 0;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 4px;
  margin-right: 0px;
  padding: 0px;
  background-repeat: no-repeat no-repeat;
  background-position: bottom;
  background-image: url( "../images/tocfinal.svg" );
  border-style: solid;
  border-width: 1px;
  border-color: #ff0000;
  width: 3px;
  height: 18px;
}

/* 編 */
table.part, h1.part, h2.part, h3.part, h4.part, h5.part, h6.part {
 display: table;
 background-color: transparent;
 margin-left: 0px;
 margin-right: 0px;
 margin-top: 2em;
 margin-bottom: 2em;
 padding: 0px;
 border-style: none;
 border-spacing: 0px;
}

td.partN {
 background-color: transparent;
 font-size: 1em;
 font-optical-sizing: auto;
 font-weight: normal;
 font-style: normal;
 line-height: 1.0;
 text-align: left;
 vertical-align: bottom;
 letter-spacing: 0em;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 0px;
 padding-right: 18px;
 border-top-style: none;
 border-bottom-style: none;
 border-left-style: none;
 border-right-style: solid;
 border-width: 1.0px;
 border-color: var( --color_border );
}

td.partC {
 background-color: transparent;
 font-size: 1.2em;
 font-optical-sizing: auto;
 font-weight: normal;
 font-style: normal;
 line-height: 1.25;
 text-align: left;
 vertical-align: bottom;
 padding-top: 0px;
 padding-bottom: 6px;
 padding-left: 32px;
 padding-right: 0px;
 border-style: none;
}

td.partCt25 {
 letter-spacing: var( --letter_spacing_part );
}

td.partCt15 {
 letter-spacing: calc( var( --letter_spacing_part ) * 3 / 5 );
}

tr.part {
}

/* 章節項 */
div.strct {
 display: block;
 background-position-x: right;
 background-position-y: bottom;
 background-origin: padding-box;
 background-repeat: no-repeat;
 font-size: 1.0em;
 font-weight: normal;
 font-optical-sizing: auto;
 font-style: normal;
 line-height: 1.25;
 text-align: left;
 vertical-align: baseline;
 padding: 0px;
 border-style: none;
}

div.strctInner, h1.strctInner, h2.strctInner, h3.strctInner, h4.strctInner, h5.strctInner, h6.strctInner {
 background-color: var( --color_background );
 font-size: 1.0em;
 font-weight: normal;
 font-optical-sizing: auto;
 font-style: normal;
 line-height: 1.5;
 text-align: left;
 text-indent: -2em;
 vertical-align: baseline;
 width: fit-content;
 margin-top: 0px;
 margin-bottom: 0px;
 margin-left: 0px;
 margin-right: 1em;
 padding-top: 0.25em;
 padding-bottom: 0.25em;
 padding-left: 2em;
 padding-right: 0.5em;
 border-style: none;
}

span.strctInner {
  letter-spacing: var( --letter_spacing );
}

span.strctInner0 {
  letter-spacing: 0.0em;
}

/* 章 */
div.chapterToc {
 background-image: url( "../images/parts/structure_line_toc.svg" );
 margin-top: 0.25em;
 margin-bottom: 0.25em;
 margin-left: 0px;
 margin-right: 0px;
}
div.chapterBody {
 background-image: url( "../images/parts/structure_line_body.svg" );
 margin-top: 0.25em;
 margin-bottom: 0.25em;
 margin-left: 0px;
 margin-right: 0px;
}

div.chapterInner, h1.chapterInner, h2.chapterInner, h3.chapterInner, h4.chapterInner, h5.chapterInner, h6.chapterInner {
 letter-spacing: var( --letter_spacing_chapter );
}

/* 節 */
div.sectionToc{
 background-image: url( "../images/parts/structure_line_toc.svg" );
 margin-top: 0.25em;
 margin-bottom: 0.25em;
 margin-left: 0.5em;
 margin-right: 0px;
}
div.sectionBody {
 background-image: url( "../images/parts/structure_line_body.svg" );
 margin-top: 0.25em;
 margin-bottom: 0.25em;
 margin-left: 0px;
 margin-right: 0px;
}

div.sectionInner, h1.sectionInner, h2.sectionInner, h3.sectionInner, h4.sectionInner, h5.sectionInner, h6.sectionInner {
 letter-spacing: var( --letter_spacing_section );
}

/* 項 */
div.subsecToc {
 background-image: url( "../images/parts/structure_line_toc.svg" );
 margin-top: 0.25em;
 margin-bottom: 0.25em;
 margin-left: 1.0em;
 margin-right: 0px;
}
div.subsecBody {
 background-image: url( "../images/parts/structure_line_body.svg" );
 margin-top: 0.25em;
 margin-bottom: 0.25em;
 margin-left: 0px;
 margin-right: 0px;
}

div.subsecInner, h1.subsecInner, h2.subsecInner, h3.subsecInner, h4.subsecInner, h5.subsecInner, h6.subsecInner {
 letter-spacing: var( --letter_spacing_subsec );
}

/* 項以下 */
div.itemToc{
 background-image: url( "../images/parts/structure_line_toc.svg" );
 margin-top: 0.25em;
 margin-bottom: 0.25em;
 margin-left: 1.5em;
 margin-right: 0px;
}
div.itemBody {
 background-image: url( "../images/parts/structure_line_body.svg" );
 margin-top: 0.25em;
 margin-bottom: 0.25em;
 margin-left: 0px;
 margin-right: 0px;
}

div.itemInner, h1.itemInner, h2.itemInner, h3.itemInner, h4.itemInner, h5.itemInner, h6.itemInner {
 letter-spacing: var( --letter_spacing_item );
}

/* 段落 */
p.std, h1.std, h2.std, h3.std, h4.std, h5.std, h6.std{
 font-size: medium;
 font-weight: normal;
 margin-top: 1em;
 margin-bottom: 1em;
 margin-left: 0px;
 margin-right: 0px;
 padding: 0px;
 border-style: none;
}
p.gthc{
  font-family: "ヒラギノ角ゴシック ProN W3", "Hiragino Kaku Gothic ProN" , "游ゴシック", "Yu Gothic", "YuGothic", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", "NINJAL変体仮名", "Arial", sans-serif;
  letter-spacing: var( --letter_spacing_gothic );
 font-size: medium;
 font-weight: normal;
 margin-top: 1em;
 margin-bottom: 1em;
 margin-left: 0px;
 margin-right: 0px;
 padding: 0px;
 border-style: none;
}
p.rt{
 text-align: right;
}
p.cntr{
 text-align: center;
}

p.links{
 margin-top: 1em;
 margin-bottom: 1em;
 margin-left: 2.0em;
 margin-right: 0px;
 padding: 0px;
 border-style: none;
}

/* 汎用テーブル: もとは国絵図総覧専用 → 汎用化 */
table.knz {
 font-size: medium;
 font-optical-sizing: auto;
 font-style: normal;
 line-height: var( --height_paragraph_in_table );
 letter-spacing: var( --letter_spacing );
 margin-left: auto;
 margin-right: auto;
 margin-top: 8px;
 margin-bottom: 16px;
 padding: 0px;
 border-top-style: none;
 border-bottom-style: solid;
 border-left-style: none;
 border-right-style: solid;
 border-width: 1.0px;
 border-color: var( --color_border );
 border-spacing: 0px;
}

caption.knz {
  font-family: "ヒラギノ角ゴシック ProN W3", "Hiragino Kaku Gothic ProN" , "游ゴシック", "Yu Gothic", "YuGothic", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", "NINJAL変体仮名", "Arial", sans-serif;
  letter-spacing: var( --letter_spacing_gothic );
}

tr.knz {
/* nothing to do so far. */
}

th.knzE, td.knzE {
 font-weight: normal;
 padding-top: 8px;
 padding-bottom: 8px;
 padding-left: 8px;
 padding-right: 8px;
 border-left-style: solid;
 border-right-style: none;
 border-bottom-style: none;
 border-width: 1.0px;
 border-color: var( --color_border );
}

th.knzH {
 background-color: var( --color_background );
 text-align: center;
 vertical-align: middle;
}

th.knzHC {
 line-height: 1.1;
}

td.knzV {
 background-color: var( --color_background );
 vertical-align: text-bottom;
}

td.knzL {
 text-align: left;
}

td.knzC {
 text-align: center;
}

td.knzR {
 text-align: right;
}

td.knzTL {
 line-height: 1.1;
 text-align: left;
 vertical-align: middle;
}

td.knzTC {
 line-height: 1.1;
 text-align: center;
 vertical-align: middle;
}

td.knzTR {
 line-height: 1.1;
 text-align: right;
 vertical-align: middle;
}

td.knzTM {
 line-height: 1.0;
 text-align: center;
 vertical-align: middle;
 padding-top: 2px;
 padding-bottom: 2px;
 padding-left: 0px;
 padding-right: 0px;
}

th.knzS, td.knzS {
 border-top-style: solid;
}

th.knzD, td.knzD {
 border-top-style: dashed;
}

th.knzN, td.knzN {
 border-top-style: none;
}

th.adjusted, td.adjusted {
/* nothing to do so far. */
/*   visibility: hidden; */
/*   display: none; */
}

th.needless, td.needless {
  display: none;
}

div.kkdk {
  display: grid;
  grid-template-columns: 1fr minmax( 2em, max-content );
  align-items: center;
}

span.kkdk {
  text-align: right;
  padding-right: 2px; 
}

span.mkr {
  /* nothing to do so far */
}

div.flexImgContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  background-color: var( --color_background );
  width: 100%;
  margin-left: 0px;
  margin-right: 0px;
  margin-top: 4px;
  margin-bottom: 4px;
  padding: 0px;
  border-style: none;
  border-width: 0px;
}

div.flexImgFlexW {
  width: calc( 100% / 3 - 4px );
  min-width: calc( 100% / 3 - 4px );
  max-width: calc( 100% / 3 - 4px );
}

div.flexImgFixedW3 {
  width: calc( 100% / 3 - 4px );
  min-width: calc( 100% / 3 - 4px );
  max-width: calc( 100% / 3 - 4px );
}

div.flexImgFixedW2 {
  width: calc( 50% - 4px );
  min-width: calc( 50% - 4px );
  max-width: calc( 50% - 4px );
}

div.flexImg {
  font-size: medium;
  font-optical-sizing: auto;
  font-style: normal;
  line-height: var( --height_paragraph_in_table );
  text-align: center;
  font-weight: normal;
  letter-spacing: var( --letter_spacing );
  margin-top: 1em;
  margin-bottom: 0.0px;
  margin-left: 0.0px;
  margin-right: 0.0px;
  padding: 0px;
  border-style: none;
  border-width: 0px;
  border-spacing: 0px;
}

/* 天保郷帳・国絵図の村々 */
div.tempoFlex {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 0.0em 1.0em;
 padding: 0px;
 margin: 0px;
 border-style: none;
/*
 border-style: solid;
 border-width: 1px;
 border-color: #ff00ff;
*/
}

div.tempoFrame {
 background: transparent;
 margin: 0.0px;
 padding: 0.0px;
 border-style: none;
}

table.tempoGroup {
 margin-top: 0.0px;
 margin-bottom: 0.5em;
 margin-left: 0.0px;
 margin-right: 0.0px;
 border-style: none;
 border-spacing: 0px;
 width: 100%;
}

tr.tempoGroup {
/* nothing to do so far. */
}

td.tempoGroup {
 background-color: var( --color_quotation_background );
 padding-left: 4.0px;
 padding-right: 4.0px;
 border-left-style: none;
 border-right-style: none;
}

td.tempoU {
 padding-top: 0.0px;
 padding-bottom: 0.0px;

 border-top-style: solid;
 border-top-width: 1.0px;
 border-top-color: var( --color_quotation_border );

 border-bottom-style: none;

 border-top-left-radius: 8.0px;
 border-top-right-radius: 8.0px;
}

td.tempoD {
 padding-top: 0.0px;
 padding-bottom: 0.5em;

 border-top-style: none;
/*
 border-top-style: solid;
 border-top-width: 1px;
 border-top-color: #ff0000;
*/
 border-bottom-style: solid;
 border-bottom-width: 1.0px;
 border-bottom-color: var( --color_quotation_border );

 border-bottom-left-radius: 8.0px;
 border-bottom-right-radius: 8.0px;
}

table.tempo {
 background-color: transparent;
 margin-top: 0.0px;
 margin-bottom: 1.0em;
 margin-left: 0.0px;
 margin-right: auto;
 padding: 0.0px;
 border-style: none;
/*
 border-style: solid;
 border-width: 1px;
 border-spacing: 0px;
*/
}

tr.tempo {
/* nothing to do so far. */
}

td.tempo {
 background-color: transparent;
 height: 2.0em;
 padding: 0.0px;
 border-style: none;
}

div.tempoContainer {
 display: flex;
 padding-top: 0.0px;
 padding-bottom: 0.0px;
 padding-left: 2.0px;
 padding-right: 2.0px;
 margin: 0.0px;
 height: 2.0em;
 align-items: flex-end;
 border-style: none;
/*
 border-style: solid;
 border-width: 1px;
 border-color: #ff00ff;
*/
}

div.tempoItem {
 display: block;
 vertical-align: baseline;
 height: fit-content;
 width: fit-content;
 line-height: 1.0;
 letter-spacing: var( --letter_spacing );
 padding-top: 0.0px;
 padding-bottom: 0.0px;
 padding-left: 0.0px;
 padding-right: 0.0px;
 margin-top: auto;
 margin-bottom: 0.0px;
 border-style: none;
/*
 border-style: solid;
 border-width: 1px;
 border-color: #0000ff;
*/
}

div.tempoL {
 margin-left: 0.0px;
 margin-right: auto;
}

div.tempoR {
 margin-left: auto;
 margin-right: 0.0px;
}

details.notes {
  border: none;
}

details.details {
  border: none;
}

details.updates {
  border: none;
}

details.updates[open] summary.updates::after {
  content: " (閉じる)";
}

summary.notes {
  outline: none;
  font-size: small;
  cursor:pointer;
}

summary.details {
  outline: none;
  font-size: medium;
  cursor:pointer;
}

summary.updates {
  outline: none;
  font-size: medium;
  cursor:pointer;
}

summary.updates::after {
  content: " (開く)";
}

ol.notes {
 font-size: small;
 font-style: normal;
 line-height: var( --height_paragraph_in_notes );
 margin-left: 0.5em;
}

li.note {
  /* nothing to do so far */
}

sup.reference {
  /* nothing to do so far */
}

a.reference {
  /* nothing to do so far */
}

table.notes {
 font-size: small;
 font-optical-sizing: auto;
 font-style: normal;
 line-height: var( --height_paragraph_in_notes );
 letter-spacing: 0.025em;
 margin-left: 2em;
 margin-right: 2em;
 margin-top: 8px;
 margin-bottom: 8px;
 padding: 0px;
 border-style: none;
 border-spacing: 0px;
}

td.notesKey {
 white-space: nowrap;
/* deprecated
 background-color: transparent;
*/
 text-align: right;
 vertical-align: baseline;
 padding: 4px;
 border-style: none;
}

td.notesValue {
/* deprecated
 background-color: transparent;
*/
 text-align: left;
 vertical-align: text-top;
 padding: 4px;
 border-style: none;
}

td.notesKeyRfd {
 white-space: nowrap;
/* deprecated
 white-space: nowrap;
 background-color: transparent;
 animation-name: noteBgColor;
 animation-delay: 100ms;
 animation-duration: 1.5s;
 animation-fill-mode: forwards;
 animation-iteration-count: 1;
*/
 text-align: right;
 vertical-align: baseline;
 padding: 4px;
 border-style: none;
}

td.notesValueRfd {
/* deprecated
 background-color: transparent;
 animation-name: noteBgColor;
 animation-delay: 100ms;
 animation-duration: 1.5s;
 animation-fill-mode: forwards;
 animation-iteration-count: 1;
*/
 text-align: left;
 vertical-align: text-top;
 padding: 4px;
 border-style: none;
}

sup.note {
/* deprecated
 background-color: transparent;
*/
}

sup.noteRfd {
/* deprecated
 background-color: transparent;
 animation-name: noteBgColor;
 animation-delay: 100ms;
 animation-duration: 1.5s;
 animation-fill-mode: forwards;
 animation-iteration-count: 1;
*/
}

@keyframes noteBgColor{
 0% {
  background: var( --color_exclamation );
 }
 100% {
  background: var( --color_sitemap );
 }
}

@keyframes ghost {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes zoomOut {
  0% { transform: scale(1.0); }
  5% { transform: scale(1.05); }
  50% { transform: scale(1.05); }
  55% { transform: scale(1.0); }
  100% { transform: scale(1.0); }
}

@keyframes moveBg {
  0% { background-position: 0% 0%; }
  100% { background-position: 100% 100%; }
}

@keyframes panLinear {
  0% { transform: translate( 0, 0 ); }
  38% { transform: translate( calc( 100cqw - 2048px ), calc( 100cqh - 384px ) ); }
  50% { transform: translate( calc( 100cqw - 2048px ), 0 ); }
  88% { transform: translate( 0, calc( 100cqh - 384px ) ); }
  100% { transform: translate( 0, 0 ); }
}

div.scrollableContainer {
  margin: 0px;
  padding: 0px;
  position: relative;
}

div.maybeScrollable {
  overflow: auto;
}

div.scrollable {
  overflow: auto;
}

div.maybeScrollable::before, div.scrollable::before {
  display: block;
  position: absolute;
  content: "";
  width: 196px;
  height: 100%;
  left: calc( ( 100% - 196px ) / 2 );
  overflow: hidden;
  background-image: url("../images/parts/scrollable.svg");
  background-repeat: space;
  background-size: 196px 176px;
  pointer-events: none;
}

div.maybeScrollable::before {
  animation-name: ghost;
  animation-delay: 100ms;
  animation-duration: 1.0s;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
}
/*
div.scrollable::before {
  animation-name: ghost;
  animation-delay: 0ms;
  animation-duration: 1.5s;
  animation-fill-mode: backwards;
  animation-iteration-count: 1;
}
*/
figure.std {
  text-align: left;
  margin: 0px;
  margin-block: 0px;
  margin-inline: 0px;
}

figcaption.std {
  font-family: "ヒラギノ角ゴシック ProN W3", "Hiragino Kaku Gothic ProN" , "游ゴシック", "Yu Gothic", "YuGothic", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", "NINJAL変体仮名", "Arial", sans-serif;
  letter-spacing: var( --letter_spacing_gothic );
  font-size: x-small;
  line-height: var( --height_paragraph_in_figcaption );
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0.5em;
  margin-right: 0.5em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

div.index {
  /* nothing to do so far */
}

address.std {
  /* nothing to do so far */
}

div.indivimg {
  width: 100%;
  margin: 0px;
  padding: 0px;
  border-style: none;
  text-align: center;
}

a.outbound::after {
 display: inline-block;
 content: url("../images/parts/arrow.svg");
 margin-right: 2px;
}

span.hidden{
  opacity: 0;
}

span.word {
 display: inline;
 white-space: nowrap;
}

span.red {
 display: inline;
 color: #ff0080;
}

span.blue {
 display: inline;
 color: #0013a0;
}

#contents{
 overflow-wrap: break-word;
 max-width: 832px;
 min-width: 480px;
 margin-top: 24px;
 margin-bottom: 24px;
 margin-left: auto;
 margin-right: auto;
}

#contentsKnz{
 overflow-wrap: break-word;
 max-width: 1024px;
 min-width: 640px;
 margin-top: 24px;
 margin-bottom: 24px;
 margin-left: auto;
 margin-right: auto;
}

canvas.polyhedron{
 width: 768px;
 height: 512px;
 cursor: pointer;
 touch-action: none;
}

img.sparkle {
 display: block;
 float: none;
 margin-top: 96px;
 margin-bottom: 8px;
 margin-left: calc((100% - 256px) / 2);
 margin-right: calc((100% - 256px) / 2);
 padding: 0px;
 width: 256px;
 height: 256px;
 border-style: none;
}

img.gayouorg {
 display: block;
 float: none;
 margin-top: 8px;
 margin-bottom: 48px;
 margin-left: calc((100% - 660px) / 2);
 margin-right: calc((100% - 660px) / 2);
 padding: 0px;
 width: 660px;
 height: 108px;
 border-style: none;
}

img.gayouorgwhite {
 display: block;
 float: none;
 margin-top: 0.25em;
 margin-bottom: 0.25em;
 margin-left: calc((100% - 165px) / 2);
 margin-right: calc((100% - 165px) / 2);
 width: 165px;
 height: 27px;
 border-style: none;
}

img.knz {
 display: block;
 float: none;
 margin-top: 16px;
 margin-bottom: 16px;
 margin-left: calc((100% - 596px) / 2);
 margin-right: calc((100% - 596px) / 2);
 padding: 0px;
 width: 596px;
 height: 172px;
 border-style: none;
}

img.knzAlt {
 display: block;
 float: none;
 margin-top: 4px;
 margin-bottom: 4px;
 margin-left: calc((100% - 298px) / 2);
 margin-right: calc((100% - 298px) / 2);
 padding: 0px;
 width: 298px;
 height: 86px;
 border-style: none;
}

img.catalogue {
 display: block;
 float: none;
 margin-top: 16px;
 margin-bottom: 32px;
 margin-left: calc((100% - 660px) / 2);
 margin-right: calc((100% - 660px) / 2);
 padding: 0px;
 width: 660px;
 height: 66px;
 border-style: none;
}

img.catalogueAlt {
 display: block;
 float: none;
 margin-top: 16px;
 margin-bottom: 16px;
 margin-left: calc((100% - 440px) / 2);
 margin-right: calc((100% - 440px) / 2);
 padding: 0px;
 width: 440px;
 height: 44px;
 border-style: none;
}

img.mtsdw {
 display: block;
 float: none;
 margin-top: 16px;
 margin-bottom: 32px;
 margin-left: calc((100% - 439.5px) / 2);
 margin-right: calc((100% - 439.5px) / 2);
 padding: 0px;
 width: 439.5px;
 height: 44.5px;
 border-style: none;
}

img.mtsdwAlt {
 display: block;
 float: none;
 margin-top: 16px;
 margin-bottom: 16px;
 margin-left: calc((100% - 219.75px) / 2);
 margin-right: calc((100% - 219.75px) / 2);
 padding: 0px;
 width: 219.75px;
 height: 22.25px;
 border-style: none;
}

img.w3c {
 display: inline;
 float: none;
 margin: 0px;
 padding: 0px;
 width: 64px;
 height: 64px;
 border-style: none;
}

img.float {
 float: right;
 margin: 0px;
 padding-top: 0px;
 padding-bottom: 0.5em;
 padding-left: 0.5em;
 padding-right: 0px;
 border-style: none;
}

picture.std{
  display: contents;
}

img.std {
 display: block;
 float: none;
 margin-top: 0.5em;
 margin-bottom: 2.0em;
 margin-left: 0px;
 margin-right: 0px;
 width: 100%;
 height: auto;
 padding: 0px;
 border-style: solid;
 border-width: 1.0px;
 border-color: var( --color_background );
}

img.brdr {
 display: block;
 float: none;
 margin-top: 0.5em;
 margin-bottom: 2.0em;
 margin-left: 0px;
 margin-right: 0px;
 width: 100%;
 height: auto;
 padding: 0px;
 border-style: solid;
 border-width: 1.0px;
 border-color: #f0f0f0;
}

img.svg {
 display: block;
 float: none;
 margin-top: 0.5em;
 margin-bottom: 2.0em;
 margin-left: 0px;
 margin-right: 0px;
 width: 100%;
 height: auto;
 padding: 0px;
 border-style: solid;
 border-width: 1.0px;
 border-color: #f0f0f0;
}

img.prtctd {
 display: block;
 float: none;
 margin-top: 0.5em;
 margin-bottom: 2.0em;
 margin-left: 0px;
 margin-right: 0px;
 width: 100%;
 height: auto;
 padding: 0px;
 border-style: solid;
 border-width: 1.0px;
 border-color: var( --color_background );
 pointer-events: none;
 -webkit-touch-callout: none;
 -webkit-user-select: none;
 -moz-touch-callout: none;
 -moz-user-select: none;
 user-select: none;
}

img.punc {
 display: inline;
 float: none;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 0px;
 padding-right: 0px;
 vertical-align: text-bottom;
 width: calc( 1.0em / 5 );
 height: 1.0em;
}

img.definition {
 display: inline;
 float: none;
 padding-left: 1.0px;
 padding-right: 1.0px;
 border-style: none;
 width: 38px;
 height: 35px;
}

img.dingbats {
 display: inline;
 float: none;
 padding-left: 1.0px;
 padding-right: 1.0px;
 border-style: none;
}

img.ribbon {
 width: 24px;
 height: 16px;
}

img.part {
 width: 60px;
 height: 60px;
}

img.resolution {
 width: 12px;
 height: 12px;
}

img.paging {
 width: var( --width_paging );
 height: 20px;
 vertical-align: text-bottom;
}

rt {
  font-size: 0.5em;
}

@font-face {
  font-family: "NINJAL変体仮名";
  font-display: swap;
  src:
    local("NINJAL変体仮名"),
    url("https://www.gayou.org/fonts/ninjal_hentaigana/ninjal_hentaigana.woff2") format("woff2"),
    url("https://www.gayou.org/fonts/ninjal_hentaigana/ninjal_hentaigana.woff") format("woff"),
    url("https://www.gayou.org/fonts/ninjal_hentaigana/ninjal_hentaigana.ttf") format("truetype");
}
/*
フルスペック
 display:
 flex-wrap:
 justify-content:
 color:
 background-color:
 font-family: 
 font-size:
 font-weight:
 font-optical-sizing:
 font-style:
 line-height:
 text-decoration:
 text-align:
 text-decoration-line:
 text-decoration-color:
 text-decoration-style:
 text-underline-offset: 
 vertical-align:
 letter-spacing:
 margin:
 padding:
 border-style:
 border-width:
 border-color:
 border-radius:
*/