/* company 固有の変数 */
:root{
  --img-phead:url("../img/p-dark.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 45%;opacity:.24;}
.phead::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,24,48,.6) 0%,rgba(15,24,48,.87) 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;}

/* ===== ブランド紹介 ===== */
.cbrand{max-width:760px;margin:0 auto;text-align:center;}
.cbrand p{font-size:15px;line-height:2.2;color:var(--muted);margin:0 0 15px;}
.cbrand p:last-child{margin-bottom:0;}
.cbrand strong{color:var(--ink);font-weight:800;}

/* 数字 */
.cnum{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;margin:34px 0 0;}
.cnum div{text-align:center;padding:24px 10px 26px;border-left:1px solid var(--frame);}
.cnum div:first-child{border-left:none;}
.cnum b{display:block;font-family:var(--fu);font-size:30px;font-weight:800;color:var(--navy);line-height:1.15;letter-spacing:-.01em;}
.cnum b i{font-style:normal;font-family:var(--fd);font-size:14px;font-weight:900;margin-left:2px;}
.cnum span{display:block;font-size:12px;font-weight:800;margin-top:8px;}
.cnum small{display:block;font-size:11px;color:var(--muted);margin-top:4px;line-height:1.7;}

/* ===== 2ブランド ===== */
.cbrandg{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px;margin:30px auto 0;align-items:start;}
.bcard{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:26px 24px 28px;}
.bcard.main{grid-column:1 / -1;border-color:var(--blue-l);box-shadow:0 8px 26px rgba(25,40,90,.08);}
.bcard.main p{max-width:none;}
.bt{display:inline-block;font-size:11px;font-weight:900;color:var(--navy);background:var(--frame);border-radius:99px;padding:5px 13px;margin:0 0 12px;}
.bcard.main .bt{background:var(--navy);color:#fff;}
.bcard>b{display:block;font-family:var(--fu);font-size:20px;font-weight:800;letter-spacing:.06em;color:var(--navy);line-height:1.35;margin:0 0 8px;}
.bcard .bn{font-family:var(--fu);font-size:12px;font-weight:700;color:var(--muted);margin:0 0 12px;letter-spacing:.02em;}
.bcard p{font-size:13.2px;line-height:1.95;color:var(--muted);margin:0 0 14px;}
.bcard 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;}
.bcard a i{font-style:normal;font-size:10px;color:var(--blue);}

/* ===== 会社概要テーブル ===== */
.ctbl{width:100%;max-width:820px;margin:0 auto;border-collapse:collapse;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface);}
.ctbl th,.ctbl td{text-align:left;font-size:14px;line-height:1.95;padding:16px 20px;border-top:1px solid var(--frame);vertical-align:top;}
.ctbl tr:first-child th,.ctbl tr:first-child td{border-top:none;}
.ctbl th{width:170px;font-weight:900;color:var(--navy);background:rgba(43,72,148,.045);white-space:nowrap;}
.ctbl td{color:var(--muted);font-weight:600;}
.ctbl td strong{color:var(--ink);font-weight:800;}
.ctbl td a{color:var(--navy);font-weight:700;}
.ctbl ul{margin:0;padding-left:1.25em;}
.ctbl li{margin-bottom:4px;}
.ctbl li:last-child{margin-bottom:0;}
.ctbl .chk{display:inline-block;font-family:var(--fu);font-size:10px;font-weight:800;letter-spacing:.05em;color:#fff;background:var(--coral);border-radius:3px;padding:3px 6px;line-height:1;margin-left:7px;vertical-align:2px;}

/* ===== 沿革 ===== */
.chis{max-width:760px;margin:0 auto;}
.ch{display:grid;grid-template-columns:110px 1fr;gap:22px;padding:0 0 24px;position:relative;}
.ch:last-child{padding-bottom:0;}
.ch::before{content:"";position:absolute;left:54px;top:12px;bottom:-6px;width:2px;background:var(--frame);}
.ch:last-child::before{display:none;}
.ch .y{font-family:var(--fu);font-size:13px;font-weight:800;color:var(--navy);text-align:right;padding-top:1px;position:relative;}
.ch .y::after{content:"";position:absolute;right:-60px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--blue-l);border:2.5px solid var(--bg);z-index:2;}
.ch.big .y::after{background:var(--navy);}
.ch .tx{padding-left:12px;}
.ch b{display:block;font-size:14.5px;font-weight:900;margin:0 0 5px;line-height:1.65;}
.ch p{font-size:13px;line-height:1.95;color:var(--muted);margin:0;}

/* ===== 窓口 ===== */
.cdesk{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:820px;margin:0 auto;}
.cd{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:22px 22px 24px;}
.cd b{display:block;font-size:15px;font-weight:900;color:var(--navy);margin:0 0 8px;}
.cd p{font-size:12.8px;line-height:1.95;color:var(--muted);margin:0 0 12px;}
.cd 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;}
.cd a i{font-style:normal;font-size:10px;color:var(--blue);}
.cd .ad{font-family:var(--fu);font-size:14px;font-weight:800;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;}
  .cbrand p{font-size:14px;}
  .cbrandg{grid-template-columns:1fr;gap:12px;}
  .bcard{padding:22px 20px 24px;}
  .bcard>b{font-size:18px;}
  .cnum{grid-template-columns:repeat(2,1fr);}
  .cnum div{border-left:1px solid var(--frame);border-top:1px solid var(--frame);}
  .cnum div:nth-child(-n+2){border-top:none;}
  .cnum div:nth-child(odd){border-left:none;}
  .cnum b{font-size:25px;}
  .ctbl th,.ctbl td{display:block;width:auto;white-space:normal;font-size:13.5px;}
  .ctbl th{border-top:1px solid var(--frame);padding:13px 16px 4px;}
  .ctbl td{border-top:none;padding:0 16px 14px;}
  .ctbl tr:first-child th{border-top:none;}
  .ch{grid-template-columns:78px 1fr;gap:14px;}
  .ch::before{left:39px;}
  .ch .y{font-size:12px;}
  .ch .y::after{right:-45px;}
  .cdesk{grid-template-columns:1fr;gap:12px;}
  .cd{padding:20px 18px 22px;}
  .cfin .fb{font-size:15px;padding:16px 30px;width:100%;box-sizing:border-box;}
}

