@charset "UTF-8";
/* ============================================================
   下層ページ（事業概要・プライバシーポリシー）共通
   トップページと同じ配色・書体・余白を使います。
   カード・強調色は使わず、細い罫線と余白だけで構成します。
============================================================ */

/* ---- ページ用のヘッダー（メニューなし・戻る導線のみ） ---- */
.page-head {
  position: sticky; top: 0; z-index: 90;
  background: var(--c-bg);
  border-bottom: 1px solid var(--c-rule);
}
.page-head .head-inner {
  max-width: var(--w-max); margin-inline: auto;
  padding: 20px var(--pad-x);
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.page-head .logo {
  font-family: var(--f-en); font-size: .9375rem;
  letter-spacing: .14em; color: var(--c-text);
}
.page-head .back {
  font-size: var(--fs-small); letter-spacing: .04em; color: var(--c-sub);
  white-space: nowrap;
}
.page-head .back:hover { color: var(--c-text); }

/* ---- 本文 ---- */
.page-main { padding-block: clamp(64px, 9vh, 112px) clamp(88px, 12vh, 160px); }
.page-wrap { max-width: var(--w-max); margin-inline: auto; padding-inline: var(--pad-x); }

.page-title-block { margin-bottom: clamp(48px, 6vw, 72px); }
.page-num {
  font-family: var(--f-en); font-size: var(--fs-label);
  letter-spacing: .18em; color: var(--c-sub); margin: 0 0 18px;
}
.page-title {
  font-size: var(--fs-sectitle); font-weight: 400;
  line-height: 1.5; letter-spacing: .04em; margin: 0;
}
.page-lead {
  max-width: var(--w-read); margin: clamp(20px, 2.6vw, 28px) 0 0;
  font-size: var(--fs-body); line-height: 2.05; color: var(--c-sub);
}

.page-body { max-width: var(--w-read); }
.page-body h2 {
  font-size: var(--fs-body); font-weight: 500;
  line-height: 1.7; letter-spacing: .03em;
  margin: clamp(48px, 6vw, 72px) 0 clamp(16px, 2vw, 22px);
  padding-top: clamp(28px, 3.4vw, 40px);
  border-top: 1px solid var(--c-rule);
}
.page-body h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.page-body p {
  font-size: var(--fs-body); line-height: 2.15; margin: 0 0 1.5em;
}
.page-body p:last-child { margin-bottom: 0; }
.page-body ol, .page-body ul {
  margin: 0 0 1.5em; padding-left: 1.4em;
  font-size: var(--fs-body); line-height: 2.15;
}
.page-body li { margin-bottom: .5em; }
.page-body li:last-child { margin-bottom: 0; }
.page-body .note {
  font-size: var(--fs-small); line-height: 1.95; color: var(--c-sub);
}

/* ---- 事業概要の一覧 ---- */
.info-list { margin: 0; border-top: 1px solid var(--c-rule); max-width: var(--w-read); }
.info-item {
  display: grid; grid-template-columns: 9.5em minmax(0, 1fr);
  gap: 4px clamp(20px, 3vw, 40px);
  padding-block: clamp(20px, 2.4vw, 26px);
  border-bottom: 1px solid var(--c-rule);
}
.info-item dt {
  font-size: var(--fs-small); line-height: 2; color: var(--c-sub); letter-spacing: .04em;
}
.info-item dd {
  margin: 0; font-size: var(--fs-body); line-height: 2;
}
.info-item dd ul { margin: 0; padding-left: 1.2em; }
.info-item dd li { margin-bottom: .2em; }

@media (max-width: 600px) {
  .info-item { grid-template-columns: 1fr; gap: 6px; }
}

/* ---- 制定日など ---- */
.page-meta {
  margin-top: clamp(56px, 7vw, 80px);
  padding-top: clamp(24px, 3vw, 32px);
  border-top: 1px solid var(--c-rule);
  max-width: var(--w-read);
  font-size: var(--fs-small); line-height: 1.95; color: var(--c-sub);
}
