/* contact 固有の変数 */
:root{
  --img-phead:url("../img/p-first.webp");
}


/* ===== 下層ページ共通 ===== */
.phead{background:var(--deep);color:#fff;position:relative;overflow:hidden;}
.phead::before{content:"";position:absolute;inset:0;background-image:var(--img-phead);background-size:cover;background-position:center 42%;opacity:.26;}
.phead::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,24,48,.58) 0%,rgba(15,24,48,.86) 100%);}
.phead-in{position:relative;z-index:2;max-width:var(--col);margin:0 auto;padding:54px var(--pad) 50px;}
.crumb{font-size:11.5px;font-family:var(--fu);letter-spacing:.04em;opacity:.8;margin:0 0 20px;}
.crumb a{text-decoration:none;opacity:.85;}
.crumb a:hover{opacity:1;text-decoration:underline;}
.crumb span{margin:0 8px;opacity:.55;}
.phead .eyebrow{color:var(--blue-l);margin:0 0 8px;}
.phead h1{font-size:clamp(28px,4.4vw,44px);font-weight:900;letter-spacing:.06em;line-height:1.4;margin:0 0 16px;}
.phead p.pl{font-size:14.5px;line-height:2;margin:0;max-width:680px;opacity:.94;}

/* ===== ステップ ===== */
.cstep{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:560px;margin:0 auto 36px;counter-reset:s;}
.cstep li{list-style:none;text-align:center;position:relative;padding-top:38px;font-size:12.5px;font-weight:900;color:#9aa7bd;}
.cstep li::before{counter-increment:s;content:counter(s);position:absolute;top:0;left:50%;transform:translateX(-50%);width:28px;height:28px;border-radius:50%;background:var(--frame);color:#9aa7bd;font-family:var(--fu);font-size:13px;font-weight:800;line-height:28px;z-index:2;}
.cstep li::after{content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--frame);z-index:1;}
.cstep li:first-child::after{display:none;}
.cstep li[aria-current]{color:var(--navy);}
.cstep li[aria-current]::before{background:var(--navy);color:#fff;}
.cstep li.done{color:var(--navy);}
.cstep li.done::before{background:var(--blue-l);color:var(--deep);}
.cstep li.done::after,.cstep li[aria-current]::after{background:var(--blue-l);}

/* ===== 先に読んでほしいこと ===== */
.cpre{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 6px;}
.cpc{border:1px solid var(--line);border-radius:12px;padding:20px 18px 22px;background:var(--surface);}
.cpc b{display:block;font-size:14.5px;font-weight:900;color:var(--navy);margin:0 0 8px;}
.cpc p{font-size:12.8px;line-height:1.95;color:var(--muted);margin:0 0 11px;}
.cpc a{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:900;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--blue-l);padding-bottom:2px;}
.cpc a i{font-style:normal;font-size:10px;color:var(--blue);}

/* ===== フォーム ===== */
.cform{max-width:760px;margin:0 auto;}
.crow{display:grid;grid-template-columns:200px 1fr;gap:18px 22px;padding:20px 0;border-bottom:1px solid var(--frame);align-items:start;}
.crow:first-of-type{border-top:1px solid var(--frame);}
.crow>.lb{font-size:14px;font-weight:900;padding-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.req{font-family:var(--fu);font-size:10px;font-weight:800;letter-spacing:.06em;color:#fff;background:var(--coral);border-radius:3px;padding:3px 6px;line-height:1;}
.opt{font-family:var(--fu);font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--muted);background:var(--frame);border-radius:3px;padding:3px 6px;line-height:1;}
.cin input,.cin select,.cin textarea{width:100%;font-family:inherit;font-size:15px;font-weight:600;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:8px;padding:12px 14px;line-height:1.7;transition:border-color .2s,box-shadow .2s;}
.cin textarea{min-height:150px;resize:vertical;}
.cin select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--blue) 50%),linear-gradient(135deg,var(--blue) 50%,transparent 50%);background-position:calc(100% - 19px) 21px,calc(100% - 14px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px;}
.cin input:focus,.cin select:focus,.cin textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(63,99,184,.14);}
.cin input::placeholder,.cin textarea::placeholder{color:#9aa7bd;font-weight:500;}
.cin .hint{font-size:12px;line-height:1.85;color:var(--muted);margin:7px 0 0;}
.cin .err{display:none;font-size:12.5px;font-weight:700;color:var(--coral-d);margin:7px 0 0;}
.crow.bad .cin input,.crow.bad .cin select,.crow.bad .cin textarea{border-color:var(--coral);}
.crow.bad .cin .err{display:block;}

/* 同意 */
.cagree{text-align:center;padding:26px 0 0;}
.cagree label{display:inline-flex;align-items:flex-start;gap:10px;font-size:13.5px;font-weight:700;text-align:left;cursor:pointer;line-height:1.8;}
.cagree input{width:20px;height:20px;flex:none;margin:2px 0 0;accent-color:var(--navy);cursor:pointer;}
.cagree a{color:var(--navy);font-weight:900;}
.cagree .err{display:none;font-size:12.5px;font-weight:700;color:var(--coral-d);margin:10px 0 0;}
.cagree.bad .err{display:block;}

/* ボタン */
.cbtns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:30px 0 0;}
.cbtn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;font-weight:900;font-size:16px;border-radius:99px;padding:17px 46px;cursor:pointer;border:none;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;}
.cbtn.go{background:var(--coral);color:#fff;box-shadow:0 8px 22px rgba(239,136,128,.38);}
.cbtn.go:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(239,136,128,.48);}
.cbtn.back{background:var(--surface);color:var(--navy);border:1.5px solid var(--line);font-size:14.5px;padding:16px 34px;}
.cbtn.back:hover{border-color:var(--blue);}

