    /* ====== main内スコープ ====== */
    .policy{
      --bg: #ffffff;
      --fg: #222;
      --muted:#666;
      --brand:#E50011;     /* メインカラー：赤 */
      --accent:#FF9084;    /* 補助カラー */
      --border:#f0f0f0;
      --radius: 14px;
      --space: clamp(12px, 2vw, 20px);
      --max: 980px;

      color: var(--fg);
      background: var(--bg);
    }

    .policy a{color:var(--brand); text-decoration: underline; text-underline-offset: 2px;}
    .policy h1,h2,h3{line-height:1.3; margin: 0 0 .4em}
    .policy h1{font-size: clamp(26px, 4vw, 36px); letter-spacing:.01em}
    .policy h2{font-size: clamp(20px, 2.6vw, 26px); margin-top: 0em}
    .policy h3{font-size: clamp(16px, 2.2vw, 20px); margin-top: 1.2em}
    .policy p, .policy li{font-size: clamp(14px, 1.6vw, 16px)}
    .policy small{color:var(--muted)}

    .policy main, .policy{
      max-width: var(--max);
      margin: 0 auto;
      padding: 28px var(--space) 80px;
    }

    .policy .hero{
      border: none;
      border-radius: var(--radius);
      padding: clamp(18px, 3vw, 28px);
      background: #fff;
    }
    .policy .meta{display:flex; gap:12px; flex-wrap:wrap; color:var(--muted); margin-top:6px}

    .policy section{
      border: none;
      border-radius: var(--radius);
      padding: clamp(16px, 3vw, 24px);
      background: #fff;
      scroll-margin-top: 84px;
      margin-top:1.5em;
    }
    .policy ul{padding-left: 1.2em}
    .policy .note{
      border-left: 4px solid var(--brand);
      background: rgba(229, 0, 17, 0.06); /* 薄い赤 */
      padding: 10px 12px;
      border-radius: 8px;
      color: var(--fg);
    }

.policy .signature {
  text-align: right;
  font-size: 0.95rem;
  margin-top: 1.5em;
  font-style: normal;
}
.sp-only {
  display: none;
}

@media (max-width: 767px) {
  .sp-only {
    display: inline; /* スマホでのみ改行有効 */
  }
}

.policy-title {
	padding-bottom: 0.5625rem;
	padding-top: 8.3125rem;
	position: relative;
	text-align: center;
}

.policy-title h1 {
	color: #f62837;
	font-size: 2.7rem;
	font-weight: 700;
}

.policy-title span {
	color: #f62837;
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	line-height: 2;
	margin-top: 0rem;
}

@media screen and (max-width: 769px) {
.policy-title {
	padding-bottom: 0.375rem;
	padding-top: 3.75rem;
}

.policy-title h1 {
	font-size: 1.5rem;
}

.policy-title span {
	font-size: 1rem;
	line-height: normal;
	margin-top: 0rem;
	}}
	
.policy .policy-list {
  list-style: decimal;
  margin-top: 1.5em;
  padding-left: 1.5em;
}

.policy .policy-list li {
  margin-bottom: 1.2em;
  line-height: 2;
}

.policy .signature {
  text-align: right;
  font-size: 0.95rem;
  margin-top: 2em;
}

.sp-only { display: none; }
@media (max-width: 767px) {
  .sp-only { display: inline; }
  .policy .signature { text-align: center; }
}

.policy h2 {
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  line-height: 1.35;
  margin: 0 0 0.75rem;
  font-weight: 700;
}
.policy__lead {
  margin: 0 0 1rem;
  line-height: 1.8;
  color: #333;
}

.harassment-list {
  list-style-type: disc;
  padding-left: 1.5rem;
  margin: 0;
}

.harassment-list li {
  margin-bottom: 0.4rem;
  line-height: 1.9;
  color: #222;
  word-break: auto-phrase;
}

/* ====== iPad・タブレット調整（768〜1024px） ====== */
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .policy h1 {
    font-size: 2rem; /* やや小さく */
  }

  .policy h2 {
    font-size: 1.4rem;
  }

  .policy h3 {
    font-size: 1.1rem;
  }

  .policy p, .policy li {
    font-size: 0.95rem;
    line-height: 1.8;
  }

  .policy main, .policy {
    padding: 24px clamp(16px, 3vw, 24px) 60px;
  }

  .policy section {
    padding: clamp(14px, 2.4vw, 20px);
  }

  .policy-title {
    padding-top: 5.5rem;
  }

  .policy-title h1 {
    font-size: 2rem;
  }

  .policy-title span {
    font-size: 0.95rem;
  }
}

/* ====== 小さめタブレット／大型スマホ対応（375〜767px） ====== */
@media screen and (min-width: 375px) and (max-width: 767px) {

  /* フォント全体を一段階小さくして読みやすく */
  .policy h1 {
    font-size: 1.6rem;
  }

  .policy h2 {
    font-size: 1.2rem;
  }

  .policy h3 {
    font-size: 1rem;
  }

  .policy p,
  .policy li {
    font-size: 0.9rem;
    line-height: 1.7;
  }

  /* コンテンツ余白をやや圧縮 */
  .policy main,
  .policy {
    padding: 20px clamp(12px, 4vw, 20px) 48px;
  }

  .policy section {
    padding: clamp(12px, 3vw, 18px);
    margin-top: 1.2em;
  }

  /* タイトルブロック */
  .policy-title {
    padding-top: 4.5rem;
    padding-bottom: 0.5rem;
  }

  .policy-title h1 {
    font-size: 1.6rem;
    line-height: 1.3;
  }

  .policy-title span {
    font-size: 0.9rem;
    line-height: 1.6;
  }

  /* リストや注意書きなど */
  .policy .policy-list {
    padding-left: 1.2em;
    margin-top: 1.2em;
  }

  .policy .note {
    font-size: 0.9rem;
    padding: 10px 12px;
    line-height: 1.6;
  }

  /* 署名などの末尾部分を中央寄せに */
  .policy .signature {
    text-align: center;
    font-size: 0.9rem;
    margin-top: 1.8em;
  }
}

