:root{--cv-green:#2f7a4f;--cv-deep:#1f5236;--cv-leaf:#e4f1e8;--cv-ink:#26302a;--cv-mute:#6b7a70;--cv-line:#d9e5dc;--cv-bg:#f7faf7;--cv-card:#ffffff}
*{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body.cv{margin:0;background:var(--cv-bg);color:var(--cv-ink);font-family:"Hiragino Sans","Yu Gothic UI","Meiryo",system-ui,sans-serif;line-height:1.8;letter-spacing:.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.cv-shell{max-width:980px;margin:0 auto;padding:0 18px}
.cv-top{padding:30px 0 10px;text-align:center}
.cv-logo{display:inline-flex;align-items:baseline;gap:10px;font-size:30px;font-weight:700;color:var(--cv-deep);letter-spacing:.08em}
.cv-logo small{font-size:12px;font-weight:500;letter-spacing:.3em;color:var(--cv-green)}
.cv-mark{color:var(--cv-green);font-size:26px}
.cv-slogan{margin:4px 0 0;font-size:13px;color:var(--cv-mute)}
.cv-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 0 22px;border-bottom:1px solid var(--cv-line)}
.cv-tags a{padding:6px 16px;border:1px solid var(--cv-line);border-radius:999px;background:var(--cv-card);font-size:13.5px;color:var(--cv-deep)}
.cv-tags a:hover,.cv-tags a.cv-on{background:var(--cv-green);border-color:var(--cv-green);color:#fff}
.cv-main{padding:28px 0 40px}
.cv-cat{display:inline-block;font-size:11.5px;font-weight:700;color:var(--cv-green);letter-spacing:.08em;margin-bottom:4px}
time{font-size:12px;color:var(--cv-mute)}
.cv-lead a{display:grid;grid-template-columns:1.15fr 1fr;gap:26px;align-items:center;background:var(--cv-card);border:1px solid var(--cv-line);border-radius:18px;overflow:hidden}
.cv-lead-fig{margin:0;aspect-ratio:16/10;overflow:hidden}
.cv-lead-fig img{width:100%;height:100%;object-fit:cover}
.cv-lead-txt{padding:10px 26px 10px 0}
.cv-lead-txt h2{margin:4px 0 10px;font-size:23px;line-height:1.45}
.cv-lead-txt p{margin:0 0 10px;font-size:14px;color:var(--cv-mute)}
.cv-sec{margin-top:40px}
.cv-h{font-size:15px;letter-spacing:.2em;color:var(--cv-deep);margin:0 0 16px;padding-left:12px;border-left:4px solid var(--cv-green)}
.cv-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px}
.cv-item a{display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:start;padding:10px;border-radius:14px;background:var(--cv-card);border:1px solid var(--cv-line)}
.cv-item a:hover{border-color:var(--cv-green)}
.cv-item-fig{margin:0;aspect-ratio:4/3;border-radius:10px;overflow:hidden}
.cv-item-fig img{width:100%;height:100%;object-fit:cover}
.cv-item-txt h3{margin:0 0 4px;font-size:15px;line-height:1.5}
.cv-item-lead{margin:0 0 4px;font-size:12.5px;color:var(--cv-mute);line-height:1.6}
.cv-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cv-topic{background:var(--cv-leaf);border-radius:14px;padding:16px 18px}
.cv-topic h3{margin:0 0 8px;font-size:15px;color:var(--cv-deep)}
.cv-topic ul{list-style:none;margin:0;padding:0}
.cv-topic li{padding:7px 0;border-top:1px dashed #c6d9cc;font-size:13.5px;line-height:1.5}
.cv-topic li time{display:block;font-size:11px}
.cv-note{margin-top:44px;padding:26px 28px;background:var(--cv-deep);color:#f1f7f3;border-radius:18px}
.cv-note h2{margin:0 0 8px;font-size:17px}
.cv-note p{margin:0 0 12px;font-size:14px;opacity:.9}
.cv-note a{display:inline-block;padding:7px 18px;border:1px solid #9bc7ab;border-radius:999px;font-size:13px;color:#fff}
.cv-article{max-width:720px;margin:0 auto}
.cv-crumb{font-size:12px;color:var(--cv-mute);margin:0 0 12px}
.cv-crumb a{color:var(--cv-green)}
.cv-article-head h1{font-size:27px;line-height:1.5;margin:0 0 8px;color:var(--cv-deep)}
.cv-fig{margin:22px 0 28px;border-radius:16px;overflow:hidden;aspect-ratio:16/9}
.cv-fig img{width:100%;height:100%;object-fit:cover}
.cv-body{font-size:16px}
.cv-intro{font-size:16.5px;font-weight:500;color:var(--cv-deep);background:var(--cv-leaf);padding:16px 20px;border-radius:12px}
.cv-body h2{font-size:19px;margin:34px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--cv-line);color:var(--cv-deep)}
.cv-body p{margin:0 0 18px}
.cv-body dl{display:grid;grid-template-columns:120px 1fr;gap:6px 14px;background:var(--cv-card);border:1px solid var(--cv-line);border-radius:12px;padding:16px 18px;font-size:14.5px}
.cv-body dt{font-weight:700;color:var(--cv-green)}
.cv-body dd{margin:0}
.cv-body .cv-src{margin-top:28px;padding:12px 16px;border-left:3px solid var(--cv-green);font-size:13px;color:var(--cv-mute)}
.cv-body .cv-src a{color:var(--cv-green);text-decoration:underline}
.cv-date{font-size:13px;color:var(--cv-mute)}
.cv-more{max-width:720px;margin:48px auto 0}
.cv-ttl{font-size:26px;color:var(--cv-deep);margin:0 0 6px}
.cv-ttl-sub{margin:0 0 20px;font-size:14px;color:var(--cv-mute)}
.cv-foot{border-top:1px solid var(--cv-line);padding:30px 0 26px;font-size:13px}
.cv-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:24px}
.cv-foot-name{margin:0 0 6px;font-size:17px;font-weight:700;color:var(--cv-deep)}
.cv-foot-name small{font-size:11px;letter-spacing:.25em;color:var(--cv-green)}
.cv-foot-desc{margin:0;color:var(--cv-mute);line-height:1.7}
.cv-foot ul{list-style:none;margin:0;padding:0}
.cv-foot li{padding:3px 0}
.cv-copy{margin:22px 0 0;text-align:center;color:var(--cv-mute);font-size:12px}
@media (max-width:760px){
  .cv-shell{padding:0 14px}
  .cv-logo{font-size:24px}
  .cv-lead a{grid-template-columns:1fr}
  .cv-lead-txt{padding:0 18px 18px}
  .cv-list{grid-template-columns:1fr}
  .cv-item a{grid-template-columns:104px 1fr}
  .cv-topics{grid-template-columns:1fr}
  .cv-foot-grid{grid-template-columns:1fr}
  .cv-article-head h1{font-size:22px}
  .cv-body dl{grid-template-columns:1fr;gap:2px}
  .cv-body dt{margin-top:8px}
}
