@charset "utf-8";
/* ============================================================
   マイお見積り ログインページ
   和 /ship/ /disclaimer/ /warranty/ 视觉一致
   ============================================================ */

.ql-root{
  --ql-navy:#043A5E;--ql-primary:#0679D4;--ql-hover:#0560AA;
  --ql-ink:#1a2332;--ql-ink-2:#3c4656;--ql-mute:#64748b;
  --ql-line:#d6dde5;--ql-line-2:#e8edf3;--ql-bg:#f4f6fa;
}
.ql-root *{box-sizing:border-box;}

/* Breadcrumb */
.ql-bc{font-size:12px;padding:10px 0;background:var(--ql-bg);color:var(--ql-mute);border-bottom:1px solid var(--ql-line-2);}
.ql-bc a{color:var(--ql-mute);text-decoration:none;}
.ql-bc a:hover{color:var(--ql-primary);}
.ql-bc span{color:var(--ql-ink);font-weight:700;}

.quote-login-page{padding:40px 16px 70px;box-sizing:border-box;background:#fff;}
.quote-login-shell{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:1fr 340px;gap:24px;}
@media (max-width:860px){.quote-login-shell{grid-template-columns:1fr;}}

.ql-card{background:#fff;border:1px solid var(--ql-line);border-radius:4px;padding:28px 26px;}
@media (max-width:560px){.ql-card{padding:22px 18px;}}

.ql-title{margin:0 0 8px;font-size:22px;font-weight:700;color:var(--ql-navy);line-height:1.45;
  padding-bottom:14px;border-bottom:2px solid var(--ql-primary);display:inline-block;}
.ql-sub{margin:14px 0 18px;color:var(--ql-ink-2);font-size:14px;line-height:1.85;}
.ql-note{margin:0 0 20px;padding:14px 18px;background:#fbfcfd;border-left:3px solid var(--ql-primary);
  color:var(--ql-ink-2);font-size:13px;line-height:1.85;border-radius:0 3px 3px 0;}
.ql-note b{color:var(--ql-navy);}

.ql-field{margin:16px 0;}
.ql-label{display:block;font-weight:700;font-size:13px;margin:0 0 8px;color:var(--ql-navy);}
.ql-input{width:100%;height:44px;padding:0 14px;border-radius:3px;border:1px solid var(--ql-line);
  background:#fff;box-sizing:border-box;outline:none;font-size:14px;transition:border-color .15s,box-shadow .15s;}
.ql-input:focus{border-color:var(--ql-primary);box-shadow:0 0 0 3px rgba(6,121,212,.12);}

.ql-code-row{display:flex;gap:10px;align-items:center;}
.ql-code-row .ql-input{flex:1;}
@media (max-width:420px){.ql-code-row{flex-direction:column;align-items:stretch;}}

.ql-btn{height:44px;padding:0 18px;border-radius:3px;border:1px solid var(--ql-line);background:#fff;
  cursor:pointer;font-weight:700;font-size:13px;white-space:nowrap;color:var(--ql-navy);transition:.15s;}
.ql-btn:hover{border-color:var(--ql-primary);color:var(--ql-primary);}
.ql-btn:disabled{opacity:.55;cursor:not-allowed;}
.ql-btn-primary{border-color:var(--ql-primary);background:var(--ql-primary);color:#fff;}
.ql-btn-primary:hover{background:var(--ql-hover);border-color:var(--ql-hover);color:#fff;}

.ql-actions{margin-top:20px;display:flex;gap:10px;align-items:center;}
.ql-actions .ql-btn{min-width:200px;}
@media (max-width:420px){.ql-actions{flex-direction:column;align-items:stretch;}.ql-actions .ql-btn{width:100%;}}

.ql-help{margin-top:8px;color:var(--ql-mute);font-size:12px;line-height:1.7;}
.ql-msg{margin-top:14px;padding:10px 14px;border-radius:3px;font-size:13px;line-height:1.7;display:none;}
.ql-msg.is-err{display:block;background:#fdf0f0;border-left:3px solid #c24242;color:#8a2828;}
.ql-msg.is-ok{display:block;background:#f0f9f3;border-left:3px solid #17994a;color:#0f5a2e;}
.ql-msg.is-info{display:block;background:#eff6fc;border-left:3px solid var(--ql-primary);color:var(--ql-navy);}

.ql-links{margin-top:20px;padding-top:16px;border-top:1px solid var(--ql-line-2);
  display:flex;gap:16px;flex-wrap:wrap;font-size:13px;}
.ql-links a{color:var(--ql-primary);text-decoration:none;}
.ql-links a:hover{text-decoration:underline;}

/* Sidebar */
.ql-side .ql-card{padding:20px 22px;}
.ql-side h2{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--ql-navy);
  padding-bottom:8px;border-bottom:1px solid var(--ql-line);}
.ql-side ol,.ql-side ul{margin:0;padding-left:20px;color:var(--ql-ink-2);font-size:13px;line-height:1.95;}
.ql-side ol li,.ql-side ul li{margin-bottom:4px;}
.ql-side a{color:var(--ql-primary);text-decoration:none;}
.ql-side a:hover{text-decoration:underline;}
