@charset "UTF-8";
/* =========================================================
   site.css — サイト共通スタイル
   functions.php の wp_enqueue_scripts で読み込む
   ・.jn-standalone（自作テンプレート）だけ全面的にリセットする
   ・ヘッダー/フッターは全ページ共通で適用
   ========================================================= */

:root{
  --jn-green:#42813f;
  --jn-green-d:#2f6b36;
  --jn-green-l:#3a7442;
  --jn-ink:#24302a;
  --jn-muted:#6d7d72;
  --jn-body:#4f5f55;
  --jn-line:#e3ebe4;
  --jn-line-2:#dfe9e0;
  --jn-soft:#f6faf6;
  --jn-soft-2:#eef6ee;
  --jn-gold:#c9a227;
  --jn-max:1160px;
}

/* ---- コンテンツ幅（全ページ共通） ---- */
.jn-container{max-width:var(--jn-max);margin:0 auto;padding:0 24px}

/* ---- 自作テンプレートのみ全面リセット ---- */
.jn-standalone,
html:has(body.jn-standalone){background:#fff}
body.jn-standalone{
  margin:0;padding:0;background:#fff;color:var(--jn-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;
  line-height:1.7;-webkit-font-smoothing:antialiased;max-width:none
}
body.jn-standalone *{box-sizing:border-box}
body.jn-standalone img{max-width:100%;height:auto;display:block;border:0}
body.jn-standalone a{text-decoration:none;color:inherit}
body.jn-standalone h1,
body.jn-standalone h2,
body.jn-standalone h3,
body.jn-standalone p,
body.jn-standalone ul,
body.jn-standalone ol,
body.jn-standalone dl,
body.jn-standalone dd,
body.jn-standalone figure{margin:0;padding:0}
body.jn-standalone ul{list-style:none}
body.jn-standalone button,
body.jn-standalone input,
body.jn-standalone select,
body.jn-standalone textarea{font-family:inherit;font-size:inherit}

/* ---- ヘッダー（全ページ共通） ---- */
.jn-header{background:#fff;border-bottom:1px solid var(--jn-line);position:sticky;top:0;z-index:20}
.jn-header-in{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.jn-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-width:0}
/* ロゴ画像：画面幅に応じて 30〜40px。縦横比は保つ
   （共通リセット body.jn-standalone img{height:auto} より詳細度を高くする） */
.jn-header .jn-logo img{width:auto;height:clamp(30px,4.6vw,40px);object-fit:contain;display:block;flex:0 0 auto}
.jn-logo-text{font-size:clamp(15px,3.4vw,19px);font-weight:700;letter-spacing:.02em;line-height:1.2;margin:0;color:var(--jn-ink);white-space:nowrap}
.jn-logo-text .jn-logo-em{color:var(--jn-green-l);font-weight:900}
.jn-nav{margin-left:auto}
.jn-menu{display:flex;gap:22px;flex-wrap:wrap;list-style:none;margin:0;padding:0;
  font-size:13.5px;font-weight:500;white-space:nowrap}
.jn-menu li{margin:0}
.jn-menu a{color:#4a5a50;text-decoration:none}
.jn-menu a:hover{color:#2b6b33}
.jn-menu .current-menu-item > a,
.jn-menu .current_page_item > a{color:#2b6b33;border-bottom:2px solid #4a8b52;padding-bottom:3px}
body.admin-bar .jn-header{top:32px}
@media screen and (max-width:782px){body.admin-bar .jn-header{top:46px}}

/* スマホ：ロゴを1行目、メニューを2行目に回して詰まらないようにする */
@media (max-width:600px){
  .jn-header-in{gap:8px 12px;padding-top:10px;padding-bottom:10px}
  .jn-nav{margin-left:0;width:100%}
  .jn-menu{gap:14px;font-size:12.5px;justify-content:flex-start;overflow-x:auto;
    -webkit-overflow-scrolling:touch;scrollbar-width:none}
  .jn-menu::-webkit-scrollbar{display:none}
}

/* ---- フッター（全ページ共通） ---- */
.jn-footer{margin-top:56px;border-top:1px solid var(--jn-line);background:#fff}
.jn-footer-in{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
  padding-top:24px;padding-bottom:24px;font-size:12.5px;color:#7b8b80}
.jn-footer-brand{display:flex;align-items:center;gap:8px}
.jn-footer .jn-footer-brand img{width:auto;height:26px;object-fit:contain;display:block;flex:0 0 auto}
.jn-footer-brand span{font-weight:700;color:#3d4c43}
.jn-footer-menu{display:flex;gap:18px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.jn-footer-menu li{margin:0}
.jn-footer-menu a{color:#7b8b80;text-decoration:none}
.jn-footer-menu a:hover{color:#2b6b33;text-decoration:underline}

/* ---- 共通パーツ ---- */
.jn-cta:hover{filter:brightness(1.06)}
.jn-card:hover{border-color:#4a8b52}