/* ===== 確認ページ ===== */
.cdl{max-width:760px;margin:0 auto;}
.cdl .crow{align-items:start;}
.cdl .lb{padding-top:0;}
.cdl .vv{font-size:15px;font-weight:700;line-height:1.95;white-space:pre-wrap;word-break:break-word;margin:0;}
.cdl .vv.none{color:var(--muted);font-weight:500;}
.cdemo{max-width:760px;margin:0 auto 24px;border:1.5px dashed var(--blue-l);border-radius:12px;background:var(--frame);padding:16px 20px;font-size:13px;line-height:1.9;color:var(--navy);font-weight:700;}
.cdemo[hidden]{display:none;}

/* ===== 完了ページ ===== */
.cdone{max-width:680px;margin:0 auto;text-align:center;}
.cmark{width:76px;height:76px;margin:0 auto 22px;border-radius:50%;background:var(--frame);position:relative;}
.cmark::after{content:"";position:absolute;left:27px;top:23px;width:16px;height:30px;border-right:4px solid var(--navy);border-bottom:4px solid var(--navy);transform:rotate(42deg);border-radius:2px;}
.cdone h2{margin-top:0;}
.cdone .msg{font-size:14.5px;line-height:2.1;color:var(--muted);margin:0 0 26px;}
.cnote{text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:22px 24px 24px;margin:0 0 8px;}
.cnote b{display:block;font-size:14px;font-weight:900;color:var(--navy);margin:0 0 10px;}
.cnote ul{margin:0;padding-left:1.15em;}
.cnote li{font-size:13px;line-height:2;color:var(--muted);margin-bottom:5px;}
.cnote li:last-child{margin-bottom:0;}

/* ===== 窓口 ===== */
.cmail{max-width:760px;margin:0 auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:24px 26px 26px;}
.cmail b{display:block;font-size:14px;font-weight:900;color:var(--navy);margin:0 0 10px;}
.cmail p{font-size:13px;line-height:2;color:var(--muted);margin:0 0 6px;}
.cmail p:last-child{margin-bottom:0;}
.cmail a.ad{font-family:var(--fu);font-size:16px;font-weight:800;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--blue-l);word-break:break-all;}

/* ===== 最終CTA ===== */
.cfin{background:var(--deep);color:#fff;text-align:center;}
.cfin h2{color:#fff;}
.cfin p{opacity:.9;font-size:14px;line-height:2;}
.cfin .fb{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--coral);color:#fff;text-decoration:none;font-weight:900;font-size:16px;border-radius:99px;padding:17px 44px;margin-top:22px;box-shadow:0 8px 22px rgba(239,136,128,.4);transition:transform .2s,box-shadow .2s;}
.cfin .fb:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(239,136,128,.5);}
.cfin .sub{display:block;margin-top:14px;font-size:12.5px;opacity:.75;}
.cfin .sub a{color:var(--blue-l);font-weight:700;}

@media (max-width:900px){
  .phead-in{padding:34px var(--pad) 34px;}
  .crumb{margin-bottom:14px;}
  .cpre{grid-template-columns:1fr;gap:12px;}
  .cstep{margin-bottom:28px;}
  .cstep li{font-size:11px;padding-top:34px;}
  .crow{grid-template-columns:1fr;gap:9px;padding:17px 0;}
  .crow>.lb{padding-top:0;font-size:13.5px;}
  .cin input,.cin select,.cin textarea{font-size:16px;padding:11px 13px;}
  .cin select{background-position:calc(100% - 19px) 20px,calc(100% - 14px) 20px;}
  .cbtns{flex-direction:column-reverse;}
  .cbtn{width:100%;font-size:15px;padding:16px 20px;}
  .cbtn.back{width:100%;}
  .cdl .vv{font-size:14.5px;}
  .cmail,.cnote{padding:20px 18px 22px;}
  .cfin .fb{font-size:15px;padding:16px 30px;width:100%;box-sizing:border-box;}
}

