/* ============================================================
   株式会社東正路建設 お問い合わせページ専用CSS
   ============================================================ */
  :root{
    --cp-ink:#1c1c1c;
    --cp-paper:#f6f4ee;
    --cp-line:#e1dccd;
    --cp-red:#5b2a7a;
    --cp-red-dark:#431f5c;
    --cp-gold:#b8933f;
  }
  .cp-page{background:var(--cp-paper);color:var(--cp-ink);}
  .cp-page h1,.cp-page h2,.cp-page h3,.cp-page .mincho{
    font-family:"Shippori Mincho", serif;letter-spacing:.04em;
  }
  .cp-wrap{max-width:1120px;margin:0 auto;padding:0 28px;}

  /* Hero */
  .cp-hero{
    position:relative;
    background:linear-gradient(160deg, var(--cp-red-dark), var(--cp-red) 60%, #2c1440);
    padding:80px 0 64px;overflow:hidden;
  }
  .cp-hero::after{
    content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;
    border:1px solid rgba(255,255,255,.18);border-radius:50%;
  }
  .cp-hero-inner{position:relative;color:#fff;}
  .cp-hero .kicker{
    font-size:12.5px;letter-spacing:.34em;color:#e9d9a8;margin-bottom:16px;font-weight:600;
    display:flex;align-items:center;gap:12px;
  }
  .cp-hero .kicker::before{content:"";width:34px;height:1px;background:#e9d9a8;display:inline-block;}
  .cp-hero h1{font-size:clamp(30px,4.4vw,44px);margin:0 0 14px;font-weight:600;}
  .cp-hero p{max-width:42em;color:#eee6f2;font-size:14.5px;margin:0;line-height:1.9;}

  /* Layout */
  .cp-main{padding:64px 0 100px;}
  .cp-grid{display:grid;grid-template-columns:1fr 320px;gap:44px;align-items:start;}
  @media (max-width:860px){.cp-grid{grid-template-columns:1fr;}}

  /* Form card */
  .cp-form-card{background:#fff;border:1px solid var(--cp-line);padding:40px;}
  @media (max-width:520px){.cp-form-card{padding:26px 20px;}}
  .cp-form-card h2{font-size:20px;margin:0 0 8px;}
  .cp-form-note{font-size:13px;color:#777;margin:0 0 30px;}

  .cp-field{margin-bottom:24px;}
  .cp-field label{display:block;font-size:13.5px;font-weight:700;color:#333;margin-bottom:8px;}
  .cp-field label .req{
    color:#fff;background:var(--cp-red);font-size:10.5px;font-weight:700;
    padding:2px 7px;margin-left:8px;letter-spacing:.05em;vertical-align:middle;
  }
  .cp-field label .opt{
    color:#888;font-size:10.5px;font-weight:600;border:1px solid var(--cp-line);
    padding:2px 7px;margin-left:8px;letter-spacing:.05em;vertical-align:middle;
  }
  .cp-field input[type="text"],
  .cp-field input[type="email"],
  .cp-field input[type="tel"],
  .cp-field select,
  .cp-field textarea{
    width:100%;border:1px solid var(--cp-line);background:var(--cp-paper);
    padding:12px 14px;font-size:14.5px;font-family:inherit;color:var(--cp-ink);
  }
  .cp-field textarea{min-height:150px;resize:vertical;line-height:1.8;}
  .cp-field input:focus,.cp-field select:focus,.cp-field textarea:focus{
    outline:none;border-color:var(--cp-red);background:#fff;
  }
  .cp-row2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  @media (max-width:520px){.cp-row2{grid-template-columns:1fr;}}

  .cp-agree{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:#555;margin-bottom:26px;}
  .cp-agree input{margin-top:3px;}

  .cp-submit{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--cp-red);color:#fff;font-weight:700;font-size:15px;
    padding:15px 40px;border:none;cursor:pointer;letter-spacing:.05em;
  }
  .cp-submit:hover{background:var(--cp-red-dark);}

  .cp-hide{position:absolute;left:-9999px;top:-9999px;}

  /* Side */
  .cp-side{display:flex;flex-direction:column;gap:20px;}
  .cp-side-card{background:var(--cp-red-dark);color:#fff;padding:30px 26px;}
  .cp-side-card .kicker{font-size:11.5px;letter-spacing:.2em;color:#e9d9a8;margin-bottom:14px;}
  .cp-side-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;}
  .cp-side-list li{display:flex;align-items:flex-start;gap:12px;font-size:13.5px;}
  .cp-side-list .icon{
    width:32px;height:32px;flex:none;border:1px solid rgba(255,255,255,.35);
    display:flex;align-items:center;justify-content:center;font-size:14px;
  }
  .cp-side-list a{color:#fff;}
  .cp-side-list a:hover{text-decoration:underline;}
  .cp-side-note{background:#fff;border:1px solid var(--cp-line);padding:24px;font-size:12.5px;color:#666;line-height:1.9;}
  .cp-side-note b{color:var(--cp-ink);display:block;margin-bottom:6px;font-size:13px;}

  /* Thanks */
  .cp-thanks{
    max-width:600px;margin:0 auto;background:#fff;border:1px solid var(--cp-line);
    padding:64px 40px;text-align:center;
  }
  .cp-thanks .mark{
    width:64px;height:64px;border-radius:50%;background:var(--cp-red);color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 22px;
  }
  .cp-thanks h1{font-size:22px;margin:0 0 14px;}
  .cp-thanks p{font-size:14px;color:#555;line-height:1.9;margin:0 0 28px;}
  .cp-thanks a.back{
    display:inline-block;background:var(--cp-red);color:#fff;
    padding:12px 30px;font-size:13.5px;font-weight:700;
  }
  .cp-thanks a.back:hover{background:var(--cp-red-dark);}
