/* *** Style Sheet  ô                                         */
/* © Copyright 2001, 2024 KAIZU Haruo, All Rights Reserved.   */
/* 2025-11-08                                                 */

/**************************/
/*** Web Fonts          ***/
/**************************/

/* <link rel="preconnect" href="https://fonts.googleapis.com"> */
/* <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> */
/* <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@300;400;500&family=IBM+Plex+Mono:ital,wght@0,300;1,300&family=IBM+Plex+Serif:ital,wght@0,300;1,300&display=swap" rel="stylesheet"> */

.ibm-plex sans jp-regular {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.ibm-plex sans jp-light {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.ibm-plex sans jp-medium {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.ibm-plex mono-light {
  font-family: "IBM Plex Mono", monospace;
  font-weight: 300;
  font-style: normal;
}
.ibm-plex mono-light-italic {
  font-family: "IBM Plex Mono", monospace;
  font-weight: 300;
  font-style: italic;
}

.ibm-plex serif-light {
  font-family: "IBM Plex Serif", serif;
  font-weight: 300;
  font-style: normal;
}
.ibm-plex serif-light-italic {
  font-family: "IBM Plex Serif", serif;
  font-weight: 300;
  font-style: italic;
}

/**************************/
/*** Default Attributes ***/
/**************************/
BODY, .default{
/*  font-family    : sans-serif; */
  font-family      : "IBM Plex Sans JP", sans-serif;
  font-weight      : 300;
  font-size        : medium;
  color            : black;
  background-color : white;
/*  margin-left      : 0.5in; */
  line-height      : 125%;
}
TABLE{
  margin-left      : 0.5in;
  margin-right     : 0.5in;
  font-family      : "IBM Plex Sans JP", sans-serif;
  font-weight      : 300;
  font-size        : medium;
  color            : black;
  background-color : white;
  border-style     : solid;
  border-color     : black;
  border-collapse  : collapse;
  border-width     : 1px;
  border-spacing   : 0;
}
/**************************/
/*** Header Elements ******/
/**************************/
/* H1, H2, H3, H4, H5, H6{
  color : #669900;
}
H1 A, H2 A, H3 A, H4 A, H5 A,H6 A{
  color : #669900;
} */
H2, H3, H4{
  margin-left      : 0; 
  line-height      : 110%;
}
BLOCKQUOTE H2, BLOCKQUOTE H3, BLOCKQUOTE H4{
  margin-left      : 0in;
  line-height      : 110%;
}
H1{
  font-size        : xx-large;
  font-weight      : 500;
  text-align       : center;
  line-height      : 110%;
  text-border      : thick;
  border-color     : green;
  border-style     : solid;
  background-color : #00CC3350;
  padding          : 0.5em;
}
H2{
  font-size        : xx-large;
  font-weight      : 500;
  margin-top       : 2em;
}
H3{
  font-size        : x-large;
  font-weight      : 500;
  margin-top       : 2em;
}
H4{
  margin-left      : 0.5in;
  margin-right     : 0.5in;
  font-size        : large;
  font-weight      : 500;
  font-style       : normal;
  margin-top       : 2em;  
}
H5{
  margin-left      : 0.5in;
  margin-right     : 0.5in;
  font-size        : medium;
  font-weight      : 500;
  font-style       : italic;
  margin-top       : 2em;
}
H6{
  margin-left      : 0.5in;
  margin-right     : 0.5in;
  font-size        : medium;
  font-weight      : 400;
  font-style       : italic;
  margin-top       : 2em;
}
/**************************/
/*** Block Elements *******/
/**************************/
PRE.rogo1{
/*  font-family      : "ＭＳ 明朝",ui-monospace; */
  font-family: "IBM Plex Mono", monospace;
  color            : white;
  background-color : #336600;
  margin           : auto;
  padding          : 0.5em;
}
P.rogo3, P.rogo3 A{
  color            : white;
  background-color : #004D80;
  text-decoration  : none;
}
P.rogo3{
/*  font-family      : Arial,"ＭＳ Ｐゴシック",sans-serif; */
  font-family      : ui-rounded; 
  font-weight  : 500;
  text-align   : center;
  vertical-align: middle;
  border-width : 1px 0 1px 0;
  border-style : solid none solid none;
  border-color : #996600;
  margin-left  : 0px;
  margin-right : 0px;
}
PRE       {
  margin-left      : 0.5in;
  margin-right     : 0.5in;
  font-family      : "IBM Plex Mono", monospace;
  font-size        : medium;
}
PRE.nolinespace       {
  margin-left      : 0.5in;
  margin-right     : 0.5in;
  font-family      : "IBM Plex Mono", monospace;
  font-size        : medium;
  line-height      : 100%;
}
P{
  margin-left      : 0.5in;
  margin-right     : 0.5in;
  font-style       : normal;
  /* font-size        : medium; */
}
P.path{
  line-height      : 100%;
  text-align       : right;
  margin-right     : 1em;
}
P.summary, DIV.summary{
  color            : navy;
  background-color : transparent;
/*  margin-left      : 0.5in; */
/*  margin-right     : 0.5in; */
}
DIV.note, DL.note{
  color            : #006633;
  margin           : 1em 0.5in 1em 0.5in;
  padding          : 0em 1em 0em 1em;
  border           : 1px;
  border-style     : solid;
  border-color     : #006633;
}
P.note{
  color            : #006633;
  margin           : 1em 0.5in 1em 0.5in;
  padding          : 1em 1em 1em 1em;
  border           : 1px;
  border-style     : solid;
  border-color     : #006633;
}
P.noteofold{
  color            : #FF0099;
  font-weight      : 500;
  font-size        : large;
  margin           : 1em 0.5in 1em 0.5in;
  padding          : 1em;
  border-width     : 1px;
  border-style     : solid;
  border-color     : #FF0099;
}
P.example, PRE.example, DL.example, TABLE.example{
  margin-left      : 0.5in;
  margin-right     : 0.5in;
  color            : maroon;
  background-color : transparent;
}
P.copyright{
  color            : black;
  background-color : #cccc99;
  text-align       : right;
  border-width     : thin;
  border-style     : outset;
  padding          : 0.5em;
  margin-left      : 0in;
  margin-right     : 0in;
}
P.indent, PRE.indent{
  margin-left      : 0.5in;
}
ADDRESS {
  text-align       : right;
  font-style       : normal;
}

CAPTION   {
  font-weight      : 400;
  text-align       : center;
}
BLOCKQUOTE, BLOCKQUOTE TABLE{
  background-color : #99ffff20;
}
Q     {
  /* color      : #666666; */
  background-color : #99ffff20;
  font-style       : italic;
  quotes           : "“" "”" "‘" "’" ;   
  /*  quotes: "「" "」" "『" "』"; */
  /*  quotes: auto */
}

BLOCKQUOTE{
  border-style     : solid;
  border-width     : 1px;
  padding          : 1em; 
  margin-right     : 0.5in;
  margin-left      : 0.5in;
}
UL{
  margin-left      : 0.5in;
  margin-right     : 0.5in;
  margin-bottom    : auto;
}
UL UL, OL UL, DL UL{
  margin-left      : auto;
  margin-right     : auto;
  margin-bottom    : auto;
}
OL{
  margin-left      : 0.5in;
  margin-right     : 0.5in;
  margin-bottom    : auto;
  list-syle-type   : decimal;
  /* font-size       : medium; */
}
OL OL, UL OL, DL OL{
  margin-left      : auto;
  margin-right     : auto;
  margin-bottom    : auto;
  list-style-type  : upper-alpha;
}
OL OL OL{
  margin-left      : auto;
  margin-right     : auto;
  margin-bottom    : auto;
  list-style-type  : lower-alpha;
}OL OL OL OL{
  margin-left      : auto;
  margin-right     : auto;
  margin-bottom    : auto;
  list-style-type  : lower-roman;
}

OL.CapArabic{
  list-style-type  : upper-alpha;
}

@counter-style style-kakkodec {         /* 2025-11-09 tuika */ 
 system: extends decimal;
  prefix: "(";
  suffix: ") ";
}
ol.kakkodec {                           /* 2025-11-09 tuika */ 
  list-style-type: style-kakkodec;
}

@counter-style kakkoA {                 /* 2025-11-09 tuika */ 
  system: extends upper-alpha;
  prefix: "(";
  suffix: ") ";
}
ol.kakkoA {                             /* 2025-11-09 tuika */ 
  list-style-type: kakkoA;
}

@counter-style kakkoa {                 /* 2025-11-09 tuika */ 
  system: extends lower-alpha;
  prefix: "(";
  suffix: ") ";
}
ol.kakkoa {                             /* 2025-11-09 tuika */ 
  list-style-type: kakkoa;
}

@counter-style kakkoI {                 /* 2025-11-09 tuika */ 
  system: extends upper-roman;
  prefix: "(";
  suffix: ") ";
}
ol.kakkoI {                             /* 2025-11-09 tuika */ 
  list-style-type: kakkoI;
}

@counter-style kakkoi {                 /* 2025-11-09 tuika */ 
  system: extends lower-roman;
  prefix: "(";
  suffix: ") ";
}
ol.kakkoi {                             /* 2025-11-09 tuika */ 
  list-style-type: kakkoi;
}

@counter-style kakkokatairo {           /* 2025-11-09 tuika */ 
  system: extends katakana-iroha;
  prefix: "(";
  suffix: ") ";
}
ol.kakkokatairo {                       /* 2025-11-09 tuika */ 
  list-style-type: kakkokatairo;
}
ol.katairo {                            /* 2025-11-09 tuika */ 
  list-style-type: katakana-iroha;
}

LI{
  line-height      : 125%;
  margin-top       : 0.5em;
  margin-bottom    : 0.5em;
}
DL.okuzuke{
  margin-left      : 0in;
  margin-right     : 0in;
  background-color : #cccc99;
  border-style     : outset;
  border-width     : thin;
  padding          : 0.5em;
}
DL{
  margin-left      : 0.5in;
  margin-right     : 0.5in;
}
UL DL, OL DL, DL DL{
  margin-left      : auto;
  margin-right     : auto;
  margin-bottom    : auto;
}
DT{
  font-weight      : 400;
}
DD{
  margin-bottom    : 1em;
}
DIV.answer{
  padding          : 0.5em;
  border-width     : 1px;
  border-style     : double;
  margin-left      : 0.5in;
  margin-right     : 0.5in;
  border-top-color : #669900;
  border-right-color : #669900;
  border-bottom-color : #669900;
  border-left-color : #669900;
}
DIV.toc{
  border-width     : 1px;
  border-style     : solid;
  padding          : 0.5em 0.5em 0.5em 0.5em;
  border-color     : #669900;
  color            : #669900;
  margin-left      : 0.5in;
  margin-right     : 0.5in;
  margin-bottom    : 0.5in;
}
DIV.ad{
  border-width : 0px 0px 0px 0px;
  border-style     : solid;
  padding-right : 1em;padding-left : 0.5em;
  padding-left : 1em;
  border-color : gray gray gray gray;
  margin-left : 1in;
  margin-right : 1in;
  font-size : small;
  text-align : center;
  margin-top : 1em;
  margin-bottom : 0.5in;
}
DIV.roomazi{
  font-family     : "IBM Plex Serif", serif;
  line-height     : 1.5em; 
  text-align      : justify; 
  text-justify    : inter-word;
  text-indent     : 2em;
}
HR {
  color            : #669900;
}
TABLE.center {
  margin-left      : auto;
  margin-right     : auto;
}
TABLE.indent {
/*  margin-left      : 0.5in; */
/*  margin-right     : 0.5in; */
}
TABLE.m {
  border-width     : 3px;
}
TH, THEAD TR, THEAD TD, THEAD TH, TFOOT TR, TFOOT TD, TFOOT TH  {
  background-color : #ccccff;
  font-weight      : 300;
  text-align       : center;
  border-style     : solid;
  border-color     : black;
  border-width     : 1px;
  border-spacing   : 0;
  padding          : 3px;
}
TD{
  vertical-align   : top;
  font-size        : medium;
  border-style     : solid;
  border-color     : black;
  border-width     : 1px;
  border-spacing   : 0;
  padding          : 3px;
}
TD.ami{
  background-color : #cccccc70;
}
TD.nowrap{
  text-wrap        : nowrap;
}
TR.center, TD.center{
  text-align       : center;
}
TD.middle{
  vertical-align   : middle;
}

TABLE.m, TH.m, TD.m{
  border-width     : 3px;
  border-style     : solid;
}
TH.mt, TD.mt{
  border-width     : 3px 1px;
  border-style     : solid;
}
TH.mmt, TD.mmt{
  border-width     : 3px 3px 1px;
  border-style     : solid;
}
TH.mtm, TD.mtm{
  border-width     : 3px 1px 3px;
  border-style     : solid;
}
TH.mmmt, TD.mmmt{
  border-width     : 3px 3px 3px 1px;
  border-style     : solid;
}
TH.mmtt, TD.mmtt{
  border-width     : 3px 3px 1px 1px;
  border-style     : solid;
}
TH.mtmm, TD.mtmm{
  border-width     : 3px 1px 3px 3px;
  border-style     : solid;
}
TH.tm, TD.tm{
  border-width     : 1px 3px;
  border-style     : solid;
}
TH.tmm, TD.tmm{
  border-width     : 1px 3px 3px;
  border-style     : solid;
}
TH.ttm, TD.ttm{
  border-width     : 1px 1px 3px;
  border-style     : solid;
}
TH.dmmt, TD.dmmt{
  border-width     : 1px 3px 3px 1px;
  border-style     : dashed solid solid solid;
}
TH.dmtm, TD.dmtm{
  border-width     : 1px 3px 1px 3px;
  border-style     : dashed solid solid solid;
}
TH.dmtt, TD.dmtt{
  border-width     : 1px 3px 1px 1px;
  border-style     : dashed solid solid solid;
}
TH.dtmm, TD.dtmm{
  border-width     : 1px 1px 3px 3px;
  border-style     : dashed solid solid solid;
}
TH.dtmt, TD.dtmt{
  border-width     : 1px 1px 3px 1px;
  border-style     : dashed solid solid solid;
}
TH.dttm, TD.dttm{
  border-width     : 1px 1px 1px 3px;
  border-style     : dashed solid solid solid;
}
TH.dttt, TD.dttt{
  border-width     : 1px;
  border-style     : dashed solid solid solid;
}
TH.mmdt, TD.mmdt{
  border-width     : 3px 3px 1px 1px;
  border-style     : solid solid dashed solid;
}
TH.mmtm, TD.mmtm{
  border-width     : 3px 3px 1px 3px;
  border-style     : solid;  
}
TH.mtdm, TD.mtdm{
  border-width     : 3px 1px 1px 3px;
  border-style     : solid solid dashed solid;
}
TH.mtdt, TD.mtdt{
  border-width     : 3px 1px 1px 1px;
  border-style     : solid solid dashed solid;
}
TH.tmdt, TD.tmdt{
  border-width     : 3px 3px 1px 1px;
  border-style     : solid solid dashed solid;
}
TH.tmmm, TD.tmmm{
  border-width     : 1px 3px 3px 3px;
}
TH.tmmt, TD.tmmt{
  border-width     : 1px 3px 3px 1px;
  border-style     : solid;
}
TH.tmtt, TD.tmtt{
  border-width     : 1px 3px 1px 1px;
  border-style     : solid;
}
TH.tmdt, TD.tmdt{
  border-width     : 1px 3px 1px 1px;
  border-style     : solid solid dashed solid;
}
TH.ttdm, TD.ttdm{
  border-width     : 1px 1px 1px 3px;
  border-style     : solid solid dashed solid;
}
TH.ttdt, TD.ttdt{
  border-width     : 1px;
  border-style     : solid solid dashed solid;
}
TH.ttmm, TD.ttmm{
  border-width     : 1px 1px 3px 3px;
  border-style     : solid;
}
TH.ttmt, TD.ttmt{
  border-width     : 1px 1px 3px 1px;
  border-style     : solid;
}

/**************************/
/*** Inline Elements ******/
/**************************/
ABBR {
  text-decoration  : underline;
}
B {
  font-weight      : 500;
  font-style       : bold;
}
EM {
  background-color : #ffff6640;
  text-decoration  : underline;
  font-weight      : 300;
  font-style       : normal;
}
CITE EM, VAR EM,I EM, Q EM{
  background-color : #ffff6640;
  text-decoration  : underline;
  font-weight      : 300;
  font-style       : italic;
}
EM.note{
  color            : #009933;
  background-color : transparent;
  text-decoration  : none;
}
STRONG{
  color            : #ff0000;
  background-color : #ffff6630;
  text-decoration  : underline;
  font-weight      : 400;
}
CITE  {
/*  font-family      : serif; */
/*  font-family: "IBM Plex Serif", serif; */ 
  font-family      : "IBM Plex Serif", serif;
  font-style       : italic;
  background-color : #ccccff70;
}
/*
Q:BEFORE {
  content : open-quote  }
Q:AFTER  {
  content : close-quote }
*/

KBD   {
  color            : white;
  background-color : black;
  font-family      : "IBM Plex Mono", monospace; 
  font-size        : medium;
}
SAMP  {
  color            : maroon;
  background-color : transparent;
  font-family      : "IBM Plex Mono", monospace; 
}
DFN   {
  color            : #666600;
  background-color : transparent;
  font-weight      : 400;
  font-style       : normal;
}
CODE  {
  color            : navy;
  background-color : transparent;
  font-family      : "IBM Plex Mono", monospace;
}
VAR{
  font-family      : "IBM Plex Serif", serif;
  font-style       : italic; 
}
DEL{
  color            : gray;
  background-color : transparent;
  text-decoration  : line-through;
}

/* SUP,SUB{ */
/*  font-size        : smaller; */
/* } */

SMALL{
  font-size        : 80%;
}

/**************************/
/*** Class Definition *****/
/**************************/
.center   {
  text-align       : center;
}
.right    {
  text-align       : right;
}
.left    {
  text-align       : left;
}
.indent  {
  margin-left      : 0.5in;
  margin-right     : 0.5in;
}
.toc H2{
  color            : #669900;
  line-height      : 100%;
  font-size        : x-large;
  font-weight      : 500;
  margin-top       : 0em;
  margin-left      : 0em;
/*  text-decoration  : underline; */
}
.toc A{
  text-decoration  : none;
}
.toc LI{
  margin-top       : 0em;
  margin-bottom    : 0em;
  margin-left      : 0em;
  margin-right     : 0em;
}
.toc UL{
  margin-top       : 0em;
  margin-bottom    : 0em;
  margin-left      : 0em;
  margin-right     : 0em;
  list-style-type  : none;
}
.toc HR{
    border         : 0;
    border-top     : 1px solid;
}
.note UL, .note OL{
  margin-bottom    : 1em;
  margin-left      : auto;
  margin-right     : auto;
}
SPAN.smallcap{
  font-variant     : small-caps;
  font-size        : regular;
}
SPAN.italic{
  font-style       : italic;
}
SPAN.underline{
  text-decoration  : underline;
}
SPAN.bold{
  font-weight      : 500;
}
SPAN.serif{
/*  font-family      : serif; */
/*  font-family: "IBM Plex Serif", serif; */
  font-family      : "IBM Plex Serif", serif;

}
SPAN.sans-serif{
/*  font-family      : sans-serif */
  font-family      : "IBM Plex Sans JP", sans-serif;
}
SPAN.cursive{
  font-family      : cursive;
}
SPAN.smaller{
  font-size        : smaller;
}
SPAN.larger{
  font-size        : larger;
}
SPAN.none{
  text-decoration  : none;
  color            : black;
  background-color : transparent;
}
SPAN.hidden{
  color            : white;
  background-color : white;
  text-decoration  : none;
}
SPAN.times{
  font-family      : "Times New Roman","ＭＳ Ｐ明朝",serif;
}
SPAN.Arial{
  font-family      : Arial,"ＭＳ Ｐゴシック",sans-serif;
}
SPAN.courier{
  font-family      : "Courier New","ＭＳ 明朝",ui-monospace;
}
SPAN.ArialUnicodeMS{
  font-family      : "Arial Unicode MS",sans-serif;
}
.FF{
  page-break-before : always;
}

/**************************/
/*** For Printing *********/
/**************************/

/**************************/
/*** For Audio ************/
/**************************/
H1,H2,H3,H4 {
  stress:20;
  richness:90;
}
.copyright {
  volume:x-soft;
  speech-rate:x-fast;
}
DT {
  pause-before:20%;
}
CODE, SAMP, KBD {
  speak-punctuation: code;
  speak-numeral:     digits;
  speak:             spell-out;
}
ABBR,ACRONYM {
  speak-punctuation: code;
  speak-numeral:     digits;
  speak:             spell-out;
}}@media aural {
  
/*
TH {
  speak-header: always;
}
*/

/**********************************************/

.ad{
  font-size : small;
  text-align : center;
  margin-left : 1in;
  margin-right : 1in;
}