/* =========================================================================
   法的ページ共通スタイル（/privacy /terms /medical /tokushoho）
   プライバシーポリシー・利用規約・医療広告に関する表記・特定商取引法に基づく表記の
   4ページで共通使用。長文を読みやすく表示することを優先。
   ========================================================================= */

.legal-main{padding-block:clamp(40px,6vh,64px) var(--sect-y);}
.legal-wrap{
  /* max-width:820px; */
  margin-inline:auto;}

.legal-updated{font-size:.86rem;color:var(--ink-faint);font-weight:400;margin:0 0 clamp(30px,4vh,44px);padding-bottom:clamp(24px,3.4vh,34px);border-bottom:1px solid var(--line);}

.legal-content{font-size:.98rem;line-height:2.05;color:var(--ink-soft);font-weight:400;}
.legal-content h2{font-family:var(--f-disp);font-weight:700;font-size:clamp(1.2rem,4vw,1.45rem);line-height:1.7;letter-spacing:.01em;color:var(--ink);margin:2.2em 0 .9em;padding-top:1.6em;border-top:1px solid var(--line);}
.legal-content h2:first-child{margin-top:0;padding-top:0;border-top:0;}
.legal-content h3{font-family:var(--f-disp);font-weight:700;font-size:1.05rem;line-height:1.8;color:var(--ink);margin:1.6em 0 .6em;}
.legal-content p{margin:0 0 1.5em;}
.legal-content ol,.legal-content ul{margin:0 0 1.5em;padding-left:1.5em;}
.legal-content li{margin-bottom:.7em;line-height:1.95;}
.legal-content ol > li::marker{color:var(--bronze);font-weight:700;}
.legal-content strong{color:var(--ink);font-weight:700;}
.legal-content a{color:var(--bronze);text-decoration:underline;text-underline-offset:.2em;}

/* ★追加：事業者情報テーブル内のtel:/mailto:リンク。本文中のリンクとは別に、
   下線なしでブロンズ色のみのシンプルな見た目に統一（スマホのOSによる自動リンク化で
   崩れて見えていた問題の対策として、明示的にスタイルを当てている）。 */
.legal-table a{color:var(--bronze);text-decoration:none;}
.legal-table a:hover{text-decoration:underline;}

/* お問い合わせ・事業者情報など、定義リスト形式の表 */
.legal-table{width:100%;border-collapse:collapse;margin:0 0 1.8em;font-size:.94rem;}
.legal-table th,.legal-table td{padding:.9em 1.1em;border-top:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.85;}
.legal-table tr:last-child th,.legal-table tr:last-child td{border-bottom:1px solid var(--line);}
.legal-table th{width:11em;font-family:var(--f-body);font-weight:700;color:var(--ink);background:var(--porcelain-2);white-space:nowrap;}
.legal-table td{color:var(--ink-soft);font-weight:400;}

.legal-note{background:rgba(255,255,255,.5);border:1px solid var(--line);border-radius:6px;padding:1.2em 1.4em;font-size:.88rem;line-height:1.9;color:var(--ink-soft);margin:0 0 1.8em;}

@media (max-width:600px){
  .legal-table tr:last-child th,
    .legal-table tr:last-child td {
      border-bottom: none;
    }
  .legal-content{font-size:1.02rem;}
  .legal-table{font-size:.98rem;}
  .legal-table th,.legal-table td{padding:.8em .9em;display:block;width:100%;}
  .legal-table th{border-bottom:0;background:transparent;padding-bottom:0;}
  .legal-table tr{display:block;border-top:1px solid var(--line);padding:.8em 0;}
  .legal-table tr:last-child{border-bottom:1px solid var(--line);}
  .legal-table td{border-top:0;padding-top:.2em;}
}
