@charset "utf-8";
/* 基本スタイル（PDFとHTML共通） */

/**************************************************
 * 全体のスタイル
 */
body {
    color: #000;
    color: cmyk(0, 0, 0, 1.0);
    font-family: "Segoe UI", "M+ 1p regular", "Mgen+ 1p regular";
    text-align: left;
    text-align-last: left;
}

/* 箇条書き、目次、章目次、索引 */
li {
    list-style-type: none;
    display: block;	/* この設定がないと、PDFのイラスト領域内の箇条書きがなぜか右にずれる */
}

/**************************************************
 * 文字装飾
 */
/* 太字 */
b {
    font-family: "Segoe UI bold", "M+ 1p bold", "Mgen+ 1p bold";
}

/* 斜体 */
i {
    font-style: italic;
}

/* 下線 */
u {
    text-decoration: underline;
    border-width: 0.5pt;
}

/* 上付き、下付き */
sup {
    font-size: 0.75em;
    line-height: 0; /* 上付き、下付きを追加しても行間を変えない */
    vertical-align: super;
}

sub {
    font-size: 0.75em;
    line-height: 0; /* 上付き、下付きを追加しても行間を変えない */
    vertical-align: sub;
}

table sup,
table sub {
    line-height: 1; /* 表の罫線との間隔を確保 */
}

/* 囲み罫 */
span.edit_kei {
    box-sizing: border-box;
    border: 0.05em solid #000;
    border-color: cmyk(0, 0, 0, 1.0);

    /* フォントサイズを縮小＆横長（文字幅を標準の文章と同じくらいにする） */
    font-size: 0.82em;
    font-stretch: 1.1;
}
@media print {
    span.edit_kei {
        padding: 0.2em 0.15em 0.06em;
    }
}

/* 白抜き文字 */
span.edit_withoutwhite {
    background-color: #4D4D4D;
    background-color: cmyk(0, 0, 0, 0.83);
    color: #fff;
    color: cmyk(0, 0, 0, 0);

    /* フォントサイズを縮小＆横長（文字幅を標準の文章と同じくらいにする） */
    font-size: 0.82em;
    font-stretch: 1.1;
}
@media print {
    span.edit_withoutwhite {
        padding: 0.2em 0.15em 0.06em;
    }
}

/* 囲罫の中の白抜、白抜の中の囲罫が小さくならないようにする*/
.edit_withoutwhite .edit_kei,
.edit_kei .edit_withoutwhite {
    font-size: 1em;
}

/* 分禁(途中改行の禁止) */
span.edit_unbreak {
    white-space: nowrap;
}

/* ハイフネーション */
.edit_hyphenation {
    hyphens: auto;
}


/******************************
 * タイトルパラ
 */
h1, h2, h3, h4 {
    break-inside: avoid;
    page-break-after: avoid;
}

/* L1タイトルパラ（章） */
h1 {
    font-size: 2.4em;
    font-family: "Segoe UI Semibold", "M+ 1p medium", "Mgen+ 1p medium";
    line-height: 1em;
}

h1 b {
    font-family: "Segoe UI Black", "M+ 1p black", "Mgen+ 1p black";
}

/* L2タイトルパラ（節） */
h2 {
    font-size: 1.8em;
    font-family: "Segoe UI Semibold", "M+ 1p medium", "Mgen+ 1p medium";
    color: #FFF;
    color: cmyk(0, 0, 0, 0);
    line-height: 1em;
    background-color: #333;
    background-color: cmyk(0, 0, 0, 0.91);
}

h2 b {
    font-family: "Segoe UI Black", "M+ 1p black", "Mgen+ 1p black";
}

h2 .edit_kei {
    /* 黒背景なので、囲罫を白線にする */
    border-color: #FFF;
    border-color: cmyk(0, 0, 0, 0);
}

/* L3タイトルパラ（項） */
h3 {
    font-family: "Segoe UI Semibold", "M+ 1p medium", "Mgen+ 1p medium";
    font-size: 1.4em;
    line-height: 1.2em;
    border-bottom: 1pt solid #000;
    border-bottom-color: cmyk(0, 0, 0, 1);
    border-left: 3pt solid;
}

