/*
Theme Name: Zeus Energy
Theme URI: https://nikonikodesk.com/zeus/
Description: ゼウスエナジー（系統用蓄電池の投資メディア）専用テーマ
Version: 1.0.0
Text Domain: zeus-energy
*/

  :root{
    --navy:#1a2b5e; --gold:#e0b23c; --gold-d:#b8892b; --cream:#f7f3e8;
    --ink:#1c2545; --sub:#5b6478;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;background:var(--cream);color:var(--ink);line-height:1.9;
    font-family:"Noto Sans JP",system-ui,-apple-system,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    -webkit-font-smoothing:antialiased;
    word-break:normal;overflow-wrap:break-word;line-break:strict;
  }
  h1,h2,h3,.zmg{font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif}
  /* 日本語の折り返し調整：見出しは行長を均等化、本文は1文字だけ余る行を防ぐ */
  h1,h2,h3,h4{text-wrap:balance}
  p,li,th,td,dd,dt,figcaption{text-wrap:pretty}

  a{color:var(--navy)}
  .mark{background:linear-gradient(transparent 62%, var(--gold) 62%);font-weight:700;padding:0 1px}
  header.nav{background:#fff;border-bottom:1px solid #eee2c4;position:sticky;top:0;z-index:30}
  .nav-in{max-width:760px;margin:0 auto;padding:0 18px;height:58px;display:flex;align-items:center;justify-content:space-between}
  .brand{display:flex;align-items:center;gap:7px;font-weight:900;font-size:16.5px;color:var(--navy);text-decoration:none;white-space:nowrap;flex:none}
  .brand .mk{color:var(--gold);font-size:19px}
  .navlinks{display:flex;gap:14px;font-size:12.5px;overflow-x:auto;white-space:nowrap}
  .navlinks a{color:var(--sub);text-decoration:none}
  .wrap{max-width:760px;margin:0 auto;padding:0 18px 60px}
  .crumb{font-size:12px;color:var(--sub);padding:14px 0 4px;overflow-wrap:break-word}
  .crumb a{color:var(--sub);text-decoration:none}
  .badges{display:flex;gap:8px;margin:14px 0 10px;flex-wrap:wrap}
  .badge{font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:20px;white-space:nowrap}
  .badge.cat{background:var(--navy);color:#fff}
  .badge.time{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
  h1.title{font-size:clamp(24px,6.5vw,34px);font-weight:900;color:var(--navy);margin:6px 0 14px;line-height:1.45}
  .lead-meta{font-size:12px;color:var(--sub);margin:0 0 18px;display:flex;gap:10px;align-items:center}
  .lead-meta .zicon{width:22px;height:22px;border-radius:50%;object-fit:cover;object-position:50% 20%}
  .zeus-row{display:flex;gap:14px;align-items:flex-start;margin:22px 0}
  .zeus-row img.zavatar{width:64px;height:64px;min-width:64px;border-radius:50%;object-fit:cover;object-position:50% 22%;border:3px solid var(--gold);box-shadow:3px 3px 0 var(--navy)}
  .bubble{position:relative;background:#fff;border:2px solid var(--navy);border-radius:16px;padding:14px 16px;box-shadow:5px 5px 0 var(--gold);font-size:14.5px}
  .bubble .who{font-size:11px;font-weight:700;color:var(--gold-d);margin:0 0 4px;letter-spacing:.03em}
  .bubble p{margin:0}
  .bubble:before{content:"";position:absolute;left:-9px;top:22px;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:9px solid var(--navy)}
  .bubble:after{content:"";position:absolute;left:-6.5px;top:22px;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:9px solid #fff}
  .summary{background:#fff;border:2px solid var(--navy);border-radius:16px;padding:18px 20px;margin:20px 0 26px;box-shadow:6px 6px 0 var(--gold)}
  .summary .stitle{font-family:"Zen Maru Gothic";font-weight:900;color:var(--navy);font-size:15px;margin:0 0 10px;display:flex;align-items:center;gap:6px}
  .summary ul{margin:0;padding-left:1.3em}
  .summary li{margin:6px 0;font-size:14px}
  article.body p{font-size:15.5px;margin:14px 0}
  article.body h2{font-size:clamp(19px,5vw,23px);font-weight:900;color:var(--navy);margin:38px 0 14px;padding-left:14px;border-left:6px solid var(--gold)}
  article.body h3{font-size:16px;font-weight:700;color:var(--navy);margin:22px 0 8px}
  table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13.5px;background:#fff}
  th,td{border:1px solid #e7ddc9;padding:10px 11px;text-align:left;vertical-align:top;overflow-wrap:break-word}
  th{background:var(--cream);color:var(--navy);font-weight:700}
  .checklist{list-style:none;margin:14px 0;padding:16px 18px;background:#fff;border:1.5px dashed var(--gold-d);border-radius:12px}
  .checklist li{font-size:14.5px;margin:9px 0;padding-left:1.6em;position:relative}
  .checklist li:before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border:2px solid var(--navy);border-radius:4px}
  .faq{margin:14px 0}
  .faq .q{font-weight:700;color:var(--navy);background:var(--cream);border-radius:10px;padding:11px 14px;margin:12px 0 6px;font-size:14.5px}
  .faq .a{font-size:14.5px;padding:0 14px;color:var(--ink)}
  .hedge{font-size:12.5px;color:var(--sub);background:#fbf8ef;border:1px solid #e7ddc9;border-radius:10px;padding:10px 13px;margin:14px 0}
  .zeus-aside{margin:30px 0;background:var(--navy);border-radius:16px;padding:18px 18px 18px 16px;display:flex;gap:13px;align-items:center;position:relative;overflow:hidden}
  .zeus-aside:before{content:"⚡";position:absolute;right:-6px;top:-10px;font-size:74px;color:rgba(224,178,60,.15)}
  .zeus-aside img{width:58px;height:58px;min-width:58px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:3px solid var(--gold)}
  .zeus-aside .who{color:var(--gold);font-size:11px;font-weight:700;margin:0 0 3px;letter-spacing:.04em}
  .zeus-aside p{color:#fff;margin:0;font-size:14.5px;font-weight:500;position:relative;z-index:1}
  .author{margin:34px 0 10px;padding:16px 18px;background:#fff;border:1px solid #e7ddc9;border-radius:14px;font-size:13px;color:var(--sub);display:flex;gap:12px;align-items:center}
  .author img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:50% 20%}
  .hashtags{font-size:12px;color:var(--gold-d);margin:12px 0 0;line-height:2}
  .cta-box{background:var(--navy);border-radius:20px;padding:28px 22px;margin:18px 0 30px;text-align:center;color:#fff}
  .cta-box .zavatar-sm{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:50% 15%;border:2px solid var(--gold);margin-bottom:12px}
  .cta-box h3{color:var(--gold)!important;font-size:19px;margin:0 0 8px}
  .cta-box p{font-size:13.5px;color:#dfe4ef;margin:0 0 18px}
  .cta-btn{display:inline-block;background:#06C755;color:#fff;font-weight:700;font-size:15px;padding:14px 30px;border-radius:30px;text-decoration:none;max-width:100%}
  .cta-note{font-size:11.5px;color:#9fb0cc;margin-top:12px}
  .cta-inline{background:var(--cream);border:1px solid var(--gold);border-left:5px solid var(--gold);border-radius:12px;padding:15px 18px;margin:0 0 26px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
  .cta-inline-txt{font-size:13.8px;color:var(--navy);font-weight:700;margin:0}
  .cta-inline-link{display:inline-flex;align-items:center;gap:6px;background:#06C755;color:#fff;font-weight:700;font-size:13px;padding:9px 18px;border-radius:24px;text-decoration:none;max-width:100%}
  .cta-inline-link:hover{filter:brightness(.96)}
  .lead-photo{width:100%;border-radius:16px;overflow:hidden;margin:4px 0 18px;border:2px solid var(--navy);box-shadow:6px 6px 0 var(--gold)}
  .lead-photo img{width:100%;display:block;object-fit:cover;max-height:280px}
  footer{background:var(--navy);color:#9fb0cc;font-size:12px;margin-top:20px}
  .fin{max-width:760px;margin:0 auto;padding:26px 18px}
  .fin a{color:#9fb0cc;text-decoration:none;margin-right:14px;white-space:nowrap;display:inline-block}
  .disclaimer{font-size:11px;color:#7e8bab;margin-top:14px;line-height:1.8}
  @media(max-width:480px){
    .zeus-row{gap:10px} .zeus-row img.zavatar{width:52px;height:52px;min-width:52px}
    .zeus-aside img{width:46px;height:46px;min-width:46px}
    .wrap{padding:0 14px 50px}
    .nav-in{padding:0 14px;gap:8px}
    .brand{font-size:15px}
    .brand .mk{font-size:17px}
    .navlinks{gap:9px;font-size:11.5px}
    table{font-size:12.5px}
    th,td{padding:8px 7px}
    .cta-box{padding:24px 16px}
    .cta-btn{font-size:14px;padding:13px 18px}
    .cta-inline{padding:14px 14px}
    .cta-inline-link{font-size:12.5px;padding:9px 14px}
  }

  /* ---- コラム一覧・アーカイブ ---- */
  .cta-box h3{color:var(--gold);font-size:19px;margin:0 0 8px}
  .page-title{font-size:clamp(26px,7vw,36px);font-weight:900;color:var(--navy);margin:18px 0 6px}
  .page-lead{color:var(--sub);font-size:14px;margin:0 0 24px}
  .sec-title{font-family:"Zen Maru Gothic";font-size:19px;font-weight:900;color:var(--navy);margin:34px 0 14px;padding-left:12px;border-left:6px solid var(--gold);display:flex;align-items:center;gap:8px}
  .sec-note{font-size:12.5px;color:var(--sub);margin:-8px 0 16px 18px}
  .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  @media(max-width:560px){.grid{grid-template-columns:1fr}}
  .card{display:block;background:#fff;border:2px solid var(--navy);border-radius:14px;padding:16px;text-decoration:none;color:var(--ink);box-shadow:4px 4px 0 var(--gold);transition:transform .1s}
  .card:hover{transform:translate(-1px,-1px)}
  .card h3{font-size:14.5px;font-weight:700;color:var(--navy);margin:8px 0 0;line-height:1.6}
  .card p{font-size:12px;color:var(--sub);margin:8px 0 0;line-height:1.7}
  .card .badge{font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:14px;background:var(--navy);color:#fff;display:inline-block}
  .zeus-banner{display:flex;gap:14px;align-items:center;background:var(--navy);border-radius:16px;padding:18px;margin:8px 0 28px}
  .zeus-banner img{width:56px;height:56px;min-width:56px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:3px solid var(--gold)}
  .zeus-banner p{color:#fff;font-size:14px;margin:0}
  .zeus-banner .who{color:var(--gold);font-size:11px;font-weight:700;margin:0 0 3px}
  .ext-link{margin:34px 0 0;padding:14px 16px;background:#fff;border:1px solid #e7ddc9;border-radius:12px;font-size:13.5px}
  .ext-link p{margin:0}
  .ext-link .who{color:var(--gold-d);font-size:11px;font-weight:700;margin:0 0 4px;letter-spacing:.04em}
  .pager{margin:28px 0 0;text-align:center}
  .pager .page-numbers{display:inline-block;padding:6px 12px;border:1.5px solid var(--navy);border-radius:10px;margin:0 3px;text-decoration:none;color:var(--navy);font-size:13px}
  .pager .current{background:var(--navy);color:#fff}
  /* ---- 運営者情報・プライバシーポリシー ---- */
  .legal{max-width:820px}
  .legal h1{font-family:"Noto Serif JP","Zen Maru Gothic",serif;font-weight:700;font-size:28px;color:var(--navy);margin:8px 0 18px;border-bottom:2px solid var(--gold);padding-bottom:14px}
  .legal .lead{color:var(--sub);font-size:13.5px;margin:0 0 26px}
  .legal article{background:#fff;border:1px solid #e7ddc9;border-radius:12px;padding:34px 38px}
  .legal table{font-size:14.5px;margin:4px 0}
  .legal th{width:34%}
  .legal h2{font-family:"Noto Serif JP","Zen Maru Gothic",serif;font-weight:700;font-size:17.5px;color:var(--navy);margin:28px 0 8px;padding-left:12px;border-left:3px solid var(--gold)}
  .legal p{margin:9px 0;font-size:14.5px}
  .legal a{color:var(--gold-d)}
  @media(max-width:600px){.legal article{padding:24px 20px}.legal h1{font-size:23px}.legal th{width:38%}}
  /* ---- ゲストの神々 ---- */
  .zeus-aside.guest{background:#fff;border:2px solid var(--navy);box-shadow:4px 4px 0 var(--gold)}
  .zeus-aside.guest:before{display:none}
  .zeus-aside.guest img{border-color:var(--navy);background:var(--navy);object-position:50% 50%}
  .zeus-aside.guest .who{color:var(--gold-d)}
  .zeus-aside.guest p{color:var(--ink)}
  .zeus-aside.guest .more{margin-top:6px;font-size:12px;font-weight:700}
  .zeus-aside.guest .more a{color:var(--navy)}
  .gods-faces{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
  .gods-faces a{display:block;line-height:0}
  .gods-faces img{width:52px;height:52px;border-radius:50%;border:2px solid var(--gold);background:var(--navy);object-fit:cover}
  .god-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
  @media(max-width:820px){.god-list{grid-template-columns:1fr}}
  .god{display:flex;gap:16px;background:#fff;border:2px solid var(--navy);border-radius:16px;padding:14px;box-shadow:4px 4px 0 var(--gold);scroll-margin-top:84px}
  .god-img{flex:0 0 112px}
  .god-img img{display:block;width:112px;height:auto;border-radius:10px;background:#faf7ee}
  .god-body{min-width:0}
  .god-en{font-size:10.5px;letter-spacing:.14em;color:var(--gold-d);font-weight:700;margin:2px 0 0}
  .god h2{font-family:"Zen Maru Gothic";font-size:21px;font-weight:900;color:var(--navy);margin:0;line-height:1.3;border:0;padding:0}
  .god-role{font-size:12.5px;font-weight:700;color:var(--sub);margin:2px 0 8px}
  .god-bio{font-size:13.5px;line-height:1.8;margin:0 0 8px}
  .god-tag{display:inline-block;font-size:11px;font-weight:700;background:var(--navy);color:#fff;border-radius:12px;padding:3px 10px;margin:0 0 8px}
  .god-list-t{font-size:11.5px;font-weight:700;color:var(--gold-d);margin:2px 0 2px}
  .god ul{margin:0;padding-left:1.2em;font-size:12.5px;line-height:1.7}
  .god li{margin:2px 0}
  .god ul a{color:var(--navy)}
  @media(max-width:420px){.god-img{flex-basis:92px}.god-img img{width:92px}.god{padding:12px;gap:12px}}
  .gods-teaser{background:#fff;border-top:2px solid #1a2b5e;border-bottom:2px solid #1a2b5e;padding:clamp(36px,5vw,56px) clamp(20px,6vw,64px);text-align:center}
  .gods-in{max-width:860px;margin:0 auto}
  .gt-label{font-family:"Zen Maru Gothic";font-weight:900;font-size:12px;letter-spacing:.2em;color:#b8892b;margin:0 0 6px}
  .gods-teaser h2{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-weight:900;font-size:clamp(22px,3.6vw,30px);color:#1a2b5e;margin:0 0 10px;line-height:1.4}
  .gt-lead{font-size:14px;line-height:1.8;color:#5b6478;margin:0 0 20px}
  .gt-faces{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 24px}
  .gt-faces a{display:block;line-height:0}
  .gt-faces img{width:60px;height:60px;border-radius:50%;border:2px solid #e0b23c;background:#1a2b5e;object-fit:cover;transition:transform .12s}
  .gt-faces a:hover img{transform:translateY(-3px)}
  .gt-btn{display:inline-block;font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-weight:900;font-size:14px;background:#e0b23c;color:#1a2b5e!important;border:2px solid #1a2b5e;border-radius:20px;padding:10px 22px;box-shadow:#1a2b5e 3px 3px 0}
  .gt-btn:hover{transform:translate(-1px,-1px);box-shadow:#1a2b5e 4px 4px 0}
  /* ---- トップページ ---- */
  .zeus-front{background:#f7f3e8;font-family:'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Noto Sans JP',sans-serif;color:#1a2b5e;line-height:normal}
  .zeus-front a{color:#1a2b5e;text-decoration:none}
  .zeus-front a:hover{color:#b8892b}
  .zeus-front img{max-width:100%}
  @keyframes zeusTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes zeusFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
  .hero{display:flex;flex-direction:column;align-items:center;gap:26px;max-width:1160px;margin:0 auto}
  .hero-copy{text-align:center;max-width:540px;width:100%}
  .hero-art{width:min(400px,78vw);flex:none}
  @media(min-width:920px){.hero{flex-direction:row;align-items:center;gap:clamp(40px,5vw,72px)}.hero-copy{text-align:left;max-width:520px;flex:1 1 auto}.hero-cta{justify-content:flex-start}.hero-note{text-align:left}.hero-art{width:400px;order:2}}
  .site-nav{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap}
  @media(max-width:560px){.brand-logo{width:118px!important;height:33px!important}.cta-header{font-size:13px!important;padding:9px 13px!important}.hero-art{width:min(320px,72vw)}.zeus-say{flex-direction:column;align-items:center;text-align:center}.zeus-say p{text-align:center!important}.card-grid{grid-template-columns:1fr!important}}
  .nav-toggle{display:none}
  @media(max-width:900px){.site-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:2px solid #1a2b5e;flex-direction:column;align-items:stretch;gap:0;padding:8px clamp(16px,4vw,48px) 16px;white-space:normal}.site-nav[data-open="false"]{display:none}.site-nav a{border:0!important;border-radius:0!important;border-bottom:1px solid #e7ddc9!important;padding:14px 2px!important;font-size:15.5px!important}.nav-toggle{display:inline-flex}}
  .scp0:hover{background:#1a2b5e!important;color:#fff!important}
  .scp1:hover{transform:translate(-1px,-1px)!important;box-shadow:#1a2b5e 4px 4px 0!important}
  .scp2:hover{transform:translate(-2px,-2px)!important;box-shadow:#1a2b5e 7px 7px 0!important}
  .scp3:hover{background:#f7f3e8!important}
  .scp4:hover{transform:translate(-2px,-2px)!important;box-shadow:#e0b23c 8px 8px 0!important}
  .scp5:hover{transform:translate(-2px,-2px)!important;box-shadow:#e0b23c 7px 7px 0!important}
  .scp6:hover{color:#b8892b!important}
  .scp7:focus{border-color:#e0b23c!important}
  .scp8:hover{color:#e0b23c!important}
  .form-note{border-radius:10px;padding:12px 14px;font-size:14px;margin:0 0 16px}
  .form-note.ok{background:#e9f6ec;color:#1d5f2e;border:1.5px solid #8cc79b}
  .form-note.ng{background:#fdecea;color:#8a1f17;border:1.5px solid #e3a09b}
  @media(prefers-reduced-motion:reduce){*{animation:none!important}}
