:root{--lm-green:#0e9066;--lm-green-dark:#0b6b4d;--lm-mint:#eafaf3;--lm-coral:#f0644f;--column-ink:#123b31;--column-muted:#5c6f69;--column-line:rgba(14,144,102,.18);--column-paper:#fffefb}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.column-site{margin:0;color:var(--column-ink);background:var(--column-paper);font-family:"Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased}
.column-site a{color:inherit}
.column-wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.column-hero{position:relative;overflow:hidden;padding:clamp(64px,9vw,116px) 0 clamp(56px,7vw,92px);background:linear-gradient(135deg,#f5fff9 0%,var(--lm-mint) 58%,#fffefb 100%)}
.column-hero::before{position:absolute;right:-80px;top:-105px;width:320px;height:320px;border:58px solid rgba(14,144,102,.06);border-radius:50%;content:""}
.column-kicker{margin:0 0 16px;color:var(--lm-green-dark);font:800 12px/1.4 "Manrope",sans-serif;letter-spacing:.19em}
.column-hero h1{max-width:850px;margin:0;font-family:"Noto Serif JP",serif;font-size:clamp(36px,6vw,68px);line-height:1.35;letter-spacing:-.045em}
.column-hero-lead{max-width:720px;margin:24px 0 0;color:var(--column-muted);font-size:clamp(16px,2vw,19px);line-height:2}
.column-index{padding:clamp(54px,7vw,88px) 0 96px}
.column-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.column-filter span{padding:9px 16px;border:1px solid var(--column-line);border-radius:999px;background:#fff;color:var(--lm-green-dark);font-size:13px;font-weight:700}
.column-feature{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;overflow:hidden;border:1px solid var(--column-line);border-radius:24px;background:#fff;box-shadow:0 18px 55px rgba(11,107,77,.08);text-decoration:none}
.column-feature-art{min-height:300px;padding:clamp(30px,5vw,58px);display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,rgba(11,107,77,.8),rgba(14,144,102,.42)),url('/assets/photos/fukuoka-momochi-hero.jpg') center/cover;color:#fff}
.column-feature-art strong{font:800 clamp(52px,9vw,104px)/1 "Manrope",sans-serif;letter-spacing:-.08em;opacity:.15}
.column-feature-copy{min-width:0;padding:clamp(30px,5vw,58px)}
.column-meta{display:flex;flex-wrap:wrap;gap:9px 15px;align-items:center;color:var(--column-muted);font-size:12px;font-weight:600}
.column-category{color:var(--lm-green-dark);font-weight:800}
.column-feature h2{margin:22px 0 14px;font-size:clamp(25px,3.2vw,38px);line-height:1.55;letter-spacing:-.035em}
.column-feature p,.column-card p{color:var(--column-muted);line-height:1.9}
.column-read{display:inline-flex;min-height:44px;margin-top:12px;align-items:center;color:var(--lm-green-dark);font-weight:800}
.column-grid{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.column-card{min-width:0;min-height:100%;padding:28px;display:flex;flex-direction:column;border:1px solid var(--column-line);border-radius:18px;background:#fff;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.column-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(11,107,77,.09)}
.column-card h2{margin:18px 0 10px;font-size:21px;line-height:1.65;letter-spacing:-.025em}
.column-card p{margin:0 0 16px;font-size:14px}
.column-card .column-read{margin-top:auto}
.article-hero{padding:clamp(48px,7vw,82px) 0 48px;background:linear-gradient(180deg,var(--lm-mint),rgba(234,250,243,.2))}
.article-breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 30px;color:var(--column-muted);font-size:12px}
.article-breadcrumbs a{min-height:44px;display:inline-flex;align-items:center;color:var(--lm-green-dark)}
.article-heading{max-width:900px}
.article-heading h1{margin:16px 0 20px;font-family:"Noto Serif JP",serif;font-size:clamp(31px,5.3vw,56px);line-height:1.5;letter-spacing:-.04em;overflow-wrap:anywhere}
.article-dek{max-width:760px;margin:0;color:var(--column-muted);font-size:clamp(16px,2vw,19px);line-height:1.95}
.article-byline{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--column-muted);font-size:13px}
.article-shell{width:min(1100px,calc(100% - 28px));margin:0 auto;padding:clamp(48px,7vw,82px) 0 96px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,620px),1fr));gap:clamp(32px,6vw,82px);align-items:start}
.article-body{width:100%;max-width:740px;min-width:0;margin-inline:auto;font-size:17px;line-height:2.08;overflow-wrap:anywhere}
.article-body>h2:first-child{margin-top:0}
.article-body h2{margin:3.2em 0 1em;padding-top:.2em;font-size:clamp(24px,3.2vw,32px);line-height:1.55;letter-spacing:-.035em}
.article-body h3{margin:2.6em 0 .8em;font-size:clamp(20px,2.5vw,25px);line-height:1.6}
.article-body p{margin:0 0 1.35em}
.article-body strong{font-weight:800;background:linear-gradient(transparent 66%,rgba(14,144,102,.16) 0)}
.article-body blockquote{margin:2em 0;padding:20px 24px;border-left:4px solid var(--lm-green);background:var(--lm-mint);font-family:"Noto Serif JP",serif;font-size:1.07em}
.article-body ul,.article-body ol{margin:1.2em 0 1.7em;padding-left:1.5em}
.article-body li{margin:.55em 0}
.article-body hr{width:72px;margin:3.6em auto;border:0;border-top:2px solid var(--column-line)}
.article-body a{color:var(--lm-green-dark);text-decoration-thickness:1px;text-underline-offset:3px}
.article-rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:2em 0}
.article-rate-card{min-width:0;padding:22px;border:1px solid var(--column-line);border-radius:16px;background:#fff}
.article-rate-card.is-lumera{border:2px solid var(--lm-green);background:var(--lm-mint)}
.article-rate-card span{display:block;color:var(--column-muted);font-size:13px;font-weight:700}
.article-rate-card strong{display:block;margin:8px 0 6px;color:var(--lm-green-dark);background:none;font:800 clamp(23px,3vw,31px)/1.35 "Manrope","Noto Sans JP",sans-serif}
.article-rate-card p{margin:0;color:var(--column-muted);font-size:13px;line-height:1.75}
.article-source-list{margin:2em 0;padding:22px 24px;border:1px solid var(--column-line);border-radius:14px;background:#f7fcf9;font-size:14px;line-height:1.85}
.article-source-list h2{margin:0 0 10px;padding:0;font-size:18px}
.article-source-list ul{margin:0;padding-left:1.4em}
.article-body figure{margin:2.5em 0}
.article-body img{display:block;max-width:100%;height:auto;border-radius:14px}
.article-body figcaption{margin-top:8px;color:var(--column-muted);font-size:12px;text-align:center}
.article-photo{overflow:hidden;border-radius:18px;background:#edf8f3;box-shadow:0 18px 46px rgba(11,107,77,.08)}
.article-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:0}
.article-photo figcaption{margin:0;padding:10px 16px;background:#f7fcf9;text-align:left}
.article-photo-lead{margin-top:0}
.article-compare{margin:2em 0;border:1px solid var(--column-line);border-radius:16px;overflow:hidden;background:#fff;font-size:14px;line-height:1.65}
.article-compare-row{display:grid;grid-template-columns:.8fr 1fr 1fr;border-top:1px solid var(--column-line)}
.article-compare-row:first-child{border-top:0}
.article-compare-row>*{min-width:0;padding:14px 16px}
.article-compare-row>*+*{border-left:1px solid var(--column-line)}
.article-compare-head{background:#edf8f3;color:var(--lm-green-dark);font-weight:800}
.article-compare-row>strong{background:#f8fbf9;color:var(--column-ink)}
.article-rhythm{margin:2em 0;border-top:1px solid var(--column-line);border-bottom:1px solid var(--column-line)}
.article-rhythm section{display:grid;grid-template-columns:86px 1fr 2fr;gap:18px;padding:22px 0;border-top:1px solid var(--column-line);align-items:start}
.article-rhythm section:first-child{border-top:0}
.article-rhythm h3,.article-rhythm p{margin:0}
.article-rhythm h3{color:var(--lm-green-dark);font-size:18px}
.article-rhythm p{font-size:15px;line-height:1.8}
.article-rhythm strong{background:linear-gradient(transparent 66%,rgba(14,144,102,.16) 0)}
.article-toc{margin:2.2em 0;padding:22px 24px;border:1px solid var(--column-line);border-radius:16px;background:#fff}
.article-toc>strong{display:block;margin-bottom:9px;color:var(--column-ink);background:none;font-size:15px}
.article-toc ol{margin:0;padding-left:1.35em;columns:2;column-gap:32px}
.article-toc li{margin:.35em 0;break-inside:avoid;color:var(--lm-green-dark);font-size:14px;line-height:1.65}
.article-body h2[id]{scroll-margin-top:88px}
.article-note{margin:2.4em 0;padding:22px 24px;border:1px solid var(--column-line);border-radius:14px;background:#f7fcf9;color:var(--column-muted);font-size:14px;line-height:1.85}
.article-note strong{display:block;margin-bottom:6px;color:var(--column-ink);background:none}
.article-side{width:100%;max-width:740px;min-width:0;margin-inline:auto;padding:24px;border-top:3px solid var(--lm-green);background:#f7fcf9}
.article-side h2{margin:0 0 12px;font-size:15px}
.article-side p{margin:0;color:var(--column-muted);font-size:13px;line-height:1.8}
.article-side a{display:inline-flex;min-height:44px;align-items:center;color:var(--lm-green-dark);font-weight:800;font-size:13px}
.article-cta{margin-top:3.5em;padding:clamp(26px,5vw,42px);border-radius:20px;background:var(--lm-green-dark);color:#fff}
.article-cta h2{margin:0 0 10px;padding:0;color:#fff;font-size:clamp(23px,3vw,30px)}
.article-cta p{margin:0 0 18px;color:rgba(255,255,255,.82)}
.article-cta a{display:inline-flex;min-height:46px;padding:0 20px;align-items:center;border-radius:999px;background:#fff;color:var(--lm-green-dark);font-weight:800;text-decoration:none}
.column-site footer{margin-top:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.column-card{transition:none}}
@media(max-width:640px){.article-compare{font-size:13px}.article-compare-row{grid-template-columns:1fr}.article-compare-head{display:none}.article-compare-row>*{padding:11px 14px}.article-compare-row>*+*{border-left:0;border-top:1px dashed var(--column-line)}.article-compare-row>span:nth-child(2)::before{content:"家庭教師  ";display:block;margin-bottom:2px;color:var(--lm-green-dark);font-weight:800}.article-compare-row>span:nth-child(3)::before{content:"個別指導塾  ";display:block;margin-bottom:2px;color:var(--lm-green-dark);font-weight:800}.article-rhythm section{grid-template-columns:1fr;gap:7px}.article-rhythm h3{font-size:17px}}
@media(max-width:560px){.article-toc ol{columns:1}.article-photo{border-radius:14px}.article-photo figcaption{padding:9px 12px}}