h3 b {
    font-family: "Segoe UI Black", "M+ 1p black", "Mgen+ 1p black";
}

/* L4タイトルパラ */
h4 {
    font-family: "Segoe UI Semibold", "M+ 1p medium", "Mgen+ 1p medium";
    font-size: 1em;
    margin-left: 12.5pt;
    line-height: 1.2em;
}

h4:before {
    content: "\0bb";
    font-family: "Segoe UI";
    font-size: 18pt;
    line-height: 1pt;
    margin-left: -12.5pt;
    margin-right: 3pt;
    height: 7.5pt;
    display: inline-block;
    letter-spacing: normal; /* パラの送り幅変更の影響を受けないようにする */
}
@media print {
    h4:before {
        vertical-align: -0.09em;
    }
}

h4 b {
    font-family: "Segoe UI Black", "M+ 1p black", "Mgen+ 1p black";
}


/******************************
 * 文章
 */
p {
    font-size: 1em;
    break-inside: avoid-page;
}


/******************************
 * 箇条書き
 */
li.list_circle,
li.list_triangle,
li.list_point,
li.list_hyphen,
li.list_asterisk,
li.list_em_asterisk,
li.list_jp_asterisk {
    break-inside: avoid-page;
    margin-left: 12.5pt;
}

li.list_circle:before,
/* li.list_triangle:before, */
li.list_point:before,
li.list_hyphen:before,
li.list_asterisk:before,
li.list_em_asterisk:before,
li.list_jp_asterisk:before {
    display: inline-block;
    margin-left: -12.5pt;
    width: 12.5pt;
    text-align: center;
    text-align-last: auto;
    letter-spacing: normal; /* パラの送り幅変更の影響を受けないようにする */
    line-height: 1em; /* 箇条書きの文頭と文章のフォント違いの影響を受けないようにする */
}

li.list_number,
li.list_alphabet,
li.list_posi_number,
li.list_nega_number,
li.list_comment,
li.list_brackets {
    break-inside: avoid-page;
    margin-left: 12.5pt;
}

li.list_number:before,
li.list_alphabet:before,
li.list_nega_number:before,
li.list_posi_number:before,
li.list_comment:before,
li.list_brackets:before {
    display: inline-block;
    margin-left: -12.5pt;
    width: 12.5pt;
    text-align: center;
    text-align-last: auto;
    letter-spacing: normal; /* パラの送り幅変更の影響を受けないようにする */
    line-height: 1em; /* 箇条書きの文頭と文章のフォント違いの影響を受けないようにする */
}

/* 箇条書き（丸） */
li.list_circle:before {
    content: "\25CF";
    font-family: "M+ 1p regular";
    font-size: 7pt;
}

/* 箇条書き（三角） */
li.list_triangle:before {
    content: "";
    display: inline-block;
    vertical-align: -0.5pt;
    margin-left: -9pt;
    margin-right: -3.5pt;
    width: 12.5pt;
    box-sizing: border-box;
    border: 4pt solid transparent;
    border-left: 6.5pt solid #666;
    border-left-color: cmyk(0, 0, 0, 0.75);
}

/* 箇条書き（中黒） */
li.list_point:before {
    content: "•";
    font-family: "M+ 1p regular";
}

/* 箇条書き（ハイフン） */
li.list_hyphen:before {
    content: "-";
    font-family: "Segoe UI";
}

/* 箇条書き（半角アスタリスク） */
li.list_asterisk:before {
    content: "*";
    font-family: "M+ 1p regular";
}

/* 箇条書き（全角アスタリスク） */
li.list_em_asterisk:before {
    content: "＊";
    font-family: "M+ 1p regular";
}

/* 箇条書き（※） */
li.list_jp_asterisk:before {
    content: "※";
    font-family: "M+ 1p regular";
}

/* 箇条書き（番号） */
li.list_number:before {
    counter-increment: list_number_counter;
    content: counter(list_number_counter)".";
    font-family: "Segoe UI Black";
    font-size: 9pt;
}

