/* ==========================================================
   PROMISE RING 情報ページ（sst.html／after-service.html）
   shop.css の共通ヘッダー・フッター・パンくずの上に重ねる
   サージカルステンレスの図表は、印刷資料と同じ青緑（--st）で統一
   ========================================================== */
:root{--st:#6f9fa0;--st-d:#4f7f80;--st-l:#e6efef;--st-ll:#f3f7f7;}

.in-wrap{max-width:1080px;margin:0 auto;padding:0 48px;}
.in-eye{font-family:var(--script);font-style:italic;font-size:15px;letter-spacing:.22em;color:var(--ac-d);}
.in-eye.st{color:var(--st-d);}
.in-h2{font-family:var(--serif);font-weight:300;font-size:clamp(21px,2.8vw,28px);letter-spacing:.12em;color:var(--ink);margin-top:10px;text-wrap:balance;}
.in-sub{font-family:var(--serif);font-size:13px;letter-spacing:.08em;color:var(--st-d);margin-top:6px;}
.in-txt{font-family:var(--serif);font-weight:300;font-size:14.5px;line-height:2.2;color:var(--g5);}
.in-txt b{font-weight:500;color:var(--ink);}
.in-btn{display:inline-block;padding:14px 30px;font-family:var(--serif);font-size:13px;letter-spacing:.1em;transition:background .2s,color .2s,border-color .2s;}
.in-btn.pri{background:var(--ac);color:#fff;}
.in-btn.pri:hover{background:var(--ac-d);}
.in-btn.sec{border:1px solid var(--g3);color:var(--ink);}
.in-btn.sec:hover{border-color:var(--ac);color:var(--ac-d);}
a:focus-visible{outline:2px solid var(--ac-d);outline-offset:3px;}
.yen{font-variant-numeric:tabular-nums;}

/* ── SST：ヒーロー ── */
.sst-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch;min-height:560px;background:#fff;}
.sst-hero-txt{display:flex;flex-direction:column;justify-content:center;padding:72px 64px 72px max(48px,calc((100vw - 1080px)/2 + 48px));}
.sst-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(34px,4.6vw,52px);letter-spacing:.1em;line-height:1.35;color:var(--ink);margin:14px 0 22px;}
.sst-hero h1 small{display:block;font-family:var(--script);font-size:.5em;letter-spacing:.12em;color:var(--g5);margin-top:6px;}
.sst-hero .lead{font-family:var(--serif);font-weight:300;font-size:15.5px;line-height:2.2;letter-spacing:.06em;color:var(--ink);}
.sst-hero .lead em{font-style:normal;color:var(--st-d);}
.sst-hero .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.sst-hero-img{overflow:hidden;}
.sst-hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 60%;}

/* バッジ3点 */
.sst-badges{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--g2);border-bottom:1px solid var(--g2);background:var(--st-ll);}
.sst-badges div{padding:26px 20px;text-align:center;}
.sst-badges div + div{border-left:1px solid var(--g2);}
.sst-badges .k{font-family:var(--script);font-size:12px;letter-spacing:.24em;color:var(--st-d);text-transform:uppercase;}
.sst-badges .v{font-family:var(--serif);font-size:17px;letter-spacing:.08em;color:var(--ink);margin:6px 0 4px;}
.sst-badges .d{font-size:12px;color:var(--g5);line-height:1.8;}

/* 5つの特長 */
.sst-sec{padding-block:88px 0;}
.sst-sec-head{margin-bottom:28px;}
.sst-no{font-family:var(--script);font-size:12px;letter-spacing:.3em;color:var(--st-d);text-transform:uppercase;display:flex;align-items:center;gap:14px;}
.sst-no::after{content:'';width:40px;height:1px;background:var(--st);}
.sst-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;}

