@charset "UTF-8";
@namespace m url(http://www.w3.org/1998/Math/MathML);
@namespace s url(http://www.w3.org/2000/svg);

@font-face {
  font-family: source-serif-pro;
  src: url(images/SourceSerifPro-Regular.otf);
}

@font-face {
  font-family: source-serif-pro;
  src: url(images/SourceSerifPro-Bold.otf);
  font-weight: bold;
}

@font-face {
  font-family: source-sans-pro;
  src: url(images/SourceSansPro-Regular.otf);
}

@font-face {
  font-family: source-sans-pro;
  src: url(images/SourceSansPro-It.otf);
  font-style: italic;
}

@font-face {
  font-family: source-sans-pro;
  src: url(images/SourceSansPro-Semibold.otf);
  font-weight: 600;
}

@font-face {
  font-family: source-sans-pro;
  src: url(images/SourceSansPro-Black.otf);
  font-weight: 900;
}

@font-face {
  font-family: source-sans-pro;
  src: url(images/SourceSansPro-Bold.otf);
  font-weight: bold;
}

@font-face {
  font-family: source-code-pro;
  src: url(images/SourceCodePro-Regular.otf);
}

@font-face {
  font-family: source-code-pro;
  src: url(images/SourceCodePro-Bold.otf);
  font-weight: bold;
}

@font-face {
  font-family: source-code-pro;
  src: url(images/SourceCodePro-It.otf);
  font-style: italic;
}

@font-face {
  font-family: source-code-pro;
  src: url(images/SourceCodePro-BoldIt.otf);
  font-weight: bold;
  font-style: italic;
}

/* 共通のページ設定 */
@page {
  size: JIS-B5; /* JIS B5 (176mm 250mm) */
  margin: 28mm 21.325mm;

  
  marks: crop cross;    /* printer marks to display */
  -ah-crop-offset: 14mm;    /* distance from the page box edge to the
                                      page sheet edge */
  -ah-printer-marks-line-color: auto;    /* printer marks line color */
  -ah-printer-marks-line-length: 10mm;   /* printer marks line length  */
  -ah-printer-marks-line-width: 0.12mm;  /* printer marks line width */
  bleed: 3mm;      /* page bleed length */
  

  @top-left {
    margin-top: -3mm;
    padding-top: 3mm;
    margin-bottom: 10mm;
  }

  @top-center {
    margin-top: -3mm;
    padding-top: 3mm;
    margin-bottom: 10mm;
  }

  @top-right {
    margin-top: -3mm;
    padding-top: 3mm;
    margin-bottom: 10mm;
  }

  @top-left-corner {
    margin-top: -3mm;
    padding-top: 3mm;
    margin-left: -3mm;
    margin-bottom: 10mm;
  }

  @top-right-corner {
    margin-top: -3mm;
    padding-top: 3mm;
    margin-right: -3mm;
    margin-bottom: 10mm;
  }

}

/* 左ページ設定 */
@page :left {
  margin-left: 16.325mm;
  margin-right: 26.325mm;

  @top-left {    /* 柱（ページヘッダ）*/
    font-size: 8pt;
    font-family: source-sans-pro, sans-serif;
  }
  @top-right { content: none }

  @bottom-left { /* ノンブル（ページ番号）*/
    font-size: 8pt;
    font-family: source-sans-pro, sans-serif;
    content: element(Title);
  }
}

/* 右ページ設定 */
@page :right {
  margin-left: 26.325mm;
  margin-right: 16.325mm;

  @top-left { content: none }
  @top-right {   /* 柱（ページヘッダ）*/
    font-size: 8pt;
    font-family: source-sans-pro, sans-serif;
  }
  @bottom-right { /* ノンブル（ページ番号）*/
    font-size: 8pt;
    font-family: source-sans-pro, sans-serif;
    content: string(ChapterTitle) "\A0\A0|\A0\A0" counter(page);
  }
}

/* 文書の先頭ページ設定 */
@page :first {
  margin-left: 21.325mm;
  margin-right: 21.325mm;

  /* ページヘッダ／フッタ非表示 */
  @top-left  { content: none }
  @top-right { content: none }
  @bottom-left { content: none }
  @bottom-right { content: none }
}

/* 空白ページの設定 */
@page :blank {
  @top-center { content: none }
  @top-left-corner { content: none }
  @top-right-corner { content: none }
  @top-left  { content: none }
  @top-right { content: none }
  @bottom-left { content: none }
  @bottom-right { content: none }
  @left-middle { content: none }
  @right-middle { content: none }
}

/* はじめにのページ */
@page Preface:right {
  @bottom-right { /* ノンブル（ページ番号）*/
    content: counter(page, lower-roman);
  }
}
@page Preface:left {
  @bottom-left { /* ノンブル（ページ番号）*/
    content: counter(page, lower-roman);
  }
}

/* 目次のページ */
@page TOC:right {
  @bottom-right { /* ノンブル（ページ番号）*/
    content: counter(page, lower-roman);
  }
}
@page TOC:left {
  @bottom-left { /* ノンブル（ページ番号）*/
    content: counter(page, lower-roman);
  }
}
@page TOC:first {
  @top-right { content: none }
}

/* 章のページ */
@page Chapter {
  /* 章のページの共通設定 */
  font-family: source-sans-pro, sans-serif;
}

@page Chapter:left {
  /* 章の左ページ */
  @left-middle {
    margin-top: 80mm;
    margin-left: -3mm;
    padding: 1mm;
    padding-left: 4mm; /* Offset effect of bleed. */
    margin-right: 4.5mm;
    margin-bottom: 80mm;
    color: white;
    background-color: rgba(0, 61, 25, 0.15);
    background-color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC', 0.15);
    content: string(ChapterNo);
    font-weight: 900;
    font-size: 7mm;
    white-space: nowrap;
    text-align: center;
    border-top-right-radius: 3mm;
    border-bottom-right-radius: 3mm;
  }
}

@page Chapter:right {
  /* 章の右ページ */
  @right-middle {
    /*writing-mode: tb-rl;*/
    margin-top: 80mm;
    margin-left: 4.5mm;
    margin-right: -3mm;
    padding: 1mm;
    padding-right: 4mm; /* Offset effect of bleed. */
    margin-bottom: 80mm;
    color: white;
    background-color: rgba(0, 61, 25, 0.15);
    background-color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC', 0.15);
    content: string(ChapterNo);
    font-weight: 900;
    font-size: 7mm;
    white-space: nowrap;
    text-align: center;
    border-top-left-radius: 3mm;
    border-bottom-left-radius: 3mm;
  }
}

@page Chapter:blank {
  @left-middle { content: none }
  @right-middle { content: none }
}

@page Chapter:first {
  /* 章の先頭ページ */
  /* ページヘッダ非表示 */
  @top-right { content: none }
  @bottom-right {
    content: counter(page);
    }
}

@page Index {
  @bottom-left { content: none }
  @bottom-right { content: none }
}
@page Index:left {
  /* 章の左ページ */
  @left-middle {
    margin-top: -33mm;
    margin-left: -3mm;
    margin-right: 4.5mm;
    margin-bottom: -33mm;
    content: "\a0";
    background-color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC', 0.25);
    padding: 1mm;
  }

  @top-left {
    background-color: transparent;
    border: none;
    font-size: 8pt;
    font-family: source-sans-pro, sans-serif;
    content: string(IndexTerm, first);
    margin-left: 9pt;
  }

  @top-right {
    background-color: transparent;
    border: none;
    font-size: 8pt;
    font-family: source-sans-pro, sans-serif;
    content: string(IndexTerm, last);
    margin-right: 9pt;
  }
}

@page Index:right {
  /* 章の右ページ */
  @right-middle {
    /*writing-mode: tb-rl;*/
    margin-top: -33mm;
    margin-left: 4.5mm;
    margin-right: -3mm;
    margin-bottom: -33mm;
    background-color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC', 0.25);
    content: "\a0";
    padding: 1mm;
  }

  @top-left {
    background-color: transparent;
    border: none;
    font-size: 8pt;
    font-family: source-sans-pro, sans-serif;
    content: string(IndexTerm, first);
    margin-left: 9pt;
  }

  @top-right {
    background-color: transparent;
    border: none;
    font-size: 8pt;
    font-family: source-sans-pro, sans-serif;
    content: string(IndexTerm, last);
    margin-right: 9pt;
  }
}


@page Index:first {
  /* 章の先頭ページ */
  /* ページヘッダ非表示 */
  @top-left  { content: none }
  @top-right { content: none }
}

@page Index:blank {
  @top-left  { content: none }
  @top-right { content: none }
  @left-middle { content: none }
  @right-middle { content: none }
}

/* 後付ページ */
@page Back {
  @top-center { content: none }
  @top-left-corner { content: none }
  @top-right-corner { content: none }
  @top-left  { content: none }
  @top-right { content: none }
  @bottom-left { content: none }
  @bottom-right { content: none }
}

/*----------------------*/

section {
 -ah-pdftag: 'Sect';
}
section.Preface {
  page-break-before: right;
  page: Preface;
  counter-reset: page 1;
}
div.TOC {
  page-break-before: right;
  page: TOC;
  -ah-pdftag: 'Sect';
}
section.Chapter,
section.References {
  page-break-before: right;
  page: Chapter;
}
section.Chapter:nth-of-type(2) {
  /*page-break-before: right;*/
  counter-reset: page 1;
}

section.Index {
  page-break-before: right;
  page: Index;
}

section.References,
div.Back {
  /*page-break-before: left;*/
  page: Back;
}
div.Back {
  page-break-before: left;
}
/*----------------------*/

/* 本文 */
body {
  font-size: 9.5pt;
  line-height: 13pt;
  font-family: source-sans-pro, serif;
  counter-reset: ChapterNo;
  -ah-line-height-shift-adjustment: disregard-shifts;
}
body:lang(en) {
 hyphens: manual;
}
body:lang(ja) {
  /* 日本語組版のための設定 */
  line-height: 1.5;
  -ah-punctuation-trim: start end adjacent;
  -ah-text-autospace: ideograph-numeric ideograph-alpha;
  -ah-text-autospace-width: 25%;
  -ah-text-justify-trim: punctuation;
  -ah-hanging-punctuation: none;
}

/* 段落 */
p {
  text-align: justify;
  margin: 0;
  orphans: 2;
  widows: 2;
}
p:lang(ja) {
  text-indent: 1em;
}
p:lang(en) {
  text-indent: 1em;
}

/*section:lang(en) > p:first-of-type:nth-child(2) {*/
h2 + p:lang(en),
h3 + p:lang(en),
h4 + p:lang(en) {
  text-indent: 0;
}

*:lang(he) {
  writing-mode: vertical-rl;
  direction: rtl;
}
ul.property > li {
  text-align: justify;
}
li::marker {
  font-family: source-sans-pro, sans-serif;
  color: rgb(0, 61, 25);
  color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC');
}

/* コード例 */
pre {
  font-family: source-code-pro, monospace;
  font-size: 8pt;
  line-height: 1.2;
  hyphens: manual;
  -ah-text-autospace: none;
  line-height: 1.2;
  margin-top: .8em;
  margin-bottom: .8em;
  background-color: rgba(0, 61, 25, 0.03);
  background-color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC', 0.03);
  padding: .4em;
}
pre.LongText {
  white-space: normal;
}

/* 強調 */
b {
  background-color: yellow;
}

h1, h2, h3, h4, h5, h6 {
 font-family: source-sans-pro, sans-serif;
 line-height: 1.25;
 hyphens: manual;
}

.CoverPage {
 background-image: url('images/xml-prague-edition.svg');
 background-repeat: no-repeat;
 background-position: 100% 100%;
 height: 90vh;
}
/* 文書タイトル */
.CoverPage h1 {
  margin-top: 20mm;
  margin-bottom: 118mm;
  font-weight: 900;
  font-size: 30pt;
  font-family: source-sans-pro, sans-serif;
  text-align: center;
  page-break-after: avoid;
}

title {
    position: running(Title);
}


p.Title::before {
 content: counter(page) "\A0\A0|\A0\A0";
}
p.Title {
    position: running(Title);
    text-indent: 0;
}

/* 著者 */
.Author {
  margin-bottom: 4mm;
  text-align: center;
  font-size: 16pt;
  line-height: 1em;
  font-family: source-sans-pro, sans-serif;
}

/* 日付 */
.Published {
  margin-bottom: 4mm;
  text-align: center;
  font-size: 16pt;
  line-height: 1em;
  font-family: source-sans-pro, sans-serif;
}

/* 表紙ロゴ */
.CoverPage .CompanyLogo object,
.CoverPage .CompanyLogo img {
  height: 24pt;
  vertical-align: middle;
}
.CoverPage .CompanyLogo {
  text-align: center;
}

/* 章 */

/* 章見出し */
.Chapter h2,
.References h2,
.Index h2 {
  margin-bottom: 7mm;
  font-weight: bold;
  font-size: 36pt;
  font-family: source-sans-pro, sans-serif;
  page-break-after: avoid;
  color: rgb(0, 61, 25);
  color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC');
}

.Chapter h2 {
  counter-increment: ChapterNo;
  counter-reset: SectionNo;
  string-set: ChapterNo counter(ChapterNo), ChapterTitle content(), Chapter content(before) ", " content(), Section "";
  bookmark-label: attr(data-bookmark, string);
  height: 20vh;  /*  Fixed-height 'chapter drop'. */
  font-weight: 900;
}

.Chapter h2:before {
  content: "Chapter " counter(ChapterNo);
  font-size: 0.5em;
  font-weight: bold;
  display: block;
  color: black;
}

/* 節見出し */
.Chapter h3 {
  counter-increment: SectionNo;
  counter-reset: SubSectionNo;
  string-set: Section content(before) content();
  margin-top: 7mm;
  margin-bottom: 3mm;
  font-weight: bold;
  font-size: 12pt;
  font-family: source-sans-pro, sans-serif;
  border-top-left-radius: 2mm;
  border-bottom-left-radius: 2mm;
  padding: 2mm;
  padding-bottom: 1mm;
  padding-left: 13mm;
  text-indent: -12mm;
  background-color: rgba(0, 61, 25, 0.12);
  background-color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC', 0.12);
  page-break-after: avoid;
}

.Chapter h3::before {
  content: counter(ChapterNo) "." counter(SectionNo) "\a0 ";
  color: rgb(0, 61, 25);
  color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC');
  display: inline-block;
  text-indent: 0;
  width: 12mm;
}

/* 項見出し */
.Chapter h4 {
  counter-increment: SubSectionNo;
  string-set: SubSection content(before) content();
  margin-top: 5mm;
  margin-bottom: 2mm;
  font-weight: bold;
  font-size: 11pt;
  font-family: source-sans-pro, sans-serif;
  padding: 0 1mm;
  padding-left: 13mm;
  text-indent: -12mm;
  page-break-after: avoid;
}

.Chapter h4::before {
  content: counter(ChapterNo) "." counter(SectionNo) "." counter(SubSectionNo) "\a0 ";
  color: rgba(0, 61, 25, 0.75);
  color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC', 0.75);
  display: inline-block;
  text-indent: 0;
  width: 12mm;
}

/* クロスリファレンス */
.ChapterRef::before,
.SectionRef::before {
  content: target-text(attr(href url), before) ", "
           target-text(attr(href url), content);
}
/*.SectionRef::before {
  content: target-counter(attr(href url), ChapterNo) "." counter(SectionNo) " " target-text(attr(href url));
}*/
.ChapterRef,
.SectionRef {
  content: "";
}
.PageRef::after {
  content: "(page " target-counter(attr(href url), page) ")";
}
.ChapterRef.PageRef:lang(en)::after,
.SectionRef.PageRef:lang(en)::after {
  content: " (page " target-counter(attr(href url), page) ")";
}
.PageRef:lang(ja)::after {
  content: "（page " target-counter(attr(href url), page) "）";
}

/* はじめに */

.Preface h2 {
  page-break-before: always;
  font-size: 16pt;
  color: rgb(0, 61, 25);
  color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC');
}

.Preface {
  font-size: 12pt;
  line-height: 1.3;
}
.Preface .SampleBox {
  font-size: 9pt;
}

/* 目次 */
.TOC h2 {
  page-break-before: always;
  string-set: Chapter content();
}

.TOC ul {
  list-style: none;
  margin-left: 1em;
  margin-right: 1em;
  padding: 0;
  font-size: 11pt;
  -ah-baseline-grid: new;
  font-family: source-sans-pro, sans-serif;
}

.TOC ul ul {
  margin: 0;
}
.TOCSample li.TocLevel1,
.TOC li.TocLevel1 {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 1mm;
  padding-top: 1mm;
  font-size: 11pt;
  background-color: rgba(0, 61, 25, 0.03);
  background-color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC', 0.03);
  border-top-left-radius: 1mm;
  border-bottom-left-radius: 1mm;
}
.TocReferences {
  padding-top: 1mm;
}
.TOC li.TocLevel2 {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 3.5em;
  text-indent: -3.5em;
  font-size: 10pt;
}
.TOC li.TocLevel3 {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 5em;
  text-indent: -3.5em;
  font-size: 9pt;
}
/*.TOCSample a,
.TOC a,*/
.IndexItem a {
  text-decoration: none;
  color: rgb(0, 69, 25);
}
.IndexItem a {
  string-set: IndexTerm content();
}
.GlossaryItem {
 color: black;
 font-size: 0.8em;
 display: block;
 text-align: left;
 -ah-text-align-first: left;
 padding-left: 1.25em;
 padding-right: 1.5em;
 break-before: avoid;
}

.TOCSample li.TocLevel1 a::before,
.TOC li.TocLevel1 a::before {
  content: "Chapter " target-counter(attr(href url), ChapterNo) ". ";
}
.TOCSample li.TocLevel1 a::after,
.TOC li.TocLevel1 a::after {
  content: leader(space) target-counter(attr(href url), page);
  font-size: 9pt;
}
.TOC li.TocLevel2 a::before {
  content: target-counter(attr(href url), ChapterNo) "." target-counter(attr(href url), SectionNo);
  width: 3em;
  display: inline-block;
  text-indent: 0;
  padding-right: 0.5em;
  text-align: right;
}
.TOC li.TocLevel2 a::after {
  content: "\2005" leader(dotted) "\200A" target-counter(attr(href url), page);
  font-size: 9pt;
}
.TOC li.TocLevel3 a::before {
  content: target-counter(attr(href url), ChapterNo) "." target-counter(attr(href url), SectionNo) "." target-counter(attr(href url), SubSectionNo);
  width: 3em;
  display: inline-block;
  text-indent: 0;
  padding-right: 0.5em;
  text-align: right;
}
.TOC li.TocLevel3 a::after {
  content: "\2005" leader(dotted) "\200A" target-counter(attr(href url), page);
  font-size: 9pt;
}

div.IndexBody,
ul.TOCSample {
  column-count: 2;                /* 段数を指定 */
  column-gap: 5mm;                /* 段間 */
  -ah-baseline-grid: new;
  font-size: 9pt;
  line-height: 11pt;
}

ul.Index,
ul.TOCSample {
  list-style: none;
  margin: .5em 1em;
  padding: 0;
  font-size: 11pt;
  font-size: 9pt;
}

ul.Index {
  margin-bottom: 2em;
  -ah-text-align-first: justify;
}

.Index li.IndexItem a {
 font-family: source-sans-pro, sans-serif;
}
.Index li.IndexItem a::after {
  content: "\2005" leader(dotted) "\200A" target-counter(attr(href url), page);
  font-size: 9pt;
}

/* ページフロート */
div.TopFloat {
  float: top;
  border: ridge orange;
  padding: 3pt;
}

div.BottomFloat {
  float: bottom;
  border: ridge lime;
  padding: 3pt;
}

div.TopPageFloat {
  float: top page;
  border: ridge maroon;
  padding: 3pt;
}

div.BottomPageFloat {
  float: bottom page;
  border: ridge green;
  padding: 3pt;
}

/* 脚注 */
.Footnote {
  text-align: justify;
  float: footnote;
  text-indent: 0;
  font-size: 7.5pt;
  line-height: 1.2;
  font-weight: normal;
  font-family: source-sans-pro, sans-serif;
}

@page {
  @footnote {
    float: page bottom;
    border-top: .5pt solid black;
    border-length: 30% 0;
    margin-top: 0.4em;
    padding-top: 0.3em;
    padding-left: 15pt;
  }
}

::footnote-call {
  content: counter(footnote, decimal) ")";
  font-size: 6pt;
  font-weight: normal;
  vertical-align: super;
}

::footnote-marker {
  content: counter(footnote, decimal) ")";
  font-weight: normal;
  font-size: 1em;
  vertical-align: baseline;
}

/* table */

table {
 font-family: source-sans-pro, sans-serif;
}
table.Example {
  margin-left: 25mm;
}

div.FigureBox {
  margin-top: 1em;
  margin-bottom: 1em;
}

figure.Figure,
table.Figure {
  page-break-inside: avoid;
  max-width: 100%;
  text-align: center;
  vertical-align: middle;
}

figure.Figure img {
  -ah-image-resolution: from-image 200;
}

figcaption,
table.Figure caption {
  font-size: 0.9em;
  caption-side: after;
  padding-top: 0.5em;
  -ah-pdftag: "Caption";
}

object[title] {
 -ah-alttext: attr(title string);
}

table.StdTable {
  border: solid thin gray;
  border-collapse: collapse;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 2em;
}
table.StdTable td,
table.StdTable th {
  border: solid thin gray;
  padding: 3pt;
}

/* サンプルテーブル */
table.TableSample {
  display: table;
  border-collapse: collapse;
  border-spacing: 0mm;
  table-layout: fixed;
  border: 0.3mm solid black;
  border-radius: 0mm;
  margin-left: auto;
  margin-right: auto;
}
table.TableSample caption {
  font-weight: bold;
}

table.TableSample col.col1 { width: 40mm; }
table.TableSample col.col2 { width: 80mm; }

table.TableSample tr { display: table-row }

table.TableSample th {
  display: table-cell;
  font-size: 9pt;
  color: black;
  padding: 0.5mm 1.5mm;
  text-align: center;
  vertical-align: middle;
  border: 0.15mm solid black;
  background-color: rgba(0, 61, 25, 0.2);
  background-color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC', 0.2);
}

table.TableSample td {
  display: table-cell;
  font-size: 9pt;
  color: black;
  padding: 0.5mm 1.5mm;
  text-align: justify;
  vertical-align: middle;
  border: 0.15mm solid black;
}

/* サイドフロート */
.RightFloat {
  float: right;
  margin-left: 6pt;
  -ah-display-align: center;
}
.LeftFloat {
  float: left;
  margin-right: 6pt;
  -ah-display-align: center;
}

/* テキストフロートサンプル */
span.TextSampleFloat {
  background: #80FF80;
  height: 22.5pt;
  border-radius: 6pt;
  padding: 1.25pt;
  text-indent: 0;
  margin-top: 2pt;
  line-height: 10pt;
}

/* ハイフネーション */
.Hyphenated p:lang(en),
.Hyphenated p:lang(la) {
  hyphens: auto;
}

/* 文中のサンプル */
div.SampleBox {
  margin-top: 1em;
  margin-bottom: 1em;
  break-inside: avoid-page;
}
div.VSampleBox {
  height: calc(12em + 0.6pt);
  writing-mode: tb-rl;
  margin-left: 1em;
  margin-right: 1em;
  margin-top: 1em;
  margin-bottom: 1em;
  -ah-display-align: center;
  break-inside: avoid-page;
}
div.SampleTitle {
  font-family: source-sans-pro, sans-serif;
  background-color: rgba(0, 61, 25, 0.4);
  background-color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC', 0.3);
  -ah-padding-start: 0.5em;
  page-break-after: avoid;
}

p.TextSample,
div.TextSample,
p.TextSample0,
div.TextSample0 {
  border: solid 0.3pt gray;
  padding: 0.4em;
}
p.TextSample0,
div.TextSample0 {
  text-indent: 0;
  break-inside: avoid-page;
}
p.TextSample0 object,
p.TextSample0 img,
div.TextSample0 object,
div.TextSample0 img {
  -ah-alignment-baseline: central;
}

/* 縦書きブロック */
div.VerticalTextBlock {
  writing-mode: tb-rl;
  height: 16em;
  padding: 3pt;
  border: solid green;
  margin-top: 1em;
  margin-bottom: 1em;
  line-height: 1.2;
}
div.VerticalSmallBlock {
  writing-mode: tb-rl;
  height: calc(8em + 0.6pt);
  -ah-display-align: center;
}
div.VerticalSmallBlock2 {
  writing-mode: tb-rl;
  height: calc(11em + 0.6pt);
  -ah-display-align: center;
  line-height: 1.75em;
  margin-bottom: 1em;
}

/* 縦中横 */
span.TateChuYoko {
  display: inline-block;
  writing-mode: lr-tb;
  text-align: center;
  text-indent: 0;
  line-height: 1;
  margin-top: 0.15em;    /* 垂直位置の調整 */
  margin-bottom: -0.15em;
}

/* Bookmarks */
h1 { bookmark-level: 1; }
h2 {
 bookmark-level: 2;
 bookmark-state: closed 
}
h3[data-bookmark] {
 bookmark-level: 3;
 bookmark-label: attr(data-bookmark, string);
 bookmark-state: closed
}
h4[data-bookmark] {
 bookmark-level: 4;
 bookmark-label: attr(data-bookmark, string);
 bookmark-state: closed
}
h5,h6 { bookmark-level: none }


/* MathML and SVG */
m|math {
  vertical-align: baseline;
  font-family: "STIX Two Text", source-serif-pro, "Times New Roman", "Lucida Sans Unicode", serif;
}
m|math[alttext] {
 -ah-alttext: attr(alttext string);
}
s|svg {
  vertical-align: bottom;
}

/* Lists */
ul > li::marker {
  -ah-lang: en;
}
ul.AhfFeature { padding-left: 1em; }
ul.AhfFeature li {
  list-style: check;
  margin: .5em 0;
  text-align: justify;
}
ul.counter-style-list li ul {
 column-count: 3;
 -ah-pdftag: "L";
}
dl {
  margin-top: 0;
  margin-bottom: 0;
}

div.Properties {
  -ah-linefeed-treatment: ignore;
  page-break-after: avoid;
}
span.Property {
  color: rgb(0, 61, 25);
  color: rgb-icc(0, 61, 25, #Separation, 'PANTONE 627 PC');
  font-family:source-sans-pro, sans-serif;
}
span.Property::before {
  content: "●";
}
div.Properties span.Property {
  margin-left: 1em;
}
div.Properties span.Property:first-of-type {
  margin-left: 0;
}

span.code {
 font-family: source-code-pro, monospace;
 font-size: 90%;
}

span.function::before,
span.property::before,
span.rule::before,
span.value::before{
 content: '‘';
}

span.function::after,
span.property::after,
span.rule::after,
span.value::after {
 content: '’';
}

span.CSSLevel {
  content: "";
}

span.CSSLevel::after {
  content: url("images/css3-logo.svg");
  -ah-alttext: "CSS 3";
  -ah-alignment-baseline: text-after-edge;
  height: 1em;
}

span.CSSLevelAH {
  content: "";
  -ah-alttext: content();
}

span.CSSLevelAH::after {
  content: url("images/logo-antenna.svg");
  -ah-alttext: "Antenna House extension";
  -ah-alignment-baseline: text-after-edge;
  height: 1em;
}
a[href] {
  text-decoration: none;
  color: rgb(0, 69, 25);
}

/* 圏点 */
ruby.kenten {
  -ah-margin-before: -0.7em;
}
ruby.kenten > rt {
  font-size: 70%;
}

div.hidden {
  display: none;
}

/* References */
ul.References {
 font-family: source-sans-pro, sans-serif;
  padding-left: 1.5em;
}
ul.References li {
  list-style: check;
  line-height: 1.1;
}
ul.References li::marker {
  -ah-lang: ja
}
ul.References .SpecTitle {
  font-weight: bold;
}
ul.References .SpecStatus {
  white-space: nowrap;
  margin-right: .25em;
}
ul.References a.URL {
  text-decoration: none;
  font-size: smaller;
  white-space: nowrap;
}
ul.References .SpecStatus::before {
  content: leader(dotted);
}

/* Back matter. */

div.Back {
 -ah-display-align: after;
 height: 100vh;
 line-height: 1.2;
}
table.backmatter {
  margin-right: auto;
  margin-left: auto;
}
table.backmatter .revision {
  font-size: 0.8em;
  line-height: 1;
}
table.backmatter .address,
table.backmatter .notice {
  font-size: 0.8em;
}
table.backmatter tr > td {
  vertical-align: top;
}