/* 箇条書き（アルファベット） */
li.list_alphabet:before {
    counter-increment: list_alphabet_counter;
    content: counter(list_alphabet_counter,lower-alpha)")";
    font-family: "Segoe UI";
}

/* 箇条書き（丸付き数字 白／黒） */
li.list_nega_number:before {
    content: counter(list_nega_number_counter,lower-alpha);
    counter-increment: list_nega_number_counter;
    font-family: "ToDoX Black Number";
}

li.list_posi_number:before {
    content: counter(list_posi_number_counter,lower-alpha);
    counter-increment: list_posi_number_counter;
    font-family: "ToDoX White Number";
}

/* 箇条書き（半角アスタリスクと番号） */
li.list_comment {
    font-size: 0.75em;
}

li.list_comment:before {
    counter-increment: list_comment_counter;
    content: "*"counter(list_comment_counter);
    font-family: "Segoe UI";
    vertical-align: 2pt;
}

/* 箇条書き（括弧数字） */
li.list_brackets:before {
    counter-increment: list_brackets_counter;
    content: "("counter(list_brackets_counter)")";
    font-family: "Segoe UI";
    font-stretch: 80%;
}
@media screen {
    li.list_brackets:before {
        font-size: 0.75em;
        vertical-align: 1pt;
    }
}


/******************************
 * リンク
 */
/* 全リンク（目次、章目次、本文の参照、索引） */
a[href] {
    text-decoration: none;
}

a[href]:after {
    white-space: nowrap;
}

/* #3060 図表（ページ参照、図表番号参照） */
.figOrTableLink {
    font-size: 0;
    page-break-after: avoid;
    margin: 0;
}


/******************************
 * 表
 */
table {
    table-layout: fixed;
}

/* イラスト領域の左・右・中央揃え用のtableタグ */
table[id^="alignTable_"] {
    width: 100%;
}

th, td {
    break-inside: avoid;
}

td {
    vertical-align: middle;
}

td div + * {
    clear: both;
}

/* #3073 表ヘッダが横方向位置未設定のとき左寄せにする */
th:not([class*="align_left"]):not([class*="align_center"]):not([class*="align_right"]) {
    text-align: left;
}

/********************
 * テンプレート：安全に関する表記(template_hazard)
 */
.template_hazard {
    break-inside: avoid;
}

.template_hazard > * > tr > th {
    padding: 0 0 5pt 0;
}

table.template_hazard > * > tr > th > p {
    background-color: #999;
    background-color: cmyk(0, 0, 0, 0.54);
    font-size: 1.4em;
    line-height: 1.2em;
    text-align: center;
    text-align-last: center;
    -moz-border-radius: 0.8em;
    -webkit-border-radius: 0.8em;
    border-radius: 0.8em;
}

table.template_hazard > * > tr > td {
    border-top: dashed 0.25pt #000;
    border-top-color: cmyk(0, 0, 0, 1.0);
    border-bottom: dashed 0.25pt #000;
    border-bottom-color: cmyk(0, 0, 0, 1.0);
}

/********************
 * テンプレート：NOTICE/アドバイス(template_notice)
 */
table.template_notice {
    break-inside: avoid;
}

/********************
 * REDドキュメント内の古いテンプレート（template_notice_normal）のCSS
 */
table.template_notice_normal {
    background: #E5E5E5;
    background: cmyk(0, 0, 0, 0.15);
    break-inside: avoid;
}

table.template_notice_normal > * > tr > td > p:first-of-type .edit_withoutwhite {
    font-size: 0.7em;
    line-height: 1em;
    font-stretch: normal;
}


/******************************
 * 縦横揃え
 */

/********************
 * 横揃え
 */
.align_left {
    text-align: left;
    text-align-last: left;
}

.align_center {
    text-align: center;
    text-align-last: center;
}

.align_right {
    text-align: right;
    text-align-last: right;
}

/********************
 * 縦揃え
 */

.valign_top {
    vertical-align: top;
}

.valign_middle {
    vertical-align: middle;
}

.valign_bottom {
    vertical-align: bottom;
}

/********************
 * 表組み自体の横揃え
 */
table.align_left {
    margin-right: auto;
    margin-left: 0;
}

