/* =========================================================
   Zero — Mix / Mastering  共通基盤
   白 × 水色 × グレー / 明朝体 / 上品・繊細
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Shippori+Mincho:wght@400;500;600;700;800&family=Zen+Kaku+Gothic+New:wght@300;400;500&family=Space+Mono:wght@400;700&display=swap');

:root{
  /* color */
  --bg:        #fbfcfe;
  --bg-2:      #f3f7fb;
  --panel:     #ffffff;
  --ink:       #1b2127;
  --ink-2:     #59626c;
  --ink-3:     #939ca5;
  --line:      #e4eaf0;
  --line-2:    #eef2f7;
  --blue:      #6f9fd0;
  --blue-deep: #4d7cb0;
  --blue-soft: #e9f1f9;
  --blue-mist: #f1f6fb;

  /* type */
  --jp:   'Shippori Mincho', serif;
  --en:   'Cormorant Garamond', 'Shippori Mincho', serif;
  --sans: 'Zen Kaku Gothic New', sans-serif;
  --mono: 'Space Mono', ui-monospace, monospace;

  --shadow: 0 1px 2px rgba(27,33,39,.04), 0 12px 40px -18px rgba(40,70,110,.18);
  --shadow-sm: 0 1px 2px rgba(27,33,39,.05), 0 6px 22px -14px rgba(40,70,110,.16);
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--jp);
  font-weight:400;
  line-height:1.85;
  letter-spacing:.02em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; }
a{ color:inherit; }

/* micro eyebrow label */
.eyebrow{
  font-family:var(--sans);
  font-weight:400;
  font-size:11px;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--blue-deep);
}

/* ---- 案切替スイッチャー（全ページ共通） ---- */
.vswitch{
  position:fixed; z-index:120;
  top:18px; right:18px;
  display:flex; align-items:center; gap:2px;
  padding:5px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  border:1px solid var(--line);
  border-radius:999px;
  box-shadow:var(--shadow-sm);
}
.vswitch a{
  font-family:var(--sans);
  font-size:11.5px; letter-spacing:.16em;
  text-decoration:none; color:var(--ink-2);
  padding:7px 14px; border-radius:999px;
  white-space:nowrap; transition:.2s;
}
.vswitch a:hover{ color:var(--ink); background:var(--blue-mist); }
.vswitch a.on{ color:#fff; background:var(--blue-deep); }
.vswitch .vlabel{
  font-family:var(--sans); font-size:10px; letter-spacing:.2em;
  color:var(--ink-3); padding:0 8px 0 10px;
}
@media (max-width:560px){
  .vswitch{ top:10px; right:10px; padding:4px; gap:1px; }
  .vswitch .vlabel{ display:none; }
  .vswitch a{ padding:6px 10px; font-size:11px; }
}

/* shared utility */
.serif-num{ font-family:var(--en); font-feature-settings:"lnum" 1; }
.yen{ font-family:var(--jp); }
