@charset "UTF-8";:root{--main-bg-color:#fcfcfc;--main-text-color:#333;--accent-color:#3366cc;--accent-hover-color:#2a56ad;--light-accent-color:#f0f5ff;--heading-color:#1a1a1a;--border-color:#f0f0f0;--code-bg-color:#f8f9fa;--content-bg-color:transparent;--divider-color:rgba(0, 0, 0, 0.05)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:noto sans jp,Arial,sans-serif;font-size:16px;line-height:1.8;color:var(--main-text-color);background-color:var(--main-bg-color);margin:0;letter-spacing:.01em}a{color:var(--accent-color);text-decoration:none;transition:color .3s,border-bottom .3s}a:hover{color:var(--accent-hover-color)}header{background:linear-gradient(135deg,var(--accent-color),#2a56ad);color:#fff;padding:1.5rem 0;box-shadow:none;border-bottom:none}header h1{font-size:2rem;margin-bottom:.5rem}header h1 a{color:#fff;text-decoration:none;font-weight:700;transition:opacity .2s;letter-spacing:.02em}header h1 a:hover{color:#fff;opacity:.9}header nav ul{list-style:none;display:flex;justify-content:left;gap:1rem;padding:0;margin:.5rem 0 0}header nav ul li{margin:0}header nav ul li a{display:inline-block;padding:.4rem 1.2rem;background-color:rgba(255,255,255,.1);color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.2);border-radius:0;font-weight:500;transition:opacity .2s}header nav ul li a:hover{background-color:rgba(255,255,255,.15);color:#fff;opacity:.9}.hamburger{display:none;font-size:1.5rem;background:0 0;border:none;color:#fff;cursor:pointer;transition:opacity .2s}.hamburger:hover{opacity:.8}@media(max-width:768px){header{padding:1.2rem 0}header h1{font-size:1.6rem;margin-bottom:.3rem}header nav ul{flex-direction:column;gap:.7rem}header nav ul li a{padding:.5rem 1rem;font-size:1rem;width:100%;text-align:center}.hamburger{display:block;position:absolute;top:1.2rem;right:1rem;font-size:1.5rem;background:0 0;border:none;color:#fff;cursor:pointer}.nav-menu{display:none;flex-direction:column;align-items:center;background:var(--accent-color);position:absolute;top:4rem;right:0;width:100%;box-shadow:none;border-bottom:none;padding:1rem 0;z-index:100}.nav-menu ul{width:90%}.nav-menu a{display:block;background-color:rgba(255,255,255,.1);color:#fff;text-align:center;border:1px solid rgba(255,255,255,.2);border-radius:0;font-weight:500;transition:opacity .2s;margin:0 .3rem;padding:.7rem 0}.nav-menu a:hover{background-color:rgba(255,255,255,.15);opacity:.9}.nav-menu.open{display:flex;animation:fadeIn .3s ease-out}@keyframes fadeIn{from{opacity:0}to{opacity:1}}}.ogp-card{display:flex;flex-direction:row;background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;margin:1rem auto;max-width:600px}.ogp-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px rgba(0,0,0,.15)}.ogp-card a img{width:250px;height:100%!important;object-fit:contain;object-position:center;margin:0;border-right:1px solid #ddd}@media(max-width:480px){.ogp-card{flex-direction:column}.ogp-card a img{width:100%;height:140px;border-right:none;border-bottom:1px solid #ddd}}.ogp-content{flex:1;padding:1rem;display:flex;flex-direction:column;justify-content:center}.ogp-title{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;color:#2c3e50;line-height:1.5}.ogp-description{font-size:.9rem;color:#666;margin-bottom:.5rem;line-height:1.4}.ogp-url{font-size:.8rem;color:#3498db;text-decoration:none;margin-top:auto}.ogp-url:hover{text-decoration:underline}.image-container{text-align:center;margin:2rem 0}.image-container img{max-width:100%;height:auto;border:none;border-radius:0;box-shadow:none;transition:opacity .2s ease}.uniform-image{width:600px;max-width:100%;height:auto;object-fit:contain;display:block;margin:0 auto}.image-container img:hover{opacity:.9}.image-container .caption{font-size:.95rem;color:#666;margin-top:.8rem;text-align:center;font-style:italic}blockquote{margin:2rem 0;padding:1.5rem 2rem;border-left:3px solid var(--accent-color);background-color:transparent;font-style:italic;color:#444}blockquote p{margin:0!important}blockquote cite{display:block;margin-top:1rem;font-size:.9rem;color:#666;font-style:normal;text-align:right}table{width:100%;border-collapse:collapse;margin:2rem 0;border-radius:0;overflow:hidden;border:1px solid var(--border-color)}thead{background-color:var(--accent-color);color:#fff}th,td{padding:.8rem 1rem;border:1px solid var(--border-color);text-align:left}tbody tr:nth-child(even){background-color:rgba(0,0,0,2%)}tbody tr:hover{background-color:rgba(0,0,0,3%)}@media screen and (max-width:768px){.image-container{margin:1.5rem 0}.image-container img{max-width:100%}.image-container .caption{font-size:.85rem;margin-top:.6rem}blockquote{padding:1rem 1.2rem;margin:1.5rem 0}table{font-size:.9rem}th,td{padding:.6rem .8rem}}.image-modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.75);backdrop-filter:blur(2px)}.image-modal.show{display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.image-modal-content{max-width:90%;max-height:90%;border-radius:0;animation:zoomIn .3s ease-out}@keyframes zoomIn{from{transform:scale(.98);opacity:0}to{transform:scale(1);opacity:1}}.image-modal-caption{margin:15px 0;text-align:center;color:#fff;font-size:1.1rem;max-width:80%}.image-modal-close{position:absolute;top:20px;right:30px;color:#fff;font-size:2.5rem;font-weight:700;cursor:pointer;transition:opacity .2s}.image-modal-close:hover{opacity:.8}footer{background-color:transparent;color:var(--main-text-color);border-top:1px solid var(--divider-color);text-align:center;padding:2rem 0;margin-top:3rem;box-shadow:none}footer p{font-size:.9rem;color:#666;margin:0}@media(max-width:768px){footer{padding:1.5rem 0;margin-top:2rem}}.container{width:92%;max-width:900px;margin:0 auto;padding:0}.container header{background:0 0;color:#000;padding:0}.post-list{padding:2rem 0}.post-list ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.post-item{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 3px 10px rgba(0,0,0,8%);border:1px solid rgba(0,0,0,4%);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;margin-bottom:1.5rem}.post-item:hover{transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.post-item img{width:100%;height:180px;object-fit:cover}.post-item-content{padding:1.2rem}.post-item h3{padding:0 .5rem .5rem;font-size:1.3rem;margin:0;line-height:1.4}.post-item h4{font-size:.9rem;color:#666;font-weight:400;padding:0 1rem}.twitter-tweet{display:block;margin:1rem auto!important;max-width:550px}.twitter-tweet-rendered{margin:1rem auto!important}iframe.twitter-tweet{margin:1rem auto!important;display:block!important}.post{padding:2rem 0}.post h1{font-size:1.5rem;text-align:left;margin-bottom:1rem;line-height:1.4;color:var(--heading-color)}.post-meta{text-align:left;font-size:.9rem;color:#666;margin-top:.5rem;margin-bottom:.8rem}.social-share{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.post-ogp{width:100%;max-width:800px;height:auto;margin:0 auto 1.5rem;border-radius:0}.post-title a{font-size:1.5rem;text-align:left;margin-bottom:1rem;line-height:1.4;color:var(--heading-color)}.post-title a:hover{color:var(--heading-color)}.post-content{line-height:1.8;font-size:1.1rem;padding:0;color:var(--main-text-color);overflow-wrap:break-word;background-color:transparent;margin:1.5rem 0}.post-content h1{font-size:1.5rem;font-weight:700;margin:2rem 0 1.2rem;line-height:1.4;color:var(--heading-color);border-bottom:3px solid var(--divider-color);padding-bottom:.5rem;position:relative;text-align:left}.post-content h2{font-size:1.4rem;margin:1.2rem 0 1rem;line-height:1.4;color:var(--heading-color);border-left:3px solid var(--accent-color);padding-left:1rem}.post-content h3,h4,h5,h6{font-size:1.3rem;margin:1rem 0 .8rem;line-height:1.4;color:var(--heading-color)}.post-content p{margin-bottom:1.5rem;font-size:1.1rem}.post-content img{max-width:100%!important;height:auto;display:block;margin:2rem auto;border-radius:0}.post-content a img{max-width:100%!important;height:auto}.post-content ul,ol{padding-left:1.5rem;margin-bottom:.75rem}.post-content ul ul,.post-content ul ol,.post-content ol ul,.post-content ol ol{margin-bottom:.25rem}.post-content ul li,ol li{line-height:1.6;font-size:1.05rem;margin-bottom:.25rem}.post-content pre{padding:1.2rem;background-color:var(--code-bg-color);max-width:100%;overflow:scroll;border-radius:0;margin:1.5rem 0;border-left:3px solid var(--accent-color)}.highlight{overflow-x:auto;color:#333;background-color:var(--code-bg-color);padding:1.2rem;border-radius:0;border-left:3px solid var(--accent-color);margin:1.5rem 0}.highlight pre code{line-height:1.6;font-family:courier new,Courier,monospace;font-size:.95rem;word-wrap:normal}.pagination{text-align:center;margin:2.5rem 0}.pagination-buttons{display:flex;justify-content:center;gap:1rem}.pagination .btn{background-color:var(--accent-color);color:#fff;padding:.6rem 1.2rem;border-radius:0;text-decoration:none;transition:background-color .3s,opacity .2s;font-weight:500}.pagination .btn:hover{background-color:var(--accent-hover-color);opacity:.9}.post-tags{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--divider-color)}.post-tags h3{font-size:1.2rem;margin-bottom:.8rem;color:var(--heading-color)}.post-tags ul{list-style:none;padding:0;display:flex;gap:.7rem;flex-wrap:wrap}.post-tags ul li a{text-decoration:none;color:var(--accent-color);background:0 0;padding:.4rem .9rem;border-radius:0;font-size:.9rem;border:1px solid var(--accent-color);transition:background-color .3s,opacity .2s}.post-tags ul li a:hover{background-color:var(--accent-color);color:#fff;opacity:.9}@media(max-width:768px){body{line-height:1.6}.container{width:95%}.post-content ul,.post-content ol{padding-left:1.2rem}.post-content ul li,.post-content ol li{font-size:1rem;line-height:1.5}.post-content{padding:0;font-size:1rem}.post h1{font-size:1.8rem}.post-content h1{font-size:1.6rem}.post-content h2{font-size:1.4rem}.post-content h3{font-size:1.2rem}.post-content p{font-size:1rem;line-height:1.7}.highlight pre code{font-size:.85rem}.article-figure a img{max-width:100%;height:auto}}