@charset "utf-8";
/* =====================================================================
   YUKARI デザインシステム ② ベース（リセット＋基本要素）
   ===================================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; font-size:var(--fs-base); }
body{
  margin:0;
  font-family:var(--font-body);
  line-height:var(--lh-base);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-align:justify;
  /* スティッキーフッター：本文が少なくてもフッターを画面下に固定（多いときはスクロール）*/
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
#main{ flex:1 0 auto; }   /* メインを伸ばしてフッターを下端へ押し下げる */
h1,h2,h3,h4,h5,h6{ font-family:var(--font-serif); font-weight:600; line-height:1.4; margin:0 0 .6em; letter-spacing:.01em; color:var(--ink); }
a{ color:var(--green-d); text-decoration:none; }
a:hover{ text-decoration:underline; }
img{ max-width:100%; height:auto; display:block; }
p{ margin:0 0 1em; }
hr{ border:none; border-top:1px solid var(--line); margin:1.5em 0; }
ul,ol{ margin:0 0 1em; padding-left:1.4em; }

/* ---- レイアウト・ユーティリティ ---- */
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.section{ padding:60px 0; }
.section--alt{ background:var(--paper-alt); }
.text-center{ text-align:center; }
.muted{ color:var(--muted); }
.is-hidden{ display:none !important; }
.serif{ font-family:var(--font-serif); }

/* ---- Bulma互換ユーティリティ（Bulma撤去後も動的生成HTML/移行済みページが崩れないよう最小限を自前定義）
   ※ app.py / logic.js / script.js が生成するHTMLや search.html ツールバーで使用 ---- */
.has-text-weight-bold{ font-weight:700; }
.is-size-6{ font-size:1rem; }
.is-size-7{ font-size:.75rem; }
.is-clickable{ cursor:pointer; }

.section-head{ text-align:center; margin-bottom:38px; }
.section-head h2{ font-size:1.6rem; color:var(--green-d); margin:0 0 6px; }
.section-head p{ color:var(--muted); margin:0; font-size:.95rem; }

/* ---- コンテンツ（規約・プライバシー・問い合わせ等）---- */
.prose{ max-width:760px; }
.prose h2{ font-size:1.7rem; color:var(--green-d); margin:0 0 .8em; }
.prose h3{ font-size:1.15rem; color:var(--green-d); margin:1.7em 0 .5em; border-left:4px solid var(--green); padding-left:.55em; }
.prose p{ margin:0 0 1em; }
.prose ul{ margin:0 0 1em 1.3em; }
.prose li{ margin:.25em 0; }
.prose a{ color:var(--green-d); text-decoration:underline; }

/* ---- 小画面のパディング調整（ヒーロー/セクション/フッターの余白を詰める）---- */
@media (max-width:600px){
  .wrap{ padding:0 16px; }
  .section{ padding:40px 0; }
}
