:root{--bg:#fbfaf7;--fg:#24292f;--sub:#5b6470;--line:#e4e1da;--accent:#2f7d6d;--accent-bg:#e9f4f1;
--warn-bg:#fff4e5;--warn:#9a5b00;--card:#fff;--code:#f3f1ec}
@media (prefers-color-scheme:dark){:root{--bg:#16181b;--fg:#e6e6e6;--sub:#a3a9b1;--line:#2c3036;--accent:#6cc4b0;
--accent-bg:#1d2b28;--warn-bg:#2d2416;--warn:#f0b35a;--card:#1d2024;--code:#23272c}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;
line-height:1.85;font-size:17px}
a{color:var(--accent)}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
header.site{border-bottom:1px solid var(--line);padding:14px 0}
header.site a{color:var(--fg);text-decoration:none;font-weight:700}
header.site p{margin:2px 0 0;color:var(--sub);font-size:13px}
nav.crumb{font-size:13px;color:var(--sub);margin:18px 0 0}nav.crumb a{color:var(--sub)}
h1{font-size:1.6rem;line-height:1.45;margin:10px 0 8px}
h2{font-size:1.3rem;margin:2.4em 0 .6em;padding-bottom:.25em;border-bottom:2px solid var(--accent)}
h3{font-size:1.1rem;margin:1.8em 0 .4em}
.meta{color:var(--sub);font-size:13px}
.pr-notice{background:var(--warn-bg);color:var(--warn);font-size:13px;padding:6px 10px;border-radius:6px;margin:12px 0}
.answer{background:var(--accent-bg);border-left:4px solid var(--accent);padding:12px 14px;border-radius:0 8px 8px 0}
.tip,.note,.warn{padding:12px 14px;border-radius:8px;margin:1.2em 0}
.tip{background:var(--accent-bg)}.note{background:var(--code)}.warn{background:var(--warn-bg)}
.tip::before{content:"コツ ";font-weight:700}.warn::before{content:"注意 ";font-weight:700}
pre.prompt{background:var(--code);border:1px solid var(--line);border-radius:8px;padding:14px;white-space:pre-wrap;
font-family:inherit;font-size:15px;position:relative}
pre.prompt::before{content:"プロンプト";display:block;font-size:12px;color:var(--sub);margin-bottom:4px}
pre.output{background:var(--card);border:1px dashed var(--line);border-radius:8px;padding:14px;white-space:pre-wrap;
font-family:inherit;font-size:15px}
pre.output::before{content:"AIの返答(例)";display:block;font-size:12px;color:var(--sub);margin-bottom:4px}
.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px;margin:1em 0}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}th{background:var(--code)}
.pr-box{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:14px 16px;margin:1.6em 0}
.pr-box .label{display:inline-block;font-size:11px;border:1px solid var(--sub);color:var(--sub);border-radius:4px;padding:0 6px;margin-right:6px}
.pr-box .name{font-weight:700}.pr-box p{margin:.4em 0;font-size:15px}
.pr-box a.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:8px 16px;border-radius:999px;font-size:15px}
details{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:.6em 0;background:var(--card)}
summary{font-weight:700;cursor:pointer}
.cards{list-style:none;padding:0}.cards li{border-bottom:1px solid var(--line);padding:14px 0}
.cards a{font-weight:700;text-decoration:none;font-size:1.05rem}.cards p{margin:4px 0 0;color:var(--sub);font-size:14px}
.related{margin-top:2.5em}
footer.site{border-top:1px solid var(--line);margin-top:4em;padding:20px 0;color:var(--sub);font-size:13px}
footer.site a{color:var(--sub);margin-right:12px}
:root{color-scheme:light;--bg:#f8f9f6;--fg:#203a34;--sub:#5b6c66;--line:#dce3dc;--accent:#235a48;--accent-bg:#edf3e9;--card:#fff;--code:#f2f5ef;--warn-bg:#fff4e5;--warn:#83551c}
body{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.95}a{text-underline-offset:4px}a:focus-visible,summary:focus-visible{outline:3px solid #c28731;outline-offset:5px}.wrap{max-width:1160px;padding:0 40px}.reading{max-width:840px}.skip{position:absolute;left:16px;top:-100px;background:white;padding:10px;z-index:9}.skip:focus{top:10px}header.site{background:#fff;padding:23px 0}.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:13px;align-items:center;font-size:17px;line-height:1.6}.brand small{display:block;font-size:10px;letter-spacing:.12em;font-weight:400;color:var(--sub)}.brand-mark{display:inline-grid;place-items:center;background:#254e40;color:#fff;width:45px;height:45px;border-radius:50%;font-family:Georgia,serif;font-size:28px;flex-shrink:0}.masthead nav{display:flex;gap:25px;font-size:12px;white-space:nowrap}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center;padding:75px 0 70px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--accent);margin:0 0 14px}.hero h1{font-size:clamp(32px,3.7vw,48px);line-height:1.6;letter-spacing:.025em;margin:0 0 20px;font-weight:750}.hero h1 em{font-style:normal;background:linear-gradient(transparent 65%,#dce8cf 65%)}.hero-lead{font-size:14px;line-height:2.1;color:var(--sub);margin:0 0 27px}.primary{display:inline-flex;align-items:center;gap:35px;background:#254e40;color:#fff;padding:14px 23px;text-decoration:none;font-size:13px;border-radius:5px}.primary:hover{background:#173b2e}.hero-note{background:#eef1e4;padding:30px 32px;border:1px solid #dce1d2;border-radius:6px;transform:rotate(2deg);box-shadow:8px 10px 0 #e5e9df}.note-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.16em}.note-top b{font-family:Georgia,serif;font-size:33px;font-weight:400}.hero-note h2{font-size:23px;line-height:1.7;border:0;margin:20px 0}.hero-note ol{list-style:none;padding:0;margin:20px 0}.hero-note li{padding:10px 0;border-bottom:1px solid #d4dbcc;font-size:13px}.hero-note li span{font-size:10px;margin-right:14px;color:#62765c}.hero-note p{font-size:11px;color:var(--sub)}.library{scroll-margin-top:30px;padding:38px 0 65px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-heading h2{border:0;margin:0;font-size:25px}.section-heading>span{font-size:10px;letter-spacing:.15em}.section-heading .eyebrow{margin-bottom:8px}.cards.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0}.cards .story{padding:0;border:1px solid var(--line);background:white;border-radius:8px;overflow:hidden;transition:transform .15s}.story:hover{transform:translateY(-4px)}.story-link{display:block;height:100%;color:var(--fg)}.story-art{min-height:180px;display:flex;flex-direction:column;justify-content:space-between;padding:23px 25px;background:#e3ecdf}.story-art>span{font-size:11px;letter-spacing:.2em}.story-art b{font-size:20px;font-weight:600;max-width:205px;line-height:1.75}.story-art i{font-style:normal;font-size:8px;letter-spacing:.13em;opacity:.65}.art-1{background:#efe8d7;color:#665331}.art-2{background:#e1eaed;color:#345763}.story-copy{padding:23px}.cards .story h3{font-size:16px;line-height:1.9;margin:8px 0 12px}.cards .story p{font-size:12px;line-height:1.9;font-weight:400}.story-bottom{display:flex;justify-content:space-between;margin-top:25px;font-size:10px}.story-bottom time{color:var(--sub);font-weight:400}.editor-note{display:flex;gap:26px;align-items:center;background:#edf1ea;padding:35px 40px;border-radius:7px;margin:0 0 20px}.editor-note h2{font-size:19px;border:0;margin:0}.editor-note p{font-size:13px;margin:8px 0}.editor-note a{font-size:12px}.reading{padding-top:20px}.article-head{padding:35px 0 0}.article-head h1{font-size:32px;line-height:1.65;letter-spacing:.015em}.dek{font-size:15px;color:var(--sub);margin-top:22px}.meta{padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:30px}.toc{background:white;border:1px solid var(--line);border-radius:8px;padding:23px 28px;margin:30px 0;font-size:14px}.toc strong{font-size:13px}.toc ol{padding-left:22px;margin-bottom:0}.toc li{padding:5px 0}.toc a{text-decoration:none}.reading h2{border-bottom:1px solid var(--line);border-left:4px solid var(--accent);padding:6px 0 6px 17px;line-height:1.65;scroll-margin-top:30px}.reading p{margin:1.4em 0}.reading pre{line-height:1.95;overflow-wrap:anywhere;padding:23px;font-size:14px}.answer{padding:22px 25px}.answer::before{content:"まず、ここだけ。";display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:8px}.reading .related{padding-top:20px}.reading .cards li{background:white;padding:20px;margin:12px 0;border:1px solid var(--line);border-radius:6px}.reading .cards p{font-size:13px}.reading article{overflow-wrap:anywhere}footer.site{background:#fff;padding:32px 0;margin-top:60px}footer.site p{font-size:11px}.reading table{display:block;overflow-x:auto;max-width:100%}
@media(max-width:760px){.wrap{padding:0 22px}.masthead{gap:15px}.brand{font-size:12px;gap:9px}.brand small{font-size:8px;letter-spacing:0}.brand-mark{width:35px;height:35px;font-size:23px}.masthead nav{gap:0;font-size:11px}.masthead nav a:last-child{display:none}header.site{padding:18px 0}.hero{grid-template-columns:1fr;gap:35px;padding:40px 0 48px}.hero h1{font-size:33px}.hero-lead{font-size:13px}.hero-note{transform:none;padding:24px;box-shadow:5px 5px 0 #e5e9df}.hero-note h2{font-size:21px;margin:12px 0}.hero-note li{font-size:13px}.hero-note p{margin-bottom:0}.cards.story-grid{grid-template-columns:1fr;gap:24px}.story-art{min-height:150px}.story-art b{max-width:none;font-size:22px}.story-copy{padding:23px}.cards .story h3{font-size:18px}.cards .story p{font-size:14px}.section-heading{align-items:start}.section-heading h2{font-size:21px}.section-heading>span{display:none}.editor-note{padding:25px;align-items:start;gap:16px}.editor-note h2{font-size:17px}.editor-note p{font-size:13px}.reading{padding-top:16px}.article-head{padding-top:25px}.article-head h1{font-size:25px}.reading{font-size:16px}.reading h2{font-size:21px}.toc{padding:20px;font-size:13px}.reading pre{padding:18px;font-size:13px}.dek{font-size:14px}.primary{font-size:12px;gap:18px}.reading .meta{font-size:11px}footer.site a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.story{transition:none!important}.story:hover{transform:none}}