/* 相談室テーマ: 明るく落ち着いたライト。信頼感・整理・次の一歩 = ティール系 */
  :root{
    --bg:#f6f5f2;
    --card:#ffffff;
    --text:#1c1c1c;
    --muted:#5a5a5a;
    --line:#e8e6e3;
    --accent:#0d9488;
    --accent2:#0f766e;
    --accent-soft:rgba(13,148,136,.08);
  }
  
  *{ box-sizing:border-box; }
  html,body{ margin:0; padding:0; }
  body{
    font-family: ui-sans-serif, system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", "Segoe UI", Arial;
    background: var(--bg);
    color:var(--text);
    line-height:1.6;
  }
  
  a{ color:inherit; text-decoration:none; }
  .container{ width:min(1080px, 92vw); margin:0 auto; }
  
  .site-header{
    position: sticky; top:0; z-index:50;
    background: var(--card);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 1px 0 rgba(0,0,0,.04);
  }
  .site-header .container{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 0;
  }
  .logo{ font-weight:800; letter-spacing:.02em; color:var(--text); display:inline-block; }
  .logo-img{ display:block; height:36px; width:auto; }
  .logo.small .logo-img-footer{ height:28px; }
  .logo.small{ font-size:0; }
  .nav a{ margin-left:14px; padding:8px 10px; border-radius:10px; color:var(--muted); }
  .nav a.active, .nav a:hover{ background: var(--accent-soft); color:var(--accent2); }
  
  .section{ padding:44px 0; }
  .section-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
  .kicker{ color:var(--accent2); font-weight:700; margin:0 0 10px; }
  h1{ font-size:clamp(28px, 4vw, 44px); line-height:1.12; margin:0 0 10px; }
  h2{ font-size:clamp(20px, 2.2vw, 28px); margin:0 0 16px; }
  h3{ margin:0 0 10px; }
  
  .lead{ color:var(--text); font-size:1.05rem; opacity:.95; }
  .small{ font-size:.92rem; color:var(--muted); }
  .subtle{ opacity:.9; }
  
  .hero{ padding:46px 0 10px; }
  .hero-grid{
    display:grid;
    grid-template-columns: 1.2fr .8fr;
    gap:24px;
  }
  @media (max-width:900px){
    .hero-grid{ grid-template-columns: 1fr; }
  }
  
  .hero-card{
    border:1px solid var(--line);
    border-radius:18px;
    padding:18px 18px 14px;
    background: var(--card);
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
  }
  .trust{ margin:16px 0 0; padding-left:18px; color:var(--muted); }
  .checklist{ margin:10px 0 0; padding-left:18px; }
  .checklist li{ margin:6px 0; }
  
  .cards{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:14px;
  }
  @media (max-width:900px){
    .cards{ grid-template-columns: 1fr; }
  }
  .card{
    border:1px solid var(--line);
    border-radius:16px;
    padding:16px;
    background: var(--card);
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
  }
  
  .btn{
    display:inline-flex; align-items:center; justify-content:center;
    gap:8px;
    border-radius:14px;
    padding:10px 14px;
    border:1px solid var(--line);
    background: var(--card);
    color:var(--text);
    font-weight:700;
  }
  .btn.primary{
    background: var(--accent);
    border-color: var(--accent2);
    color:#fff;
  }
  .btn.primary:hover{ filter: brightness(1.06); }
  .btn.ghost:hover{ background: var(--accent-soft); color:var(--accent2); }
  .cta-row{ display:flex; gap:12px; flex-wrap:wrap; margin-top:14px; }
  
  .note{
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px 14px;
    background: var(--card);
  }
  
  .form{
    border:1px solid var(--line);
    border-radius:18px;
    padding:16px;
    background: var(--card);
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
  }
  .form label{ display:block; margin:10px 0; }
  .form input, .form select, .form textarea{
    width:100%;
    margin-top:6px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--line);
    background: var(--bg);
    color:var(--text);
  }
  .grid2{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:12px;
  }
  @media (max-width:700px){
    .grid2{ grid-template-columns: 1fr; }
  }
  .checkbox{ display:flex; gap:10px; align-items:flex-start; }
  .checkbox input{ width:auto; margin-top:3px; }
  .hidden{ display:none; }
  
  .post-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:14px;
  }
  @media (max-width:900px){
    .post-grid{ grid-template-columns: 1fr; }
  }
  .post-card{
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px;
    background: var(--card);
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
  }
  .post-card .meta{ color:var(--muted); font-size:.9rem; margin:6px 0 10px; }
  .text-link{ color: var(--accent); font-weight:700; }
  .text-link:hover{ color: var(--accent2); }
  
  .post-list{ display:grid; gap:12px; }
  .filters{
    display:grid; grid-template-columns: 220px 1fr; gap:12px;
    margin:18px 0;
  }
  @media (max-width:700px){
    .filters{ grid-template-columns:1fr; }
  }
  
  .breadcrumb{ margin:0 0 14px; }
  .breadcrumb-list{ margin:0; padding:0; list-style:none; font-size:.9rem; color:var(--muted); }
  .breadcrumb-item{ display:inline; }
  .breadcrumb-sep{ margin:0 .35em; color:var(--line); }
  .breadcrumb a{ color:var(--muted); text-decoration:none; }
  .breadcrumb a:hover{ color:var(--accent2); }
  .breadcrumb a.breadcrumb-current{ color:var(--text); cursor:default; pointer-events:none; }

  .article .meta{ color:var(--muted); margin:6px 0 18px; }
  
  .article-body{
    margin:20px 0 24px;
    line-height:1.75;
  }
  .article-body h2{ font-size:1.35rem; margin:28px 0 12px; padding-bottom:6px; border-bottom:1px solid var(--line); }
  .article-body h3{ font-size:1.15rem; margin:20px 0 10px; }
  .article-body p{ margin:0 0 14px; }
  .article-body ul, .article-body ol{ margin:0 0 14px; padding-left:1.4em; }
  .article-body li{ margin:4px 0; }
  .article-body a{ color:var(--accent); text-decoration:underline; }
  .article-body a:hover{ color:var(--accent2); }
  .article-body strong{ font-weight:700; }
  .article-body code{ font-size:.92em; padding:2px 6px; border-radius:6px; background:var(--accent-soft); color:var(--accent2); }
  .article-body pre{ margin:14px 0; padding:14px; border-radius:12px; background:var(--bg); border:1px solid var(--line); overflow-x:auto; }
  .article-body pre code{ padding:0; background:none; color:var(--text); }
.article-body blockquote{ margin:14px 0; padding-left:16px; border-left:4px solid var(--accent); color:var(--muted); }

  .pillar-cta{
    margin-top:28px; padding:14px 16px;
    border:1px solid var(--accent); border-radius:12px;
    background: var(--accent-soft);
    font-weight:600;
  }
  .pillar-cta a{ color:var(--accent2); text-decoration:underline; }
  .pillar-cta a:hover{ color:var(--accent); }

  .cta-box{
    border:1px solid var(--accent);
    background: var(--accent-soft);
    border-radius:16px;
    padding:14px;
    margin:16px 0;
  }
  
  .site-footer{
    border-top:1px solid var(--line);
    padding:22px 0;
    color:var(--muted);
    background: var(--card);
  }
  .footer-grid{
    display:flex; justify-content:space-between; align-items:flex-start; gap:16px;
  }
  .footer-links a{ margin-left:12px; color:var(--muted); }
  .footer-links a:hover{ color:var(--accent2); }
  