/* デジタルカルテ（タブレット）。app.css の上に足す。EC テーマと同じ角（2〜4px）・書体・色。 */
.krow{display:flex;gap:10px;align-items:stretch}
.krow .field{margin-bottom:0}
.krow .btn.sm{width:auto;padding:0 22px;margin:0;flex:0 0 auto;white-space:nowrap}
/* 電話番号は左から打つ（店頭アプリの金額欄は右寄せだが、番号は左寄せのほうが読みやすい） */
.krow .field.big{text-align:left}
.kmember{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;margin-top:12px;background:var(--paper)}
.kmember b{font-family:var(--font-display);font-size:17px}
.kmember .btn{margin-top:6px}
.kmember--pos{background:var(--blue-pale);border-color:var(--blue)}
.kgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 14px}
.kf label{margin-bottom:4px}
.kf--wide{grid-column:1/-1}
.kconsent{background:var(--tint);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;margin:10px 0 14px;font-size:var(--t-sm)}
.kconsent h3{margin:0 0 6px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.kconsent p{margin:0 0 10px;line-height:1.6}
.kconsent .btn{margin-top:4px}
.check{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink);font-weight:400;margin:6px 0 10px;text-transform:none;letter-spacing:0;font-family:var(--font-body)}
.check input{width:22px;height:22px;flex:none;accent-color:var(--blue-deep)}
.field.sm{padding:9px 12px;font-size:15px;margin-bottom:6px;min-height:40px}
.field.big{font-size:24px;font-weight:700;letter-spacing:.04em}
.kchips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.kchip{border:1px solid var(--line);background:var(--paper);border-radius:var(--r-sm);padding:9px 14px;font-size:15px;color:var(--ink);min-height:42px;font-family:var(--font-body)}
/* 選んだ項目は黒ではなく青に白字 */
.kchip[aria-pressed="true"]{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff;font-weight:700}
.ksec{border-top:1px solid var(--line);padding:12px 0 4px;margin-top:8px}
.ksec__h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ksec__h h3{margin:0;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.ksec__t.btn{width:auto;min-height:34px;padding:6px 14px;margin:0;font-size:12px}
.ksec__b{padding-top:8px}
.ksec__b h4{margin:12px 0 4px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.kmulti{display:flex;flex-direction:column;gap:6px}
.kopt{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:1px solid transparent;border-radius:var(--r);padding:4px}
.kopt--on{background:var(--blue-pale);border-color:var(--blue)}
.kopt .field.sm{flex:1;min-width:160px;margin:0}
.ksubs{display:flex;flex-wrap:wrap;gap:6px}
.ksubs .kchip{padding:5px 10px;font-size:13px;min-height:32px}
.kstar{width:44px !important;min-height:42px !important;padding:0 !important;margin:0 !important;border-radius:var(--r-sm);background:var(--paper) !important;color:var(--line) !important;border:1px solid var(--line) !important;font-size:18px;letter-spacing:0 !important}
.kstar[aria-pressed="true"]{color:#fff !important;background:var(--terra-deep) !important;border-color:var(--terra-deep) !important}
.kq3{border:1px solid transparent;border-radius:var(--r);padding:6px 8px;margin-bottom:4px}
.kq3 .check{margin:0}
.kq3__d{padding:4px 0 6px 32px}
.kq3__d .hint{margin:6px 0 2px;font-size:13px}
.khab{display:grid;grid-template-columns:110px 1fr 1fr;gap:6px 10px;align-items:center}
.khab b{font-size:13px;color:var(--muted);font-family:var(--font-display);letter-spacing:.06em}
.khab .field.sm{margin:0}
.kpast{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer;white-space:pre-line}
.kpast b{font-family:var(--font-display);font-size:15px}
/* 顔の絵：イラスト（男性／女性）の上に、押せる部位。ます目は絵の 1254 単位なので線や文字も大きめの値 */
.kface{width:min(380px,92vw);height:auto;display:block;margin:6px auto 4px;touch-action:manipulation;user-select:none;-webkit-user-select:none;background:#fff;border-radius:12px}
.kface__img{pointer-events:none}
.kface__z{cursor:pointer;outline:none}
.kface__a{fill:#fff;fill-opacity:.02;stroke:#B9897A;stroke-width:4;stroke-dasharray:10 8;stroke-linejoin:round}
.kface__t{font-family:var(--font-body);font-size:30px;fill:#7A5A4E;pointer-events:none;letter-spacing:.02em;paint-order:stroke;stroke:#fff;stroke-width:8px;stroke-linejoin:round}
.kface__z:hover .kface__a,.kface__z:focus-visible .kface__a{fill:var(--blush);fill-opacity:.55}
.kface__z.on .kface__a{fill:var(--terra);fill-opacity:.7;stroke:var(--terra-deep);stroke-dasharray:none;stroke-width:5}
.kface__z.on .kface__t{fill:#fff;font-weight:700;stroke:var(--terra-deep);stroke-width:7px}
@media (max-width:640px){ .khab{grid-template-columns:80px 1fr 1fr} .kgrid{grid-template-columns:1fr 1fr} }
@media (min-width:700px){ .kmulti{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px} .kchips .kchip{font-size:14px} }

/* ── お客様に渡すウィザード：全画面・大きな文字・1画面1問 ── */
.kwiz{position:fixed;inset:0;z-index:50;background:var(--paper);display:flex;flex-direction:column;overflow:hidden}
.kwiz__hd{display:flex;align-items:center;justify-content:space-between;padding:0 20px;min-height:64px;background:var(--paper);border-bottom:1px solid var(--line)}
.kwiz__brand{font-family:var(--font-display);font-weight:700;letter-spacing:.22em;font-size:17px;color:var(--ink)}
.kwiz__lang button{color:var(--ink-2)}
.kwiz__prog{height:3px;background:var(--line)}
.kwiz__prog i{display:block;height:100%;background:var(--terra);transition:width .25s}
.kwiz__body{flex:1;overflow-y:auto;padding:28px 20px 30px;max-width:760px;width:100%;margin:0 auto}
.kwiz__center{display:flex;flex-direction:column;justify-content:center;align-items:stretch;max-width:420px}
.kwiz__t{margin:6px 0 8px;font-size:var(--t-xl);line-height:1.15;font-weight:700;color:var(--ink)}
.kwiz__s{margin:0 0 18px;font-size:var(--t-base);color:var(--ink-2);line-height:1.6}
.kwiz__done{text-align:center;margin-top:70px}
.kwiz__done + .kwiz__s{text-align:center;font-size:var(--t-md)}
.kwiz .kchip{font-size:17px;min-height:52px;padding:11px 20px}
.kwiz .kmulti .kchip{font-size:16px}
.kwiz .kface{width:auto;height:min(56vh,520px);max-width:92vw}
.kwiz .check{font-size:17px}
.kwiz .kq3{padding:10px 8px}
.kconsent--big{font-size:16px;padding:18px 20px}
.kconsent--big p{line-height:1.65}
.kwiz__foot{display:flex;gap:12px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);max-width:760px;width:100%;margin:0 auto}
.kwiz__foot .btn{margin:0;flex:1 1 auto;width:auto;font-size:var(--t-sm);min-height:56px}
.kwiz__foot .btn.ghost{flex:0 0 auto;width:auto;min-width:150px}
.kwiz__areas{text-align:center;font-weight:700;color:var(--terra-deep);font-family:var(--font-display)}
.kdone{background:#EDF5F1;border:1px solid #C3DCD0;color:var(--ok);border-radius:var(--r);padding:10px 14px;font-weight:700;margin:6px 0 10px;font-size:var(--t-sm)}

/* 画面の頭：戻る＋見出しを 1 行に */
.khead{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px}
.khead .btn.kback{margin:0;flex:none;min-height:38px;padding:6px 14px}
.khead__t{flex:1;min-width:0;padding-top:4px}
.khead__t h2{margin:0;line-height:1.25;word-break:break-word}
.khead__t .hint{margin:2px 0 0}
.kwho{margin:18px 0 8px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.kexists{margin:14px 0 4px;color:var(--terra-deep);font-size:var(--t-md)}
/* お客様用ウィザード：残りの質問 */
.kwiz__steps{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 20px 0;max-width:760px;width:100%;margin:0 auto;box-sizing:border-box}
.kws{font-size:12.5px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);background:var(--paper);white-space:nowrap}
.kws--done{color:var(--muted);border-color:transparent;background:var(--tint)}
.kws--now{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff;font-weight:700}
.kws--left{margin-left:auto;border:0;background:transparent;color:var(--terra-deep);font-weight:700;font-family:var(--font-display)}
