/* /src/css/legal.css */
/* =========================================================
   legal.css（利用規約 / プライバシーポリシー / お問い合わせ等の文章ページ）
   - 既存の style.css（ヘッダー/フッター/背景）に追加で当てる想定
========================================================= */

:root{
  --legal-card: rgba(255,255,255,.50);
  --legal-border: rgba(255,255,255,.60);
  --legal-shadow: 0 22px 55px rgba(0,0,0,.10);
}

/* main */
.legal{
  padding: 54px 0 90px;
}

.legal__inner{
  width: var(--container);
  margin: 0 auto;
  position: relative;
}

/* ヘッダー（ページタイトル部分） */
.legal-header{
  margin: 0 0 22px;
  display: grid;
  gap: 10px;
}

.legal-header__title{
  margin: 0;
  font-family: "IBM Plex Sans JP", system-ui, -apple-system, "Noto Sans JP", "Segoe UI", Roboto, Arial, sans-serif;
  font-size: clamp(34px, 3.2vw, 56px);
  font-weight: 900;
  letter-spacing: .01em;
  line-height: 1.12;
  color: rgba(0,0,0,.92);
}

.legal-header__lead{
  margin: 0;
  font-weight: 800;
  color: rgba(28,28,34,.78);
  line-height: 1.9;
}

/* パンくず（任意） */
.legal-breadcrumb{
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(28,28,34,.70);
}
.legal-breadcrumb a{
  color: rgba(47,73,255,.92);
  text-decoration: none;
  border-bottom: 1px solid rgba(47,73,255,.25);
}
.legal-breadcrumb a:hover{
  border-bottom-color: rgba(47,73,255,.55);
}

/* 本文カード */
.legal-card{
  background: var(--legal-card);
  border: 1px solid var(--legal-border);
  border-radius: 26px;

  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);

  box-shadow: var(--legal-shadow);
  padding: 26px 26px;
  overflow: hidden;
}

.legal-updated{
  margin: 0 0 16px;
  font-size: 12px;
  font-weight: 900;
  color: rgba(28,28,34,.68);
}

/* 文章基本 */
.legal p{
  margin: 0;
  color: rgba(28,28,34,.82);
  font-weight: 650;
  line-height: 2.0;
}

.legal p + p{
  margin-top: 12px;
}

/* 条文ブロック */
.legal-section{
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(28,28,34,.14);
}

.legal-section__title{
  margin: 0;
  font-size: 18px;
  font-weight: 900;
  color: rgba(28,28,34,.92);
  letter-spacing: .01em;
}

.legal-section__body{
  margin-top: 10px;
  display: grid;
  gap: 10px;
}

/* 箇条書き */
.legal ul,
.legal ol{
  margin: 0;
  padding-left: 1.25em;
  color: rgba(28,28,34,.82);
  font-weight: 650;
  line-height: 2.0;
}

.legal li + li{
  margin-top: 6px;
}

/* 注意書き */
.legal-note{
  margin-top: 12px;
  padding: 14px 14px;
  border-radius: 18px;
  border: 1px solid rgba(28,28,34,.12);
  background: rgba(255,255,255,.55);
  color: rgba(28,28,34,.82);
  font-weight: 750;
}

/* ブラー非対応フォールバック */
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){
  .legal-card{
    background: rgba(255,255,255,.86);
  }
}

/* SP */
@media (max-width: 900px){
  .legal{
    padding: 34px 0 70px;
  }
  .legal-card{
    padding: 18px 16px;
    border-radius: 22px;
  }
  .legal-section__title{
    font-size: 16px;
  }
}
