:root{--bg:#f7f5ef;--surface:#fff;--ink:#3b3f36;--muted:#7c8073;--accent:#6f8563;--accent-dark:#5d7452;--accent-soft:#e6ece0;--warm:#e8925e;--warm-dark:#b06639;--warm-soft:#fbe6d6;--navy:#4a5442;--line:#e6e4d9;--radius:16px;--font-head:"Zen Maru Gothic", "Noto Sans JP", sans-serif;--font-body:"Zen Maru Gothic", "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;--t-bg:#eceee4;--t-main:#6f8563;--t-sub:#e8925e;--t-ink:#3b3f36;--t-light:#fff}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);letter-spacing:.02em;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.9}img{max-width:100%;height:auto;display:block}a{color:var(--accent-dark);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:var(--font-head);margin:0 0 .6em;font-weight:700;line-height:1.5}p{margin:0 0 1.2em}.container{max-width:960px;margin:0 auto;padding:0 20px}.narrow{max-width:720px}.section{padding:56px 0}.section-title{text-align:center;justify-content:center;align-items:center;gap:14px;margin-bottom:32px;font-size:1.35rem;display:flex}.section-title:before,.section-title:after{content:"";background:var(--accent);opacity:.5;border-radius:2px;width:28px;height:2px}.section-lead{text-align:center;color:var(--muted);margin-bottom:36px}.site-header{z-index:50;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#f7faf8eb;position:sticky;top:0}.site-header .inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;max-width:1080px;margin:0 auto;padding:12px 20px;display:flex}.brand{font-family:var(--font-head);color:var(--ink);font-size:1.1rem;font-weight:700}.brand:hover{text-decoration:none}.brand small{color:var(--muted);letter-spacing:.1em;font-size:.65rem;font-weight:500;display:block}.global-nav{flex-wrap:wrap;gap:4px 18px;font-size:.85rem;display:flex}.global-nav a{color:var(--ink);font-weight:500}.global-nav a:hover{color:var(--accent-dark);text-decoration:none}.hero{background:linear-gradient(180deg, #eceee4 0%, var(--bg) 100%);padding:64px 0 60px}.hero-ribbon{font-family:var(--font-head);color:var(--warm-dark);background:var(--warm-soft);border-radius:999px;margin-bottom:18px;padding:5px 18px;font-size:.78rem;font-weight:700;display:inline-block}.hero .inner{align-items:center;gap:40px;display:flex}.hero-text{flex:auto}.hero .catch{font-family:var(--font-head);margin-bottom:16px;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.6}.hero .catch .accent{color:var(--accent)}.hero .sub{color:var(--muted);margin-bottom:0}.hero-photo{flex:0 0 220px}.hero-photo .photo-frame{background:var(--accent-soft);width:220px;height:220px;color:var(--accent-dark);font-family:var(--font-head);text-align:center;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;line-height:1.6;display:flex;overflow:hidden;box-shadow:0 8px 24px #2e36341f}.btn{background:var(--accent);color:#fff;font-weight:700;font-family:var(--font-head);border-radius:999px;padding:12px 32px;transition:transform .15s,background .15s;display:inline-block;box-shadow:0 4px 14px #2fa69a4d}.btn:hover{background:var(--accent-dark);text-decoration:none;transform:translateY(-2px)}.btn.ghost{color:var(--accent-dark);border:2px solid var(--accent);box-shadow:none;background:0 0}.card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px}.card .icon{margin-bottom:8px;font-size:1.8rem}.card h3{margin-bottom:8px;font-size:1.05rem}.card p{color:var(--muted);margin:0;font-size:.9rem}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch;gap:20px;display:grid}.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:28px 24px;display:flex}.plan.featured{border:2px solid var(--accent);position:relative}.plan .badge{background:var(--accent);color:#fff;border-radius:999px;padding:3px 14px;font-size:.75rem;font-weight:700;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.plan h3{text-align:center;font-size:1.1rem}.plan .price{text-align:center;font-family:var(--font-head);color:var(--accent-dark);margin-bottom:16px;font-size:1.5rem}.plan .price small{color:var(--muted);font-size:.8rem}.plan ul{flex:1;margin:0;padding:0;font-size:.9rem;list-style:none}.plan li{border-bottom:1px dashed var(--line);padding:8px 0 8px 1.4em;position:relative}.plan li:before{content:"✓";color:var(--accent);font-weight:700;position:absolute;left:0}.article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:40px 36px}.article h1{font-size:1.6rem}.article h2{border-left:5px solid var(--accent);margin-top:2em;padding-left:12px;font-size:1.25rem}.article h3{margin-top:1.6em;font-size:1.05rem}.article blockquote{background:var(--accent-soft);color:var(--ink);border-radius:8px;margin:1.2em 0;padding:12px 20px}.article table{border-collapse:collapse;width:100%;margin-bottom:1.2em;font-size:.9rem}.article th,.article td{border:1px solid var(--line);text-align:left;padding:8px 12px}.article th{background:var(--bg)}.meta{color:var(--muted);margin-bottom:24px;font-size:.85rem}.tag{background:var(--warm-soft);color:var(--warm-dark);font-family:var(--font-head);border-radius:999px;padding:2px 12px;font-size:.72rem;font-weight:700;display:inline-block}.post-list{gap:16px;display:grid}.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);align-items:flex-start;gap:18px;padding:16px;transition:border-color .15s,transform .15s;display:flex;box-shadow:0 2px 10px #6e6e500f}.post-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}.post-card-body{flex:auto;min-width:0}.post-card-meta{align-items:center;gap:10px;margin:0;display:flex}.post-card-date{color:var(--muted);font-size:.75rem}.post-card h3{margin:8px 0 6px;font-size:1.02rem;line-height:1.6}.post-card-desc{color:var(--muted);margin:0;font-size:.86rem}.thumb{aspect-ratio:3/2;border-radius:calc(var(--radius) - 6px);background:var(--t-bg);flex:0 0 168px;line-height:0;overflow:hidden}.thumb--warm{--t-bg:#fbe1cd}.thumb img,.thumb svg{object-fit:cover;width:100%;height:100%;display:block}.notice{color:#8a6642;background:#fdf4ea;border:1px solid #f0dcc6;border-radius:10px;margin-bottom:24px;padding:10px 16px;font-size:.82rem}.contact-mail{background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius);text-align:center;margin:28px 0;padding:24px}.contact-mail-label{font-family:var(--font-head);color:var(--accent-dark);margin:0 0 8px;font-size:.8rem;font-weight:700}.contact-mail-address{font-family:var(--font-head);word-break:break-all;margin:0;font-size:clamp(1rem,3.6vw,1.25rem);font-weight:700}.contact-mail-address a{color:var(--ink);border-bottom:2px solid var(--warm);padding-bottom:2px}.contact-mail-address a:hover{color:var(--warm-dark);text-decoration:none}.cta-band{background:var(--navy);color:#fff;text-align:center;border-radius:var(--radius);padding:56px 20px}.cta-band h2{color:#fff;font-size:1.3rem}.cta-band p{color:#d8e8e3;font-size:.92rem}.site-footer{border-top:1px solid var(--line);text-align:center;color:var(--muted);margin-top:56px;padding:32px 20px 40px;font-size:.8rem}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-bottom:12px;display:flex}.site-footer a{color:var(--muted)}@media (width<=720px){.site-header{position:static}.global-nav{gap:4px 14px;font-size:.8rem}.hero .inner{text-align:center;flex-direction:column-reverse}.hero-photo .photo-frame{width:160px;height:160px}.hero,.section{padding:40px 0}.article{padding:28px 20px}}@media (width<=560px){.post-card{flex-direction:column;gap:14px}.thumb{flex:auto;width:100%}}
