/* 体験区（/taiken/）：官网 viora-site-work の design-tokens と页头・页脚を静的ページ用に写したもの */
@import url('./fonts/kinto.css');
:root{
  color-scheme:light;
  --viora-brand:#2479bd;--viora-brand-hover:#1e6aa8;--viora-accent:#2e8bd6;--viora-navy:#1b2a4a;--viora-navy-hover:#273b62;
  --viora-band:#eaf4fb;--viora-text:#1b2a4a;--viora-text-muted:#566179;--viora-surface:#fff;--viora-surface-inset:#f3f9fd;
  --viora-border:#dce7f1;--viora-control-border:#7c87a0;--radius-control:8px;--radius-card:16px;
  --shadow-1:0 4px 12px rgba(27,42,74,.10);--shadow-2:0 12px 32px rgba(27,42,74,.14);
  --off:#9aa4b5;--off-bg:#f1f3f6;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:#fff}
body{font-family:'Kinto Sans','Noto Sans JP',sans-serif;color:var(--viora-text);background:#fff;font-size:16px;line-height:1.8;letter-spacing:.025em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;max-width:100%}
:focus-visible{outline:3px solid var(--viora-accent);outline-offset:2px}
.wrap{width:calc(100% - 64px);max-width:1180px;margin:0 auto}
.skiplink{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;padding:8px 14px;border-radius:6px}
.skiplink:focus{left:16px}
/* header */
.sh{position:sticky;top:0;z-index:50;height:72px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--viora-border)}
.sh-in{width:calc(100% - 64px);max-width:1440px;margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;gap:12px;align-items:center;line-height:1;flex-shrink:0}
.brand img{width:36px;height:36px;border-radius:9px}
.brand>span{font-size:24px;font-weight:700;letter-spacing:.08em;color:var(--viora-navy)}
.brand small{display:block;font-size:12px;font-weight:400;margin-top:6px;color:var(--viora-text-muted);letter-spacing:.04em}
.nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:500;white-space:nowrap}
.nav>a{height:72px;display:flex;align-items:center;gap:5px;position:relative}
.nav>a:hover{color:var(--viora-brand)}
.nav>a.cur::after{content:'';position:absolute;left:0;right:0;bottom:12px;height:3px;background:var(--viora-brand)}
.nav>a.new{color:var(--viora-brand);font-weight:700}
.nav svg{width:12px;height:12px}
.acts{display:flex;gap:8px;margin-left:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:56px;padding:0 26px;border-radius:var(--radius-control);font-size:16px;font-weight:700;line-height:1.4;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:background-color .16s,border-color .16s}
.btn.sm{height:40px;padding:0 16px;font-size:13px}
.btn.pri{background:var(--viora-navy);color:#fff}
.btn.pri:hover{background:var(--viora-navy-hover)}
.btn.out{background:#fff;color:var(--viora-navy);border-color:var(--viora-control-border)}
.btn.out:hover{border-color:var(--viora-navy)}
.btn.sky{background:var(--viora-brand);color:#fff}
.btn.white{background:#fff;color:var(--viora-navy)}
.btn svg{width:18px;height:18px}
.menu-t{display:none;flex-direction:column;align-items:center;color:var(--viora-brand);font-size:10px;letter-spacing:.1em;gap:1px;background:none;border:0;cursor:pointer;padding:4px}
.menu-t svg{width:26px;height:26px}
.mnav{display:none}
.crumb{font-size:12px;color:var(--viora-text-muted);display:flex;gap:10px;align-items:center;padding:18px 0;flex-wrap:wrap}
.crumb a:hover{color:var(--viora-brand)}
.crumb svg{width:12px;height:12px}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--viora-brand);letter-spacing:.06em}
.label{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:5px;background:var(--viora-brand);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em}
h1{font-size:clamp(30px,3.6vw,48px);line-height:1.5;font-weight:700;letter-spacing:.015em}
h1 em{font-style:normal;color:var(--viora-accent)}
h2{font-size:clamp(24px,2.4vw,32px);line-height:1.55;font-weight:700}
.lead{font-size:16px;color:var(--viora-text-muted);line-height:1.9}
.band{background:var(--viora-band)}
.foot{border-top:1px solid var(--viora-border);padding:32px 0 40px;font-size:12px;color:var(--viora-text-muted)}
.foot .wrap{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.foot nav{display:flex;gap:6px 18px;flex-wrap:wrap}
.foot nav a:hover{color:var(--viora-brand)}
.foot .note{flex-basis:100%}
@media(max-width:1180px){.nav{gap:14px}.acts .btn{padding:0 12px}}
@media(max-width:980px){
  .sh-in{width:calc(100% - 32px)}
  .nav,.acts{display:none}
  .menu-t{display:flex}
  .wrap{width:calc(100% - 32px)}
  .brand>span{font-size:22px}
  .brand small{font-size:11px}
  .mnav{position:fixed;left:0;right:0;top:72px;bottom:0;z-index:49;background:#fff;overflow-y:auto;padding:8px 16px 32px}
  .mnav.open{display:block}
  .mnav a{display:flex;justify-content:space-between;align-items:center;height:52px;border-bottom:1px solid #e5e7ee;font-size:15px}
  .mnav a.new{color:var(--viora-brand);font-weight:700}
  .mnav a svg{width:14px;height:14px}
  .mnav .acts2{display:flex;flex-direction:column;gap:10px;margin-top:20px}
  .mnav .acts2 .btn{width:100%;height:52px;border-bottom:0}
}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
