/* 気配 v2（2026-10 キャラクター版）。style.css の上に重ねる。
   地は白・文字は黒と灰色だけ・色がつくのはキャラクターだけ。 */
:root{
  --paper:#FFFFFF;
  --ink:#141414;
  --grey-1:#6B6B6B;
  --grey-2:#C9C9C9;
  --grey-3:#E4E4E4;
  --grey-4:#8C8C8C;
  --font-heading:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
  --tab-h:64px;
}
body{background:#fff;padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom));}
/* hidden 属性は class の display より必ず優先（見えない枠が場所を取らないように） */
[hidden]{display:none !important;}
.wrap{max-width:520px;padding:0 18px;}

/* ---- 上の帯 ---- */
.k2-top{display:flex;align-items:flex-end;justify-content:space-between;padding:16px 0 12px;border-bottom:1px solid var(--grey-3);}
.k2-logo{display:block;line-height:1;}
.k2-logo b{display:block;font-family:var(--font-heading);font-weight:600;font-size:28px;letter-spacing:.04em;}
.k2-logo span{display:block;font-family:var(--font-label);font-size:9px;letter-spacing:.42em;color:var(--ink);margin-top:5px;padding-left:2px;}
.k2-date{font-family:var(--font-heading);font-size:13px;color:var(--grey-1);white-space:nowrap;}

/* ---- 下のタブ ---- */
.k2-tabs{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-top:1px solid var(--grey-3);padding-bottom:env(safe-area-inset-bottom);}
.k2-tabs-in{max-width:520px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);height:var(--tab-h);}
.k2-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--grey-4);font-size:11px;letter-spacing:.06em;}
.k2-tab svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.k2-tab.is-active{color:var(--ink);font-weight:700;}
.k2-tab.is-active svg{stroke-width:2;}