/* 図表（横棒） */
.chart{border-left:1px solid var(--g2);padding-left:32px;}
.chart-title{font-family:var(--script);font-size:12px;letter-spacing:.24em;color:var(--st-d);text-transform:uppercase;}
.chart-cap{font-size:11.5px;color:var(--g4);margin:2px 0 18px;}
.bars{list-style:none;display:grid;gap:10px;}
.bars li{display:grid;grid-template-columns:8.5em 1fr;align-items:center;gap:12px;font-size:12.5px;color:var(--g5);}
.bars .lbl{text-align:right;font-family:var(--serif);}
.bars .trk{display:flex;align-items:center;gap:8px;}
.bars .bar{height:14px;background:var(--g3);}
.bars .val{font-family:var(--serif);font-size:12px;color:var(--g5);font-variant-numeric:tabular-nums;}
.bars li.hi .lbl{color:var(--ink);font-weight:500;}
.bars li.hi .bar{background:var(--st);}
.bars li.hi .val{color:var(--st-d);font-weight:500;}
.bars .gnote{font-size:11px;color:var(--st-d);}
.axis{display:grid;grid-template-columns:8.5em 1fr;gap:12px;margin-top:8px;}
.axis ol{list-style:none;display:flex;justify-content:space-between;font-size:10.5px;color:var(--g4);font-variant-numeric:tabular-nums;}

