/* ヘッダー・フッター・ボタンの柔らかい版（2026-10-10 試作→本採用待ち）。生成元: _server/build_chrome_css.py
   有効化: ?kst_soft=1（Cookie保持）／解除: ?kst_soft=0。body.kst-soft が付く。 */
.kst-soft{--kst-font-soft:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Rounded Mplus 1c",sans-serif;--kst-shadow:0 10px 30px rgba(35,59,108,.08);--kst-shadow-hover:0 16px 36px rgba(35,59,108,.12)}

/* ---- ヘッダー: 画面上に浮かぶ角丸のカード。硬い帯と下線をやめる ---- */
.kst-soft .site-header{position:sticky;top:10px;z-index:50;width:calc(100% - 20px);max-width:1160px;margin:10px auto 0;background:rgba(255,255,255,.92);border:0;border-radius:26px 20px 24px 22px / 22px 26px 20px 24px;box-shadow:var(--kst-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:visible}
.kst-soft .header-notice{display:block;width:max-content;max-width:calc(100% - 28px);margin:8px auto 0;padding:4px 12px 4px 24px;background:var(--mist,#eef3f5);color:var(--navy,#233b6c);border-radius:999px;font-family:var(--kst-font-soft);font-size:11px;font-weight:700;line-height:1.4;text-align:center;position:relative}
.kst-soft .header-notice::before{content:"";position:absolute;left:10px;top:50%;width:8px;height:8px;margin-top:-4px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cpath%20d%3D%22M5%20.8c2.4%200%204.2%201.8%204.2%204.1%200%202.4-1.9%204.3-4.3%204.3C2.6%209.2.8%207.4.8%205%20.8%202.6%202.6.8%205%20.8z%22%20fill%3D%22%23c09933%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain}
.kst-soft .header-inner{min-height:64px;width:calc(100% - 40px);max-width:1120px;gap:20px}
.kst-soft .global-nav{gap:4px;font-weight:700;font-family:var(--kst-font-soft);color:var(--navy,#233b6c)}
.kst-soft .global-nav a{padding:8px 13px;border:0;border-radius:999px;transition:background .25s ease,transform .25s ease}
.kst-soft .global-nav a:hover{background:var(--gold-soft,#f0e4c7);border-color:transparent;transform:translateY(-1px)}
.kst-soft .header-link{min-height:40px;padding:0 18px;border:0;border-radius:999px;background:var(--navy,#233b6c);color:#fff;font-family:var(--kst-font-soft);font-weight:700;box-shadow:0 8px 20px rgba(35,59,108,.18);transition:transform .25s ease,box-shadow .25s ease}
.kst-soft .header-link:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(35,59,108,.24);filter:none}
@media (max-width:767px){
  .kst-soft .site-header{top:6px;width:calc(100% - 12px);margin:6px auto 0;border-radius:20px 16px 18px 17px / 17px 20px 16px 18px}
  .kst-soft .header-notice{margin:6px auto 0;font-size:10.5px}
  .kst-soft .header-inner{min-height:56px;width:calc(100% - 24px);gap:12px}
}

/* ---- ボタン（サイト全体）: 丸い・薄い影・触ると少し浮く ---- */
.kst-soft :is(.cta-btn,.hero-actions a,.audience-card a.btn,.lp-page .btn){border-radius:999px;box-shadow:0 8px 20px rgba(35,59,108,.16);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.kst-soft :is(.cta-btn,.hero-actions a,.audience-card a.btn,.lp-page .btn):hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(35,59,108,.22);filter:none}
.kst-soft .cta-btn{font-family:var(--kst-font-soft);font-weight:700}
.kst-soft .cta-btn-outline{background:rgba(255,255,255,.14);border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.kst-soft .cta-btn-outline:hover{background:rgba(255,255,255,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 10px 24px rgba(0,0,0,.12)}
.kst-soft .hero-actions a.secondary{border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.kst-soft .hero-actions a.secondary:hover{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.85),0 10px 24px rgba(0,0,0,.12)}
.kst-soft .audience-card a.btn.ghost{border:0;box-shadow:inset 0 0 0 1px var(--navy,#233b6c)}

/* ---- フッター: 直線の上線をやめて、紙色の波で受ける ---- */
.kst-soft .site-footer{position:relative;margin-top:0;padding:52px 0 40px;background:linear-gradient(var(--paper,#f8f7f2),#fff 70%);border-top:0;overflow:visible}
.kst-soft .site-footer::before{content:"";position:absolute;left:0;right:0;top:-30px;height:32px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%2040%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2026%20C%20120%206%2C%20240%2040%2C%20380%2022%20S%20640%204%2C%20800%2024%20S%201060%2040%2C%201200%2018%20L1200%2040%20L0%2040%20Z%22%20fill%3D%22%23f8f7f2%22%2F%3E%3C%2Fsvg%3E") no-repeat center bottom / 100% 100%;pointer-events:none}
.kst-soft body:not(.lp-page) .site-footer,.kst-soft.lp-page .site-footer{margin-top:48px}
.kst-soft .footer-inner{font-family:var(--kst-font-soft)}
.kst-soft .site-footer .footer-inner img{width:auto;height:50px;opacity:.95}
.kst-soft .footer-note{color:var(--muted,#657084)}
.kst-soft .footer-note a{color:var(--navy,#233b6c);border-bottom:1px dashed rgba(192,153,51,.6)}
@media (max-width:767px){.kst-soft .site-footer{padding:40px 0 28px}.kst-soft .site-footer::before{top:-18px;height:20px}}

@media (prefers-reduced-motion:reduce){.kst-soft .global-nav a,.kst-soft .header-link,.kst-soft :is(.cta-btn,.hero-actions a,.audience-card a.btn,.lp-page .btn){transition:none}}
