:root{
  --bg:#ffffff;
  --text:#222222;
  --primary:#205364; /* 元のティール */
  --secondary:#133039;
  --accent:#0099CC;
  --container:1100px;
  --gap:20px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:'Noto Sans JP',system-ui,-apple-system,"Segoe UI",Roboto,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
.container{max-width:var(--container);margin:0 auto;padding:0 16px}
.site-header{background:linear-gradient(90deg,var(--primary),var(--secondary));color:#fff}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.logo{display:flex;flex-direction:column;align-items:flex-start;gap:0;line-height:0}
.logo img{width:220px;height:auto;max-width:100%;object-fit:contain;display:block}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:16px}
.site-nav a{color:#fff;text-decoration:none;font-weight:700}

.layout{display:grid;grid-template-columns:250px 1fr;gap:var(--gap);padding:32px 0}
.sidebar{background:var(--primary);color:#fff;padding:20px;border-radius:8px}
.sidebar-title{margin-top:0}
.sidebar ul{list-style:none;padding:0;margin:8px 0 0}
.sidebar li{margin:0 0 8px}
.sidebar li.group-break{margin-top:18px;padding-top:10px;border-top:1px solid rgba(255,255,255,0.25)}
.sidebar a{color:#fff;text-decoration:none}

.company-info .contact-block{margin:12px 0 12px 18px}
.company-info .contact-title{margin:0 0 6px;font-weight:700}
.company-info .contact-block p{margin:0 0 0 22px;line-height:1.6}
.company-info h3 + p{margin-left:18px}
.company-info h3 + ul{margin-left:18px}
.company-info h4 + p{margin-left:18px}
.company-info .membership-block{margin:12px 0 0 18px}
.company-info .membership-title{margin:0 0 6px;font-weight:700}
.company-info .membership-list{margin:0;padding-left:22px;line-height:1.6}
.company-info .membership-list li{margin-bottom:4px}
.company-info .business-label{margin:0 0 4px;font-weight:700}
.company-info .business-lines{margin:0 0 12px 18px}
.company-info .business-lines p{margin:0 0 4px;line-height:1.6}

.links{list-style:none;padding:0;margin:0}
.links li{margin:0 0 12px}
.links a{color:var(--primary);text-decoration:none;display:inline-block}
.links a:hover{color:var(--accent)}

.contact-info{background:#f5f7f8;padding:16px;border-radius:6px;margin:16px 0}
.contact-info h3{margin-top:0;color:var(--primary)}
.contact-email{margin:12px 0;font-size:1.1rem}
.contact-email a{color:var(--accent);text-decoration:none;font-weight:700}
.contact-email a:hover{text-decoration:underline}

.content{background:#fff;padding:24px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,0.06)}
.page-hero{display:flex;align-items:center;gap:16px;justify-content:center;padding:20px 0;flex-wrap:wrap}
.hero-image{max-width:900px;width:auto;height:auto;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,0.12);display:block}
.page-title{margin:12px 0 0;font-size:1.8rem;color:var(--primary);text-align:center}
.eyebrow{font-weight:700;margin:0 0 8px}
.highlight{color:var(--accent);margin:0 0 16px}
.article-body p{line-height:1.8;color:var(--text)}
.caption{font-weight:700;margin-top:16px}
.chart img{max-width:100%;height:auto;display:block;margin:16px auto}

/* Figure helper for right-aligned images to avoid overlap */
.figure-right{float:right;max-width:40%;width:320px;min-width:200px;margin:0 0 18px 24px;border-radius:6px;overflow:hidden}
.figure-right img{display:block;width:100%;height:auto;border-radius:6px}
.article-body:after{content:"";display:table;clear:both}

/* Lead paragraph styling */
.lead{font-weight:700;color:var(--secondary);margin-bottom:12px}

.site-footer{background:#f5f7f8;padding:24px 0;margin-top:32px}
.footer-inner p{margin:0;color:#555}

@media(max-width:900px){
  .layout{grid-template-columns:1fr;}
  .header-inner{padding:12px 0}
  .site-nav ul{display:none}
  .logo img{height:36px}
  .figure-right{float:none;max-width:100%;width:auto;margin:16px 0;border-radius:4px}
}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
