/* 公開ページ（サービス概要・プライバシー・利用規約・サイトマップ・LP）共通 */

/* 上部の細いヘッダー帯 */
.pubnav{background:var(--card); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20}
.pubnav-in{max-width:900px; margin:0 auto; padding:0 20px; height:58px; display:flex; align-items:center; justify-content:space-between}
.pubnav .logo-txt{font-size:18px}
.pubnav-r{display:flex; align-items:center; gap:12px}
.pub-seeker{font-size:12px; color:var(--pink); border:1px solid var(--pinkBorder); background:var(--pinkTint);
  border-radius:20px; padding:6px 12px; text-decoration:none; font-weight:700; white-space:nowrap}

/* 本文カード */
.pagewrap{max-width:820px; margin:0 auto; padding:24px 20px 48px}
.pagecard{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:28px 26px}
.page-title{font-size:22px; font-weight:800; margin:0 0 10px}
.page-lead{font-size:13.5px; color:var(--tx2); margin:0 0 20px; line-height:1.9}
.draftnote{background:var(--pinkTint); border:1px solid var(--pinkBorder); border-radius:10px; padding:11px 14px;
  font-size:12px; color:var(--pink); margin:0 0 22px; line-height:1.8}
.page-h2{font-size:15px; font-weight:700; margin:24px 0 8px; padding-top:16px; border-top:1px solid var(--line)}
.page-h2.first{border-top:none; padding-top:0; margin-top:6px}
.page-p{font-size:13px; color:var(--tx); margin:0 0 10px; line-height:1.9}
.page-ul{margin:0 0 12px; padding-left:1.2em}
.page-ul li{font-size:13px; margin-bottom:6px; line-height:1.8}

/* 特長（サービス概要） */
.feat{display:flex; gap:12px; margin-bottom:14px; align-items:flex-start}
.feat .ic{width:40px; height:40px; border-radius:50%; background:var(--pinkTint); border:1px solid var(--pinkBorder);
  color:var(--pink); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-weight:700; font-size:16px}
.feat .ft{font-size:13px; line-height:1.8}
.feat .ft b{display:block; margin-bottom:2px}

/* サイトマップ */
.smgrid{display:grid; grid-template-columns:1fr 1fr; gap:20px 26px}
.smcol h3{font-size:14px; font-weight:700; margin:0 0 8px; color:var(--pink)}
.smcol a{display:block; font-size:13px; color:var(--tx); text-decoration:none; padding:6px 0; border-bottom:1px solid var(--line)}
.smcol a:hover{color:var(--pink)}

/* 共通フッター */
.sfooter{border-top:1px solid var(--line); background:var(--soft); margin-top:32px}
.sfin{max-width:900px; margin:0 auto; padding:24px 22px}
.sfcta{display:inline-block; background:var(--pink); color:#fff; font-size:12.5px; font-weight:700;
  padding:10px 18px; border-radius:22px; text-decoration:none; margin-bottom:16px}
.sflogo{font-size:15px; font-weight:800; margin:0 0 12px; color:var(--tx)}
.sflogo .for{color:var(--pink); font-size:11px; margin-left:4px}
.sflinks{display:flex; flex-wrap:wrap; gap:10px 18px; margin-bottom:14px}
.sflinks a{color:var(--tx2); font-size:12.5px; text-decoration:none}
.sflinks a:hover{color:var(--pink)}
.sfseeker{display:inline-block; color:var(--pink); font-size:12px; text-decoration:none; font-weight:700; margin-bottom:14px}
.sfcopy{font-size:11px; color:var(--tx3); margin:0; border-top:1px solid var(--line); padding-top:12px}
@media(max-width:640px){.smgrid{grid-template-columns:1fr}.pagecard{padding:22px 18px}}

/* 医院向けLP */
.lp-hero{background:linear-gradient(180deg,var(--pinkTint),var(--card)); border:1px solid var(--pinkBorder);
  border-radius:18px; padding:30px 24px; text-align:center; margin-bottom:22px}
.lp-hero h1{font-size:24px; font-weight:800; margin:0 0 10px; line-height:1.4}
.lp-hero p{font-size:13.5px; color:var(--tx2); margin:0 auto 18px; max-width:560px; line-height:1.9}
.lp-cta{display:inline-block; background:var(--pink); color:#fff; font-size:15px; font-weight:700;
  padding:13px 32px; border-radius:26px; text-decoration:none}
.lp-sec{margin:30px 0}
.lp-sec h2{font-size:18px; font-weight:800; margin:0 0 12px}
.lp-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.lp-box{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px}
.lp-box b{display:block; font-size:14px; margin-bottom:6px; color:var(--pink)}
.lp-box p{font-size:12.5px; color:var(--tx2); margin:0; line-height:1.8}
.lp-steps{counter-reset:step; padding:0; margin:0; list-style:none}
.lp-steps li{position:relative; padding:10px 0 10px 40px; font-size:13.5px; line-height:1.7; border-bottom:1px solid var(--line)}
.lp-steps li::before{counter-increment:step; content:counter(step); position:absolute; left:0; top:10px;
  width:26px; height:26px; border-radius:50%; background:var(--pink); color:#fff; font-weight:700; font-size:13px;
  display:flex; align-items:center; justify-content:center}
.lp-price{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:8px}
.lp-pkg{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px; text-align:center}
.lp-pkg.reco{border-color:var(--pinkBorder); box-shadow:0 4px 14px rgba(153,53,86,.12)}
.lp-pkg .pt{font-size:22px; font-weight:800; color:var(--pink)}
.lp-pkg .yen{font-size:14px; font-weight:700; margin:4px 0 2px}
.lp-pkg .off{font-size:11px; color:var(--pink); background:var(--pinkTint); border-radius:20px; padding:2px 8px; display:inline-block}
.lp-table{width:100%; border-collapse:collapse; margin-top:8px}
.lp-table th,.lp-table td{border:1px solid var(--line); padding:9px 10px; font-size:12px; text-align:left}
.lp-table th{background:var(--soft); color:var(--tx2); font-weight:700}
.lp-table tr.mine td{background:var(--pinkTint); font-weight:700; color:var(--pink)}
@media(max-width:640px){.lp-grid,.lp-price{grid-template-columns:1fr}}
