/* zigyo.ai 全ページ共通の見た目。紙色の地に濃紺インクと群青ひとつ。home.css はトップだけの追加分 */
:root { --h-paper: #f3f5f1; --h-tint: #e7ebe4; --h-ink: #10161c; --h-sub: #4b5660; --h-rule: rgba(16,22,28,.16); --h-blue: #2433e6; }
.portal-site {
  --bg: #fff; --bg-soft: #f3f5f1; --text: #10161c; --muted: #4b5660; --line: #d6dbd3;
  --accent: #2433e6; --accent-soft: #e6e9fd;
  background: var(--h-paper); color: var(--h-ink);
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-feature-settings: "palt"; -webkit-font-smoothing: antialiased;
}
html { background: var(--h-paper); }
::selection { background: var(--h-blue); color: #fff; }
.portal-site :focus-visible { outline: 3px solid var(--h-blue); outline-offset: 3px; }
.portal-site main { background: var(--h-paper); }
.portal-site h1, .portal-site h2, .portal-site h3 { font-weight: 900; letter-spacing: -.01em; }
.portal-site a { color: var(--h-blue); }
.portal-site .site-header { background: rgba(243,245,241,.92); border-bottom: 1px solid var(--h-rule); }
.portal-site .logo-image img { filter: none; }
.portal-site .global-nav a:not(.btn) { color: var(--h-ink); }
.portal-site .global-nav .nav-member { color: var(--h-blue); }
.portal-site .site-header .btn-small, .portal-site .header-cta { background: var(--h-blue) !important; color: #fff !important; border-color: var(--h-blue); }
.portal-site .site-header .btn-small:hover { background: var(--h-ink) !important; border-color: var(--h-ink); }
.portal-site .btn-primary { background: var(--h-blue); border-color: var(--h-blue); color: #fff; }
.portal-site .btn-primary:hover { background: var(--h-ink); border-color: var(--h-ink); color: #fff; }
.portal-site .site-footer { background: var(--h-ink); color: rgba(255,255,255,.78); }
.portal-site .site-footer a { color: #fff; }
.portal-site .footer-statement { font-family: inherit; font-style: normal; font-weight: 900; }
.portal-site .footer-statement span { font-style: normal; color: #b9c1ff; }
.portal-site .menu-toggle { color: var(--h-ink); border-color: var(--h-rule); background: none; }

/* 以前の「future」系ページが使う共通部品を、紙色に合わせて作り直したもの（pricing・ai-transformation・学ぶ/調べる/任せる） */
.portal-site .hx-glow, .portal-site canvas { display: none; }
.portal-site .hx-eyebrow, .portal-site .bn-tag { display: block; margin: 0 0 10px; font: 700 .85rem/1.4 inherit; font-family: inherit; letter-spacing: 0; text-transform: none; color: var(--h-blue); }
.portal-site .hx-btn { display: inline-flex; align-items: center; gap: 12px; padding: 14px 26px; font-weight: 700; text-decoration: none; border: 2px solid transparent; border-radius: 0; transition: background .2s, color .2s, border-color .2s; }
.portal-site .hx-btn i { font-style: normal; }
.portal-site .hx-btn-main { background: var(--h-blue); color: #fff; }
.portal-site .hx-btn-main:hover { background: var(--h-ink); color: #fff; }
.portal-site .hx-btn-ghost { border-color: var(--h-ink); color: var(--h-ink); background: none; }
.portal-site .hx-btn-ghost:hover { background: var(--h-ink); color: #fff; }
.portal-site .hx-btn-xl { padding: 18px 36px; font-size: 1.15rem; }
.portal-site .sx-head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 16px 48px; margin-bottom: clamp(24px, 4vw, 48px); border-bottom: 3px solid var(--h-ink); padding-bottom: 16px; }
.portal-site .sx-head h2 { font-size: clamp(1.7rem, 3.6vw, 2.8rem); line-height: 1.3; margin: 0; color: var(--h-ink); }
.portal-site .sx-head > p { margin: 0; color: var(--h-sub); line-height: 1.8; }
.portal-site .au-grid { display: grid; gap: clamp(20px, 3vw, 40px); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.portal-site .bn, .portal-site .au-card { display: flex; flex-direction: column; gap: 10px; padding: 22px 0 0; border: 0; border-top: 3px solid var(--h-ink); border-radius: 0; background: none; color: var(--h-ink); text-decoration: none; box-shadow: none; }
.portal-site .bn strong, .portal-site .au-card strong { font-size: 1.35rem; font-weight: 900; line-height: 1.4; }
.portal-site .bn p, .portal-site .au-card p { color: var(--h-sub); line-height: 1.85; margin: 0; }
.portal-site .au-link { color: var(--h-blue); font-weight: 700; }
.portal-site .bn:hover strong, .portal-site .au-card:hover strong { color: var(--h-blue); }
.portal-site .site-footer .logo-image img { filter: brightness(0) invert(1); }
.portal-site .footer-statement, .portal-site .footer-statement span { font-family: inherit !important; font-style: normal !important; font-weight: 900; }
.portal-site .footer-statement span { color: #b9c1ff; }
.portal-site .footer-statement a { color: #fff; }
