/* OEM商品診断 /oem-check/ — モバイルファースト */
.oc-hero{max-width:760px;margin:0 auto;padding:calc(60px + 1.2rem) 1rem .4rem;text-align:center;}
.oc-eyebrow{font-family:var(--font-display,sans-serif);font-size:.72rem;letter-spacing:.18em;color:#C8102E;font-weight:700;}
.oc-hero h1{font-size:clamp(1.4rem,4.5vw,2.1rem);font-weight:700;line-height:1.4;margin:.4rem 0 .6rem;}
.oc-lead{color:var(--c-text-sub,#6b6b6b);font-size:.93rem;line-height:1.9;max-width:560px;margin:0 auto;}
.oc-app{max-width:920px;margin:1.2rem auto 2rem;padding:0 1rem;min-height:320px;}
.oc-note{max-width:760px;margin:0 auto 3rem;padding:0 1rem;color:var(--c-text-sub,#8a8a8a);font-size:.78rem;line-height:1.8;text-align:center;}
.oc-error{text-align:center;padding:2rem 0;}

/* 質問ステップ */
.oc-step{max-width:640px;margin:0 auto;}
.oc-progress{font-size:.8rem;color:var(--c-text-sub,#8a8a8a);letter-spacing:.1em;}
.oc-step h2{font-size:1.25rem;font-weight:700;margin:.4rem 0 1rem;}
.oc-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:520px){.oc-opts{grid-template-columns:1fr;}}
.oc-opt{display:flex;flex-direction:column;gap:2px;text-align:left;padding:.85rem 1rem;background:var(--c-surface,#fff);border:1.5px solid var(--c-border,#e4e2dd);border-radius:12px;cursor:pointer;font:inherit;transition:border-color .12s,transform .12s;}
.oc-opt:hover{border-color:#C8102E;transform:translateY(-1px);}
.oc-opt.is-sel{border-color:#C8102E;background:#FDF2F4;}
.oc-opt-l{font-weight:700;font-size:.95rem;}
.oc-opt-s{font-size:.78rem;color:var(--c-text-sub,#8a8a8a);}
.oc-input{grid-column:1/-1;margin-top:.4rem;padding:.9rem 1rem;background:var(--c-surface-2,#f6f5f2);border-radius:12px;}
.oc-input label{display:block;font-size:.8rem;color:var(--c-text-sub,#6b6b6b);margin-bottom:.4rem;}
.oc-input>div{display:flex;gap:8px;}
.oc-input input{flex:1;padding:.6rem .8rem;border:1px solid var(--c-border,#ddd);border-radius:8px;font:inherit;}
.oc-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.1rem;gap:10px;}
.oc-back{background:none;border:none;color:var(--c-text-sub,#6b6b6b);cursor:pointer;font:inherit;font-size:.88rem;padding:.4rem;}
.oc-btn{padding:.65rem 1.2rem;border:1.5px solid #1A1E2E;background:#fff;color:#1A1E2E;border-radius:10px;font:inherit;font-weight:700;cursor:pointer;}
.oc-btn-main{background:#1A1E2E;color:#fff;margin-left:auto;}
.oc-btn:hover{opacity:.88;}
.oc-link{background:none;border:none;color:#C8102E;text-decoration:underline;cursor:pointer;font:inherit;font-size:.85rem;padding:0;}

/* 結果 */
.oc-cond{margin-bottom:1.2rem;}
.oc-cond h2{font-size:1.35rem;font-weight:700;}
.oc-cond p{font-size:.85rem;color:var(--c-text-sub,#6b6b6b);line-height:1.9;}
.oc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:760px){.oc-cards{grid-template-columns:1fr;}}
.oc-card{position:relative;display:flex;flex-direction:column;gap:.45rem;background:var(--c-surface,#fff);border:1px solid var(--c-border,#e4e2dd);border-radius:14px;padding:1rem;}
.oc-badge{position:absolute;top:-10px;left:12px;font-size:.72rem;font-weight:700;color:#fff;background:#1A1E2E;padding:.15rem .6rem;border-radius:99px;}
.oc-badge-best{background:#C8102E;}
.oc-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;background:#f4f4f4;}
.oc-card h3{font-size:1rem;font-weight:700;line-height:1.5;}
.oc-price{font-size:1.15rem;font-weight:700;}
.oc-price small{font-size:.72rem;font-weight:400;color:var(--c-text-sub,#8a8a8a);}
.oc-agency-line{font-size:.85rem;background:#FDF2F4;border-radius:8px;padding:.45rem .6rem;}
.oc-reason{font-size:.85rem;line-height:1.8;}
.oc-meta{font-size:.75rem;color:var(--c-text-sub,#8a8a8a);}
.oc-tags{display:flex;gap:6px;flex-wrap:wrap;}
.oc-tags span{font-size:.7rem;border:1px solid var(--c-border,#e4e2dd);border-radius:99px;padding:.1rem .55rem;color:var(--c-text-sub,#6b6b6b);}
.oc-quote{margin-top:auto;}
.oc-links{font-size:.8rem;}
.oc-fallback{background:#FDF2F4;border-radius:14px;padding:1.4rem;text-align:center;line-height:2;}

/* 代理店モード */
.oc-agencybox{margin:1.6rem 0;text-align:center;}
.oc-agencypanel{max-width:520px;margin:.8rem auto 0;background:var(--c-surface-2,#f6f5f2);border-radius:14px;padding:1rem 1.2rem;text-align:left;}
.oc-agencypanel label{font-weight:700;font-size:.9rem;}
.oc-agencypanel input[type=range]{width:100%;margin:.5rem 0;}
.oc-agencynote{font-size:.78rem;color:var(--c-text-sub,#6b6b6b);line-height:1.8;}

/* フォーム */
.oc-form{max-width:560px;margin:2rem auto 0;background:var(--c-surface,#fff);border:1px solid var(--c-border,#e4e2dd);border-radius:14px;padding:1.4rem;}
.oc-form h3{font-size:1.1rem;font-weight:700;margin-bottom:.3rem;}
.oc-form-note{font-size:.8rem;color:var(--c-text-sub,#8a8a8a);margin-bottom:1rem;}
.oc-form label{display:block;font-size:.85rem;font-weight:600;margin:.7rem 0;}
.oc-form input,.oc-form textarea{width:100%;margin-top:.3rem;padding:.6rem .8rem;border:1px solid var(--c-border,#ddd);border-radius:8px;font:inherit;}
.oc-hp{position:absolute;left:-9999px;height:1px;width:1px;opacity:0;}
.oc-consent{font-size:.75rem;color:var(--c-text-sub,#8a8a8a);margin:.6rem 0;}
.oc-form-msg{font-size:.85rem;font-weight:700;color:#C8102E;margin-top:.6rem;}

/* 印刷=商談持ち込み用 */
@media print{
  .oc-hero,.oc-note,.oc-agencybox,.oc-form,.oc-quote,.oc-nav,#oc-redo{display:none!important;}
  .oc-cards{grid-template-columns:repeat(3,1fr);}
}

/* v2: カード選択→スライドDL */
.oc-howto{margin-top:.4rem;font-size:.88rem;background:#FDF2F4;border-radius:10px;padding:.6rem .9rem;line-height:1.8;}
.oc-selbtn{margin-top:auto;border-style:dashed;}
.oc-selbtn.is-on{background:#1A1E2E;color:#fff;border-style:solid;}
.oc-pool{margin-top:2rem;}
.oc-pool h3{font-size:1.05rem;font-weight:700;margin-bottom:.6rem;}
.oc-pool-group h4{font-size:.82rem;color:var(--c-text-sub,#6b6b6b);margin:.9rem 0 .5rem;}
.oc-minis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;}
.oc-mini{position:relative;display:flex;flex-direction:column;gap:4px;align-items:stretch;text-align:left;padding:.5rem;background:var(--c-surface,#fff);border:1.5px solid var(--c-border,#e4e2dd);border-radius:10px;cursor:pointer;font:inherit;}
.oc-mini img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:7px;background:#f4f4f4;}
.oc-mini-n{font-size:.72rem;font-weight:700;line-height:1.4;}
.oc-mini-p{font-size:.7rem;color:var(--c-text-sub,#8a8a8a);}
.oc-mini-c{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--c-border,#ccc);background:#fff;}
.oc-mini.is-on{border-color:#C8102E;background:#FDF2F4;}
.oc-mini.is-on .oc-mini-c{background:#C8102E;border-color:#C8102E;}
.oc-mini.is-on .oc-mini-c::after{content:"✓";color:#fff;font-size:.7rem;display:flex;align-items:center;justify-content:center;height:100%;}
.oc-bar{position:sticky;bottom:12px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:640px;margin:1.6rem auto 0;background:#1A1E2E;color:#fff;border-radius:99px;padding:.55rem .6rem .55rem 1.3rem;box-shadow:0 8px 24px rgba(0,0,0,.25);}
.oc-bar .oc-btn-main{background:#C8102E;border-color:#C8102E;border-radius:99px;margin:0;}

/* 予算超過の正直表示 */
.oc-budgetnote{background:#FFF7E6;border:1px solid #F0D9A8;border-radius:12px;padding:.8rem 1rem;font-size:.85rem;line-height:1.8;margin-bottom:1rem;}
.oc-overbudget{font-size:.75rem;font-weight:700;color:#B87700;background:#FFF7E6;border-radius:6px;padding:.25rem .5rem;}
