@font-feature-values InterVariable {
    @character-variant {
        cv01: 1; cv02: 2; cv03: 3; cv04: 4; cv05: 5; cv06: 6; cv07: 7; cv08: 8;
        cv09: 9; cv10: 10; cv11: 11; cv12: 12; cv13: 13;
        alt-1:            1; /* Alternate one */
        alt-3:            9; /* Flat-top three */
        open-4:           2; /* Open four */
        open-6:           3; /* Open six */
        open-9:           4; /* Open nine */
        lc-l-with-tail:   5; /* Lower-case L with tail */
        simplified-u:     6; /* Simplified u */
        alt-double-s:     7; /* Alternate German double s */
        uc-i-with-serif:  8; /* Upper-case i with serif */
        uc-g-with-spur:  10; /* Capital G with spur */
        single-story-a:  11; /* Single-story a */
        compact-lc-f:    12; /* Compact f */
        compact-lc-t:    13; /* Compact t */
    }
    @styleset {
        ss01: 1; ss02: 2; ss03: 3; ss04: 4; ss05: 5; ss06: 6; ss07: 7; ss08: 8;
        open-digits: 1;                /* Open digits */
        disambiguation: 2;             /* Disambiguation (with zero) */
        disambiguation-except-zero: 4; /* Disambiguation (no zero) */
        round-quotes-and-commas: 3;    /* Round quotes &amp; commas */
        square-punctuation: 7;         /* Square punctuation */
        square-quotes: 8;              /* Square quotes */
        circled-characters: 5;         /* Circled characters */
        squared-characters: 6;         /* Squared characters */
    }
}
@font-feature-values Inter {
    @character-variant {
        cv01: 1; cv02: 2; cv03: 3; cv04: 4; cv05: 5; cv06: 6; cv07: 7; cv08: 8;
        cv09: 9; cv10: 10; cv11: 11; cv12: 12; cv13: 13;
        alt-1:            1; /* Alternate one */
        alt-3:            9; /* Flat-top three */
        open-4:           2; /* Open four */
        open-6:           3; /* Open six */
        open-9:           4; /* Open nine */
        lc-l-with-tail:   5; /* Lower-case L with tail */
        simplified-u:     6; /* Simplified u */
        alt-double-s:     7; /* Alternate German double s */
        uc-i-with-serif:  8; /* Upper-case i with serif */
        uc-g-with-spur:  10; /* Capital G with spur */
        single-story-a:  11; /* Single-story a */
        compact-lc-f:    12; /* Compact f */
        compact-lc-t:    13; /* Compact t */
    }
    @styleset {
        ss01: 1; ss02: 2; ss03: 3; ss04: 4; ss05: 5; ss06: 6; ss07: 7; ss08: 8;
        open-digits: 1;                /* Open digits */
        disambiguation: 2;             /* Disambiguation (with zero) */
        disambiguation-except-zero: 4; /* Disambiguation (no zero) */
        round-quotes-and-commas: 3;    /* Round quotes &amp; commas */
        square-punctuation: 7;         /* Square punctuation */
        square-quotes: 8;              /* Square quotes */
        circled-characters: 5;         /* Circled characters */
        squared-characters: 6;         /* Squared characters */
    }
}
@font-feature-values InterDisplay {
    @character-variant {
        cv01: 1; cv02: 2; cv03: 3; cv04: 4; cv05: 5; cv06: 6; cv07: 7; cv08: 8;
        cv09: 9; cv10: 10; cv11: 11; cv12: 12; cv13: 13;
        alt-1:            1; /* Alternate one */
        alt-3:            9; /* Flat-top three */
        open-4:           2; /* Open four */
        open-6:           3; /* Open six */
        open-9:           4; /* Open nine */
        lc-l-with-tail:   5; /* Lower-case L with tail */
        simplified-u:     6; /* Simplified u */
        alt-double-s:     7; /* Alternate German double s */
        uc-i-with-serif:  8; /* Upper-case i with serif */
        uc-g-with-spur:  10; /* Capital G with spur */
        single-story-a:  11; /* Single-story a */
        compact-lc-f:    12; /* Compact f */
        compact-lc-t:    13; /* Compact t */
    }
    @styleset {
        ss01: 1; ss02: 2; ss03: 3; ss04: 4; ss05: 5; ss06: 6; ss07: 7; ss08: 8;
        open-digits: 1;                /* Open digits */
        disambiguation: 2;             /* Disambiguation (with zero) */
        disambiguation-except-zero: 4; /* Disambiguation (no zero) */
        round-quotes-and-commas: 3;    /* Round quotes &amp; commas */
        square-punctuation: 7;         /* Square punctuation */
        square-quotes: 8;              /* Square quotes */
        circled-characters: 5;         /* Circled characters */
        squared-characters: 6;         /* Squared characters */
    }
}
*,:after,:before{box-sizing:border-box}
hr{color:inherit;height:0}
abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
b,strong{font-weight:bolder}
code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}
sup{top:-.5em}
table{border-color:inherit;text-indent:0}
::-moz-focus-inner{border-style:none;padding:0}
:-moz-ui-invalid{box-shadow:none}
legend{padding:0}
progress{vertical-align:baseline}
[type=search]{-webkit-appearance:textfield;outline-offset:-2px}
::-webkit-search-decoration{-webkit-appearance:none}
summary{display:list-item}
details{border:1px solid}
summary{--marker-image:url('data:image/svg+xml;charset=utf-8,%3Csvg width=\'16\' height=\'16\' fill=\'none\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath d=\'m8 9.586 5.293-5.293a1 1 0 1 1 1.414 1.414l-6 6a1 1 0 0 1-1.414 0l-6-6a1 1 0 0 1 1.414-1.414L8 9.586Z\' fill=\'%23000\'/%3E%3C/svg%3E');align-items:center;background:inherit;background:var(--marker-image) no-repeat center left .5em;background-size:1em 1em;color:inherit;cursor:pointer;display:flex;list-style:none;min-height:2.75em;padding:.7em .7em .7em 2em;text-decoration:none}
summary::-webkit-details-marker{display:none}
select{--marker-image:url('data:image/svg+xml;charset=utf-8,%3Csvg width=\'16\' height=\'16\' fill=\'none\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath d=\'m8 9.586 5.293-5.293a1 1 0 1 1 1.414 1.414l-6 6a1 1 0 0 1-1.414 0l-6-6a1 1 0 0 1 1.414-1.414L8 9.586Z\' fill=\'%23000\'/%3E%3C/svg%3E');-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--marker-image) no-repeat center right .5em;background-size:1em 1em;border:1px solid;border-radius:0;color:inherit;display:block;min-height:2.75em;padding:.7em 2em .7em .7em}
select:not(:disabled){cursor:pointer}
select:disabled{opacity:.33;pointer-events:none}
input[type=checkbox]{accent-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-position:50%;background-repeat:no-repeat;border:1px solid;color:inherit;height:1.5em;transition:background-color .2s;vertical-align:middle;width:1.5em}
input[type=checkbox]:checked{background-color:currentColor;background-image:url('data:image/svg+xml;charset=utf-8,%3Csvg width=\'16\' height=\'16\' fill=\'%23fff\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath d=\'M13.92 3c.297 0 .552.109.763.326.211.217.317.48.317.786 0 .307-.107.57-.32.79l-7.56 7.777a1.02 1.02 0 0 1-.76.321 1.03 1.03 0 0 1-.768-.321l-4.28-4.394A1.09 1.09 0 0 1 1 7.495c0-.307.106-.57.317-.787.21-.217.466-.325.764-.325s.555.11.77.33l3.51 3.611 6.79-6.994c.213-.22.47-.33.768-.33Z\'/%3E%3C/svg%3E')}
input[type=checkbox]:indeterminate{background-color:currentColor;background-image:url('data:image/svg+xml;charset=utf-8,%3Csvg width=\'16\' height=\'16\' fill=\'%23fff\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath d=\'M1 8a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1Z\'/%3E%3C/svg%3E')}
input[type=checkbox]:not(:disabled){cursor:pointer}
input[type=checkbox]:disabled{opacity:.33;pointer-events:none}
input[type=radio]{accent-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-position:50%;background-repeat:no-repeat;border:1px solid;border-radius:50%;color:inherit;height:1.5em;transition:border-width .2s;vertical-align:middle;width:1.5em}
input[type=radio]:checked{border-width:.5em}
input[type=radio]:not(:disabled){cursor:pointer}
input[type=radio]:disabled{opacity:.33;pointer-events:none}
input[type=range]{--color-background:#fff;--track-height:1px;accent-color:currentColor;-webkit-appearance:none;background-color:transparent;color:currentColor;cursor:pointer;display:block;height:1.5em;margin:0;vertical-align:middle;width:100%}
input[type=range]::-webkit-slider-runnable-track{background:currentColor;border:0;height:var(--track-height);width:100%}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-background);border:1px solid;border-radius:50%;cursor:pointer;height:1.5em;margin-top:calc((-1.5em + var(--track-height))/2);width:1.5em}
input[type=range]:focus::-webkit-slider-runnable-track{background:currentColor}
input[type=range]::-moz-range-track{background:currentColor;border:0;height:var(--track-height);width:100%}
input[type=range]::-moz-range-thumb{background:var(--color-background);border:1px solid;border-radius:50%;box-sizing:border-box;cursor:pointer;height:1.5em;width:1.5em}
input[type=range]:not(:disabled){cursor:pointer}
input[type=range]:not(:disabled):focus-visible::-webkit-slider-thumb,input[type=range]:not(:disabled):hover::-webkit-slider-thumb{background:currentColor}
input[type=range]:not(:disabled):focus-visible::-moz-range-thumb,input[type=range]:not(:disabled):hover::-moz-range-thumb{background:currentColor}
input[type=range]:disabled{opacity:.33;pointer-events:none}
hr{margin-bottom:2em;margin-top:2em}
input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],textarea{background:inherit;border:1px solid;color:inherit;display:block;min-height:2.75em;padding:.7em;width:100%}
:is(input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],textarea):disabled{opacity:.33;pointer-events:none}
:is(input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],textarea)::-moz-placeholder{color:currentColor;opacity:.5}
:is(input[type=date],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],textarea)::placeholder{color:currentColor;opacity:.5}
textarea{-webkit-appearance:initial;min-height:3em;resize:vertical}
progress{background:transparent;border:1px solid;display:block;height:.5em;width:100%}
progress::-webkit-progress-value{background:currentColor;height:calc(100% + 1px);position:relative;top:-1px}
progress::-webkit-progress-bar{background:transparent}
progress::-moz-progress-bar{background:currentColor}
progress:indeterminate{animation:progressIndeterminate 1s linear infinite alternate;background:linear-gradient(currentColor,currentColor) no-repeat;background-size:25% 100%}
progress:indeterminate::-moz-progress-bar{background:transparent}
@keyframes progressIndeterminate{0%{background-position-x:0}to{background-position-x:100%}}
dialog{border-width:1px;max-width:calc(100% - 2em);padding:1em}
[role=tooltip]{background:#fff;border:1px solid;margin:0;max-width:30em;padding:1em;position:absolute}
a{color:var(--color-link)}
a:hover{color:var(--color-link-hover);text-decoration:none}
table{margin:1em 0}
table td,table th{padding-right:1em}
code,pre{font:var(--font-code);font-variant-ligatures:none;letter-spacing:0}
:not(pre)>code{background:var(--color-highlight);border-radius:4px;color:var(--color-text);font-size:.95em;letter-spacing:inherit;padding:0 .2rem}
:focus{z-index:1}
:focus-visible{outline-color:var(--color-line);outline-offset:2px;outline-style:solid;outline-width:1px}
hr{background:none;border:none;border-top:1px solid;color:var(--color-line);margin:var(--row-gap-medium) 0}
b,h1,h2,h3,h4,h5,h6,strong{color:var(--color-text);font-weight:var(--font-bold)}
.badge{border:1px solid var(--color-line);border-radius:4px;color:var(--color-dim);display:inline-block;padding:.2em .6em;text-decoration:none}
.badge:hover{background-color:var(--color-line)}
blockquote{background-color:var(--color-highlight);border-left:4px solid var(--color-line);color:var(--color-dim);margin:1.5em 0;padding-block:.75em;padding-inline:1.5em}
.breadcrumb{display:flex;flex-wrap:wrap;font:var(--font-small);list-style:none;margin:0;padding:0}
.breadcrumb>li:after{content:"/";display:inline-block;padding:0 .5em}
.breadcrumb a{text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
code[class*=language-],pre[class*=language-]{border-radius:var(--border-radius);color:var(--code-text);direction:ltr;font:var(--font-code);-webkit-hyphens:none;hyphens:none;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;white-space:pre;word-break:normal;word-spacing:normal}
code[class*=language-] ::-moz-selection, code[class*=language-]::-moz-selection, pre[class*=language-] ::-moz-selection, pre[class*=language-]::-moz-selection{background:var(--code-background-selection)}
code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:var(--code-background-selection)}
pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}
:not(pre)>code[class*=language-],pre[class*=language-]{background:var(--code-background);border:1px solid var(--code-border)}
:not(pre)>code[class*=language-]{padding:.15em .2em .05em}
.namespace,.token.punctuation{opacity:.7}
.token{position:relative;z-index:1}
.token.bold,.token.important{font-weight:700}
.token.italic{font-style:italic}
.token.entity{cursor:help}
.token.cdata,.token.comment,.token.doctype,.token.prolog{color:var(--code-comment)}
.token.builtin,.token.constant,.token.keyword,.token.property,.token.selector,.token.symbol{color:var(--code-token-1)}
.token.boolean,.token.number,.token.tag{color:var(--code-token-2)}
.token.deleted{color:var(--code-deleted)}
.token.inserted{color:var(--code-inserted)}
.token.attr-value,.token.char,.token.entity,.token.operator,.token.string,.token.url,.token.variable{color:var(--code-token-3)}
.token.atrule,.token.attr-name,.token.important,.token.regex{color:var(--code-token-4)}
.search .pagefind-ui__search-input{font-weight:400}
.search .pagefind-ui__search-input::-moz-placeholder{color:var(--color-dim);opacity:1}
.search .pagefind-ui__search-input::placeholder{color:var(--color-dim);opacity:1}
.search .pagefind-ui__search-input:focus{background:var(--color-background)}
.search .pagefind-ui__search-clear{background:none;z-index:2}
.search .pagefind-ui__drawer{background-color:var(--color-highlight);border-radius:var(--pagefind-ui-border-radius);margin-top:4px;padding:0 1em}
.search .pagefind-ui__results-area{margin-top:0}
.search .pagefind-ui__result{border-bottom:none!important}
.toc{font:var(--font-small);margin-bottom:var(--row-gap-small)}
.toc h2{font:var(--font-small-bold);margin:.5em 0;text-transform:uppercase}
.toc ol{color:var(--color-dim);margin:0;padding-left:1.5em}
.toc ul{margin:0;padding-left:1em}
.toc li{margin:.1em 0}
.toc a{color:inherit}
.pagination ul{-moz-column-gap:2rem;column-gap:2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:0}
.pagination ul:has(.pagination-page){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.pagination a{color:var(--color-dim);display:block;text-decoration:none}
.pagination a:hover strong{text-decoration:underline}
.pagination strong{color:var(--color-base);display:block}
.pagination-prev{grid-column:1;text-align:left}
.pagination-page{grid-column:2;text-align:center}
.pagination-next{grid-column:-2;text-align:right}
@media only screen and (max-width:576px){.pagination strong{display:none}}
.footnotes{color:var(--color-dim);font:var(--font-small);margin-top:5em}
.footnotes>dl{margin:0}
.footnotes>dl>div{padding:.5em}
.footnotes>dl>div:target{outline:1px dashed var(--color-primary)}
:is(.footnotes>dl>div)+div{margin-top:.5em}
.footnotes dt{float:left;font-weight:700;margin-right:1em}
.footnotes dt a{color:var(--color-base);text-decoration:none}
.footnotes dt a:hover{text-decoration:underline}
.footnotes dd{margin:0;padding-left:2em}
.footnotes dd p{margin:.25em 0}
.footnotes dd>:first-child{margin-top:0}
.footnotes dd>:last-child{margin-bottom:0}
.page-title {
  letter-spacing: var(--font-display-spacing);
  margin: 0;
  text-wrap: balance;
}
.page-pagination {
  border-top: solid 1px var(--color-line);
  margin-top: var(--row-gap-medium);
}
.comments-section {
  margin-top: 5em;
}
@font-face {
  font-family: 'IBMPlexSansJP';
  src: url("/fonts/IBMPlexSansJP-Regular.woff2") format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.search {
  margin-top: var(--row-gap-xsmall);
}
.comments {
  display: contents;
}
*, :after, :before {
  transition: background-color 0.2s ease, border-color 0.2s ease;
}