/* ---- 共通 ---- */
.k2-h1{font-family:var(--font-heading);font-weight:600;font-size:44px;line-height:1.2;margin:26px 0 8px;letter-spacing:.02em;}
.k2-h2{font-family:var(--font-heading);font-weight:600;font-size:26px;line-height:1.35;margin:40px 0 16px;}
.k2-lead{font-size:14px;line-height:1.75;color:var(--ink);margin:0;}
.k2-sub{font-size:12px;color:var(--grey-1);}
.k2-chara{display:block;object-fit:contain;-webkit-user-drag:none;user-select:none;}
.k2-btn{display:flex;align-items:center;justify-content:center;height:54px;border-radius:999px;background:var(--ink);color:#fff;font-size:15px;font-weight:700;letter-spacing:.08em;border:1.5px solid var(--ink);cursor:pointer;width:100%;font-family:var(--font-body);}
.k2-btn.is-outline{background:#fff;color:var(--ink);}
.k2-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;}
.k2-btns.is-one{grid-template-columns:1fr;}
.k2-pill{display:inline-block;border:1.5px solid var(--ink);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:700;white-space:nowrap;}
.k2-pill.is-ink{background:var(--ink);color:#fff;}
.k2-card{border:1px solid var(--grey-3);border-radius:18px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03);}
.k2-dots{letter-spacing:.12em;font-size:12px;white-space:nowrap;}
.k2-dots i{font-style:normal;color:var(--grey-2);}
.k2-note{font-size:11px;color:var(--grey-4);text-align:center;margin:14px 0;}
.k2-foot{text-align:center;padding:30px 0 26px;color:var(--grey-4);font-size:11px;line-height:1.9;}
.k2-foot a{color:var(--grey-1);border-bottom:1px solid var(--grey-3);margin:0 6px;}

/* 出てくる動き */
@keyframes k2-pop{0%{transform:translateY(18px) scale(.86);opacity:0}70%{transform:translateY(-4px) scale(1.03);opacity:1}100%{transform:none;opacity:1}}
@keyframes k2-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.k2-pop{animation:k2-pop .55s cubic-bezier(.2,.8,.2,1) both;}
.k2-bob{animation:k2-bob 3.2s ease-in-out infinite;}
@media (prefers-reduced-motion:reduce){.k2-pop,.k2-bob{animation:none}}

/* ---- トップ：表彰台 ---- */
.k2-reveal{font-size:13.5px;line-height:1.7;color:var(--ink);margin:0 0 6px;}
.k2-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:8px;margin:26px 0 6px;}
.k2-pod{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;}
.k2-pod .k2-chara{width:128%;max-width:200px;aspect-ratio:1;margin-bottom:-20px;position:relative;z-index:2;}
.k2-pod.is-1 .k2-chara{width:142%;max-width:240px;}
.k2-pod .k2-crown{width:50px;margin-bottom:-34px;position:relative;z-index:3;transform:rotate(10deg) translateX(40px);}
.k2-step{width:100%;border-radius:14px 14px 4px 4px;background:#EDEDED;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:600;color:var(--ink);}
.k2-pod.is-1 .k2-step{background:var(--ink);color:#fff;height:130px;font-size:62px;}
.k2-pod.is-2 .k2-step{height:92px;font-size:44px;}
.k2-pod.is-3 .k2-step{height:70px;font-size:40px;}
.k2-pod b{font-family:var(--font-heading);font-weight:600;font-size:20px;margin-top:10px;}
.k2-pod.is-1 b{font-size:24px;}
.k2-topcopy{font-family:var(--font-heading);font-size:20px;line-height:1.65;text-align:center;margin:20px 0 18px;}
.k2-kv{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.k2-kv div{border:1px solid var(--grey-3);border-radius:14px;padding:10px 6px;text-align:center;min-width:0;}
.k2-kv small{display:block;font-family:var(--font-label);font-size:9.5px;letter-spacing:.18em;color:var(--grey-1);}
.k2-kv b{display:block;font-size:14px;margin-top:3px;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere;}

/* 型を選ぶ（16体） */
.k2-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;}
.k2-pick{aspect-ratio:1;border-radius:50%;border:1px solid var(--grey-3);background:#fff;padding:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.k2-pick img{width:100%;height:100%;object-fit:contain;}
.k2-pick.is-on{border:2px solid var(--ink);}
.k2-pickname{font-size:12px;color:var(--grey-1);margin:10px 0 0;text-align:center;}

/* 今日のあなた */
.k2-me{display:grid;grid-template-columns:120px 1fr;gap:6px 14px;align-items:center;padding:18px;margin-top:14px;}
.k2-me .k2-chara{width:120px;height:120px;grid-row:span 2;}
.k2-me-rank{font-family:var(--font-heading);font-weight:600;font-size:54px;line-height:1;}
.k2-me-rank small{font-size:18px;margin-left:2px;}
.k2-me-name{font-family:var(--font-heading);font-size:20px;font-weight:600;margin-left:8px;}
.k2-me p{grid-column:1/-1;margin:6px 0 0;font-size:14px;line-height:1.7;}
.k2-me .k2-btns{grid-column:1/-1;margin:10px 0 0;}

/* 殿 */
.k2-last{display:grid;grid-template-columns:132px 1fr;gap:4px 12px;align-items:center;padding:18px 18px 20px;margin-top:34px;}
.k2-last h3{grid-column:1/-1;font-family:var(--font-heading);font-weight:600;font-size:18px;margin:0 0 4px;}
.k2-last h3 small{font-size:12px;color:var(--grey-1);font-weight:400;}
.k2-last .k2-chara{width:132px;height:132px;}
.k2-last-n{font-family:var(--font-heading);font-weight:600;font-size:58px;line-height:1;color:var(--grey-1);}
.k2-last-n b{color:var(--ink);font-size:30px;margin-left:10px;}
.k2-last p{font-size:13.5px;line-height:1.7;margin:8px 0 10px;}
.k2-drop{position:absolute;width:10px;height:15px;background:#7FB2F0;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;}

/* 4〜15位 */
.k2-list{margin-top:16px;border-top:1px solid var(--grey-3);}
.k2-row{display:grid;grid-template-columns:30px 48px 1fr;gap:10px;align-items:center;padding:12px 2px;border-bottom:1px solid var(--grey-3);color:inherit;}
.k2-row-n{font-family:var(--font-heading);font-weight:600;font-size:22px;text-align:center;}
.k2-row .k2-chara{width:48px;height:48px;}
.k2-row-head{display:flex;align-items:baseline;gap:10px;}
.k2-row-head b{font-family:var(--font-heading);font-size:17px;}
.k2-row p{margin:2px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink);}
.k2-more{display:block;margin:16px auto 0;}

/* ---- 診断結果・図鑑の詳細 ---- */
.k2-res{text-align:center;padding-top:16px;}
.k2-res-kicker{font-size:12px;color:var(--grey-1);margin:6px 0 0;}
.k2-res-h{font-family:var(--font-heading);font-weight:600;font-size:34px;margin:4px 0 0;}
.k2-halo{position:relative;width:min(78vw,340px);aspect-ratio:1;margin:8px auto 0;}
.k2-halo::before{content:"";position:absolute;inset:6%;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 0 60px 18px var(--halo,#EAF4FF) inset;}
.k2-halo .k2-chara{position:absolute;inset:4%;width:92%;height:92%;}
.k2-res-name{font-family:var(--font-heading);font-weight:600;font-size:110px;line-height:1;margin:0;}
.k2-res-name.is-2{font-size:88px;}
.k2-res-read{font-size:15px;letter-spacing:.2em;margin:10px 0 2px;}
.k2-res-code{font-size:15px;font-weight:700;letter-spacing:.3em;color:var(--ink);margin:0;}
.k2-res-ess{font-family:var(--font-heading);font-weight:600;font-size:26px;line-height:1.5;margin:18px 0 12px;}
.k2-quote{display:inline-block;text-align:left;border-left:2px solid var(--grey-2);padding:2px 0 2px 14px;font-family:var(--font-heading);font-size:16px;line-height:1.7;color:var(--grey-1);margin:0 0 14px;}
.k2-tags{display:grid;grid-template-columns:96px 1fr;gap:12px 10px;align-items:start;text-align:left;margin:22px 0 8px;}
.k2-tags dt{font-size:13px;color:var(--grey-1);padding-top:7px;}
.k2-tags dd{margin:0;display:flex;flex-wrap:wrap;gap:6px;}
.k2-tag{border:1px solid var(--grey-2);border-radius:999px;padding:6px 13px;font-size:13px;line-height:1.3;}
.k2-who{text-align:left;font-size:14px;line-height:1.85;margin:18px 0 0;}
.k2-today{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center;text-align:left;padding:16px 18px;margin:22px 0 0;}
.k2-today-n{font-family:var(--font-heading);font-weight:600;font-size:48px;line-height:1;grid-row:span 2;}
.k2-today-n small{font-size:16px;}
.k2-today p{margin:0;font-size:13.5px;line-height:1.65;}
.k2-today .k2-sub{font-size:11.5px;}
.k2-best{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px;}
.k2-best a{display:grid;grid-template-columns:1fr;justify-items:center;padding:12px 6px 10px;color:inherit;}
.k2-best .k2-chara{width:72px;height:72px;}
.k2-best b{font-family:var(--font-heading);font-size:15px;margin-top:4px;}
.k2-best strong{font-family:var(--font-heading);font-weight:600;font-size:36px;line-height:1.1;}
.k2-best strong small{font-size:13px;margin-left:2px;}
.k2-table{width:100%;border-collapse:collapse;text-align:left;font-size:13.5px;margin-top:6px;}
.k2-table th{width:124px;color:var(--grey-1);font-weight:400;vertical-align:top;padding:11px 0;border-bottom:1px solid var(--grey-3);}
.k2-table td{padding:11px 0;border-bottom:1px solid var(--grey-3);line-height:1.7;}
.k2-sec-title{font-family:var(--font-heading);font-weight:600;font-size:22px;text-align:left;margin:36px 0 12px;}

/* ---- 相性 ---- */
.k2-sel{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:4px 0 0;}
.k2-sel label{position:relative;display:flex;align-items:center;gap:8px;border:1px solid var(--grey-2);border-radius:999px;padding:0 14px;height:46px;font-size:13px;color:var(--grey-1);}
.k2-sel select{appearance:none;-webkit-appearance:none;border:0;background:transparent;font-family:var(--font-heading);font-size:18px;font-weight:600;color:var(--ink);flex:1;min-width:0;padding-right:16px;cursor:pointer;}
.k2-sel label::after{content:"▾";position:absolute;right:14px;color:var(--ink);font-size:13px;pointer-events:none;}
.k2-sel > span{font-size:18px;}
.k2-duo{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:end;margin:14px 0 0;min-height:250px;}
.k2-duo .k2-chara{width:100%;max-width:210px;aspect-ratio:1;}
.k2-duo .is-a{justify-self:start;transform:scaleX(1);}
.k2-duo .is-b{justify-self:end;}
.k2-score{position:absolute;left:50%;top:0;transform:translateX(-50%);font-family:var(--font-heading);font-weight:600;font-size:92px;line-height:1;white-space:nowrap;z-index:2;text-shadow:0 0 18px #fff,0 0 6px #fff;}
.k2-score small{font-size:22px;margin-left:2px;}
.k2-band{position:absolute;left:50%;top:96px;transform:translateX(-50%);z-index:2;}
.k2-ai-title{font-family:var(--font-heading);font-weight:600;font-size:30px;line-height:1.45;text-align:center;margin:18px 0 6px;}
.k2-ai-flow{text-align:center;font-size:13px;color:var(--grey-1);margin:0 0 6px;}
.k2-axes{margin:26px 0 0;}
.k2-axes h3{font-family:var(--font-heading);font-weight:600;font-size:20px;text-align:center;margin:0 0 6px;}
.k2-axes-head,.k2-axis{display:grid;grid-template-columns:1fr 84px 1fr;align-items:center;text-align:center;}
.k2-axes-head{font-size:12px;color:var(--grey-1);padding:6px 0;}
.k2-axis{border-top:1px solid var(--grey-3);padding:11px 0;font-size:15px;}
.k2-axis:last-child{border-bottom:1px solid var(--grey-3);}
.k2-axis i{font-style:normal;font-size:12px;border:1px solid var(--grey-2);border-radius:999px;padding:4px 0;color:var(--grey-1);}
.k2-axis i.is-same{border-color:var(--ink);color:var(--ink);font-weight:700;}
.k2-ai-sec{display:grid;grid-template-columns:1fr;gap:4px;padding:16px 0;border-bottom:1px solid var(--grey-3);}
.k2-ai-sec h4{font-family:var(--font-heading);font-weight:600;font-size:18px;margin:0;}
.k2-ai-sec p{margin:0;font-size:14.5px;line-height:1.75;}
.k2-others{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.k2-others a{padding:10px 6px 10px;text-align:center;color:inherit;}
.k2-others .k2-pair{display:flex;justify-content:center;}
.k2-others .k2-chara{width:46%;aspect-ratio:1;}
.k2-others b{display:block;font-size:13px;margin-top:4px;}
.k2-others strong{font-family:var(--font-heading);font-size:20px;}

/* ---- 図鑑 ---- */
.k2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px;}
.k2-grid a{display:flex;flex-direction:column;align-items:center;padding:10px 4px 12px;color:inherit;}
.k2-grid .k2-chara{width:100%;aspect-ratio:1;}
.k2-grid b{font-family:var(--font-heading);font-size:18px;margin-top:2px;}
.k2-grid small{font-size:10px;color:var(--grey-1);letter-spacing:.1em;}
.k2-back{background:none;border:0;padding:16px 0 0;font-size:13px;color:var(--grey-1);cursor:pointer;}

@media (max-width:370px){
  .k2-h1{font-size:38px;}
  .k2-picker{grid-template-columns:repeat(8,1fr);gap:4px;}
  .k2-score{font-size:76px;}
  .k2-band{top:80px;}
  .k2-res-name{font-size:92px;}
  .k2-kv b{font-size:13px;}
}

/* 改行を整える（見出しが1字だけ次の行に落ちないように） */
.k2-ai-title,.k2-topcopy,.k2-res-ess,.k2-h1,.k2-lead{text-wrap:balance;}
.k2-ai-title{font-size:26px;}
.k2-lead,.k2-ai-title,.k2-topcopy,.k2-res-ess,.k2-ai-sec p,.k2-row p,.k2-me p{word-break:auto-phrase;}

/* ---- 場面の気配 ---- */
.k2-stepttl{display:flex;align-items:baseline;gap:10px;font-family:var(--font-heading);font-weight:600;font-size:22px;margin:34px 0 14px;}
.k2-stepttl span{font-family:var(--font-heading);font-size:14px;font-weight:600;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none;transform:translateY(-3px);}
.k2-scenes{display:grid;gap:16px;}
.k2-scene-g h3{font-size:12px;font-weight:400;color:var(--grey-1);margin:0 0 7px;letter-spacing:.06em;}
.k2-scene-g h3 b{font-family:var(--font-heading);font-size:15px;color:var(--ink);margin-right:6px;}
.k2-scene-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.k2-scene{height:52px;border:1px solid var(--grey-2);border-radius:14px;background:#fff;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;font-family:var(--font-body);padding:0 6px;}
.k2-scene.is-on{background:var(--ink);border-color:var(--ink);color:#fff;}
.k2-bres{text-align:center;padding:22px 18px 22px;margin-top:30px;scroll-margin-top:20px;}
.k2-bres .k2-chara{width:150px;height:150px;margin:0 auto;}
.k2-bres-label{font-size:13px;color:var(--grey-1);margin:6px 0 2px;}
.k2-bres-scene{font-family:var(--font-heading);font-weight:600;font-size:28px;line-height:1.35;margin:0;}
.k2-bres-stars{font-size:30px;letter-spacing:.14em;margin:10px 0 2px;color:var(--ink);}
.k2-bres-stars i{font-style:normal;color:var(--grey-2);}
.k2-bres-word{font-size:13px;font-weight:700;margin:0 0 12px;}
.k2-bres-copy{font-family:var(--font-heading);font-size:20px;line-height:1.7;margin:0 0 14px;text-wrap:balance;word-break:auto-phrase;}
.k2-bres-reveal{font-size:12px;line-height:1.7;color:var(--grey-1);margin:0;border-top:1px solid var(--grey-3);padding-top:12px;}
.k2-bres-empty{text-align:center;color:var(--grey-4);font-size:13px;border:1px dashed var(--grey-2);border-radius:18px;padding:22px 14px;margin-top:30px;}
@media (max-width:370px){.k2-tab{font-size:10px}.k2-tab svg{width:22px;height:22px}.k2-scene{font-size:12.5px;letter-spacing:-.01em}}

/* ---- あの人に送る（招待リンク） ---- */
.k2-invite{text-align:center;padding:20px 18px 18px;margin:22px 0 0;}
.k2-invite-pair{display:flex;align-items:center;justify-content:center;gap:4px;}
.k2-invite-pair .k2-chara{width:88px;height:88px;}
.k2-invite-q{width:72px;height:72px;border-radius:50%;border:1.5px dashed var(--grey-2);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:34px;font-weight:600;color:var(--grey-4);}
.k2-invite-h{font-family:var(--font-heading);font-weight:600;font-size:21px;margin:10px 0 4px;}
.k2-invite-p{font-size:12.5px;line-height:1.7;color:var(--grey-1);margin:0 0 14px;}
.k2-invite-halo{width:min(58vw,240px);margin-top:22px;}
.k2-invite-from{font-family:var(--font-heading);font-weight:600;font-size:64px;line-height:1;margin:4px 0 0;}
.k2-invite-title{font-family:var(--font-heading);font-weight:600;font-size:24px;line-height:1.5;margin:14px 0 10px;text-wrap:balance;}
.k2-gift{display:block;color:inherit;text-align:center;padding:18px 16px 18px;margin:8px 0 22px;border:1.5px solid var(--ink);border-radius:22px;}
.k2-gift-h{font-family:var(--font-heading);font-weight:600;font-size:22px;margin:0;}
.k2-gift-duo{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:end;min-height:150px;margin-top:4px;}
.k2-gift-duo .k2-chara{width:100%;max-width:150px;aspect-ratio:1;}
.k2-gift-duo > .k2-chara{justify-self:start;}
.k2-gift-duo .is-b{justify-self:end;width:100%;max-width:150px;display:block;transform:scaleX(-1);}
.k2-gift-score{position:absolute;left:50%;top:6px;transform:translateX(-50%);font-family:var(--font-heading);font-weight:600;font-size:76px;line-height:1;white-space:nowrap;text-shadow:0 0 18px #fff,0 0 6px #fff;}
.k2-gift-score small{font-size:20px;margin-left:2px;}
.k2-gift-band{margin-top:6px;}
.k2-gift-title{font-family:var(--font-heading);font-weight:600;font-size:19px;line-height:1.5;margin:12px 0 14px;text-wrap:balance;word-break:auto-phrase;}
.k2-gift-btn{height:48px;font-size:14px;}
.k2-fromnote{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;padding:12px 14px;margin-top:16px;text-align:left;}
.k2-fromnote .k2-chara{width:64px;height:64px;}
.k2-fromnote b{font-family:var(--font-heading);font-size:16px;}
.k2-fromnote p{margin:2px 0 0;font-size:12.5px;line-height:1.6;color:var(--grey-1);}
.k2-fromnote a{display:inline-block;margin-top:4px;font-size:13px;font-weight:700;border-bottom:1px solid var(--ink);}
.k2-toast{position:fixed;left:50%;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 14px);transform:translate(-50%,10px);max-width:calc(100% - 32px);background:var(--ink);color:#fff;font-size:13px;line-height:1.5;padding:10px 16px;border-radius:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:60;text-align:center;}
.k2-toast.is-on{opacity:1;transform:translate(-50%,0);}
@media (max-width:370px){.k2-gift-score{font-size:62px}.k2-invite-from{font-size:54px}.k2-invite-title{font-size:21px}}
.k2-linkbox{position:fixed;inset:0;z-index:70;background:rgba(20,20,20,.35);display:flex;align-items:flex-end;justify-content:center;padding:16px 16px calc(var(--tab-h) + env(safe-area-inset-bottom) + 16px);}
.k2-linkbox .k2-card{width:100%;max-width:480px;padding:18px;text-align:center;}
.k2-linkbox input{width:100%;height:44px;border:1px solid var(--grey-2);border-radius:12px;padding:0 12px;font-size:13px;color:var(--ink);background:#fff;margin:0 0 12px;}
.k2-linkbox .k2-btn{width:100%;height:46px;}

/* ---- スマホ最適化（2026-10-19） ---- */
/* iPhone の画面上端（ノッチ）に見出しが潜らないように */
.k2-top{padding-top:max(16px, env(safe-area-inset-top));}
/* 押したときの反応を速く・2回押しで拡大しない・押した瞬間の灰色の四角を出さない */
a,button,select,.k2-btn,.k2-tab,.k2-pick,.k2-scene,.kh-qcard{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.k2-btn:active,.k2-scene:active{transform:scale(.98);}
/* 相性の「わたし／あの人」は枠全体を押して選べるように */
.k2-sel select{position:absolute;inset:0;width:100%;height:100%;padding:0 30px 0 64px;font-size:18px;}
/* 足元のリンクは指で押せる高さに */
.k2-foot a{display:inline-block;padding:10px 4px;}
.k2-kv small{font-size:10.5px;}
/* 診断中は下のタブを隠し、設問を画面いっぱいに */
body.k2-focus{padding-bottom:env(safe-area-inset-bottom);}
body.k2-focus .k2-tabs,body.k2-focus .k2-foot{display:none;}
body.k2-focus #quiz-view .kh-flow-wrap{min-height:calc(100vh - 96px);min-height:calc(100dvh - 96px);}
body.k2-focus .kh-qback{margin-bottom:12px;}
@media (max-width:370px){.k2-sel select{padding-left:58px;font-size:17px;}.k2-sel label{padding:0 10px;}}

/* 設問の絵＝キャラの場面絵（2026-10-19）。色を落とさず、角を丸く */
.kh-qcard-frame{border-radius:18px;background:#fff;}
.kh-qcard-img{filter:none;}
@media (hover:hover){.kh-qcard:hover .kh-qcard-img{filter:none;}}