table.align_center {
    margin-left: auto;
    margin-right: auto;
}

table.align_right {
    margin-right: 0;
    margin-left: auto;
}

/********************
 * 横揃えをしたセル内のdiv
 * （ah-formatter用なのでここのimportatntは残しておく）
 */
td.align_left div {
    -ah-float-x: left!important;
}

td.align_center div {
    -ah-float-x: center!important;
}

td.align_right div {
    -ah-float-x: right!important;
}


/******************************
 * 背景色
 */
/* 薄い灰色  */
.backcolor_silver {
    background-color: #EEE;
    background-color: cmyk(0%,0%,0%,10%);
}

/* 濃い灰色 */
.backcolor_gray {
    background-color: #C9C9C9;
    background-color: cmyk(0%,0%,0%,30%);
}


/******************************
 * 罫線
 */

/********************
 * 罫線(細線）
 */
/* 上 */
.border_top {
    border-top: 0.25pt solid #000;
    border-top-color: cmyk(0, 0, 0, 1.0);
}
/* 下 */
.border_bottom {
    border-bottom: 0.25pt solid #000;
    border-bottom-color: cmyk(0, 0, 0, 1.0);
}
/* 左 */
.border_left {
    border-left: 0.25pt solid #000;
    border-left-color: cmyk(0, 0, 0, 1.0);
}
/* 右 */
.border_right {
    border-right: 0.25pt solid #000;
    border-right-color: cmyk(0, 0, 0, 1.0);
}
/* 斜線 右上がり */
@media print {
    .border_upper {
        -ah-reverse-diagonal-border-color: cmyk(0, 0, 0, 1.0);
        -ah-reverse-diagonal-border-style: solid;
        -ah-reverse-diagonal-border-width: 0.25pt;
    }
}
@media screen {
    .border_upper {
        background-image: linear-gradient(to left top, transparent calc(50% - 0.5px), #000 50%, #000 calc(50% + 0.5px), transparent calc(50% + 1px));
    }
}
/* 斜線 右下がり */
@media print {
    .border_downer {
        -ah-diagonal-border-color: cmyk(0, 0, 0, 1.0);
        -ah-diagonal-border-style: solid;
        -ah-diagonal-border-width: 0.25pt;
    }
}
@media screen {
    .border_downer {
        background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #000 50%, #000 calc(50% + 0.5px), transparent calc(50% + 1px));
    }
}

/********************
 * 罫線（太線）
 */
/* 上 */
.border_top_thick {
    border-top: 1.5pt solid #000;
    border-top-color: cmyk(0, 0, 0, 1.0);
}
/* 下 */
.border_bottom_thick {
    border-bottom: 1.5pt solid #000;
    border-bottom-color: cmyk(0, 0, 0, 1.0);
}
/* 左 */
.border_left_thick {
    border-left: 1.5pt solid #000;
    border-left-color: cmyk(0, 0, 0, 1.0);
}
/* 右 */
.border_right_thick {
    border-right: 1.5pt solid #000;
    border-right-color: cmyk(0, 0, 0, 1.0);
}
/* 斜線 右上がり */
@media print {
    .border_upper_thick {
        -ah-reverse-diagonal-border-color: cmyk(0, 0, 0, 1.0);
        -ah-reverse-diagonal-border-style: solid;
        -ah-reverse-diagonal-border-width: 1.5pt;
    }
}
@media screen {
    .border_upper_thick {
        background-image: linear-gradient(to left top, transparent calc(50% - 1.5px), #000 50%, #000 calc(50% + 1.5px), transparent calc(50% + 1px));
    }
}
/* 斜線 右下がり */
@media print {
    .border_downer_thick {
        -ah-diagonal-border-color: cmyk(0, 0, 0, 1.0);
        -ah-diagonal-border-style: solid;
        -ah-diagonal-border-width: 1.5pt;
    }
}
@media screen {
    .border_downer_thick {
        background-image: linear-gradient(to right top, transparent calc(50% - 1.5px), #000 50%, #000 calc(50% + 1.5px), transparent calc(50% + 1px));
    }
}


/********************
 * シンボル
 */
img.symbol {
    /* 高さ指定しないと大きい画像になる */
    height: 1em;
    line-height: 1em;
    vertical-align: -0.15em;
}


/**************************************************
 * イラスト領域
 */
.svg_parent {
    position: relative;
}

.foreign_object {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 900;
    /* #2871: イラスト領域自体の寄せによる子アイテムの寄せ */
    text-align: left;
    text-align-last: left;
}

/* 大きさマニュアル設定で中央/右寄せのイラスト領域について、HTMLでの表示位置がずれないようイラスト領域の幅変更（画面幅いっぱいからstyleで指定されている幅へ） */
@media screen {
    .template_manual {
        display: inline-block;
    }
}

/* 座布団 */
.svg_parent .foreign_object p[class*="backcolor_caption"] {
    padding-left: 0.75pt;
    padding-right: 0.75pt;
}


/********************
 * 図表番号（#3060）
 */
/* 図表番号と図表タイトルの間の空白 */
caption span,
figcaption span {
    padding-right: 10px;
}

/* PDF変換時、リンク先に余分な空白が生じないようにする */
.figOrTableLink {
    font-size: 0;
    page-break-after: avoid;
    margin: 0;
}

/* 図と図表番号の泣き別れ禁止 #3034 */
figure {
    break-inside: avoid;
}

/* A4フル図表番号ありの幅がページ幅と同じになるように、htmlで設定されたスタイルを上書きする #2947 */
div.l3_alias > figure,
div.inside_avoid > figure {
    display: block !important;
}

/* イラスト領域内の表 */
.foreign_object > table > caption {
    margin-top: -16px; /* エディタでの表示位置より下にずれるのを補正 */
    white-space: nowrap; /* キャプションを1行にして高さを16pxに固定 */
    width: inherit; /* 表の幅が細いとき、キャプション幅まで表幅が伸びるのを防ぐ */
}


/******************************
 * 制御パラのセパレータ（区切り線）
 */
.gray_separator {
    height: 3pt;
    margin: 8pt;
    background-color: #C9C9C9;
    background-color: cmyk(0, 0, 0, 0.3);
}


/******************************
 * インデント
 */
.layer_1 {
    margin-left: 12.5pt;
}
.layer_2 {
    margin-left: 25pt;
}
.layer_3 {
    margin-left: 37.5pt;
}

/* 文頭装飾付きのインデント */
h4.layer_1,
li.layer_1 {
    margin-left: 25pt;
}
h4.layer_2,
li.layer_2 {
    margin-left: 37.5pt;
}
h4.layer_3,
li.layer_3 {
    margin-left: 50pt;
}

/* イラスト領域内のインデントの位置を補正 */
.svg_parent .foreign_object > p.layer_1,
.svg_parent .foreign_object > p.layer_2,
.svg_parent .foreign_object > p.layer_3 {
    margin-left: 0;
}

.svg_parent .foreign_object > li.layer_1,
.svg_parent .foreign_object > li.layer_2,
.svg_parent .foreign_object > li.layer_3 {
    margin-left: 0;
    padding-left: 12.5pt;
}

/* 幅100%の表の幅をインデント量に応じて縮める */
.layer_1[style*="width: 100%;"],
.layer_1[style*="width:100%;"] {
    width: calc(100% - 12.5pt) !important;
}

.layer_2[style*="width: 100%;"],
.layer_2[style*="width:100%;"] {
    width: calc(100% - 25pt) !important;
}

.layer_3[style*="width: 100%;"],
.layer_3[style*="width:100%;"] {
    width: calc(100% - 37.5pt) !important;
}


/******************************
 * 泣き別れ禁止
 */
div.inside_avoid {
    page-break-inside: avoid!important;
}


/********************
 * 回り込み
 */
div.wrap_aside[float=left] {
    float: left;
    margin-right: 2.5pt;
}

div.wrap_aside[float=right] {
    float: right;
    margin-left: 2.5pt;
}

/* #2776回り込み内の泣き別れ禁止への対応。イラスト領域を囲うtable幅を上書き */
div.wrap_aside .inside_avoid > table[id^="alignTable_"] {
    width: auto;
}

clear-float {
    clear: both;
    display: block;
}


/********************
 パラ間の余白
********************/
/* タイトルパラ */
/*h1,*/
h4 {
    margin-top: 5pt;
}

h2,
h3 {
    margin-top: 10pt;
}

/* 文章、箇条書きパラ */
h1 + p,
h2 + p,
h3 + p,
/*h4 + p,*/
table + p,
figure + p,
div.svg_parent + p {
    margin-top: 5pt;
}

h1 + li,
h2 + li,
h3 + li,
/*h4 + li,*/
table + li,
figure + li,
div.svg_parent + li {
    margin-top: 5pt;
}

/* 表（横方向レイアウト用の表以外） */
table:not([id^="alignTable_"]) {
    margin-top: 5pt;
}

/* イラスト領域 */
div.svg_parent:first-child,
*:not(figcaption) + div.svg_parent,
figcaption {
    margin-top: 5pt;
}

table:not([id^="alignTable_"]) div.svg_parent:first-child {
    margin-top: 0;
}

.foreign_object > h1,
.foreign_object > h2,
.foreign_object > h3,
.foreign_object > h4 {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    box-sizing: border-box;
}

.foreign_object > li {
    margin-top: 0;
    padding-right: 14pt; /* #2950 イラスト領域右端からの箇条書きはみ出し防止*/
    box-sizing: border-box;
}

.foreign_object > p,
.foreign_object > table {
    margin-top: 0;
}

/* 回り込み */
div.wrap_aside + p,
div.wrap_aside + li,
div.wrap_aside + h1,
div.wrap_aside + h2,
div.wrap_aside + h3,
div.wrap_aside + h4 {
    margin-top: 5pt;
}

clear-float + p,
clear-float + li,
clear-float + div.inside_avoid {
    margin-top: 5pt;
}

/* 開発用：パラ間の余白の確認に使用する */
/*
@page { border: solid; }
div.l3_alias > * { background-color: #bee0ce; }
*/


/******************************
 * 章目次
 */
/* 章目次後に改ページ */
div.contents_TOC {
    page-break-after: always;
}

/* 章の説明と目次部分の間の余白など */
.index_area.one_column,
.index_area.two_column {
    margin: 20pt 0;
}

/* 目次項目の左余白 */
.section_index li {
    padding-left: 10pt;
}

/* 目次項目のフォントサイズ */
.section_index p.tree_door {
    font-size: 1.4em;
    line-height: 1.2em;
}

/* L2とL3タイトル */
.section_index p.tree_door > span {
    font-family: "Segoe UI bold", "M+ 1p bold", "Mgen+ 1p bold";
}

/* L3タイトル（上書き） */
.section_index .section_index p.tree_door > span {
    font-family: "Segoe UI", "M+ 1p regular", "Mgen+ 1p regular";
}

/* REDの残骸。非表示にしないと空行になる。できればHTMLに出力しないようにしてもらいたい。 */
.chapter_index_backgroundimage {
    display: none;
}


/******************************
 * 索引
 */
/* 見出し（索引の頭文字）と親索引名 */
p.PL_lead,
li.parent_li > p {
    font-family: "Segoe UI Semibold", "M+ 1p medium", "Mgen+ 1p medium";
    page-break-after: avoid; /* 直後の改ページを避ける */
}

/* 第1階層（正確には、同一見出し内の索引群）の索引 */
ul.t_contents_ul_s {
    padding-left: 1em;
}

/* 第2階層の索引 */
ul.t_contents_ul_s ul {
    padding-left: 1em;
}

/* 索引名が複数行のとき、1行目の頭が少し左に出るようにする */
ul.t_contents_ul_s p {
    margin-left: 4.5pt;
    text-indent: -4.5pt;
    text-align: left; /* 日本語でのjustifyを打ち消す */
}

/* 索引名とその下の見出しの間の余白 */
.PL_lead + ul.t_contents_ul_s {
    margin-bottom: 10.0pt;
}

.PL_lead + ul.t_contents_ul_s:last-child {
    margin-bottom: 0;
}

/* 索引名の長体 */
span.tree_index .edit_tall {
    font-stretch: 80%;
}
