/* ============================================================
   ProKarte 公式サイト（prokarte.app）の共通デザイン
   - 2026-09-11 作成。色・角丸・影は LP（50_html/public/lp/）から引き継いだもの。
   - ページごとに書き分けない。ここ1本を全ページで読み込む。
   ============================================================ */

:root{
  --ink:#26323a; --muted:#6f808b; --line:#e3e8ec;
  --accent:#2f8fbf; --accent-dark:#22698c; --accent-soft:#e8f3f9;
  --bg:#ffffff; --bg-soft:#f4f7f9; --warm:#fdf6ee;
  --radius:14px; --shadow:0 2px 14px rgba(38,50,58,.07);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,-apple-system,sans-serif;
  font-size:16px; line-height:1.9; letter-spacing:.01em;
  -webkit-text-size-adjust:100%;
}
img{max-width:100%; height:auto}
a{color:var(--accent-dark)}

.wrap{max-width:1040px; margin:0 auto; padding:0 20px}
.narrow{max-width:800px}

/* ---- ボタン ---- */
.btn{display:inline-block; padding:13px 26px; border-radius:999px; text-decoration:none;
  font-weight:700; border:1px solid transparent; transition:background .15s}
.btn-main{background:var(--accent); color:#fff}
.btn-main:hover{background:var(--accent-dark)}
.btn-sub{background:#fff; color:var(--accent-dark); border-color:var(--accent)}
.btn-sub:hover{background:var(--accent-soft)}
.btn-sm{padding:9px 18px; font-size:14px}

/* ---- ロゴ（画像ではなく文字＋CSS＝どの解像度でもくっきり） ---- */
.logo{font-size:22px; font-weight:900; letter-spacing:.01em; text-decoration:none;
  color:var(--ink); line-height:1.1; display:inline-block; -webkit-text-stroke:.4px currentColor}
.logo b{color:var(--accent); font-weight:900}
.logo small{display:block; font-size:10px; font-weight:500; color:var(--muted);
  letter-spacing:.18em; -webkit-text-stroke:0}

/* ---- ヘッダー ---- */
.site-head{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(8px); -webkit-backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex; align-items:center; gap:20px; height:66px}
.site-nav{margin-left:auto; display:flex; align-items:center; gap:22px}
.site-nav a{color:var(--ink); text-decoration:none; font-size:14px; font-weight:600}
.site-nav a:hover{color:var(--accent-dark)}
/* ⚠️ .site-nav a の指定が .btn-main より強く、ボタンの文字が黒くなっていた（2026-09-11 修正） */
.site-nav a.btn-main{color:#fff}
.site-nav a.btn-main:hover{color:#fff}
.site-nav a.btn-sub{color:var(--accent-dark)}
.site-nav a.current{color:var(--accent-dark); text-decoration:underline; text-underline-offset:5px}
@media(max-width:700px){
  .site-head .wrap{height:auto; padding-top:12px; padding-bottom:12px; flex-wrap:wrap; gap:10px}
  .site-nav{margin-left:0; width:100%; gap:16px; flex-wrap:wrap}
  .site-nav .btn{display:none}
}

/* ---- 見出し ---- */
h1,h2,h3{letter-spacing:.01em}
.page-head{background:var(--bg-soft); border-bottom:1px solid var(--line); padding:44px 0 38px}
.page-head h1{margin:0 0 8px; font-size:clamp(22px,3.4vw,30px)}
.page-head p{margin:0; color:var(--muted); font-size:15px}
section{padding:62px 0}
section.soft{background:var(--bg-soft)}
section h2{font-size:clamp(19px,2.6vw,25px); margin:0 0 10px; text-align:center}
section .lead{text-align:center; color:var(--muted); margin:0 auto 38px; max-width:640px; font-size:15px}

/* ---- カード ---- */
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:18px}
.cards-2{grid-template-columns:repeat(2,1fr)}      /* 4枚を 2×2 に */
.cards-3{grid-template-columns:repeat(3,1fr)}      /* 3枚を1行に */
@media(max-width:700px){ .cards-2,.cards-3{grid-template-columns:1fr} }
.card{background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:24px; box-shadow:var(--shadow)}
.card h3{margin:0 0 8px; font-size:17px; display:flex; align-items:center; gap:8px}
.card p{margin:0; color:var(--muted); font-size:14.5px; line-height:1.85}
.card .ico{font-size:22px; line-height:1}

/* ---- 本文（規約・ポリシー用） ---- */
.doc{padding:52px 0 70px}
.doc h2{text-align:left; font-size:19px; margin:38px 0 10px; padding-bottom:8px;
  border-bottom:2px solid var(--accent-soft)}
.doc h2:first-of-type{margin-top:0}
.doc h3{font-size:16px; margin:24px 0 6px}
.doc p,.doc li{font-size:15px; line-height:1.95}
.doc ul,.doc ol{padding-left:1.4em}
.doc li{margin:6px 0}
.doc table{width:100%; border-collapse:collapse; margin:14px 0; font-size:14.5px}
.doc th,.doc td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top}
.doc th{background:var(--bg-soft); white-space:nowrap}
.doc .updated{color:var(--muted); font-size:14px; margin-bottom:28px}

/* ---- 注意書き・下書きの印 ---- */
.note{background:var(--warm); border:1px solid #f0dfc6; border-radius:var(--radius);
  padding:16px 20px; margin:22px 0; font-size:14.5px; color:#6b4e16}
.note b{color:#5a4012}

/* ---- 行動をうながす帯 ---- */
.cta{background:var(--accent-soft); text-align:center}
.cta h2{margin-bottom:8px}
.cta p{color:var(--muted); margin:0 0 26px}
.cta .btns{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}

/* ---- フッター ---- */
.site-foot{background:var(--ink); color:#c9d5dd; padding:44px 0 34px; font-size:14px}
.site-foot .logo{color:#fff}
.site-foot .logo b{color:#7dc3e4}
.site-foot .logo small{color:#93a7b3}
.site-foot .cols{display:flex; gap:40px; flex-wrap:wrap; margin:24px 0 28px}
.site-foot .cols nav{display:flex; flex-direction:column; gap:9px}
.site-foot a{color:#c9d5dd; text-decoration:none}
.site-foot a:hover{color:#fff; text-decoration:underline}
.site-foot .copy{border-top:1px solid #3a4a55; padding-top:18px; color:#8fa2ae; font-size:13px;
  display:flex; align-items:baseline; justify-content:space-between; gap:18px; flex-wrap:wrap}
@media(max-width:520px){ .site-foot .copy{flex-direction:column; gap:10px} }


/* ============================================================
   FV（いちばん上）の背景：アプリの画面写真を重ねて、うっすら敷く
   - 文字が読めなくなっては本末転倒なので、白いグラデーションを上からかぶせる
   - 2026-09-11 追加
   ============================================================ */
.hero{position:relative; overflow:hidden; padding-top:70px; padding-bottom:70px}
.hero-bg{position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden}
.hero-bg img{
  position:absolute; border-radius:12px; box-shadow:0 20px 56px rgba(38,50,58,.26);
  border:1px solid rgba(38,50,58,.14); opacity:.92; filter:saturate(.9);
}
/* 4枚を少しずつずらして重ねる（右上・左上・左下・右下） */
.hero-bg img:nth-child(1){width:52%; top:-10%;   right:-13%; transform:rotate(-5deg)}
.hero-bg img:nth-child(2){width:44%; top:-4%;    left:-14%;  transform:rotate(4deg)}
.hero-bg img:nth-child(3){width:42%; bottom:-22%; left:-6%;  transform:rotate(-3deg)}
.hero-bg img:nth-child(4){width:38%; bottom:-20%; right:-4%; transform:rotate(3deg)}
/* 上から白をかぶせて、真ん中の文字を読みやすくする（端は薄めにして画面写真を見せる） */
.hero-veil{position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(ellipse 54% 52% at 50% 50%, rgba(255,255,255,.97) 0%, rgba(255,255,255,.93) 40%, rgba(255,255,255,.62) 72%, rgba(255,255,255,.12) 100%),
    linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.06) 30%, rgba(255,255,255,.10) 70%, rgba(255,255,255,.92) 97%, #fff 100%);
}
.hero-inner{position:relative; z-index:2}
@media(max-width:700px){
  .hero{padding-top:44px; padding-bottom:44px}
  .hero-bg img:nth-child(1){width:74%; right:-26%; top:-4%}
  .hero-bg img:nth-child(2){width:64%; left:-26%; top:auto; bottom:-8%}
  .hero-bg img:nth-child(3),.hero-bg img:nth-child(4){display:none}
  .hero-veil{background:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.86) 50%, #fff 100%)}
}

/* ---- 本文中に置く画面写真 ---- */
.shot{margin:34px auto 0; max-width:900px}
.shot img{display:block; width:100%; border-radius:12px; border:1px solid var(--line);
  box-shadow:0 10px 34px rgba(38,50,58,.13)}
.shot figcaption{margin-top:10px; text-align:center; color:var(--muted); font-size:13px}

/* ---- 「この画面のデータはダミーです」の断り ---- */
.dummy-note{margin:14px auto 0; text-align:center; color:var(--muted); font-size:12.5px}
