.nav-hot[data-astro-cid-3ef6ksr2]{position:relative;color:#ffd24c!important;font-weight:700}.nav-hot[data-astro-cid-3ef6ksr2]:after{content:"募集中";position:absolute;top:-10px;right:-22px;background:#c8102e;color:#fff;font-size:.6rem;padding:.1rem .4rem;border-radius:999px;white-space:nowrap}.book-line[data-astro-cid-sz7xmlte]{font-size:.85rem;color:#666;margin-bottom:.8rem;text-align:center}.book-line[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:#e47911;text-decoration:none;font-weight:700}.book-line[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{text-decoration:underline}:root{--bg: #fafafa;--bg-card: #ffffff;--text: #1a1a1a;--text-muted: #666666;--accent: #c8102e;--accent-dark: #8b0a1f;--primary: #1a4d2e;--primary-dark: #103820;--border: #e5e5e5;--code-bg: #f4f4f6;--max-width: 800px;--max-width-wide: 1100px;--radius: 6px}*{box-sizing:border-box}html{font-family:Noto Sans JP,Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:16px;line-height:1.75;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;display:flex;flex-direction:column;min-height:100vh}main{flex:1;width:100%}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-dark);text-decoration:underline}h1,h2,h3,h4{line-height:1.4;letter-spacing:.02em;font-weight:700}h1{font-size:2rem;margin:0 0 1rem}h2{font-size:1.5rem;margin:2.5rem 0 1rem;padding-bottom:.4rem;border-bottom:2px solid var(--primary)}h3{font-size:1.2rem;margin:1.8rem 0 .8rem;color:var(--primary-dark)}p{margin:0 0 1.2rem}ul,ol{margin:0 0 1.2rem;padding-left:1.6rem}li{margin-bottom:.4rem}code{background:var(--code-bg);padding:.15em .4em;border-radius:3px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}blockquote{border-left:4px solid var(--primary);background:#f4f7f4;margin:1.5rem 0;padding:.8rem 1.2rem;color:var(--text)}img{max-width:100%;height:auto}.site-header{background:var(--primary-dark);color:#fff;padding:.9rem 1.2rem;box-shadow:0 2px 6px #0000001a}.site-header .inner{max-width:var(--max-width-wide);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem}.site-header a.logo{color:#fff;font-weight:700;font-size:1.15rem;text-decoration:none}.site-header a.logo .mark{color:var(--accent)}.site-header nav{display:flex;gap:1.2rem;flex-wrap:wrap}.site-header nav a{color:#fff;font-size:.95rem;text-decoration:none;opacity:.85}.site-header nav a:hover{opacity:1;color:#fff;text-decoration:underline}.site-footer{background:#1f1f1f;color:#ddd;padding:2rem 1.2rem 1.5rem;margin-top:4rem;font-size:.92rem}.site-footer .inner{max-width:var(--max-width-wide);margin:0 auto}.site-footer a{color:#ffcdd0}.site-footer .links{display:flex;gap:1.6rem;flex-wrap:wrap;margin-bottom:1rem}.site-footer .copyright{color:#888;font-size:.85rem;margin-top:1rem}.site-footer .legal-notice{background:#2a2a2a;padding:.8rem 1rem;border-left:3px solid var(--accent);margin-top:1rem;font-size:.85rem;color:#ccc;line-height:1.6}.hero{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:4rem 1.2rem 3rem;text-align:center}.hero .inner{max-width:var(--max-width);margin:0 auto}.hero h1{font-size:2.4rem;margin:0 0 1rem;line-height:1.35}.hero h1 .mark{color:#ffd24c}.hero p{font-size:1.1rem;opacity:.95;max-width:600px;margin:0 auto 2rem}.hero .cta{display:inline-block;background:var(--accent);color:#fff;padding:.9rem 2rem;border-radius:999px;font-weight:700;font-size:1.05rem;box-shadow:0 4px 12px #c8102e59;transition:transform .15s,box-shadow .15s}.hero .cta:hover{transform:translateY(-2px);box-shadow:0 6px 16px #c8102e73;text-decoration:none;color:#fff}.section{max-width:var(--max-width-wide);margin:0 auto;padding:3rem 1.2rem}.section h2{text-align:center;border:none;margin-bottom:2rem}.section-lead{text-align:center;color:var(--text-muted);max-width:700px;margin:0 auto 2rem}.phase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}.phase-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem 1.4rem 1.2rem;transition:transform .15s,box-shadow .15s}.phase-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.phase-card .phase-num{display:inline-block;background:var(--primary);color:#fff;font-size:.78rem;padding:.2rem .7rem;border-radius:999px;margin-bottom:.6rem}.phase-card h3{margin:0 0 .5rem;font-size:1.05rem;color:var(--text)}.phase-card p{margin:0 0 .6rem;font-size:.93rem;color:var(--text-muted)}.phase-card .range{font-size:.85rem;color:var(--primary);font-weight:700}.lesson-article{max-width:var(--max-width);margin:2rem auto;padding:0 1.2rem}.lesson-meta{display:flex;gap:1rem;align-items:center;color:var(--text-muted);font-size:.9rem;margin-bottom:.8rem}.lesson-meta .badge{background:var(--primary);color:#fff;padding:.2rem .7rem;border-radius:999px;font-size:.78rem;font-weight:700}.lesson-article h1{font-size:2rem;margin:0 0 .5rem;line-height:1.35}.lesson-lead{font-size:1.05rem;color:var(--text-muted);margin:.6rem 0 2rem;padding:1rem 1.2rem;background:#fff7f7;border-left:4px solid var(--accent);border-radius:3px}.lesson-body{font-size:1.02rem;line-height:1.85}.lesson-body table{border-collapse:collapse;margin:1.5rem 0;width:100%;font-size:.95rem}.lesson-body th,.lesson-body td{border:1px solid var(--border);padding:.6rem .9rem;text-align:left}.lesson-body th{background:var(--primary);color:#fff}.lesson-body tr:nth-child(2n){background:#f9f9f9}.lesson-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:3rem 0 1rem}.lesson-nav a{display:block;padding:1rem 1.2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all .15s}.lesson-nav a:hover{border-color:var(--accent);box-shadow:0 4px 14px #0000000f;text-decoration:none}.lesson-nav .dir{display:block;font-size:.78rem;color:var(--text-muted);margin-bottom:.2rem}.lesson-nav .title{font-weight:700;color:var(--text)}.lesson-nav .next{text-align:right}.lesson-nav .disabled{opacity:.4;pointer-events:none;border-style:dashed}.affiliate-box{background:#fff8e7;border:1px solid #f0d896;border-radius:var(--radius);padding:1.2rem 1.4rem;margin:2rem 0;font-size:.95rem}.affiliate-box .label{display:inline-block;background:#cf8b00;color:#fff;font-size:.75rem;padding:.15rem .6rem;border-radius:3px;margin-bottom:.6rem;letter-spacing:.05em}.affiliate-box .title{font-weight:700;margin-bottom:.4rem;font-size:1rem}.affiliate-box .desc{color:var(--text-muted);margin-bottom:.8rem}.affiliate-box .buttons{display:flex;gap:.6rem;flex-wrap:wrap}.affiliate-box .buttons a{display:inline-block;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;font-weight:700;border:1px solid transparent}.affiliate-box .btn-amazon{background:#f90;color:#fff}.affiliate-box .btn-rakuten{background:#bf0000;color:#fff}.affiliate-box .btn-amazon:hover,.affiliate-box .btn-rakuten:hover{text-decoration:none;opacity:.88;color:#fff}.lessons-toc{max-width:var(--max-width-wide);margin:2rem auto;padding:0 1.2rem}.lessons-toc h2{text-align:left;border-bottom:2px solid var(--primary);padding-bottom:.5rem}.lessons-toc ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.5rem;counter-reset:lesson-counter}.lessons-toc li{counter-increment:lesson-counter;margin:0}.lessons-toc li a{display:flex;align-items:baseline;gap:.6rem;padding:.65rem .9rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text);text-decoration:none;font-size:.95rem;transition:all .15s}.lessons-toc li a:hover{border-color:var(--accent);background:snow}.lessons-toc li a:before{content:counter(lesson-counter,decimal-leading-zero);color:var(--accent);font-weight:700;font-size:.9rem;font-variant-numeric:tabular-nums}.lessons-toc li a.todo{opacity:.5;pointer-events:none;border-style:dashed}.page-article{max-width:var(--max-width);margin:2rem auto 3rem;padding:0 1.2rem}@media(max-width:640px){h1{font-size:1.6rem}.hero h1{font-size:1.8rem}.hero{padding:3rem 1rem 2rem}.lesson-nav{grid-template-columns:1fr}.lesson-nav .next{text-align:left}.site-header .inner{gap:.4rem}.site-header nav{gap:.8rem;font-size:.9rem}}
