:root{--ink:#333;--muted:#777;--background:#f7f7f7;--surface:#fff;--line:#e5e5e5;--accent:#25758c;--accent-dark:#19566a;--accent-soft:#e8f3f6;--shadow:0 2px 14px #0000000f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--background);margin:0;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Yu Gothic,YuGothic,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-size:16px;line-height:1.8}a{color:inherit}img{max-width:100%;display:block}button,input{font:inherit}.shell{width:min(1160px,100% - 40px);margin-inline:auto}.shell-narrow{width:min(760px,100% - 40px);margin-inline:auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;color:#fff;background:var(--ink);padding:10px 16px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.site-header{background:var(--surface);box-shadow:0 1px #0000000f}.header-utility{color:#777;background:#fcfcfc;border-bottom:1px solid #eee}.utility-inner{justify-content:space-between;align-items:center;gap:20px;min-height:34px;display:flex}.utility-inner p{margin:0;font-size:.7rem}.utility-links{align-items:center;gap:15px;display:flex}.utility-links a{color:#666;font-size:.69rem;font-weight:700;text-decoration:none}.brand-row{text-align:center;place-items:center;min-height:104px;display:grid}.brand{text-decoration:none}.brand strong{letter-spacing:.025em;font-family:Georgia,Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600}.nav-wrap{border-top:1px solid #eee}.main-nav{justify-content:center;align-items:stretch;min-height:51px;display:flex}.main-nav a{border-right:1px solid #eee;place-items:center;min-width:118px;padding:0 18px;font-size:.82rem;font-weight:600;text-decoration:none;transition:color .2s,background .2s;display:grid}.main-nav a:first-child{border-left:1px solid #eee}.main-nav a:hover,.main-nav a:focus-visible{color:var(--accent);background:#fafafa}.featured-section{background:#efefef;padding:28px 0}.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.featured-card{min-width:0;box-shadow:var(--shadow);background:#ddd}.featured-card a{aspect-ratio:16/9;color:#fff;text-decoration:none;display:block;position:relative;overflow:hidden}.featured-card img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.featured-card a:after{content:"";background:linear-gradient(#0000 30%,#000000c7);position:absolute;inset:0}.featured-card:hover img{transform:scale(1.035)}.featured-overlay{z-index:1;position:absolute;inset:auto 18px 16px}.featured-overlay b{background:var(--accent);margin-bottom:7px;padding:2px 8px;font-size:.63rem;display:inline-block}.featured-overlay strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.94rem;line-height:1.55;display:-webkit-box;overflow:hidden}.content-columns{grid-template-columns:minmax(0,820px) 300px;align-items:start;gap:40px;padding-block:42px 80px;display:grid}.posts-section{min-width:0}.section-heading{border-left:4px solid var(--accent);background:var(--surface);box-shadow:var(--shadow);margin-bottom:20px;padding:18px 22px}.section-heading h1{margin:0;font-size:1.5rem;line-height:1.4}.section-heading p{color:var(--muted);margin:5px 0 0;font-size:.76rem}.post-list{gap:22px;display:grid}.post-card{background:var(--surface);min-height:226px;box-shadow:var(--shadow);grid-template-columns:270px minmax(0,1fr);display:grid;overflow:hidden}.card-image{color:#aaa;background:#e9ecec;place-items:center;min-height:100%;text-decoration:none;display:grid;overflow:hidden}.card-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.post-card:hover .card-image img{transform:scale(1.025)}.no-image{letter-spacing:.14em;font-size:.68rem;font-weight:700}.card-body{min-width:0;padding:23px 26px}.post-meta{color:#888;flex-wrap:wrap;align-items:center;gap:12px;font-size:.69rem;display:flex}.category-label{color:#fff;background:var(--accent);padding:3px 9px;font-weight:700}.post-card h2{margin:13px 0 9px;font-size:1.16rem;line-height:1.58}.post-card h2 a{text-decoration:none}.post-card h2 a:hover{color:var(--accent)}.post-card p{color:#666;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.85;display:-webkit-box;overflow:hidden}.sidebar{gap:24px;display:grid}.side-widget{background:var(--surface);box-shadow:var(--shadow)}.side-widget>h2{border-bottom:2px solid var(--accent);margin:0;padding:13px 17px;font-size:.95rem}.search-widget form{grid-template-columns:1fr auto;padding:17px;display:grid}.search-widget input{border:1px solid #d7d7d7;border-right:0;border-radius:0;outline:none;min-width:0;height:42px;padding:0 12px}.search-widget input:focus{border-color:var(--accent)}.search-widget button{color:#fff;background:var(--accent);cursor:pointer;border:0;padding:0 15px;font-size:.76rem;font-weight:700}.recent-posts,.category-list{margin:0;padding:7px 17px;list-style:none}.recent-posts li+li,.category-list li+li{border-top:1px solid #eee}.recent-posts a{grid-template-columns:78px 1fr;align-items:center;gap:11px;padding:12px 0;font-size:.74rem;font-weight:600;line-height:1.55;text-decoration:none;display:grid}.recent-posts a:hover{color:var(--accent)}.recent-thumb{aspect-ratio:16/10;color:#aaa;background:#eee;place-items:center;font-size:.48rem;display:grid;overflow:hidden}.recent-thumb img{object-fit:cover;width:100%;height:100%}.category-list a{justify-content:space-between;align-items:center;padding:11px 2px;font-size:.78rem;text-decoration:none;display:flex}.category-list a:hover{color:var(--accent)}.category-list b{color:#777;background:#eee;border-radius:50%;place-items:center;min-width:23px;height:23px;font-size:.64rem;display:grid}.profile-widget{text-align:center;padding:25px 23px 27px}.profile-widget>img{object-fit:cover;border-radius:50%;width:108px;height:108px;margin:0 auto 13px}.profile-widget>h2{border:0;padding:0;font-size:1rem}.profile-widget p{color:#666;text-align:left;margin:10px 0 17px;font-size:.75rem}.profile-link{color:#fff;background:#222;border-radius:4px;padding:7px 16px;font-size:.7rem;font-weight:700;text-decoration:none;display:inline-block}.breadcrumbs{padding-top:20px}.breadcrumbs ol{color:#888;flex-wrap:wrap;gap:0;margin:0;padding:0;font-size:.68rem;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{content:">";color:#bbb;margin:0 9px}.breadcrumbs a{color:#666;text-decoration:none}.breadcrumbs span{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:65ch;display:inline-block;overflow:hidden}.archive-columns{padding-top:25px}.archive-header{background:var(--surface);box-shadow:var(--shadow);margin-bottom:24px;padding:28px 30px}.archive-header>span{color:var(--accent);letter-spacing:.12em;font-size:.67rem;font-weight:700}.archive-header h1{margin:5px 0 7px;font-size:1.75rem}.archive-header p{color:#666;margin:0;font-size:.86rem}.article-columns{padding-top:25px}.article-main{background:var(--surface);min-width:0;box-shadow:var(--shadow);padding:42px 46px 60px}.article-header{border-bottom:1px solid #eee;padding-bottom:25px}.category-pill{color:#fff;background:var(--accent);padding:4px 11px;font-size:.69rem;font-weight:700;text-decoration:none;display:inline-block}.article-header h1{margin:15px 0 12px;font-size:clamp(1.65rem,3.2vw,2.15rem);line-height:1.5}.article-date{color:#888;flex-wrap:wrap;gap:15px;font-size:.7rem;display:flex}.article-visual{margin:30px 0}.article-visual img{object-fit:cover;width:100%;max-height:500px}.toc{background:#fafafa;border:1px solid #ddd;margin:34px 0 42px;padding:22px 28px}.toc>strong{border-bottom:2px solid var(--accent);text-align:center;padding-bottom:10px;font-size:.96rem;display:block}.toc ol{margin:14px 0 0;padding-left:1.35em;font-size:.78rem}.toc li{margin:7px 0}.toc li.depth-3{margin-left:12px}.toc a{color:#555;text-decoration:none}.toc a:hover{color:var(--accent)}.article-content{min-width:0;font-size:1rem;line-height:2}.article-content h2,.article-content h3,.article-content h4{scroll-margin-top:30px;line-height:1.55}.article-content h2{color:#fff;background:var(--accent);margin:3.2em 0 1.2em;padding:16px 19px;font-size:1.4rem}.article-content h3{border-left:4px solid var(--accent);border-bottom:1px solid #ddd;margin:2.7em 0 1em;padding:10px 4px 10px 14px;font-size:1.18rem}.article-content h4{margin:2.3em 0 .8em;font-size:1.05rem}.article-content p{margin:1.35em 0}.article-content a{color:#167292;text-underline-offset:3px;text-decoration-thickness:1px}.article-content img{height:auto;margin:30px auto}.article-content blockquote{color:#555;background:#f3f5f5;border-left:4px solid #adb8bc;margin:30px 0;padding:18px 22px}.article-content ul,.article-content ol{padding-left:1.45em}.article-content li{margin:.5em 0}.article-content hr{border:0;border-top:1px dashed #bbb;margin:45px 0}.article-content .product-card{background:#fff;border:1px solid #ddd;margin:30px 0;padding:24px;box-shadow:0 2px 10px #0000000a}.article-content .product-card img{max-width:180px;margin:0 auto 16px}.page-card{background:var(--surface);box-shadow:var(--shadow);margin-top:25px;margin-bottom:80px;padding:38px 42px}.page-card h1{margin:0 0 15px;font-size:1.8rem}.contact-card{background:var(--surface);box-shadow:var(--shadow);margin-top:25px;margin-bottom:80px;padding:38px 42px}.contact-card h1,.contact-card h2{margin-top:0}.button{color:#fff;background:var(--accent);align-items:center;gap:8px;margin-top:12px;padding:11px 19px;font-weight:700;text-decoration:none;display:inline-flex}.search-page{background:var(--surface);box-shadow:var(--shadow);margin-top:25px;margin-bottom:80px;padding:35px 40px}.search-page h1{margin-top:0}.search-form{grid-template-columns:1fr auto;margin:25px 0 30px;display:grid}.search-form input{border:1px solid #ccc;min-width:0;height:48px;padding:0 15px}.search-form button{color:#fff;background:var(--accent);cursor:pointer;border:0;padding:0 22px;font-weight:700}.search-results{gap:0;display:grid}.search-result{border-top:1px solid #eee;padding:18px 0}.search-result h2{margin:0 0 4px;font-size:1rem}.search-result h2 a{text-decoration:none}.search-result p{color:#666;margin:0;font-size:.78rem}.search-empty{color:#777}.site-footer{color:#ddd;background:#333;padding:44px 0 18px}.footer-inner{justify-content:space-between;gap:30px;display:flex}.footer-inner strong{color:#fff;font-size:1rem}.footer-inner p{color:#aaa;margin:6px 0 0;font-size:.74rem}.footer-links{align-items:start;gap:20px;display:flex}.footer-links a{color:#ddd;font-size:.73rem;text-decoration:none}.copyright{color:#888;text-align:center;margin:35px 0 0;font-size:.65rem}@media (width<=980px){.content-columns{grid-template-columns:minmax(0,1fr) 270px;gap:28px}.post-card{grid-template-columns:230px minmax(0,1fr)}.main-nav a{min-width:100px}}@media (width<=800px){.content-columns{grid-template-columns:1fr}.sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-widget{grid-column:span 2}.featured-grid{gap:10px}.featured-overlay{inset:auto 12px 10px}.featured-overlay strong{font-size:.8rem}.article-main{padding-inline:35px}}@media (width<=640px){.shell,.shell-narrow{width:min(100% - 28px,1160px)}.header-utility{display:none}.brand-row{min-height:76px}.brand strong{font-size:1.05rem}.main-nav{grid-template-columns:repeat(5,minmax(0,1fr));width:100%;min-height:48px;display:grid}.main-nav a{white-space:nowrap;min-width:0;padding:0 3px;font-size:.69rem}.main-nav a:first-child{border-left:0}.featured-section{padding:14px 0}.featured-grid{grid-template-columns:1fr}.featured-card:not(:first-child){display:none}.featured-card a{aspect-ratio:16/8.5}.content-columns{padding-block:28px 60px}.post-list{gap:16px}.post-card{grid-template-columns:120px minmax(0,1fr);min-height:0}.card-body{padding:13px 14px}.post-card h2{margin:8px 0 0;font-size:.88rem;line-height:1.55}.post-card p{display:none}.post-meta{gap:7px;font-size:.6rem}.category-label{padding:2px 6px}.sidebar{grid-template-columns:1fr}.profile-widget{grid-column:auto}.breadcrumbs{padding-top:13px}.breadcrumbs span{max-width:28ch}.article-columns,.archive-columns{padding-top:16px}.article-main{padding:27px 20px 45px}.article-header h1{font-size:1.45rem}.article-visual{margin-inline:-20px}.toc{padding:18px 20px}.article-content{font-size:.96rem}.article-content h2{margin-inline:-20px;padding:14px 20px;font-size:1.22rem}.article-content h3{font-size:1.08rem}.archive-header,.page-card,.contact-card,.search-page{padding:27px 22px}.footer-inner{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
