/* ==========================================================================
   cochi 採用LP v1ab — base.css
   版：2026-08-05 v3 ／ 更新：MAIA
   内容：リセット・W-2 日本語規律・ベースタイポ・スクロールリビール
   ========================================================================== */

*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--jp);
  font-size:var(--fs-body);
  font-weight:400;
  line-height:var(--lh-jp);
  letter-spacing:var(--ls-jp);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* 規律 W-2：全日本語テキストに必須 */
h1,h2,h3,h4,p,li,dt,dd,td,th,summary,figcaption,label,span,b,em,small,button,a{
  word-break:auto-phrase;
  line-break:strict;
}

img,video,iframe{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;background:none;border:0;}
button{cursor:pointer;}
ul,ol{list-style:none;}
table{border-collapse:collapse;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

/* --- 見出し／本文のベース --------------------------------------------- */
h2{
  font-family:var(--jp);
  font-size:var(--fs-h2);
  font-weight:500;
  line-height:var(--lh-tight);
  letter-spacing:.02em;
}
h3{font-size:var(--fs-h3);font-weight:500;line-height:1.6;}
p{max-width:var(--measure);}

/* 強調は下線でなく差し色。面の上と地の上で色を切り替える */
.hl{color:var(--terra-d);font-weight:500;}  /* --accent(3.90:1)では本文強調にAA不足→5.81:1 */
.mk{color:var(--sage-d);font-weight:500;}
.nw{white-space:nowrap;}

/* --- スクロールリビール（fade-in のみ・ease-out 0.8s） ------------------ */
/* 付与されるクラス名は現行LP(v2)の script に合わせて `in`（`is-in` ではない） */
.js .rv{opacity:0;transform:translateY(14px);}
.js .rv.in{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease);}
@media (prefers-reduced-motion:reduce){
  .js .rv,.js .rv.in{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* --- 画面読み上げ専用 -------------------------------------------------- */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
