@font-face{font-family:SuisseIntl;font-style:normal;font-weight:400;font-stretch:normal;font-display:swap;src:url(https://res.hajimehoshi.com/fonts/SuisseIntl-Regular.woff2) format("woff2")}@font-face{font-family:SuisseIntl;font-style:normal;font-weight:600;font-stretch:normal;font-display:swap;src:url(https://res.hajimehoshi.com/fonts/SuisseIntl-Semibold.woff2) format("woff2")}@font-face{font-family:SuisseIntlCond;font-style:normal;font-weight:700;font-stretch:normal;font-display:swap;src:url(https://res.hajimehoshi.com/fonts/SuisseIntlCond-Bold-WebXL.woff2) format("woff2")}@font-face{font-family:SuisseIntlMono;font-style:normal;font-weight:400;font-stretch:normal;font-display:swap;src:url(https://res.hajimehoshi.com/fonts/SuisseIntlMono-Regular-WebXL.woff2) format("woff2");ascent-override:117.4%;descent-override:55.6%;line-gap-override:0%}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:400;font-stretch:100%;size-adjust:95%;font-display:swap;src:url(https://fonts.bunny.net/noto-sans-jp/files/noto-sans-jp-japanese-400-normal.woff2) format("woff2")}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:600;font-stretch:100%;size-adjust:95%;font-display:swap;src:url(https://fonts.bunny.net/noto-sans-jp/files/noto-sans-jp-japanese-600-normal.woff2) format("woff2")}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-stretch:100%;size-adjust:95%;font-display:swap;src:url(https://fonts.bunny.net/noto-sans-jp/files/noto-sans-jp-japanese-700-normal.woff2) format("woff2")}*{padding:0;margin:0}:root{--unit-size: 24px;--column-size: calc(7 * var(--unit-size));--block-gap: var(--unit-size);--row-gap: var(--unit-size)}:root{--font-sans: "SuisseIntl", "Helvetica Neue", "Helvetica", "Arial", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo"}body{font-family:var(--font-sans),sans-serif;font-weight:400;letter-spacing:.02em}h1{font-family:var(--font-sans),sans-serif-condensed,sans-serif;font-weight:600;letter-spacing:0}section.title h1{font-family:"SuisseIntlCond","HelveticaNeue-CondensedBold",var(--font-sans),sans-serif-condensed,sans-serif;font-weight:700;letter-spacing:0}h2{font-weight:600;letter-spacing:0}h3,h4,dt{font-weight:600;letter-spacing:.02em}code{font-family:SuisseIntlMono,monospace;font-weight:400;letter-spacing:-.04em}small{font-weight:400}body{text-autospace:normal}body{font-size:calc(var(--unit-size) * 2 / 3);line-height:var(--unit-size)}h1{font-size:calc(2 * var(--unit-size) * 2 / 3);line-height:calc(2 * var(--unit-size))}section.title h1{font-size:calc(3 * var(--unit-size) * 2 / 3);line-height:calc(3 * var(--unit-size))}h2{font-size:var(--unit-size);line-height:var(--unit-size)}h3{font-size:calc(var(--unit-size) * 2 / 3);line-height:var(--unit-size)}small{font-size:calc(var(--unit-size) * 1 / 2);line-height:var(--unit-size)}a{text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.25em}:root{--color-white: #ffffff;--color-black: color-mix(in oklab, #000000 80%, var(--color-white));--background-color: color-mix(in oklab, var(--color-black), var(--color-white) 95%);--foreground-color: color-mix(in oklab, var(--color-black), var(--color-white) 25%);--header-color: color-mix(in oklab, var(--color-black), var(--color-white) 10%);--thin-border-color: var(--foreground-color);--sub-color: color-mix(in oklab, var(--color-black) 60%, var(--color-white))}:root:has(#dark-mode:checked){--background-color: color-mix(in oklab, var(--color-black), var(--color-white) 5%);--foreground-color: color-mix(in oklab, var(--color-black), var(--color-white) 75%);--header-color: color-mix(in oklab, var(--color-black), var(--color-white) 90%);--thin-border-color: color-mix(in oklab, var(--foreground-color), transparent 50%);--sub-color: color-mix(in oklab, var(--color-black) 40%, var(--color-white))}html{background-color:var(--background-color);color:var(--foreground-color)}a{color:var(--foreground-color);text-decoration-color:var(--thin-border-color)}small{color:var(--sub-color)}li::marker{color:var(--sub-color)}h1,h2,h3,h4,dt{color:var(--header-color)}:is(h1,h2,h3,h4,dt) a{color:var(--header-color)}body{display:flex}main{display:flex;flex-direction:column;flex-grow:1;align-items:center}article{display:flex;flex-direction:column;width:calc(4 * var(--column-size) + 3 * var(--unit-size));max-width:calc(100vw - 2 * var(--unit-size) + 2 * var(--unit-size) / 6)}article{margin-top:calc(2 * var(--block-gap));margin-bottom:calc(2 * var(--block-gap))}h2{box-sizing:border-box;height:calc(3 * var(--unit-size));display:flex;align-items:flex-end}h3{margin-bottom:calc(var(--unit-size) / 3)}section{margin-top:var(--block-gap)}section:first-of-type{margin-top:0}section{display:flex;flex-flow:row-reverse wrap;gap:var(--unit-size)}section>*{width:calc((100% - 3 * var(--unit-size)) / 4 * 3 + 2 * var(--unit-size))}section>h2,section>dl{width:100%}section>aside{width:var(--column-size)}.grid-container{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:var(--column-size);gap:var(--unit-size)}.grid-item-2{grid-column:span 2}.grid-item-3{grid-column:span 3}h2{padding-left:calc((100% - 3 * var(--unit-size)) / 4 + var(--unit-size))}dl{display:flex;flex-wrap:wrap;align-items:stretch;row-gap:var(--row-gap)}dt{width:var(--column-size);padding-right:var(--unit-size);text-align:right}dd{width:calc(100% - var(--column-size) - var(--unit-size))}ul li+li{margin-top:calc(var(--unit-size) / 3)}main{container-type:inline-size}@container (width < 792px){section>*{width:100%}section.title>header{width:calc((100% - 2 * var(--unit-size)) / 3 * 2 + var(--unit-size))}section>*:empty{display:none}h2{padding-left:0}dl{row-gap:0}dt{width:100%;text-align:left;margin-top:var(--row-gap);margin-bottom:calc(var(--unit-size) / 3)}dt:first-of-type{margin-top:0}dd{width:100%}ul{padding-left:var(--unit-size)}}@container (width < 600px){section.title>aside{width:100%}section.title>header{width:100%}.grid-container{grid-template-columns:repeat(2,1fr)}}@container (width < 408px){.grid-container{grid-template-columns:1fr}}figure{width:100%;display:flex;align-items:center;justify-content:center}aside>figure{height:100%}dt img{vertical-align:bottom;margin-right:calc(var(--unit-size) / 3)}figure *{vertical-align:middle}#dark-mode{display:none}#dark-mode~label{display:inline-block;position:absolute;top:calc(var(--block-gap) / 4);right:max(calc((100vw - 4 * var(--column-size) - 3 * var(--unit-size)) / 2),var(--unit-size))}#dark-mode~#dark-mode-light{display:none}#dark-mode:checked~#dark-mode-light{display:inline-block}#dark-mode:checked~#dark-mode-dark{display:none}#dark-mode~label{cursor:pointer;user-select:none}#dark-mode~label svg{width:var(--unit-size);height:var(--unit-size)}#dark-mode~label svg path{fill:var(--foreground-color)}:root:has(#dark-mode:not(:checked)) .dark-mode{display:none}:root:has(#dark-mode:checked) .light-mode{display:none}