@charset "UTF-8";
/* ======================================================
   Law（特定商取引法に基づく表記）
   ※ base.css 読み込み前提（Reset / Fonts / 共通変数あり）
   ====================================================== */

/* ページ全体 */
body.law {
  background: #f3f5f9; /* 指定どおり薄いブルーグレー背景 */
}

/* タイトル（ヒーロー） */
.page-hero {
  text-align: center;
  padding: 60px 0 32px;
}
.page-hero h1 {
  font-family: var(--ff-serif); /* Shippori Mincho（baseで読込済） */
  font-size: clamp(28px, 3vw, 36px);
  color: var(--c-deep);
  padding-bottom: 6px;
  border-bottom: 2px solid #c4a63c;
  display: inline-block;
  margin: 0;
}

/* 白枠ボックス（本文囲い） */
.law-box,
.legal {
  background: #fff;
  max-width: 860px;
  margin: 0 auto 80px;
  padding: 40px 36px;
  border-radius: 12px;
  box-shadow: var(--shadow-card);
}

/* セクション見出し（帯） */
body.law h2 {
  background: #f0f0f0;
  padding: 10px 16px;
  font-size: 18px;
  font-weight: 700;
  border-radius: 6px;
  margin: 32px 0 12px;
  font-family: var(--ff-sans); /* Noto Sans JP */
  color: var(--c-deep);
}

/* 段落 */
.law-box p,
.legal p {
  margin: 6px 0 18px;
  line-height: 1.9;
  text-indent: 1em; /* 段落字下げ */
}

/* 改行後の字下げ */
.law-box p br::after,
.legal p br::after {
  content: "";
  display: inline-block;
  width: 1em;
}

/* 箇条書き */
.law-box ul,
.legal ul {
  margin: 0.5em 0 0.5em 2em;
  padding: 0;
}
.law-box li,
.legal li {
  line-height: 1.9;
  margin-bottom: 0.3em;
}

/* 表（会社情報など） */
.law-table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0 18px;
  font-size: 0.95rem;
  table-layout: fixed;
  background: #fff;
  border: 1px solid var(--c-line);
  border-radius: 8px;
  overflow: hidden;
}
.law-table th,
.law-table td {
  border-bottom: 1px solid var(--c-line);
  padding: 14px 16px;
  vertical-align: top;
  word-break: break-word;
}
.law-table th {
  width: 28%;
  min-width: 160px;
  background: var(--c-company-head, #d9e1ed);
  color: var(--c-deep);
  text-align: left;
  font-weight: 700;
}
.law-table tr:last-child th,
.law-table tr:last-child td {
  border-bottom: none;
}

/* 注意書き */
.law-note {
  background: #fff7ed;
  border-left: 4px solid #fdba74;
  color: #6b7280;
  padding: 10px 12px;
  border-radius: 6px;
  margin-top: 12px;
  font-size: 0.95rem;
}

/* モバイル最適化 */
@media (max-width: 768px) {
  .law-box, .legal {
    padding: 28px 20px;
    margin-bottom: 56px;
  }

  .law-table,
  .law-table thead,
  .law-table tbody,
  .law-table tr,
  .law-table th,
  .law-table td {
    display: block;
    width: 100%;
  }

  .law-table tr + tr {
    border-top: 1px solid var(--c-line);
  }

  .law-table th {
    background: #f3f5f9;
    border: none;
    padding: 12px 14px 8px;
  }

  .law-table td {
    border: none;
    padding: 0 14px 14px;
  }
}

/* キーボード操作の視認性 */
:focus-visible {
  outline: 3px solid rgba(13,59,52,.35);
  outline-offset: 2px;
}

/* 印刷用（背景オフ・影なし） */
@media print {
  .law-box, .legal { box-shadow: none; }
  body { background: #fff; }
}
