/* マモル お問い合わせページ 専用スタイル（top-styles.css の補完） */
.ct-hero{position:relative;background:var(--ink);color:#fff;border-bottom:1px solid var(--ink);padding:170px 0 70px;overflow:hidden;}
.ct-hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:0.28;filter:saturate(0.82) contrast(1.08);}
.ct-hero-grade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,12,24,0.7),rgba(8,12,24,0.92));}
.ct-hero .wrap{position:relative;z-index:2;text-align:center;}
.ct-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:"Inter",monospace;font-size:12px;letter-spacing:0.3em;font-weight:700;color:var(--blue2);margin-bottom:22px;justify-content:center;}
.ct-eyebrow .dash{width:30px;height:1px;background:var(--blue2);}
.ct-hero h1{font-family:"Noto Serif JP",serif;font-size:clamp(44px,7vw,100px);font-weight:900;line-height:1.06;margin:0;letter-spacing:-0.03em;text-wrap:balance;}
.ct-hero h1 span,.ct-hero h1 .y{white-space:nowrap;}
.ct-hero h1 .m-br{display:none;}
.ct-hero h1 .y{color:var(--blue2);font-style:italic;}
.ct-hero p{font-size:16px;line-height:1.9;color:rgba(255,255,255,0.78);max-width:620px;margin:22px auto 0;text-wrap:pretty;}

