/* ======================================================
   SOTORIE — common.css
   - Tokens / Reset / Utilities (global)
   - このファイルは全ページ共通のみ
====================================================== */

/* ======================================================
   ROOT TOKENS (unified)
====================================================== */
:root{
  /* Brand */
  --color-base:#333;
  --color-accent:#d3c6a6;
  --color-bg:#fff;

  /* Typography */
  --font-main:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Helvetica Neue",sans-serif;
  --font-serif:"Yu Mincho","Hiragino Mincho ProN",serif;

  /* Type scale */
  --fs-xs:12px;
  --fs-s:14px;
  --fs-m:16px;
  --fs-l:20px;
  --fs-xl:28px;
  --fs-xxl:36px;

  /* Radius */
  --radius-s:6px;
  --radius-m:12px;

  /* Spacing */
  --space-s:8px;
  --space-m:16px;
  --space-l:32px;
  --space-xl:48px;

  /* Layout */
  --container-width:1200px;

  /* Header system tokens (used by header.css) */
  --s-header-h:56px;
  --s-text:#111827;
  --s-muted:#6b7280;
  --s-hair:rgba(0,0,0,.08);
  --s-ease:cubic-bezier(.2,.8,.2,1);
  --s-shadow:0 20px 60px rgba(15,23,42,.12);
  --s-radius:16px;
}

/* ======================================================
   RESET
====================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-main);
  color:var(--color-base);
  background:var(--color-bg);
  line-height:1.7;
  min-width:320px;
}
img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
h1,h2,h3,h4,h5{ margin:0; font-weight:600; line-height:1.4; }
p{ margin:0 0 1.4em; }
button{
  color: inherit;
  font: inherit;
  background: none;
  border: none;
  padding: 0;
  text-align: inherit;
  appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
}

/* ======================================================
   UTILITIES
====================================================== */
.container{ width:90%; max-width:var(--container-width); margin:0 auto; }
.text-center{ text-align:center; }
.section-gap{ padding-block:clamp(48px,10vw,120px); }
.mincho{ font-family:var(--font-serif); }

/* PC/SP visibility */
/* PC/SP visibility（修正版） */
.pc-only{ display:none !important; }
.sp-only{ display:block !important; }
@media (min-width:768px){
  .pc-only{ display:block !important; }
  .sp-only{ display:none !important; }
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Header spacer (fixed header height) */
.s-header-spacer{ height:var(--s-header-h); }