body {
    counter-reset: chapter;
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
}
p {
    text-indent: 1em;
    margin: 0 0 0.5em 1.5em;
    text-align: justify;
    text-justify: inter-ideograph;
}
h1 {
    margin: 100pt 0 100pt 0 ;
    font-size: 18pt;
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic Pro","Hiragino Sans",Meiryo,sans-serif;
    border: none;
    text-align: center;
}
h2 {
    counter-reset: section1;
    page-break-before:always;
    font-size: 18pt;
    margin: 30px 0 30px 0;
    font-weight: bold;
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic Pro","Hiragino Sans",Meiryo,sans-serif;
}

h2:before {
    counter-increment: chapter;
    content: '第' counter(chapter) '章 ';    
}

h3 {
    counter-reset: section2;
    font-size: 14pt;
    font-weight: bold;
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic Pro","Hiragino Sans",Meiryo,sans-serif;
}

h3:before {
    counter-increment: section1;
    content: counter(chapter) '.' counter(section1) '. ';
}
h4 {
    font-size: 12pt;
    font-weight: bold;
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic Pro","Hiragino Sans",Meiryo,sans-serif;
}

h4:before {
    counter-increment: section2;
    content: counter(chapter) '.' counter(section1) '.' counter(section2) '. ';
}

li p {
    text-indent: 0em;
    margin: 0 0 0 0;
}

/* 表の関係 */
.caption {
    font-family: sans-serif;
}

table {
    margin-left: auto;
    margin-right: auto;
}

/* 図の関係 */
.imagearea {
    /* margin: auto; */
    text-align: center;
}

figure {
    /* float: left; */
    margin: 0px 20px 10px 0px;
    display: inline-block;
}

figure img {
      margin: 0px 0px 3px 0px;
}

figure figcaption {
      font-size: 0.9em; 
      text-align: center;
      width: 100%;
}

.imagearea:after {
      content: ""; 
      clear: both;
      display: block;
}


/* 表紙ページ用 */
div.address p {
    text-align: center;
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    font-size: 14pt;
    margin-left: initial;
    margin-bottom: 10px;
    line-height:1.5em;
}

div.authors p {
    text-align: center;
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    margin-left: initial;
    font-size: 16pt;
    margin-bottom:20mm;
}

div.collabo p {
    text-align: center;
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    font-size: 16pt;
    margin-left: initial;
    margin: 20mm 0 20mm 0;
    line-height:1.5em;
}
div.pubdate p {
    text-align: center;
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
    margin-left: initial;
    font-size: 14pt;  
}

/* 目次ページ用 */
dl.toc{
    width:100%;
    font-size: large;
    /* background-color: white; */
}
dl.toc div{
    position: relative;
    display: flex;
    justify-content: space-between;
    margin: 5px 30px;
    padding: 5px 0;
}
dl.toc div::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    z-index: 1;
    width: 100%;
    border-bottom: dotted 1px;
}
dl.toc dt{
    margin:0;
    padding: 0 5px 0 0;
    background-color: white;
    z-index: 2;
    text-align: left;
}
dl.toc dd{
    margin:0;
    padding: 0 0 0 5px;
    background-color: white;
    z-index: 2;
    text-align: right;
}
dl.toc dt.depth-2 {
    padding-left: 2em;
}
dl.toc dt.depth-3 {
    padding-left: 4em;      
}

/* markdown-it-container用 */
/* 参考文献, 付録 のスタイル */
div.reference ol {
    counter-reset: item;
    list-style-type: none;
}

div.reference li:before {
    counter-increment: item;
    content: '[' counter(item) ']';
    padding-right: .5em;
}

div.toc h2:before, div.reference h2:before, div.acknowledgment h2:before, div.appendix h2:before {
    content: none;
}

div.reference h3:before, div.acknowledgment h3:before, div.appendix h3:before {
    content: none;
}

div.reference h4:before, div.acknowledgment h4:before, div.appendix h4:before {
    content: none;
}
