:root{
 --color_href: #4e525b;
 --color_visited: #757b95;
 --color_hover: #b28f8f;
 --color_active: #bc5050;
 --color_paragraph: #353535;
 --color_background: #ffffff;
 --color_title: #565657;
}

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: underline;
}
a:active {
 color: var( --color_active );
 text-decoration: underline;
}

.svgTitle {
 fill: var( --color_title );
}

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: 2.0;
 vertical-align: baseline;
 letter-spacing: 0.05em;
 margin: 0px;
 padding: 0px;
}

nav.site {
 background-color: #bdc2ce;
 margin: 0px;
 padding: 0px;
}

div.site{
 color: #ffffff;
 font-size: x-large;
 white-space: nowrap;
 line-height: 1.0;
 text-align: center;
 margin: 0px;
 padding-top: 8px;
 padding-bottom: 8px;
 padding-left: 16pt;
/* padding-right: auto; */
 text-align: left;
}

nav.navi {
 background-color: #f7f9fc;
 margin: 0px;
 padding-top: 0px;
 padding-bottom: 8px;
}

div.title{
 color: #30333a;
 font-size: x-large;
 white-space: nowrap;
 line-height: 1.0;
 text-align: center;
 padding-top: 16px;
 padding-bottom: 8px;
}

img.std {
 float: none;
 margin-top: 16px;
 margin-bottom: 16px;
 /* width指定のため margin-left, right は指定しない */
 width: 100%;
 padding: 0px;
 border-style: none;
}

img.brdr {
 float: none;
 margin-top: 16px;
 margin-bottom: 16px;
 /* width指定のため margin-left, right は指定しない */
 width: 100%;
 padding: 0px;
 border-style:solid;
 border-width: 1px;
 border-color: #f0f0f0;
}

