@charset "UTF-8";
/* -------------------------------------------------------------
   数字だけを明朝にする（2026-08-21 岩田さん指示・全サイト共通）
   -------------------------------------------------------------
   指定スタック＝'ShipporiMix','Shippori Mincho','Zen Old Mincho',
                 'Hiragino Mincho ProN','Yu Mincho',serif
   ★書体を丸ごと差し替えず、unicode-range で数字だけを切り出す。
     和文見出し・欧文見出しはサイトごとの書体のまま残る。
   ★実体＝しっぽり明朝の従属欧文サブセット26KB（hannari 採用LP から流用）。
     収録実測：数字10/10・, ・. ・％ ・¥(U+00A5)。
     ￥(U+FFE5 全角) と 〜(U+301C) は非収録＝従来の書体のまま。
   ------------------------------------------------------------- */
@font-face{
  font-family:'ShipporiMix';
  src:url('../fonts/shippori-latin-400.woff2') format('woff2');
  font-weight:400;
  font-display:swap;
  unicode-range:U+0030-0039, U+002C, U+002E, U+0025, U+00A5;
}
@font-face{
  font-family:'ShipporiMix';
  src:url('../fonts/shippori-latin-400.woff2') format('woff2');
  font-weight:500 700;
  font-display:swap;
  unicode-range:U+0030-0039, U+002C, U+002E, U+0025, U+00A5;
}

/* =============================================================
   niau group 全サイト共通 ｜ base.css ｜ リセット・日本語組版の規律・ベースタイポ
   ★ここはサイト横断の正本。サイト固有の値は各サイトの tokens.css / pages.css に置く
   ============================================================= */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{
  overflow-x:hidden;          /* 画面外スライドメニューが iOS Safari で生む数pxを封じる */
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--ff-body);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  font-weight:400;
  -webkit-font-smoothing:antialiased;

  /* ── 日本語Web 2層ルール（規律 W-2）──
     word-break:auto-phrase は Chrome だけが実装しており、文節で折る。
     line-break:strict は行頭の 。、）」等を禁じる。
     ★ここに overflow-wrap:anywhere を書かない。
       anywhere は strict より強く禁則を丸ごと打ち消し、1文字孤立を生む
       （2026-08-11 appiis様で実害）。溢れ対策は break-word で足りる。 */
  word-break:auto-phrase;
  line-break:strict;
  overflow-wrap:break-word;
}

img,svg,video,picture{max-width:100%;height:auto;display:block}
figure{margin:0}

a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--accent-cta);
  outline-offset:3px;
}

ul,ol{list-style:none}

table{border-collapse:collapse;width:100%}
th,td{text-align:left;font-weight:400;vertical-align:top}

button,input,select,textarea{font:inherit;color:inherit;background:none;border:none}
button{cursor:pointer}

/* ── 見出し ──────────────────────────
   ★岩田さん指示 2026-08-21：見出しは小さく。欧文の方を大きく。字間は詰める。
   本番 chorule-hair.com の実測は ls −0.02em（参考サイトの +0.16em ではない）。 */
h1,h2,h3,h4{font-weight:400;line-height:var(--lh-head)}

.en{font-family:var(--ff-en);font-weight:400;letter-spacing:var(--ls-en);line-height:1.1}
.ja{font-family:var(--ff-ja);font-weight:300;letter-spacing:var(--ls-ja)}

h1 .en,h2 .en{display:block;font-size:var(--fs-en)}
h1 .ja,h2 .ja{display:block;font-size:var(--fs-ja);line-height:1.85;margin-top:.5em}

/* ── 本文 ──────────────────────────
   1段落の最大幅は em で持つ（ch は和文で当てにならない・DESIGN_LAWS）。 */
p{max-width:34em}
.lead{font-size:var(--fs-lead);line-height:1.95;max-width:32em}
.cap{font-size:var(--fs-cap);line-height:1.85;color:var(--mut);text-wrap:pretty}
.small{font-size:var(--fs-small);line-height:1.9;color:var(--mut);text-wrap:pretty}
.sub{font-size:var(--fs-ja-sub);letter-spacing:.04em;color:var(--mut)}

/* 約物は強調タグの内側に入れる（外に出すと palt の詰めが境界をまたげず約11px空く）。
   それでも WebKit で穴が残る段落は、その段落だけ feature-settings を切る。 */
.no-palt{font-feature-settings:normal}

/* 見出しは balance、支え文は pretty。最終行の1文字孤立を減らす */
h1,h2,h3{text-wrap:balance}

.nw{white-space:nowrap}

/* スクリーンリーダー専用 */
.visually-hidden{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* キーボード利用者のためのスキップリンク */
.skip{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--ink);color:#fff;padding:12px 20px;font-size:14px;
}
.skip:focus{left:0}
