/* Responsive: yes */
body{margin:0}button{color:inherit;font:inherit;text-transform:none;margin:0}[type=button],[type=reset],[type=submit]{appearance:button}.page-archive .archive-entry,.hatena-module-profile,.entry{background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000d}.hatena-module-profile .profile-about a,.pager a{color:#0969da;background:#fff;border:1px solid #0969da;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}.hatena-module-profile .profile-about a:hover,.pager a:hover{color:#0969da;background:#f3f4f6;border-color:#0969da;text-decoration:none}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:break-word;overflow-wrap:break-word;background-color:#fafbfc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;line-height:1.85}a{color:#0969da;text-decoration:none;transition:color .15s}a:hover{color:var(--hover);text-decoration:underline}:is(h1,h2,h3,h4,h5,h6){color:#1a1a2e;letter-spacing:-.01em;font-weight:700;line-height:1.4}:is(h1,h2,h3,h4,h5,h6) a{color:#1a1a2e;text-decoration:none}:is(h1,h2,h3,h4,h5,h6) a:hover{color:#0969da;text-decoration:none}::selection{color:#1a1a2e;background-color:#e8f2ff}:root{--accent:#0969da;--hover:color-mix(in oklab, var(--accent), black 15%);--accent-light:#e8f2ff;--accent-light-hover:color-mix(in oklab, var(--accent-light), black 10%)}#container,#footer{padding-inline:16px}@media (width>=768px){#container,#footer{max-width:960px;margin:auto;padding-inline:24px}}#content-inner{flex-direction:column;display:flex;container:content-layout/inline-size}#wrapper{width:100%;min-width:0}#box2{border-top:1px solid #e5e7eb;width:100%;margin-top:2em;padding-top:2em}#box2-inner{grid-template-columns:1fr;gap:32px;display:grid}@container content-layout (width>=768px){#box2-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}#blog-title{text-align:center;margin:0;padding:32px 16px}@media (width>=768px){#blog-title{padding:48px 24px}}#title{letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,2.5vw,1.75rem);font-weight:700}#title a{color:#1a1a2e;text-decoration:none}#title a:hover{opacity:.8;text-decoration:none}#blog-description{color:#6b7280;margin:.4em 0 0;font-size:.85rem;font-weight:400}.breadcrumb{color:#6b7280;margin-bottom:1em;font-size:.85rem}.breadcrumb a{color:#6b7280}.breadcrumb a:hover{color:#0969da}.entry{margin-bottom:2.5em;padding:32px 24px;position:relative}@media (width>=768px){.entry{margin-bottom:3em;padding:40px 36px}}.entry-header{border-bottom:1px solid #f0f0f0;margin-bottom:1.5em;padding-bottom:1em;position:relative}.date{margin-bottom:.4em;font-size:.8rem}.date a{color:#636b78;font-weight:500;text-decoration:none}.date a:hover{color:#0969da;text-decoration:none}.entry-title{margin:0 0 .4em;font-size:clamp(1.4rem,2.5vw,1.6rem);font-weight:700;line-height:1.4}.entry-title a{color:#1a1a2e;text-decoration:none}.entry-title a:hover{color:#0969da;text-decoration:none}.categories{flex-wrap:wrap;gap:4px 6px;margin:.6em 0 0;display:flex}.categories a{color:#0969da;background-color:#e8f2ff;border-radius:20px;align-items:center;padding:2px 10px;font-size:.75rem;font-weight:500;text-decoration:none;display:inline-flex}.categories a:hover{text-decoration:none}.categories a{transition:background-color .15s}.categories a:hover{background-color:var(--accent-light-hover)}.entry-header-menu{position:absolute;top:0;right:0}.entry-content{font-size:1rem;line-height:1.85}.entry-content :is(img,video){border-radius:6px;max-width:100%;height:auto}.entry-content :is(h1,h2,h3,h4,h5,h6){margin:2em 0 .8em}.entry-content :is(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}.entry-content h1{border-bottom:2px solid #e5e7eb;padding-bottom:.3em;font-size:clamp(1.5rem,2.5vw,1.6rem)}.entry-content h2{border-bottom:1px solid #f0f0f0;padding-bottom:.25em;font-size:clamp(1.35rem,2.5vw,1.4rem)}.entry-content h3{font-size:clamp(1.15rem,2.5vw,1.2rem)}.entry-content h4{font-size:1.05rem}.entry-content h5{font-size:1rem}.entry-content h6{color:#6b7280;font-size:.9rem}.entry-content p{margin:0 0 1.2em}.entry-content :is(ul,ol,dd){margin:0 0 1.2em;margin-inline-start:1.5em;padding:0}.entry-content :is(ul,ol,dd) li{margin-bottom:.3em}.entry-content :is(ul,ol,dd) li :is(ul,ol){margin-bottom:0}.entry-content table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:1.5em;font-size:clamp(.85rem,2.5vw,.9rem);display:block;overflow:auto}.entry-content table th,.entry-content table td{border:1px solid #e5e7eb;padding:8px 12px}.entry-content table th{text-align:left;background:#f1f3f5;font-weight:600}.entry-content table tr:nth-child(2n){background-color:#00000004}.entry-content blockquote{color:#6b7280;background:#f1f3f5;border-inline-start:4px solid #0969da;border-radius:0 6px 6px 0;margin:0 0 1.5em;padding:16px 20px}.entry-content blockquote p:first-of-type{margin-top:0}.entry-content blockquote p:last-of-type{margin-bottom:0}.entry-content pre,.entry-content code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier New,monospace}.entry-content pre{color:#abb2bf;white-space:pre;tab-size:2;background:#1e2127;border:none;border-radius:8px;margin:0 0 1.5em;padding:16px 20px;font-size:clamp(.85rem,2.5vw,.875rem);line-height:1.5;overflow-x:auto}.entry-content pre.shiki:focus{outline:none}.entry-content pre.shiki code{display:block}.entry-content pre code{font-size:inherit!important}.entry-content :not(pre)>code{color:#c4277a;background-color:#f1f3f5;border-radius:4px;margin-inline:2px;padding:2px 6px;font-size:.875em}.entry-content hr{border:0;border-top:1px solid #e5e7eb;width:60%;margin:2.5em auto}.entry-content .table-of-contents{background:#f1f3f5;border:1px solid #e5e7eb;border-radius:8px;margin:1.5em 0;padding:1.2em 1.2em 1.2em 2.2em;font-size:.9rem;line-height:1.7}.entry-content .table-of-contents a{color:inherit;text-decoration:none}.entry-content .table-of-contents a:hover{text-decoration:underline}.entry-content .footnote{vertical-align:super;font-size:.75rem}.entry-footer{margin-top:1.5em}.entry-footer .social-buttons{margin-bottom:1em}.entry-footer-section{color:#636b78;font-size:.8rem}.entry-footer-section a{color:#636b78}.entry-footer-section a:hover{color:#0969da}.pager{margin:2em 0;display:flex}.pager .pager-next{margin-inline-start:auto}.pager a{display:inline-block}.hatena-module{box-sizing:border-box;font-size:clamp(.85rem,2.5vw,.875rem)}.hatena-module:not(:last-child){margin-bottom:2em}.hatena-module-title{letter-spacing:.02em;border-bottom:2px solid #1a1a2e;margin-bottom:.8em;padding-bottom:.4em;font-size:.9rem;font-weight:700}.hatena-module-title a{color:#1a1a2e;text-decoration:none}.hatena-module-title a:hover{color:#0969da;text-decoration:none}.hatena-module-profile{text-align:center;grid-column:1/-1;padding:32px 24px}.hatena-module-profile .hatena-module-title{display:none}.hatena-module-profile .profile-icon{float:none;-o-object-fit:cover;object-fit:cover;border:3px solid #e5e7eb;border-radius:50%;width:96px;height:96px;margin:0 auto 16px;display:block;box-shadow:0 1px 2px #0000000d}.hatena-module-profile .id{color:#1a1a2e;margin-bottom:.2em;font-size:1.05rem;font-weight:700;display:block}.hatena-module-profile .id a{color:#1a1a2e;text-decoration:none}.hatena-module-profile .id a:hover{color:#0969da;text-decoration:none}.hatena-module-profile .profile-description{margin-bottom:.5em}.hatena-module-profile .profile-description p{color:#6b7280;margin-top:0;font-size:.85rem;line-height:1.6}.hatena-module-profile .hatena-follow-button-box{margin-top:8px}.hatena-module-profile .profile-about{margin-top:12px}.hatena-module-profile .profile-about a{display:inline-block}.hatena-urllist{margin:0;padding:0;list-style:none}.hatena-urllist li{padding:.4em 0;display:flow-root}.hatena-urllist li:not(:last-child){border-bottom:1px solid #f0f0f0}.hatena-urllist li a{color:#333;text-decoration:none}.hatena-urllist li a:hover{color:#0969da;text-decoration:none}.hatena-urllist .urllist-image-link{float:inline-start;margin-inline-end:.6em;border-radius:6px;margin-bottom:.2em;display:block;overflow:hidden}.hatena-urllist .urllist-image-link .urllist-image{aspect-ratio:500/263;-o-object-fit:cover;object-fit:cover;width:150px;display:block}.hatena-module-entries-access-ranking .hatena-module-title{text-align:center;border-bottom:none;margin-bottom:.5em;padding-bottom:0;font-size:.95rem;position:relative}.hatena-module-entries-access-ranking .hatena-module-title:after{content:"";background:#0969da;border-radius:1px;width:40px;height:2px;margin:.4em auto 0;display:block}.archive-header-category{text-align:center;margin-bottom:1em}.page-archive #wrapper{container:archive-layout/inline-size}.page-archive .archive-entries{grid-template-columns:1fr;gap:1.5em;display:grid}@container archive-layout (width>=768px){.page-archive .archive-entries{grid-template-columns:repeat(2,minmax(0,1fr))}}.page-archive .archive-entry{flex-direction:column;min-width:0;margin:0;padding:20px 24px;line-height:1.4;display:flex;overflow:hidden}.page-archive .entry-title{margin:.3em auto;font-size:1.1rem}.page-archive .categories{margin:.4em 0 0}.page-archive .categories a{padding:1px 8px;font-size:.7rem}.page-archive .entry-thumb-link{order:-1;margin:-20px -24px .8em;display:block}.page-archive .entry-thumb{aspect-ratio:500/263;background-size:cover;width:100%;height:auto;display:block}.page-archive .entry-description{color:#6b7280;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:.5em 0 0;font-size:clamp(.85rem,2.5vw,.9rem);line-height:1.6;display:-webkit-box;overflow:hidden}.page-archive .social-buttons{margin-top:.5em;display:block}#footer{color:#636b78;border-top:none;margin-top:3em;padding:0;font-size:.85rem}#footer a{color:#636b78}#footer a:hover{color:#0969da}.footer-inner{text-align:center;border-top:1px solid #e5e7eb;padding:2.5em 0}.footer-blog-name{color:#1a1a2e;letter-spacing:-.01em;margin-bottom:.25em;font-size:1.1rem;font-weight:700}.footer-blog-name a{color:#1a1a2e;text-decoration:none}.footer-blog-name a:hover{opacity:.7;text-decoration:none}.footer-blog-desc{color:#6b7280;margin:0 0 1.25em;font-size:.85rem}.footer-links{justify-content:center;gap:1.25em;margin:0;padding:0;list-style:none;display:flex}.footer-links a{color:#636b78;justify-content:center;align-items:center;text-decoration:none;transition:color .15s;display:inline-flex}.footer-links a:hover{color:#0969da;text-decoration:none}.footer-links svg{fill:currentColor;width:20px;height:20px}.footer-divider{border:none;border-top:1px solid #f0f0f0;max-width:120px;margin:1.5em auto}.footer-copyright{color:#6b7280;margin:0;font-size:.8rem}.share-buttons{border-radius:6px;margin:1.2em 0;display:flex;overflow:hidden}.share-buttons .share-button{color:#fff;flex:1;justify-content:center;align-items:center;height:40px;text-decoration:none;transition:opacity .15s;display:flex}.share-buttons .share-button:hover{opacity:.8;text-decoration:none}.share-buttons .share-button:focus-visible{outline-offset:-2px;outline:2px solid #0969da}.share-buttons .x{color:#e7e9ea;background-color:#000}.share-buttons .bluesky{background-color:#1185fe}.share-buttons .threads{background-color:#000}.share-buttons .facebook{background-color:#1778f2}.share-buttons .bookmark{background-color:#00a4de}.page-about .entry-content :is(.about-intro,.about-section,.about-award,.about-contact){text-align:center}.page-about .entry-content .about-intro h2{border-bottom:none;margin-bottom:1.2em;padding-bottom:0}.page-about .entry-content .about-intro p{color:#6b7280;line-height:1.9}.page-about .entry-content .about-intro p:last-child{margin-bottom:0}.page-about .entry-content hr{width:80%;margin:2em auto}.page-about .entry-content .about-section h3{justify-content:center;align-items:center;gap:.5em;margin:0 0 1em;display:flex}.page-about .entry-content .about-section h3:before{content:"";background:#0969da;border-radius:2px;flex-shrink:0;width:4px;height:1.2em;display:block}.page-about .entry-content .about-award:not(:last-child){margin:0 0 1.5em}.page-about .entry-content .about-award a{text-decoration:none}.page-about .entry-content .about-award figcaption{color:#6b7280;margin-top:.5em}.page-about .entry-content .about-badges{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:12px;margin-bottom:0;display:flex}.page-about .entry-content .about-badges a{display:inline-flex}.page-about .entry-content :is(.about-award,.about-badges) img{border-radius:6px;width:100px;height:auto}.page-about .entry-content .about-contact{margin:0;padding:0;list-style:none}.page-about .entry-content .about-contact li:not(:last-child){margin-bottom:.5em}
