:root{--ink:#17222e;--ink-2:#2b3a4a;--muted:#5a6a78;--line:#e4e9ee;--line-2:#f0f3f6;--bg:#ffffff;--bg-2:#f8fafb;--accent:#1a4f7a;--accent-soft:#eff5fa;--warn-bg:#fffaf0;--warn-line:#e8d9ae;--warn-ink:#6b5518;--measure:740px;--radius:10px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic,sans-serif;font-size:17px;line-height:1.92;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none;text-underline-offset:3px}a:hover{text-decoration:underline}img{max-width:100%;height:auto;border-radius:8px;display:block}.wrap{max-width:var(--measure);margin:0 auto;padding:0 22px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:99;border:1px solid var(--line)}header.site{border-bottom:1px solid var(--line);background:#ffffffeb;backdrop-filter:saturate(180%) blur(8px);position:sticky;top:0;z-index:20}header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:15px;padding-bottom:15px}.brand{display:flex;align-items:baseline;gap:10px;color:var(--ink);font-weight:700;font-size:19px;letter-spacing:.01em}.brand:hover{text-decoration:none}.brand span.sub{font-weight:400;font-size:11.5px;color:var(--muted);letter-spacing:.02em;white-space:nowrap}nav.site{display:flex;gap:20px}nav.site a{font-size:13.5px;color:var(--muted);font-weight:500}nav.site a:hover{color:var(--accent);text-decoration:none}main{padding:34px 0 64px}h1{font-size:29px;line-height:1.5;letter-spacing:-.015em;color:var(--ink-2);margin:0 0 14px;font-weight:700}h2{font-size:21px;line-height:1.55;color:var(--ink-2);font-weight:700;margin:54px 0 18px;padding:0 0 10px 14px;border-left:4px solid var(--accent);border-bottom:1px solid var(--line)}h3{font-size:17.5px;line-height:1.6;color:var(--ink-2);font-weight:700;margin:34px 0 12px}h4{font-size:16px;margin:26px 0 8px;color:var(--muted)}p{margin:0 0 1.5em}ul,ol{margin:0 0 1.5em;padding-left:1.5em}li{margin:.45em 0}li::marker{color:var(--accent)}strong{font-weight:700;color:#0f1a24}hr{border:0;border-top:1px solid var(--line);margin:40px 0}.meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12.5px;color:var(--muted);margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line-2)}.meta span{display:inline-flex;align-items:center;gap:5px}.pr{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--radius);padding:11px 15px;font-size:12.5px;line-height:1.75;color:var(--warn-ink);margin:0 0 26px}.draft{background:#fdf0f0;border:1px solid #eec2c2;color:#8a2b2b;padding:10px 14px;border-radius:var(--radius);font-size:13px;margin:0 0 22px}.lead{background:var(--accent-soft);border:1px solid #d7e6f2;border-radius:var(--radius);padding:18px 20px;margin:0 0 30px;font-size:16.5px}.lead p:first-child{margin-top:0}.lead p:last-child{margin-bottom:0}.toc{border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin:0 0 36px;background:var(--bg-2)}.toc strong{display:block;font-size:12px;letter-spacing:.08em;color:var(--muted);margin-bottom:10px;text-transform:uppercase}.toc ol{margin:0;padding-left:1.3em;font-size:14.5px;line-height:1.75}.toc li{margin:6px 0}.toc a{color:var(--ink-2)}.toc a:hover{color:var(--accent)}.table-wrap{margin:24px 0;border:1px solid var(--line);border-radius:var(--radius);overflow:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14.5px;line-height:1.65;min-width:520px}thead th{background:var(--bg-2);font-weight:700;color:var(--ink-2);white-space:nowrap;position:sticky;top:0;border-bottom:2px solid var(--line)}th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line-2);vertical-align:top}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}tbody tr:nth-child(2n){background:#fcfdfe}tbody th,tbody td:first-child{font-weight:600;color:var(--ink-2);white-space:nowrap;position:sticky;left:0;z-index:1;border-right:1px solid var(--line);background:#fff}tbody tr:nth-child(2n) th,tbody tr:nth-child(2n) td:first-child{background:#fcfdfe}thead th:first-child{position:sticky;left:0;z-index:2}td.na{color:#98a4b0}blockquote{margin:24px 0;padding:14px 18px;background:var(--bg-2);border-left:3px solid var(--line);border-radius:0 8px 8px 0;color:var(--muted);font-size:16px}blockquote p:last-child{margin-bottom:0}code{background:#f2f5f8;padding:2px 6px;border-radius:5px;font-size:.88em;color:#123}pre{background:#f7f9fb;border:1px solid var(--line);padding:16px;border-radius:var(--radius);overflow-x:auto}pre code{background:none;padding:0}.cards{display:grid;gap:14px;margin:22px 0}.card{border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.card:hover{border-color:#c9d8e4;box-shadow:0 2px 14px #17222e12;transform:translateY(-1px)}.card .tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.02em;background:var(--accent-soft);color:var(--accent);padding:3px 10px;border-radius:99px;margin-bottom:10px}.card .tag.draft-tag{background:#fdf0f0;color:#8a2b2b}.card>a{display:block;font-weight:700;font-size:17px;line-height:1.55;color:var(--ink-2)}.card>a:hover{color:var(--accent);text-decoration:none}.card p{margin:8px 0 0;font-size:14px;line-height:1.75;color:var(--muted)}.related{margin-top:56px;padding-top:8px;border-top:1px solid var(--line)}.related h2{border-left:0;border-bottom:0;padding:0;margin:26px 0 6px;font-size:18px}footer.site{border-top:1px solid var(--line);background:var(--bg-2);padding:32px 0;font-size:13px;color:var(--muted);margin-top:40px}footer.site nav{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:12px}footer.site a{color:var(--muted)}footer.site p{margin:0;font-size:12px;color:#8b98a4}@media(max-width:640px){body{font-size:16.5px;line-height:1.9}.wrap{padding:0 18px}h1{font-size:24px;line-height:1.48}h2{font-size:19.5px;margin:44px 0 16px;padding-left:12px}h3{font-size:16.5px}header.site .wrap{padding-top:12px;padding-bottom:12px}.brand{font-size:17px;flex-direction:column;gap:1px}.brand span.sub{font-size:10.5px}nav.site{gap:14px}nav.site a{font-size:12.5px}.lead{padding:15px 16px;font-size:16px}.toc{padding:15px 18px}main{padding:24px 0 48px}}.hero{display:grid;grid-template-columns:1fr .88fr;gap:26px;align-items:center;background:linear-gradient(135deg,#dff7f1,#cfe7fa);border:1px solid #a9dccf;border-radius:14px;padding:28px 30px;margin:0 0 46px}.hero-copy h1{font-size:25px;line-height:1.5;margin:0 0 10px}.hero-copy p{margin:0;font-size:15px;line-height:1.8;color:var(--muted)}.hero-art{width:100%;height:auto;display:block;border-radius:12px;box-shadow:0 2px 10px #17222e0f}h2.sec{border-left:0;border-bottom:1px solid var(--line);padding:0 0 10px;margin:0 0 22px;font-size:19px}.empty{color:var(--muted);font-size:15px}.devbox{margin-top:56px;padding-top:10px;border-top:1px dashed #d8e1ea}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 8px}.tcard{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.tcard:hover{border-color:#c5d6e4;box-shadow:0 3px 16px #17222e14;transform:translateY(-2px)}.tcard-img{display:block;line-height:0;background:#eef2f7}.tcard-img svg,.tcard-img img{width:100%;height:auto;display:block;border-radius:0;aspect-ratio:16/9;object-fit:cover}.tcard-body{padding:15px 17px 17px}.tcard-body .tag{margin-bottom:9px}.tcard-title{display:block;font-weight:700;font-size:16.5px;line-height:1.55;color:var(--ink-2)}.tcard-title:hover{color:var(--accent);text-decoration:none}.tcard-body p{margin:8px 0 0;font-size:13.5px;line-height:1.72;color:var(--muted)}.eyecatch{margin:0 0 26px}.eyecatch svg,.eyecatch img{width:100%;height:auto;display:block;border-radius:12px;aspect-ratio:16/9;object-fit:cover}@media(max-width:640px){.hero{grid-template-columns:1fr;gap:18px;padding:22px 20px;margin-bottom:36px}.hero-copy h1{font-size:22px}.hero-copy p{font-size:14.5px}.grid{grid-template-columns:1fr;gap:16px}.eyecatch{margin-bottom:22px}}.thumb{container-type:inline-size;position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:0}.thumb-inner{position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr;padding:6.5cqw 0 5.5cqw}.thumb-badge{grid-row:1;justify-self:start;margin:0 0 3cqw 5.5cqw;z-index:2;background:var(--c1);color:#fff;font-weight:700;font-size:4.1cqw;line-height:1;letter-spacing:.02em;padding:1.9cqw 3cqw;border-radius:4px;white-space:nowrap}.thumb-copy{grid-row:2;position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.3cqw;padding:0 6cqw;font-weight:800;letter-spacing:-.01em;line-height:1.26;min-height:0}.thumb-copy.l1{font-size:11cqw}.thumb-copy.l2{font-size:9.2cqw}.thumb-copy.l3{font-size:7.2cqw}.thumb-motif{position:absolute;right:-4cqw;bottom:-6cqw;width:38cqw;height:38cqw;color:var(--c1);opacity:.13;z-index:1;pointer-events:none}.thumb-pop{background:#fff}.thumb-pop:before,.thumb-pop:after{content:"";position:absolute;left:0;right:0;height:3.4cqw;z-index:3;background:linear-gradient(90deg,var(--c1),var(--c2),var(--c3))}.thumb-pop:before{top:0}.thumb-pop:after{bottom:0}.thumb-pop .thumb-copy{color:#16202c}.thumb-pop .thumb-copy .em{background:var(--c1);color:#fff;padding:.7cqw 2.2cqw;border-radius:5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.thumb-calm{background:linear-gradient(140deg,#f7fbfd,color-mix(in srgb,var(--c1) 13%,#fff))}.thumb-calm .thumb-copy{color:#1b2b3d;font-weight:700;line-height:1.32}.thumb-calm .thumb-copy .em{color:var(--c1)}.thumb-calm .thumb-motif{opacity:.09}.thumb-calm:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.6cqw;z-index:3;background:linear-gradient(90deg,var(--c1),var(--c3))}.thumb-copy b.em{font-weight:inherit;display:inline-block}.thumb-pop .thumb-copy b.em{background:var(--c1);color:#fff;padding:.5cqw 1.8cqw;border-radius:5px;margin:0 .3cqw}.thumb-calm .thumb-copy b.em{background:none;color:var(--c1)}.thumb-motif-text{right:3cqw;bottom:2cqw;width:31cqw;height:31cqw;opacity:.16}.form-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:22px 0}.form-wrap iframe{display:block;width:100%;border:0}
