

:root{

  /* ==== 色の正本(2026-09-01 幸田さんA案確定・CLAUDE.md §1が使用ルールの正) ====
     新しい色はここに増やす。ページ側で新hexを書くのは禁止(門番が検査)。 */
  --ink-900:#1a1a1a;    /* 見出し・ナビ・CTA帯の地 */
  --ink-700:#444444;    /* 本文 */
  --ink-500:#6e6e6e;    /* キャプション・補助 */
  --paper:#faf8f3;      /* ページ基調背景(紙はこの1色だけ) */
  --paper-deep:#f0ede7; /* 切替セクションの地 */
  --surface:#ffffff;    /* カード面・写真上の文字 */
  --accent:#d3c6a6;     /* 罫線アクセント・CTAボタン地 */
  --accent-strong:#b8a06a; /* 英字ラベル・番号・hover */
  --line:#e3ddd0;       /* 罫線・枠線 */

  /* ---- 旧名(既存ページ互換のため維持。新規はこちらを使わない) ---- */
  --color-base:#333;
  --color-accent:#d3c6a6;
  --color-bg:#fff;

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

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

  
  --radius-s:6px;
  --radius-m:12px;

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

  
  --container-width:1280px;

  
  --s-header-h:64px;
  --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;
}

*,*::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;
  word-break:keep-all;
  overflow-wrap:break-word;
}
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;
}

.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-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;
}

.s-header-spacer{ height:var(--s-header-h); }

html:not(.js-reveal-ready) [class*="-reveal"],
html:not(.js-reveal-ready) [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
