/* =========================================================
   プライバシーポリシー(/privacy/)固有 ── 第14回で院共通の文に差し替え
   表(.oc-pp-table)は料金ページの表(.ptable)と同じ枠・見出しの色・罫線
   ========================================================= */
.ppwrap{max-width:760px}
.pp{padding:28px 0; border-top:1px solid rgba(33,33,33,.1)}
.pp:first-child{border-top:0; padding-top:0}
.oc-psec .pp h2{font-family:var(--mincho); font-weight:500; font-size:clamp(1.12rem,1rem + .4vw,1.3rem); margin:0 0 12px; letter-spacing:.05em}
.oc-psec .pp h3{font-family:var(--mincho); font-weight:500; font-size:1.02rem; margin:22px 0 6px; letter-spacing:.04em; color:var(--blue)}
.pp p{margin:0 0 .8em; font-size:.94rem; line-height:2}
.pp ul,.pp ol{margin:0 0 .8em; padding-left:1.4em; font-size:.94rem; line-height:2}
.pp ol > li::marker{color:var(--blue); font-weight:500}
.pp li + li{margin-top:2px}

/* 表(1章・4章・5章・6章) */
.oc-pp-table{width:100%; margin:16px 0 20px; border:0; border-collapse:collapse; background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 0 0 1px rgba(27,32,135,.14); font-size:.9rem; line-height:1.8}
.oc-pp-table th,.oc-pp-table td{--ark-padding--cell:12px 16px; border:0; border-bottom:1px solid rgba(33,33,33,.07); background:none; text-align:left; vertical-align:top; word-break:normal; overflow-wrap:anywhere}
.oc-pp-table thead th{font-size:.8rem; font-weight:500; color:var(--blue); background:#F8F8FC; letter-spacing:.06em; vertical-align:middle}
.oc-pp-table tbody th{font-weight:500; width:30%}
.oc-pp-table tr:last-child th,.oc-pp-table tr:last-child td{border-bottom:0}
.oc-pp-table--stack tbody th{width:38%}
.oc-pp-table--stack td:last-child{white-space:nowrap}

/* 7章の窓口 */
.pp .oc-pp-desk{list-style:none; padding:14px 18px; background:#F8F8FC; border-radius:8px}
.oc-pp-desk a{color:inherit}

/* 制定日:ページのいちばん下・右寄せ */
.oc-pp-date{margin:12px 0 0; padding-top:20px; border-top:1px solid rgba(33,33,33,.1); text-align:right; font-size:.9rem; color:var(--ink-soft)}

@media (max-width:720px){
  .oc-pp-table{font-size:.86rem}
  .oc-pp-table th,.oc-pp-table td{--ark-padding--cell:10px 10px}
  /* 2列の表:スマホでも2列のまま。左の列を詰める */
  .oc-pp-table tbody th{width:8.6em}
}

/* 5章の3列の表:スマホでは「使い道」を見出しにして、下に「サービスの種類」「事業者の国」を並べる */
@media (max-width:600px){
  .oc-pp-table--stack thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
  .oc-pp-table--stack,.oc-pp-table--stack tbody,.oc-pp-table--stack tr,.oc-pp-table--stack th,.oc-pp-table--stack td{display:block; width:auto}
  .oc-pp-table--stack tr{padding:10px 14px 12px; border-bottom:1px solid rgba(33,33,33,.07)}
  .oc-pp-table--stack tr:last-child{border-bottom:0}
  .oc-pp-table--stack tbody th,.oc-pp-table--stack td{--ark-padding--cell:0; padding:0; border:0}
  .oc-pp-table--stack tbody th{width:auto; margin-bottom:4px; color:var(--blue)}
  .oc-pp-table--stack td{display:grid; grid-template-columns:7.5em 1fr; gap:8px}
  .oc-pp-table--stack td::before{content:attr(data-label); color:var(--ink-soft); font-size:.8rem}
  .oc-pp-table--stack td:last-child{white-space:normal}
}
/* 第20回 作業B(B-17):375px 以下で見出し「プライバシーポリシー」を1行に(1段小さく) */
@media (max-width:375px){ .oc-page-title{font-size:1.55rem; letter-spacing:.06em} }
@media (max-width:340px){ .oc-page-title{font-size:1.35rem; letter-spacing:.04em} }
/* 第20回 作業B(B-16):375px 以下で表の左の見出し(8文字)の最後の1文字が次の行に落ちていた → 列を少し広げる・本文のセルは最後の行が短くなりすぎないように */
@media (max-width:375px){ .oc-pp-table tbody th{width:9.6em} }
.oc-pp-table td{text-wrap:pretty}
.oc-pp-table tbody th{text-wrap:balance} /* 9文字の見出しは「保険・手続き/の情報」のように2行の長さをそろえる */