/* アレルギーの起こりにくさ */
.risk{list-style:none;border-top:1px solid var(--g2);}
.risk li{display:grid;grid-template-columns:7.5em 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--g2);font-family:var(--serif);font-size:13.5px;color:var(--ink);align-items:baseline;}
.risk .lv{font-size:12px;letter-spacing:.06em;}
.risk .lv b{font-family:var(--script);font-size:15px;margin-right:8px;}
.risk li:nth-child(1) .lv{color:var(--st-d);}
.risk li:nth-child(2) .lv{color:var(--g5);}
.risk li:nth-child(3) .lv{color:#b08a5a;}
.risk li:nth-child(4) .lv{color:#a86a6a;}
.risk li:nth-child(1){background:var(--st-ll);}
.risk .m{display:flex;flex-wrap:wrap;gap:6px 22px;}

/* 違いのカード */
.diff{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.diff > div{background:var(--g1);padding:28px 26px 30px;}
.diff > div.hi{background:var(--st-l);}
.diff .n{font-family:var(--script);font-size:30px;color:var(--st-d);line-height:1;}
.diff .n::after{content:'';display:block;width:24px;height:1px;background:var(--st);margin:12px 0 14px;}
.diff h3{font-family:var(--serif);font-weight:500;font-size:15px;letter-spacing:.08em;}
.diff .g{font-family:var(--script);font-size:11px;letter-spacing:.2em;color:var(--g4);margin:2px 0 12px;}
.diff p{font-size:13px;color:var(--g5);line-height:1.9;}

/* 品質4点 */
.qual{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;}
.qual h3{font-family:var(--serif);font-weight:400;font-size:15px;letter-spacing:.06em;display:flex;gap:10px;}
.qual h3::before{content:'—';color:var(--st);}
.qual p{font-size:13px;color:var(--g5);line-height:1.9;margin-top:6px;padding-left:1.6em;}

/* 価格表 */
.sst-price{padding-block:96px;background:var(--st-ll);margin-top:96px;scroll-margin-top:80px;}
.sst-price-head{text-align:center;margin-bottom:12px;}
.sst-price-head p{font-family:var(--serif);font-weight:300;font-size:14px;line-height:2;color:var(--g5);margin-top:14px;}
.sst-price-meta{display:flex;justify-content:flex-end;gap:16px;font-family:var(--script);font-size:12px;letter-spacing:.2em;color:var(--st-d);margin:32px 0 12px;text-transform:uppercase;}
.pl{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--g2);border:1px solid var(--g2);}
.pl li{background:#fff;display:grid;grid-template-columns:44% 1fr;gap:20px;align-items:center;padding:22px 24px;}
.pl img{width:100%;height:auto;aspect-ratio:800/488;object-fit:contain;}
.pl .no{font-family:var(--script);font-size:11px;letter-spacing:.2em;color:var(--g4);}
.pl h3{font-family:var(--serif);font-weight:500;font-size:19px;letter-spacing:.12em;line-height:1.3;}
.pl h3 a{color:inherit;}
.pl h3 a:hover{color:var(--ac-d);}
.pl .mn{font-family:var(--serif);font-weight:300;font-size:11.5px;color:var(--g4);margin-bottom:10px;}
.pl dl{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--g2);}
.pl dt,.pl dd{padding:7px 0;border-bottom:1px solid var(--g2);}
.pl dt{font-family:var(--script);font-size:11.5px;letter-spacing:.12em;color:var(--g5);line-height:1.3;}
.pl dt i{font-style:normal;color:var(--st-d);margin-left:6px;}
.pl dt small{display:block;font-size:10px;color:var(--g4);letter-spacing:.06em;}
.pl dd{font-family:var(--serif);font-size:16px;color:var(--ink);text-align:right;align-self:center;font-variant-numeric:tabular-nums;}
.pl .more{display:inline-block;margin-top:10px;font-family:var(--serif);font-size:11.5px;letter-spacing:.06em;color:var(--ac-d);}
.in-notes{list-style:none;margin-top:18px;display:grid;gap:4px;font-size:12px;color:var(--g5);}
.in-notes li::before{content:'— ';color:var(--st);}

/* ── アフターサービス ── */
.as-hero{text-align:center;padding-block:80px 56px;}
.as-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(28px,4vw,40px);letter-spacing:.14em;margin:12px 0 10px;}
.as-hero .en{font-family:var(--script);font-size:clamp(30px,5vw,48px);letter-spacing:.14em;color:var(--st-d);line-height:1.2;}
.as-hero .dia{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--st);margin:14px 0 18px;font-size:10px;}
.as-hero .dia::before,.as-hero .dia::after{content:'';width:64px;height:1px;background:var(--st);}
.as-hero p{font-family:var(--serif);font-weight:300;font-size:14.5px;line-height:2.1;color:var(--g5);}
.as-body{max-width:820px;margin:0 auto;padding:0 32px 88px;}
.as-sec{margin-top:48px;}
.as-sec h2{font-family:var(--serif);font-weight:400;font-size:20px;letter-spacing:.1em;margin-top:8px;}
.as-sec .desc{font-size:12.5px;color:var(--g5);margin-top:6px;line-height:1.9;}
.fee{width:100%;border-collapse:collapse;margin-top:16px;}
.fee th,.fee td{padding:15px 4px;border-bottom:1px solid var(--g2);font-weight:400;}
.fee tr:first-child th,.fee tr:first-child td{border-top:1px solid var(--g2);}
.fee th{text-align:left;font-family:var(--serif);font-size:14px;letter-spacing:.06em;color:var(--ink);}
.fee th small{font-size:11.5px;color:var(--g4);margin-left:10px;letter-spacing:.04em;}
.fee td{text-align:right;font-family:var(--serif);font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.fee td.t{font-size:14px;}
.as-sst{margin-top:48px;background:var(--st-l);padding:30px 32px 26px;}
.as-sst .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
.as-sst .fee th,.as-sst .fee td{border-color:rgba(79,127,128,.25);}
.as-sst a{font-family:var(--serif);font-size:12px;color:var(--st-d);border-bottom:1px solid currentColor;}
.as-note{list-style:none;margin-top:36px;padding-top:20px;border-top:1px solid var(--g2);display:grid;gap:6px;font-size:12.5px;color:var(--g5);line-height:1.9;}
.as-note li::before{content:'— ';color:var(--st);}
.as-rev{text-align:right;font-size:11px;color:var(--g4);margin-top:20px;letter-spacing:.06em;}

/* ── 共通CTA ── */
.in-cta{background:var(--ac-ll);text-align:center;padding:72px 24px;}
.in-cta h2{font-family:var(--serif);font-weight:300;font-size:clamp(20px,3vw,26px);letter-spacing:.12em;margin:10px 0 14px;}
.in-cta p{font-family:var(--serif);font-weight:300;font-size:14px;color:var(--g5);line-height:2;margin-bottom:26px;}

@media(max-width:900px){
  .in-wrap{padding:0 24px;}
  .sst-hero{grid-template-columns:1fr;min-height:0;}
  .sst-hero-img{order:-1;max-height:62vh;}
  .sst-hero-txt{padding:40px 24px 48px;}
  .sst-row{grid-template-columns:1fr;gap:32px;}
  .chart{border-left:none;padding-left:0;border-top:1px solid var(--g2);padding-top:24px;}
  .diff{grid-template-columns:1fr;}
  .pl{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .sst-badges{grid-template-columns:1fr;}
  .sst-badges div + div{border-left:none;border-top:1px solid var(--g2);}
  .qual{grid-template-columns:1fr;}
  .pl li{grid-template-columns:1fr;padding:22px 20px;}
  .bars li,.axis{grid-template-columns:6.5em 1fr;}
  .as-body{padding:0 20px 72px;}
  .as-sst{padding:24px 20px 20px;}
  .fee th small{display:block;margin:2px 0 0;}
}
