:root{--ink: #28332f;--muted: #65716b;--paper: #fffdf9;--wash: #f3f6f0;--sage: #688171;--sage-dark: #4b6556;--mint: #dfe9df;--peach: #f1dfd1;--line: #dce3dc;--white: #ffffff;--shadow: 0 14px 40px rgba(62, 80, 68, .08);--radius: 22px;--shell: 1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Hiragino Kaku Gothic ProN,Yu Gothic,YuGothic,system-ui,sans-serif;line-height:1.85;letter-spacing:.025em}a{color:inherit;text-decoration:none}button,input{font:inherit}img{max-width:100%;height:auto}h1,h2,h3{margin-top:0;line-height:1.45;letter-spacing:.04em}h1{font-size:clamp(2rem,6vw,3.65rem)}h2{font-size:clamp(1.6rem,4vw,2.25rem)}h3{font-size:1.16rem}p{margin-top:0}.shell{width:min(calc(100% - 40px),var(--shell));margin-inline:auto}.narrow{max-width:780px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:sticky;top:0;z-index:20;background:#fffdf9f0;border-bottom:1px solid rgba(220,227,220,.8);backdrop-filter:blur(12px)}.header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;letter-spacing:.06em}.brand-dot{width:13px;height:13px;border-radius:50% 50% 50% 2px;background:var(--sage);transform:rotate(-18deg)}.site-nav{display:flex;align-items:center;gap:34px;font-size:.94rem}.site-nav a{position:relative;padding:24px 0 20px}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:15px;height:2px;background:var(--sage);transition:right .2s ease}.site-nav a:hover:after,.site-nav a.active:after{right:0}.menu-button{display:none;border:0;background:none;width:44px;height:44px;padding:10px}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:22px;height:1.5px;background:var(--ink);content:""}.menu-icon{position:relative}.menu-icon:before{position:absolute;top:-7px}.menu-icon:after{position:absolute;top:7px}.hero{position:relative;overflow:hidden;padding:clamp(80px,12vw,150px) 0;background:linear-gradient(135deg,#f8f3ea,#f2f6ef 60%,#eef3ec)}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);opacity:.65}.hero:before{width:360px;height:360px;right:-90px;top:-120px;background:var(--peach)}.hero:after{width:260px;height:260px;right:16%;bottom:-150px;background:var(--mint)}.hero-content{position:relative;z-index:1;max-width:720px}.eyebrow{margin-bottom:16px;color:var(--sage-dark);font-family:Georgia,serif;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase}.hero h1{margin-bottom:24px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-weight:500}.hero h1 span{display:block}.hero-copy{max-width:570px;color:var(--muted);font-size:1.05rem}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:11px 24px;border:1px solid var(--sage);border-radius:999px;background:var(--sage);color:#fff;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:var(--sage-dark)}.button.secondary{background:transparent;color:var(--sage-dark)}.section{padding:clamp(70px,10vw,120px) 0}.section.tint{background:var(--wash)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-heading p{margin:0;color:var(--muted);max-width:500px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card-grid.two{grid-template-columns:repeat(2,1fr)}.card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);overflow:hidden}.card>a{display:block;height:100%}.article-card>a{display:flex;flex-direction:column}.article-card .card-body{display:flex;flex:1;flex-direction:column}.article-card .text-link{margin-top:auto;padding-top:7px}.card h3{margin-bottom:10px}.card p{color:var(--muted);font-size:.93rem}.card-body,.tool-card>a{padding:25px}.article-card-top{height:112px;display:grid;place-items:center;background:linear-gradient(135deg,var(--mint),#f4eee5);color:#4b65568c;font-family:Georgia,serif;letter-spacing:.12em}.article-card-image{display:block;width:100%;height:180px;object-fit:cover}.meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;color:var(--muted);font-size:.76rem}.article-dates{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 12px}.tag{display:inline-flex;padding:3px 10px;border-radius:999px;background:var(--wash);color:var(--sage-dark);font-size:.76rem;font-weight:700}.tag+.tag{margin-left:6px}.draft-tag{background:#f7e7d9;color:#82573d}.text-link{display:inline-flex;gap:8px;margin-top:7px;color:var(--sage-dark);font-weight:700;font-size:.9rem}.tool-card{border-top:4px solid var(--sage)}.tool-card .tag{margin-bottom:17px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.category-link{padding:22px;border-radius:18px;background:#fff;border:1px solid var(--line)}.category-link strong{display:block;margin-bottom:5px}.category-link span{color:var(--muted);font-size:.83rem}.tool-category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.tool-category{padding:22px 14px;text-align:center;border:1px solid var(--line);border-radius:18px;background:var(--white)}.tool-category b{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 10px;border-radius:50%;background:var(--mint);color:var(--sage-dark);font-size:1.2rem}.tool-category span{font-size:.88rem;font-weight:700}.page-hero{padding:86px 0 65px;background:linear-gradient(135deg,#f7f1e9,var(--wash));text-align:center}.page-hero.compact h1{margin-bottom:12px;font-size:clamp(2rem,5vw,3rem)}.page-hero p:last-child{color:var(--muted)}.empty-state{padding:55px 25px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);background:var(--white)}.preview-hero{background:linear-gradient(135deg,#fbefe5,#f3f6f0)}.preview-bar{padding:12px 0;background:#82573d;color:#fff;font-size:.85rem}.preview-bar .shell{display:flex;align-items:center;gap:16px}.preview-bar span{opacity:.86}.preview-bar a{margin-left:auto;text-decoration:underline;text-underline-offset:3px}.prose{font-size:1rem}.prose-header{padding:72px 0 40px}.prose-header h1{margin-bottom:20px;font-size:clamp(2rem,5vw,3rem);word-break:auto-phrase}.prose-header .description{color:var(--muted);font-size:1.05rem}.prose-body{padding-bottom:100px}.prose-body h2{margin:3em 0 1em;padding-bottom:.5em;border-bottom:1px solid var(--line);font-size:1.45rem}.prose-body h3{margin-top:2.2em}.prose-body p,.prose-body li{color:#3f4a45}.prose-body>p:first-child{margin:0 0 38px}.prose-body>p:first-child img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.prose-body p:has(>img[alt^=挿絵：]){margin:28px auto 34px;text-align:center}.prose-body img[alt^=挿絵：]{display:inline-block;width:min(100%,540px);height:auto;border-radius:18px}.prose-body a{color:var(--sage-dark);text-decoration:underline;text-underline-offset:3px}.prose-body ul{padding-left:1.3em}.prose-body li+li{margin-top:.45em}.prose-body blockquote{margin:34px 0;padding:24px 26px;border:1px solid #d7e2d8;border-left:5px solid var(--sage);border-radius:0 18px 18px 0;background:linear-gradient(135deg,#f4f7f1,#fffdf9)}.prose-body blockquote p{margin-bottom:10px;color:var(--ink)}.prose-body blockquote p:last-child,.prose-body blockquote ul:last-child{margin-bottom:0}.prose-body blockquote strong{color:var(--sage-dark)}.prose-body blockquote ul{margin:12px 0 0}.breadcrumb{padding-top:28px;color:var(--muted);font-size:.8rem}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.tool-panel{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.field{margin-bottom:20px}.field label,.field legend{display:block;margin-bottom:7px;font-weight:700}.field input[type=number],.field input[type=text]{width:100%;min-height:50px;padding:10px 14px;border:1px solid #b8c3bb;border-radius:12px;background:#fff}.choice-list{display:grid;gap:10px}.choice-list label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;font-weight:400}.result{display:none;margin-top:24px;padding:20px;border-radius:16px;background:var(--wash)}.result.show{display:block}.result strong{color:var(--sage-dark);font-size:1.25rem}.notice{padding:18px;border-radius:14px;background:#f8f3ea;color:var(--muted);font-size:.86rem}.site-footer{padding:65px 0 24px;background:#35443c;color:#f7faf7}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.footer-brand{margin-bottom:15px}.site-footer p{color:#cad4cd;font-size:.88rem}.site-footer nav{display:grid;align-content:start;gap:12px;justify-items:end;font-size:.86rem}.copyright{width:min(calc(100% - 40px),var(--shell));margin:45px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);text-align:center}@media(max-width:820px){.menu-button{display:grid;place-items:center}.site-nav{display:none;position:absolute;top:74px;left:0;right:0;padding:12px 20px 24px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{padding:14px 4px}.site-nav a:after{display:none}.card-grid,.card-grid.two,.category-grid{grid-template-columns:1fr 1fr}.tool-category-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.shell{width:min(calc(100% - 28px),var(--shell))}.hero{padding:72px 0 85px}.hero h1 span{display:inline}.hero-copy{font-size:.96rem}.actions{display:grid}.section-heading{display:block}.section-heading p{margin-top:12px}.card-grid,.card-grid.two,.category-grid{grid-template-columns:1fr}.tool-category-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr;gap:35px}.site-footer nav{justify-items:start}.tool-panel,.prose-body blockquote{padding:20px}.preview-bar .shell{align-items:flex-start;flex-direction:column;gap:2px}.preview-bar a{margin:4px 0 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
