@charset "utf-8";

/* =========================================================
   共通ページ（運営者情報・プライバシーポリシー・お問い合わせ）
   LP（recoverypro-lab-review）と同じデザイントークンを使用
   ========================================================= */
:root{
  --c-bg:#FFFFFF;
  --c-bg-tint:#F2F2F2;
  --c-bg-dark:#000000;
  --c-mint:#8BD2CD;
  --c-mint-deep:#2A8479;
  --c-blue-deep:#1E4D8F;
  --c-cta:#D7053C;
  --c-text:#1A1A1A;
  --c-text-muted:#6E6E73;
  --c-line:#DCDCDC;
  --font-base:"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Noto Sans JP",Meiryo,sans-serif;
  --font-en:"Helvetica Neue",Arial,sans-serif;
  --pad-x:clamp(18px,5vw,32px);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--c-bg);
  color:var(--c-text);
  font-family:var(--font-base);
  font-size:16px;
  line-height:2;
  letter-spacing:.04em;
  font-feature-settings:"palt" 1;
  -webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
h1,h2,h3,p,ul,ol,dl,dd,figure{ margin:0; }
ul,ol{ padding:0; list-style:none; }
a{ color:var(--c-blue-deep); text-decoration:underline; text-underline-offset:.2em; }
a:hover{ opacity:.7; }
:focus-visible{ outline:2px solid var(--c-mint-deep); outline-offset:3px; }

.wrap{ width:100%; max-width:760px; margin-inline:auto; padding-inline:var(--pad-x); }

/* ヘッダー */
.pr-label{
  background:var(--c-bg-dark); color:rgba(255,255,255,.7);
  font-size:11px; letter-spacing:.06em; text-align:center; padding:6px 12px; line-height:1.6;
}
.site-header{ border-bottom:1px solid var(--c-line); background:#fff; }
.site-header .wrap{ display:flex; align-items:center; min-height:58px; gap:12px; }
.brand{ display:flex; align-items:center; gap:10px; color:var(--c-text); font-weight:700; text-decoration:none; }
.brand__mark{ width:24px; height:24px; flex:none; background:var(--c-bg-dark); position:relative; }
.brand__mark::after{ content:""; position:absolute; inset:7px; background:var(--c-mint); }
.brand__text{ font-size:15px; letter-spacing:.06em; }

/* 本文 */
main{ padding-block:clamp(40px,7vw,72px); }
.page-title{
  font-size:clamp(22px,5vw,32px); font-weight:700; line-height:1.55;
  padding-bottom:16px; margin-bottom:12px; border-bottom:3px solid var(--c-bg-dark);
}
.page-lead{ color:var(--c-text-muted); font-size:14.5px; margin-bottom:clamp(28px,5vw,44px); }
h2{
  font-size:clamp(17px,4vw,21px); font-weight:700; line-height:1.6;
  margin:clamp(32px,5vw,48px) 0 14px; padding-left:14px;
  border-left:4px solid var(--c-mint-deep);
}
h3{ font-size:16px; font-weight:700; margin:24px 0 8px; }
p{ margin-bottom:1.2em; }
.list{ margin:0 0 1.2em; display:grid; gap:8px; }
.list li{ position:relative; padding-left:20px; font-size:15px; }
.list li::before{ content:""; position:absolute; left:2px; top:.85em; width:6px; height:6px; background:var(--c-mint-deep); }
.ordered{ counter-reset:n; display:grid; gap:10px; margin:0 0 1.2em; }
.ordered li{ counter-increment:n; position:relative; padding-left:32px; font-size:15px; }
.ordered li::before{
  content:counter(n); position:absolute; left:0; top:.45em;
  width:22px; height:22px; display:grid; place-items:center;
  background:var(--c-bg-dark); color:#fff; font-family:var(--font-en); font-size:12px;
}

/* 定義表 */
.spec{ border:1px solid var(--c-line); margin-bottom:1.4em; }
.spec__row{ display:grid; grid-template-columns:1fr; gap:2px; padding:14px 18px; border-bottom:1px solid var(--c-line); }
.spec__row:last-child{ border-bottom:0; }
.spec dt{ font-size:12.5px; font-weight:700; letter-spacing:.08em; color:var(--c-mint-deep); }
.spec dd{ margin:0; font-size:15px; }
@media (min-width:600px){
  .spec__row{ grid-template-columns:180px minmax(0,1fr); gap:16px; align-items:baseline; }
}

.note{ font-size:12px; line-height:1.9; color:var(--c-text-muted); }
.callout{
  background:var(--c-bg-tint); border-left:4px solid var(--c-mint-deep);
  padding:18px 20px; margin:0 0 1.4em; font-size:14.5px;
}
.callout p:last-child{ margin-bottom:0; }
.mail{
  display:inline-block; font-family:var(--font-en); font-size:17px; font-weight:700;
  letter-spacing:.02em; word-break:break-all;
}
.updated{ margin-top:clamp(36px,6vw,56px); font-size:12.5px; color:var(--c-text-muted); text-align:right; }

/* フッター */
.site-footer{
  background:var(--c-bg-tint); border-top:1px solid var(--c-line);
  padding-block:clamp(32px,6vw,48px); color:var(--c-text-muted); font-size:13px;
}
.fnav ul{ display:flex; flex-wrap:wrap; gap:10px 24px; justify-content:center; margin-bottom:20px; }
.fnav a{ color:var(--c-text); font-size:12.5px; text-decoration:none; }
.fnav a:hover{ text-decoration:underline; }
.disclaimer{ font-size:11.5px; line-height:2; max-width:760px; margin-inline:auto; }
.copyright{ text-align:center; font-family:var(--font-en); font-size:11px; margin-top:20px; letter-spacing:.1em; }

/* 埋め込みフォーム */
.form-embed{
  width:100%;
  border:1px solid var(--c-line);
  background:#fff;
  margin-bottom:14px;
  overflow:hidden;
}
.form-embed iframe{ display:block; width:100%; border:0; }