img.sparkle {
 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 {
 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 {
 float: none;
 margin-top: 0px;
 margin-bottom: 0px;
 /* width指定のため margin-left, right は指定しない */
 margin-top: 0px;
 margin-bottom: 0px;
 padding: 0px;
 width: 165px;
 height: 27px;
 border-style: none;
}

img.knz {
 margin-top: 0px;
 margin-bottom: 0px;
 /* width指定のため margin-left, right は指定しない */
 margin-top: 8px;
 margin-bottom: 16px;
 padding: 0px;
 width: 596px;
 height: 172px;
 border-style: none;
}

img.knzAlt {
 margin-top: 0px;
 margin-bottom: 0px;
 /* width指定のため margin-left, right は指定しない */
 margin-top: 4px;
 margin-bottom: 8px;
 padding: 0px;
 width: 298px;
 height: 86px;
 border-style: none;
}

img.catalogue {
 margin-top: 0px;
 margin-bottom: 0px;
 /* width指定のため margin-left, right は指定しない */
 margin-top: 8px;
 margin-bottom: 16px;
 padding: 0px;
 width: 440px;
 height: 44px;
 border-style: none;
}

img.catalogueAlt {
 margin-top: 0px;
 margin-bottom: 0px;
 /* width指定のため margin-left, right は指定しない */
 margin-top: 2px;
 margin-bottom: 4px;
 padding: 0px;
 width: 220px;
 height: 22px;
 border-style: none;
}

img.dingbat {
 float: none;
 margin-top: auto;
 margin-bottom: 0px;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 4px;
 padding-right: 4px;
 width: 24px;
 height: 16px;
 border-style: none;
 vertical-align: baseline;
}

img.fleurdelis {
 float: none;
 margin-top: auto;
 margin-bottom: 0px;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 8px;
 padding-right: 4px;
 width: 18px;
 height: 18px;
 border-style: none;
 vertical-align: baseline;
}

img.resolution {
 float: none;
 margin-top: auto;
 margin-bottom: 0px;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 2px;
 padding-right: 2px;
 width: 12px;
 height: 12px;
 border-style: none;
 vertical-align: baseline;
}

img.w3c {
 float: none;
 margin-top: 0px;
 margin-bottom: 0px;
 margin-left: auto;
 margin-right: 0px;
 width: 64px;
 height: 64px;
 padding: 0px;
}

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

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;
}

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

td.navi {
 color: #4e525b;
 padding-top: 8px;
 padding-bottom: 0px;
 padding-left: 24px;
 padding-right: 24px;
 margin: 0px;
 text-align: center;
 border-style: none;
}

nav.map {
 background-color: #e4e7ed;
 margin: 0px;
 padding-top: 4px;
 padding-bottom: 8px;
 padding-left: 0px;
 padding-right: 0px;
 border-style: none;
}

table.map {
 line-height: 1.5;
 font-size: small;
 color: #4e525b;
 width: 100%;
 margin-top: 4px;
 margin-bottom: 8px;
 margin-left: 0px;
 margin-right: 0px;
 padding-left: 16px;
 border-style: none;
}

td.map {
 vertical-align: text-top;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 12px;
 padding-right: 12px;
}

td.mapSub {
 vertical-align: text-top;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 32px;
 padding-right: 12px;
}

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

div.copyright {
 font-size: small;
 margin-top:8px;
 margin-bottom: 8px;
 text-align: center;
}
/* tempoFlexのコピー; 対象が異なるので名前は変える */
div.generalFlex {
 display: flex;
 flex-wrap: wrap;
 padding: 0px;
 margin: 0px;
 border-style: none;
}

/* tempoGroupのコピー; 対象が異なるので名前は変える */
div.generalGroup {
 padding-left: 0px;
 padding-right: 0px;
 padding-top: 0px;
 padding-bottom: 0px;
 margin-left: 0px;
 margin-right: 0px;
 margin-top: 0px;
 margin-bottom: auto;
 border-style: none;
}

table.notes {
 line-height: 1.5;
 font-size: small;
 margin-left: 32px;
 margin-right: 0px;
 margin-top: 8px;
 margin-bottom: 16px;
 padding: 0px;
 border-style: none;
}

td.notesKey {
 text-align: right;
 font-size: small;
 vertical-align: text-top;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 0px;
 padding-right: 4px;
 border-style: none;
}

td.notesValue {
 text-align: left;
 font-size: small;
 vertical-align: text-top;
 padding: 0px;
 border-style: none;
}

table.list {
 line-height: 1.5;
 font-size: medium;
 margin-left: 16px;
 margin-right: auto;
 margin-top: 0px;
 margin-bottom: 24px;
 padding: 0px;
 border-style: none;
}

td.listKey {
 text-align: right;
 font-size: medium;
 vertical-align: text-top;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 0px;
 padding-right: 4px;
 border-style: none;
}

td.listValue {
 text-align: left;
 font-size: medium;
 vertical-align: text-top;
 padding: 0px;
 border-style: none;
}

table.knz {
 color: #333333;
 background-color: #ffffff;
 font-size: small;
 font-weight: normal;
 font-optical-sizing: auto;
 font-style: normal;
 line-height: 1.5;
 vertical-align: baseline;
 letter-spacing: 0.025em;
 margin-left: 0px;
 margin-right: 0px;
 margin-top: 8px;
 margin-bottom: 8px;
 padding: 0px;
 border-style: solid;
 border-width: 1px;
 border-color: #3a3e4a;
 border-spacing: 0px;
 border-collapse: collapse;
}

th.knzHeader {
 color: #ffffff;
 background-color: #3a3e4a;
 text-align: center;
 vertical-align: middle;
 padding-top: 2px;
 padding-bottom: 2px;
 padding-left: 8px;
 padding-right: 8px;
 border-style: solid;
 border-width: 1px;
 border-color: #ffffff;
}

td.knzKey {
 text-align: left;
 font-size: small;
 background-color: #ffffff;
 color: #000000;
 vertical-align: text-top;
 padding-top: 4px;
 padding-bottom: 4px;
 padding-left: 8px;
 padding-right: 8px;
 border-style: solid;
 border-width: 1px;
 border-color: #000000;
}

td.knzValue {
 text-align: left;
 font-size: small;
 background-color: #ffffff;
 color: #000000;
 vertical-align: text-top;
 padding-top: 4px;
 padding-bottom: 4px;
 padding-left: 8px;
 padding-right: 8px;
 border-style: solid;
 border-width: 1px;
 border-color: #000000;
}

td.knzToggle {
 text-align: center;
 font-size: small;
 background-color: #ffffff;
 color: #000000;
 vertical-align: text-top;
 padding-top: 4px;
 padding-bottom: 4px;
 padding-left: 8px;
 padding-right: 8px;
 border-style: solid;
 border-width: 1px;
 border-color: #000000;
}

table.general {
 line-height: 1.2;
 font-size: medium;
 background-color: #ffffff;
 color: #000000;
 margin-left: 0px;
 margin-right: 0px;
 margin-top: 0px;
 margin-bottom: 18px;
 padding: 0px;
 border-style: solid;
 border-width: 1px;
 border-color: #000000;
 border-spacing: 0px;
 border-collapse: collapse;
}

th.generalHeader {
 text-align: center;
 font-size: medium;
 font-weight: normal;
 background-color: #ffffff;
 color: #000000;
 vertical-align: middle;
 padding-top: 2px;
 padding-bottom: 2px;
 padding-left: 8px;
 padding-right: 8px;
 border-style: solid;
 border-width: 1px;
 border-color: #000000;
}

td.generalKey {
 text-align: left;
 font-size: medium;
 background-color: #ffffff;
 color: #000000;
 vertical-align: text-top;
 padding-top: 4px;
 padding-bottom: 4px;
 padding-left: 8px;
 padding-right: 8px;
 border-style: solid;
 border-width: 1px;
 border-color: #000000;
}

td.generalValue {
 text-align: left;
 font-size: medium;
 background-color: #ffffff;
 color: #000000;
 vertical-align: text-top;
 padding-top: 4px;
 padding-bottom: 4px;
 padding-left: 8px;
 padding-right: 8px;
 border-style: solid;
 border-width: 1px;
 border-color: #000000;
}

td.generalToggle {
 text-align: center;
 font-size: medium;
 background-color: #ffffff;
 color: #000000;
 vertical-align: text-top;
 padding-top: 4px;
 padding-bottom: 4px;
 padding-left: 8px;
 padding-right: 8px;
 border-style: solid;
 border-width: 1px;
 border-color: #000000;
}

table.tempo {
 line-height: 1.2;
 font-size: medium;
 margin-left: 0px;
 margin-right: 0px;
 margin-top: 0px;
 margin-bottom: 18px;
 padding: 0px;
 border-style: none;
}

td.tempoKey {
 text-align: right;
 font-size: medium;
 vertical-align: text-top;
 padding-top: 0px;
 padding-bottom: 0px;
 padding-left: 0px;
 padding-right: 4px;
 border-style: none;
}

td.tempoValue {
 text-align: left;
 font-size: medium;
 vertical-align: text-top;
 padding: 0px;
 border-style: none;
}

div.tempoFlex {
 display: flex;
 flex-wrap: wrap;
 padding: 0px;
 margin: 0px;
 border-style: none;
}

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

table.frame {
 font-size: medium;
 margin: 0px;
 padding: 0px;
 border-style: none;
}

td.frameKey {
 text-align: right;
 font-size: medium;
 vertical-align: text-top;
 padding: 0px;
}

td.frameValue {
 text-align: left;
 font-size: medium;
 vertical-align: text-top;
 padding: 0px;
}

p.std{
 text-align: left;
 font-size: medium;
 margin-top: 0px;
 margin-bottom: 16px;
 margin-left: 0px;
 margin-right: 0px;
 padding: 0px;
 border-style: none;
}

p.refer{
 text-align: left;
 font-size: medium;
 margin-top: 0px;
 margin-bottom: 16px;
 margin-left: 8px;
 margin-right: 0px;
 padding-top: 16px;
 padding-bottom: 8px;
 padding-left: 8px;
 padding-right: 8px;
 border-style: solid;
 border-width: 1px;
 border-color: #a8a89d;
 background-color: #f5f5ea;
}

p.list{
 text-align: left;
 font-size: medium;
 margin-top: 0px;
 margin-bottom: 2px;
 border-style: none;
}

p.tempo{
 text-align: left;
 font-size: medium;
 margin-top: 0px;
 margin-bottom: 2px;
 border-style: none;
}

div.chapter {
 text-align: left;
 font-size: x-large;
 margin-top: 16px;
 margin-bottom: 16px;
 border-style: none;
}

div.section {
 text-align: left;
 font-size: large;
 margin-top: 16px;
 margin-bottom: 16px;
 border-style: none;
}

div.item {
 text-align: left;
 font-size: medium;
 margin-top: 16px;
 margin-bottom: 2px;
 border-style: none;
}

a.outbound::after {
 display: inline-block;
 width: 0.8rem;
 height: 0.8rem;
 content: url("../images/arrow.svg");
 margin-left: 2px;
}
/*
a.outbound{
 white-space: nowrap;
}
*/
span.hidden{
  opacity: 0;
}

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

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

canvas.polyhedron{
 width: 768px;
 max-width: 832px;
 min-width: 480px;
 height: 512px;
 cursor: pointer;
 touch-action: none;
}
/*width:768px; height:512px; max-width:calc(100vw - 32px);max-height:calc((100vw - 32px) * 360 / 600);-ms-touch-action:none;touch-action:none; cursor:pointer;*/

@font-face {
  font-family: "NINJAL変体仮名";
  src:
    local("NINJAL変体仮名"),
    url("http://www.gayou.org/fonts/ninjal_hentaigana/ninjal_hentaigana.ttf") format("opentype"),
    url("http://www.gayou.org/fonts/ninjal_hentaigana/ninjal_hentaigana.woff") format("woff"),
    url("http://www.gayou.org/fonts/ninjal_hentaigana/ninjal_hentaigana.woff2") format("woff2");
}
