/* =========================================================
   base — 色・文字・共通部品
   色は :root。WCAG AA（コントラスト比4.5以上）を全項目で満たしています。
   これ以上明るくすると補助文が基準を割るので、
   変えるときは文字色も一緒に上げてください。
   ========================================================= */
/* =========================================================
   あさぎり農園 LP ｜ 本体（01〜05）
   調整の目印
   ・色       :root と .sec--paper / .sec--paper2 / .sec--forest
   ・余白     --gap（セクションの上下）
   ・出現     [data-reveal] の 0.9s
   ========================================================= */
:root{
  --paper:#F7F4EA;        /* 基調の白（生成りの紙） */
  --paper2:#EFEBDD;       /* 一段沈めた白 */
  --forest:#1F472E;       /* 深い緑（主張の区間とフッター）。AA基準ぎりぎりまで明るく */
  --leaf:#3E7C3A;         /* CTA・アクセント */
  --leaf-bright:#8CC05A;  /* 深い緑の上でのアクセント */
  --sun:#C9762E;          /* 数字の差し色（にんじん色）。使いどころは絞る */
  --gap:clamp(96px,11vw,170px);
  --ease:cubic-bezier(.22,1,.36,1);
}
/* 白の区間 */
.sec--paper{
  --bg:var(--paper); --ink:#1B2A1C; --soft:#5C6A58; --dim:#606E5C;
  --line:rgba(27,42,28,.15); --card:rgba(255,255,255,.62);
  --acc:var(--leaf); --btn-bg:var(--leaf); --btn-ink:#FFFFFF;
}
/* 一段沈めた白 */
.sec--paper2{
  --bg:var(--paper2); --ink:#1B2A1C; --soft:#5C6A58; --dim:#606E5C;
  --line:rgba(27,42,28,.15); --card:rgba(255,255,255,.72);
  --acc:var(--leaf); --btn-bg:var(--leaf); --btn-ink:#FFFFFF;
}
/* 深い緑の区間 */
.sec--forest{
  --bg:var(--forest); --ink:#EEF3E7; --soft:#A6B79F; --dim:#9CB095;
  --line:rgba(238,243,231,.17); --card:rgba(255,255,255,.06);
  --acc:var(--leaf-bright); --btn-bg:var(--leaf-bright); --btn-ink:#12210F;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper); color:#1B2A1C;
  font-family:"Noto Sans JP",sans-serif; line-height:2;
  -webkit-font-smoothing:antialiased;
}
img{display:block; max-width:100%}

/* ---- セクションの器 ---- */
.sec{background:var(--bg); color:var(--ink); padding:var(--gap) 0; position:relative}
.wrap{width:min(1180px,90vw); margin:0 auto}
.head{max-width:760px}

.eyebrow{
  font-family:"JetBrains Mono",monospace; font-size:12px; font-weight:500;
  letter-spacing:.26em; color:var(--acc);
}
h2{
  font-family:"Shippori Mincho",serif; font-weight:600;
  font-size:clamp(28px,3.9vw,46px); letter-spacing:.08em; line-height:1.55; margin-top:20px;
}
.lead{font-size:15px; color:var(--soft); margin-top:24px; line-height:2.05; max-width:600px}
.note{font-size:12.5px; color:var(--dim); margin-top:20px; letter-spacing:.02em}

/* ---- ヘッダー ---- */
.bar{
  position:fixed; z-index:20; top:0; left:0; right:0;
  display:flex; align-items:center; gap:20px; padding:14px 5vw;
  background:rgba(247,244,234,.88); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(27,42,28,.10);
  --btn-bg:var(--leaf); --btn-ink:#FFFFFF;
}
.bar-logo{font-family:"Shippori Mincho",serif; font-weight:600; font-size:15px; letter-spacing:.24em; color:#1B2A1C; text-decoration:none}
.bar-logo em{font-style:normal; color:var(--leaf)}
.bar .btn{margin-left:auto; padding:10px 22px; font-size:12.5px}

/* ---- ボタン ---- */
.btn{
  display:inline-block; font-family:"Noto Sans JP",sans-serif;
  font-size:13.5px; font-weight:500; letter-spacing:.08em; text-decoration:none; white-space:nowrap;
  color:var(--btn-ink); background:var(--btn-bg); border:1px solid var(--btn-bg);
  padding:15px 34px; border-radius:999px; cursor:pointer;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease);
}
.btn:hover{transform:translateY(-2px); box-shadow:0 14px 30px rgba(62,124,58,.24)}
.btn--ghost{
  background:none; color:var(--ink); border-color:var(--line);
}
.btn--ghost:hover{box-shadow:none; background:var(--card)}

/* ---- 画像の仮置き ---- */
.ph{
  position:relative; border-radius:14px; overflow:hidden;
  background:
    radial-gradient(70% 60% at 30% 20%, rgba(140,192,90,.22), transparent 70%),
    linear-gradient(150deg, #D9DCC6, #E7E7D6 58%, #CBD1BA);
  border:1px solid var(--line);
  display:grid; place-items:center;
}
.sec--forest .ph{
  background:
    radial-gradient(70% 60% at 30% 20%, rgba(140,192,90,.16), transparent 70%),
    linear-gradient(150deg, #2C5A3C, #1F472E 60%, #275034);
}
.ph::after{
  content:""; position:absolute; inset:0; opacity:.22; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");
}
.ph span{
  position:relative; z-index:1; font-family:"JetBrains Mono",monospace;
  font-size:10.5px; letter-spacing:.22em; color:var(--dim); text-align:center; padding:0 12px;
}

/* ---- 読み込みに失敗したときの案内 ---- */
.boot .err{
  max-width:520px; text-align:left; line-height:2;
  color:#E8A07E; font-family:"Noto Sans JP",sans-serif;
  letter-spacing:normal; font-size:13.5px; padding:0 24px;
}
.boot .err b{color:#F1D9C6}
