/* matchring 予約システム 共通CSS (サイト本体のトーンに合わせた軽量版) */
:root{
  --teal:#00C1C1; --teal-d:#06939b; --teal-dd:#0c5d66;
  --pink:#FFCEF5; --pink-d:#ff9fe6;
  --ink:#16323a; --ink-soft:#516268; --line:#e7eff0;
  --bg-soft:#f3fbfb;
  --grad:linear-gradient(115deg,var(--teal),#34d4c6 48%,var(--pink));
  --grad-soft:linear-gradient(135deg,#e4fcfc,#ffe7f6);
  --serif:"Shippori Mincho",serif; --sans:"Zen Kaku Gothic New",sans-serif; --r:18px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.85;font-size:15px}
a{color:var(--teal-d);text-decoration:none}
img{max-width:100%}
.bk-wrap{width:min(1080px,92%);margin-inline:auto}

.bk-hd{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:50}
.bk-hd-in{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}
.bk-brand img{height:24px;display:block}
.bk-nav{display:flex;gap:18px;font-size:13.5px;font-weight:700}
.bk-nav a{white-space:nowrap}
.bk-nav a{color:var(--ink)}
.bk-nav a:hover{color:var(--teal-d)}
.bk-main{padding:36px 0 60px;min-height:60vh}
.bk-ft{border-top:1px solid var(--line);text-align:center;padding:22px 0;font-size:12px;color:var(--ink-soft)}

.bk-h1{font-family:var(--serif);font-weight:800;font-size:clamp(22px,3.4vw,30px);margin-bottom:8px}
.bk-lead{color:var(--ink-soft);font-size:14px;margin-bottom:26px}
.bk-h2{font-family:var(--serif);font-weight:800;font-size:19px;padding-left:12px;border-left:4px solid var(--teal);margin:30px 0 14px}

.bk-consult{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:var(--grad-soft);border-radius:var(--r);padding:26px 30px;margin:18px 0 36px}
.bk-consult h2{font-family:var(--serif);font-weight:800;font-size:clamp(21px,3.2vw,27px);margin-bottom:8px}
.bk-consult .bkc-sub{display:inline-block;font-family:var(--sans);font-size:12.5px;font-weight:700;
  color:var(--teal-dd);background:#fff;border-radius:999px;padding:4px 12px;margin-left:12px;vertical-align:middle}
.bk-consult p{font-size:13.5px;color:var(--ink-soft);line-height:1.7}
.bk-consult p b{color:var(--ink);font-size:14.5px}
.bk-btn.big{font-size:16px;padding:14px 32px;flex:none}
.bk-h2-lg{font-size:clamp(20px,3vw,25px);margin-top:38px;scroll-margin-top:74px}
.bk-advpick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.apk{display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 6px;border:1.6px solid var(--line);
  border-radius:999px;background:#fff;font-size:13px;font-weight:600;color:var(--ink);line-height:1.3}
.apk img,.apk .apk-all{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:top;flex:none}
.apk .apk-all{display:inline-flex;align-items:center;justify-content:center;background:var(--grad-soft);
  color:var(--teal-dd);font-size:10.5px;font-weight:700}
.apk:hover{border-color:var(--teal)}
.apk.on{border-color:var(--teal);background:var(--grad-soft);color:var(--teal-dd)}
.bk-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.bk-filter select{font-family:var(--sans);font-size:14px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.bk-filter button{font-family:var(--sans);font-size:14px;font-weight:700;padding:9px 20px;border:0;border-radius:999px;background:var(--grad);color:#fff;cursor:pointer}

.bk-slot{display:flex;flex-wrap:wrap;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:16px 18px;margin-bottom:12px;box-shadow:0 12px 30px -26px rgba(8,80,86,.6)}
.bk-slot-date{min-width:150px}
.bk-slot-date b{font-family:var(--serif);font-size:16px;display:block}
.bk-slot-date span{font-size:13px;color:var(--ink-soft)}
.bk-slot-body{flex:1;min-width:220px}
.bk-slot-body h3{font-size:15.5px;font-weight:700}
.bk-slot-body p{font-size:13px;color:var(--ink-soft)}
.bk-badge{display:inline-block;font-size:12px;font-weight:700;color:var(--teal-dd);background:var(--grad-soft);
  border-radius:999px;padding:2px 12px;margin-right:6px}
.bk-badge.full{color:#a44;background:#fdeaea}
.bk-btn{display:inline-block;font-weight:700;font-size:14px;color:#fff;background:var(--grad);
  border:0;border-radius:999px;padding:10px 26px;cursor:pointer;font-family:var(--sans)}
.bk-btn:hover{opacity:.9}
.bk-btn.ghost{background:#fff;color:var(--teal-dd);border:1.6px solid var(--teal)}
.bk-btn.sm{font-size:12.5px;padding:6px 16px}
.bk-btn.danger{background:#fff;color:#a44;border:1.6px solid #d99}
.bk-empty{border:1px dashed rgba(0,193,193,.4);border-radius:var(--r);background:var(--bg-soft);
  padding:38px 18px;text-align:center;color:var(--ink-soft);font-size:14px}

.bk-form{max-width:560px}
.bk-form label{display:block;font-weight:700;font-size:13.5px;margin:16px 0 6px}
.bk-form label small{font-weight:500;color:var(--pink-d);margin-left:6px}
.bk-form input,.bk-form textarea,.bk-form select{width:100%;font-family:var(--sans);font-size:15px;
  padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.bk-form textarea{min-height:110px}
.bk-form .bk-btn{margin-top:24px}
.bk-card{background:var(--bg-soft);border-radius:var(--r);padding:20px 22px;margin-bottom:20px}
.bk-card dt{font-size:12.5px;font-weight:700;color:var(--teal-dd)}
.bk-card dd{margin:0 0 10px;font-size:15px}
.bk-err{background:#fdeaea;color:#a44;border-radius:12px;padding:12px 16px;font-size:14px;margin-bottom:18px}
.bk-ok{background:#e8f8f0;color:#1b7a4b;border-radius:12px;padding:12px 16px;font-size:14px;margin-bottom:18px}
.bk-pay{background:var(--bg-soft);border:1.6px solid var(--teal);border-radius:var(--r);padding:20px 22px;margin:0 0 18px}
.bk-pay p{margin:0 0 14px;font-size:14px;line-height:1.8}

.bk-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:13.5px}
.bk-table th,.bk-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.bk-table th{background:var(--bg-soft);color:var(--teal-dd);font-size:12.5px;white-space:nowrap}
.bk-table tr:last-child td{border-bottom:0}
.bk-inline{display:inline}

.bk-login{max-width:400px;margin:40px auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:30px 28px;box-shadow:0 20px 50px -35px rgba(8,80,86,.6)}
.bk-tabs{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.bk-tabs a{font-size:13.5px;font-weight:700;padding:8px 18px;border-radius:999px;border:1px solid var(--line);color:var(--ink-soft)}
.bk-tabs a.on{background:var(--grad);color:#fff;border-color:transparent}

/* 無料相談フォーム (consult.php) */
.bk-adv{display:flex;align-items:center;gap:16px;background:var(--grad-soft);border-radius:var(--r);
  padding:16px 20px;margin-bottom:22px;max-width:560px}
.bk-adv img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:top;flex:none;
  border:2px solid #fff;box-shadow:0 6px 16px -8px rgba(8,80,86,.5)}
.bk-adv div{line-height:1.5}
.bk-adv span{display:block;font-size:11.5px;font-weight:700;color:var(--teal-dd)}
.bk-adv b{font-family:var(--serif);font-size:18px}
.bk-adv small{display:block;font-size:12.5px;color:var(--ink-soft)}
.bk-radio{display:flex;flex-wrap:wrap;gap:6px 22px;padding:4px 2px}
.bk-radio label{display:inline-flex;align-items:center;gap:6px;font-weight:500;font-size:14.5px;margin:0}
.bk-radio input{width:auto}
.bk-wish{display:flex;gap:10px}
.bk-wish input{flex:1.3}
.bk-wish select{flex:1}
.bk-agree{font-size:12.5px;color:var(--ink-soft);margin-top:20px}

@media(max-width:640px){
  .bk-nav{gap:10px;font-size:12px}
  .bk-brand img{height:20px}
  .bk-slot{flex-direction:column;align-items:flex-start}
}
