/* ==========================================================================
   renzyu コーポレート 共通ベース（front-page / sozo / company / policy 共有）
   パレット・リセット・ヘッダー・共通UI
   ========================================================================== */
:root{
  --bg:#0b0b0d; --bg-alt:#151517; --card:#161619; --border:#2b2b31;
  --text:#f5f5f6; --text-muted:#a6a6ad; --text-faint:#6d6d75;
  --brand:#7d2a86; --accent:#b061c0; --accent2:#b061c0; --accent-ink:#fff;
}
[data-theme="light"]{
  --bg:#fbfbfc; --bg-alt:#f2f2f4; --card:#fff; --border:#e5e5e8;
  --text:#161618; --text-muted:#54545c; --text-faint:#a0a0a8;
  --accent:#7d2a86; --accent2:#7d2a86;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);
  font-family:"Inter","Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif;
  -webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
a{color:inherit;text-decoration:none}
img{max-width:100%}

/* ---- ヘッダー ---- */
.corp-header{left:0;right:0;top:0;z-index:50}
.corp-header .bar{display:flex;align-items:center;justify-content:space-between;padding:16px 28px}
.corp-logo{font-family:"Montserrat",sans-serif;font-weight:300;font-size:1.4rem;letter-spacing:.02em;color:var(--text)}
.corp-nav{display:flex;align-items:center;gap:22px}
.corp-nav a{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);transition:.2s}
.corp-nav a.active,.corp-nav a:hover{color:var(--text)}
.corp-toggle{width:36px;height:36px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;font-size:.95rem;display:grid;place-items:center;transition:.2s}
.corp-toggle:hover{color:var(--text)}
@media(min-width:768px){
  .corp-header .bar{padding:22px 40px}
  .corp-logo{font-size:1.9rem}
  .corp-nav{gap:28px}
  .corp-nav a{font-size:.9rem}
  .corp-toggle{width:42px;height:42px;font-size:1.1rem}
}
@media(max-width:640px) and (orientation:portrait){.corp-nav a.navlink{display:none}}

/* ---- 横スクロール型ページ（front / sozo） ---- */
body.corp-h{overflow:hidden}
body.corp-h .corp-header{position:fixed;pointer-events:none}
body.corp-h .corp-header .bar>*{pointer-events:auto}

/* ---- 縦スクロール型ページ（company / policy） ---- */
/* ※ sticky が壊れないよう body に overflow-x:hidden は付けない
      ヘッダーはルート（トップ）と同じ「透明・大きめ」で統一（帯・下線なし） ---- */
body.corp-v .corp-header{position:sticky}

/* ---- 共通UI（進捗バー・スクロールヒント・固定CTA） ---- */
#prog{position:fixed;bottom:0;left:0;height:3px;background:var(--accent);width:0;z-index:60;transition:width .1s}
.hint{position:fixed;bottom:20px;right:24px;z-index:55;display:flex;align-items:center;gap:8px;color:var(--text-faint);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;pointer-events:none}
.hint svg{width:26px;height:12px;animation:sw 1.6s ease-in-out infinite}
@keyframes sw{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
.fab-contact{position:fixed;left:50%;bottom:6vh;transform:translateX(-50%);z-index:70;
  display:inline-flex;align-items:center;gap:9px;font-size:.9rem;font-weight:700;
  padding:14px 30px;border-radius:999px;background:var(--accent);color:var(--accent-ink);
  box-shadow:0 12px 30px -8px rgba(0,0,0,.55);transition:.2s;white-space:nowrap}
.fab-contact:hover{transform:translateX(-50%) translateY(-2px)}
@media(max-width:640px){.fab-contact{bottom:4.5vh;padding:13px 26px;font-size:.86rem}}