/* choice cards */
.ct-choice{background:var(--paper);padding:clamp(56px,7vw,100px) 0 0;}
.ct-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ink);}
.ct-card{padding:40px 36px;border-right:1px solid var(--ink);background:#fff;}
.ct-card:last-child{border-right:none;}
.ct-card .cc-no{font-family:"Inter",monospace;font-size:12px;color:var(--blue);letter-spacing:0.25em;font-weight:700;margin-bottom:16px;}
.ct-card .cc-t{font-family:"Noto Serif JP",serif;font-size:28px;font-weight:900;margin-bottom:12px;}
.ct-card .cc-d{font-size:14px;line-height:1.9;color:#3a3a3a;}

/* form */
.ct-form-sec{background:var(--paper);padding:clamp(48px,6vw,90px) 0 clamp(64px,8vw,120px);}
.ct-form{border:1px solid var(--ink);background:#fff;padding:clamp(28px,4vw,56px);}
.ct-form-head{margin-bottom:36px;}
.ct-form-head .fh-tag{font-family:"Inter",monospace;font-size:12px;color:var(--blue);letter-spacing:0.25em;font-weight:700;margin-bottom:14px;}
.ct-form-head .fh-t{font-family:"Noto Serif JP",serif;font-size:clamp(28px,3.4vw,44px);font-weight:900;letter-spacing:-0.02em;}
.fg{margin-bottom:24px;}
.fg label{display:block;font-size:14px;font-weight:700;margin-bottom:10px;}
.fg label .req{display:inline-block;margin-left:8px;font-family:"Inter",monospace;font-size:10px;font-weight:900;letter-spacing:0.1em;color:#fff;background:var(--blue);padding:2px 7px;vertical-align:middle;}
.fg label .opt{display:inline-block;margin-left:8px;font-family:"Inter",monospace;font-size:10px;font-weight:700;letter-spacing:0.1em;color:#888;border:1px solid #ccc;padding:2px 7px;vertical-align:middle;}
.fg input,.fg select,.fg textarea{width:100%;box-sizing:border-box;padding:14px 16px;border:1px solid #cfcdc7;background:#fafaf7;font-family:inherit;font-size:15px;color:var(--ink);transition:border-color .15s,background .15s;}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--blue);background:#fff;}
.fg textarea{resize:vertical;min-height:140px;}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.ct-purpose{display:flex;gap:0;border:1px solid #cfcdc7;overflow:hidden;}
.ct-purpose label{flex:1;margin:0;text-align:center;padding:14px;cursor:pointer;font-weight:700;font-size:14px;background:#fafaf7;border-right:1px solid #cfcdc7;transition:background .15s,color .15s;}
.ct-purpose label:last-child{border-right:none;}
.ct-purpose input{position:absolute;opacity:0;pointer-events:none;}
.ct-purpose input:checked + label,.ct-purpose label:has(input:checked){background:var(--blue);color:#fff;}
.ct-privacy{display:flex;align-items:flex-start;gap:12px;margin:28px 0;font-size:13px;line-height:1.7;color:#3a3a3a;}
.ct-privacy input{margin-top:3px;flex:0 0 auto;width:18px;height:18px;accent-color:var(--blue);}
.ct-submit{display:inline-flex;align-items:center;gap:18px;background:var(--ink);color:#fff;border:none;padding:20px 40px;font-size:16px;font-weight:900;letter-spacing:0.1em;cursor:pointer;transition:transform .15s,background .15s;font-family:inherit;}
.ct-submit:hover{transform:translateY(-3px);background:var(--blue);}
.ct-submit .ar{color:var(--blue2);font-size:20px;}
.ct-submit:hover .ar{color:#fff;}
.ct-note{font-size:12px;color:#888;margin-top:18px;line-height:1.7;}

@media (max-width:760px){
  .ct-hero{padding:130px 0 56px;}
  .ct-hero h1{font-size:clamp(38px,11vw,52px);line-height:1.2;letter-spacing:-0.02em;}
  .ct-hero p{font-size:15px;}
  .ct-hero h1 .m-br{display:inline;}
  .ct-choice-grid{grid-template-columns:1fr;}
  .ct-card{border-right:none;border-bottom:1px solid var(--ink);}
  .fg-row{grid-template-columns:1fr;gap:0;}
  .ct-purpose{flex-direction:column;}
  .ct-purpose label{border-right:none;border-bottom:1px solid #cfcdc7;}
}

/* ===== CHATBOT ===== */
#mmbot{position:fixed;right:24px;bottom:96px;z-index:300;font-family:"Noto Sans JP",sans-serif;}
#mmbot-toggle{position:relative;width:64px;height:64px;border-radius:50%;border:none;background:var(--blue);color:#fff;font-size:26px;cursor:pointer;box-shadow:0 10px 30px rgba(37,99,235,0.45);transition:transform .2s,background .15s;display:grid;place-items:center;}
#mmbot-toggle:hover{transform:scale(1.06);}
#mmbot-toggle .mmbot-ic-close{display:none;}
#mmbot.open #mmbot-toggle{background:var(--ink);}
#mmbot.open #mmbot-toggle .mmbot-ic-chat{display:none;}
#mmbot.open #mmbot-toggle .mmbot-ic-close{display:block;font-size:22px;}
.mmbot-badge{position:absolute;top:-2px;right:-2px;width:22px;height:22px;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:12px;font-weight:900;display:grid;place-items:center;border:2px solid var(--paper);}
#mmbot.open .mmbot-badge{display:none;}
#mmbot-panel{position:absolute;right:0;bottom:80px;width:360px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--ink);box-shadow:0 20px 60px rgba(0,0,0,0.3);opacity:0;visibility:hidden;transform:translateY(16px) scale(0.98);transform-origin:bottom right;transition:opacity .22s,transform .22s,visibility .22s;overflow:hidden;}
#mmbot.open #mmbot-panel{opacity:1;visibility:visible;transform:none;}
.mmbot-head{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--ink);color:#fff;}
.mmbot-av{width:40px;height:40px;border-radius:50%;background:var(--blue);display:grid;place-items:center;font-family:"Archivo Black",sans-serif;font-size:20px;}
.mmbot-name{font-size:15px;font-weight:900;}
.mmbot-status{font-family:"Inter",monospace;font-size:11px;color:#7fe0a0;display:flex;align-items:center;gap:6px;margin-top:3px;}
.mmbot-status .dot{width:7px;height:7px;border-radius:50%;background:#3ad07a;box-shadow:0 0 8px #3ad07a;}
.mmbot-body{padding:18px;max-height:300px;overflow-y:auto;background:#f5f5f2;display:flex;flex-direction:column;gap:10px;}
.mmbot-msg{max-width:84%;padding:11px 14px;font-size:13.5px;line-height:1.65;border-radius:14px;}
.mmbot-msg.bot{align-self:flex-start;background:#fff;border:1px solid #e2e0db;border-bottom-left-radius:4px;color:#1a1a1a;}
.mmbot-msg.user{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:4px;}
.mmbot-msg.typing{color:#999;letter-spacing:2px;}
.mmbot-quick{padding:14px;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #e2e0db;background:#fff;max-height:170px;overflow-y:auto;}
.mmbot-qbtn{font-family:inherit;font-size:12.5px;font-weight:700;color:var(--blue);background:#fff;border:1px solid var(--blue);border-radius:999px;padding:8px 14px;cursor:pointer;transition:background .15s,color .15s;}
.mmbot-qbtn:hover{background:var(--blue);color:#fff;}
@media (max-width:760px){
  #mmbot{right:16px;bottom:88px;}
  #mmbot-toggle{width:56px;height:56px;font-size:22px;}
  #mmbot-panel{bottom:70px;}
}

@media (orientation:landscape) and (max-height:520px){
  #mmbot{right:16px;bottom:16px;}
  #mmbot-toggle{width:48px;height:48px;font-size:20px;}
  #mmbot-panel{bottom:58px;width:320px;max-height:calc(100vh - 84px);display:flex;flex-direction:column;overflow:hidden;}
  .mmbot-head{padding:10px 14px;}
  .mmbot-av{width:32px;height:32px;font-size:16px;}
  .mmbot-body{max-height:none;flex:1 1 auto;padding:12px;}
  .mmbot-quick{max-height:120px;padding:10px;}
}
