/* BRIDGE corporate homepage layer | 2026-10-15
   Scoped: only pages opting in via .corporate-home or .corporate-page.
   Existing ad destinations, tracking pixels, and shared car-guide rules remain unchanged. */
:root{--bridge-gold:#ceaa70;--bridge-dark:#0b1728;--bridge-stone:#f3f5f7;}
.corporate-home,.corporate-page{background:#f7f8fa;color:#14273a;}
.corporate-home .site-header,.corporate-page .site-header{background:rgba(10,20,37,.97);border-bottom:1px solid rgba(208,180,131,.23);box-shadow:0 6px 24px rgba(0,0,0,.10)}
.corporate-home .brand-text strong,.corporate-page .brand-text strong{color:#fff;letter-spacing:.04em}
.corporate-home .brand-text small,.corporate-page .brand-text small{color:#c9a977;letter-spacing:.18em}
.corporate-home .header-nav,.corporate-page .header-nav{color:#e9edf4;font-weight:700}
.corporate-home .header-nav a:hover,.corporate-page .header-nav a:hover{color:#e5c798;border-color:#d7b87c}
.corporate-home .header-cta,.corporate-page .header-cta{color:#112034;background:linear-gradient(135deg,#f1d6a2,#cda56b);box-shadow:0 8px 24px rgba(0,0,0,.2);border-radius:10px}
.corporate-home .brand-logo,.corporate-page .brand-logo{background:#fff;border-color:rgba(255,255,255,.4)}
.corporate-home .hero-home{min-height:640px;background-image:linear-gradient(100deg,rgba(3,13,28,.58),rgba(5,20,38,.22)),url("../assets/car-guide/hero-home.jpg");background-position:center right;}
.corporate-home .hero-home::before{background:linear-gradient(95deg,rgba(4,12,27,.96) 0%,rgba(8,23,42,.92) 45%,rgba(8,23,42,.55) 100%);}
.corporate-home .hero-inner{grid-template-columns:minmax(0,1.22fr) minmax(290px,.78fr);gap:56px;align-items:center;padding:90px 0 100px}
.corporate-home .hero-copy{max-width:680px}
.corporate-home .hero h1{font-size:clamp(2.75rem,5.6vw,5rem);line-height:1.19;letter-spacing:-.05em;margin:15px 0 23px}
.corporate-home .hero h1 span{color:#e8c996;text-shadow:none}
.corporate-home .hero-lead{max-width:625px;font-size:clamp(1rem,1.6vw,1.13rem);line-height:2;font-weight:500;color:#edf1f6}
.corporate-home .kicker{letter-spacing:.21em;color:#e4c38a;font-size:.77rem;font-weight:850}
.corporate-home .hero-actions{margin-top:36px}
.corporate-home .hero-button{border-radius:12px;min-height:64px;outline:none;box-shadow:0 14px 28px rgba(0,0,0,.12);padding:15px 20px}
.corporate-home .hero-button-primary{background:linear-gradient(135deg,#e4c38b,#c39b61);color:#12213a}
.corporate-home .hero-button-secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.62)}
.corporate-home .hero-button .button-icon{display:none}
.corporate-home .hero-button:hover,.corporate-home .hero-button:focus-visible{outline:2px solid #efce9b;outline-offset:3px}
.corporate-home .hero-button .button-text small{font-weight:600}
.corporate-home .trust-badges{margin-top:30px;display:flex;flex-wrap:wrap;gap:8px}
.corporate-home .trust-badges li{border:1px solid rgba(234,224,205,.31);background:rgba(255,255,255,.06);color:#f4f6f9;font-size:.76rem;font-weight:650}
.corporate-home .hero-corporate-panel{padding:33px;background:rgba(8,18,32,.58);border:1px solid rgba(230,199,147,.38);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.18);backdrop-filter:blur(12px);color:#fff}
.corporate-home .hero-panel-overline{font-weight:800;font-size:.7rem;letter-spacing:.2em;color:#dfc18e}
.corporate-home .hero-corporate-panel h2{color:#fff;font-size:clamp(1.28rem,2.2vw,1.65rem);line-height:1.48;margin:14px 0 24px}
.corporate-home .hero-corporate-panel ul{padding:0;margin:0;list-style:none;display:grid;gap:15px}
.corporate-home .hero-corporate-panel li{position:relative;padding-left:25px;color:#edf3f9;font-size:.94rem;line-height:1.8}
.corporate-home .hero-corporate-panel li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:8px;background:#dfbc82;border-radius:50%}
.corporate-home .hero-panel-foot{display:block;margin-top:23px;padding-top:19px;border-top:1px solid rgba(255,255,255,.2);color:#c9d6e5;font-size:.76rem;line-height:1.65}
.corporate-home .section{padding-block:76px}
.corporate-home .section-kicker{color:#916735;font-size:.73rem;letter-spacing:.19em;font-weight:900}
.corporate-home .section-heading h2{font-size:clamp(1.65rem,3vw,2.6rem);color:#102238;line-height:1.3}
.corporate-home .section-heading p{color:#647487}
.corporate-home .company-intro{background:#fff;padding:84px 0 72px}
.corporate-home .company-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.84fr);gap:60px;align-items:center}
.corporate-home .company-intro h2{font-size:clamp(1.95rem,3.9vw,3rem);line-height:1.43;margin:10px 0 24px;letter-spacing:-.035em}
.corporate-home .company-intro h2 em{font-style:normal;color:#977044}
.corporate-home .company-intro .company-message{line-height:2.18;color:#4d5d6d;font-size:1rem;margin-bottom:17px}
.corporate-home .corp-inline-link{display:inline-flex;align-items:center;gap:8px;margin-top:17px;padding-bottom:5px;color:#184672;font-weight:900;border-bottom:2px solid #c8a671}
.corporate-home .company-identity{padding:30px;border:1px solid #e5e8eb;background:#f5f6f7;border-radius:17px}
.corporate-home .identity-top{font-size:.7rem;font-weight:900;letter-spacing:.16em;color:#896b49;margin-bottom:20px}
.corporate-home .identity-name{font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;letter-spacing:.04em;color:#11273c}
.corporate-home .identity-line{height:2px;width:56px;background:#bb935a;margin:22px 0}
.corporate-home .identity-meta{display:grid;gap:14px;margin:0}
.corporate-home .identity-meta div{display:grid;grid-template-columns:76px 1fr;gap:10px;padding-bottom:13px;border-bottom:1px solid #dce3e8;font-size:.9rem}
.corporate-home .identity-meta div:last-child{border:0;padding-bottom:0}
.corporate-home .identity-meta dt{color:#758394;font-weight:800}
.corporate-home .identity-meta dd{margin:0;color:#26394a;font-weight:650}
.corporate-home .business-section{background:#f3f5f7}
.corporate-home .business-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.corporate-home .business-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:265px;padding:32px 28px;background:#fff;border:1px solid #e2e7ed;border-radius:16px;box-shadow:0 11px 31px rgba(17,43,72,.042);transition:transform .16s,box-shadow .16s}
.corporate-home a.business-card:hover{transform:translateY(-3px);box-shadow:0 17px 40px rgba(17,43,72,.09)}
.corporate-home .business-card .service-num{color:#ab8754;font-size:.8rem;font-weight:950;letter-spacing:.13em}
.corporate-home .business-card h3{margin:30px 0 12px;color:#172b41;font-size:1.27rem;line-height:1.4}
.corporate-home .business-card p{color:#607081;font-size:.92rem;line-height:1.95}
.corporate-home .business-card .service-more{margin-top:auto;padding-top:21px;color:#27618b;font-size:.87rem;font-weight:900}
.corporate-home .business-cards .business-card.featured{background:#10273e;border-color:#10273e}
.corporate-home .business-cards .business-card.featured h3{color:#fff}
.corporate-home .business-cards .business-card.featured p{color:#c9d5e0}
.corporate-home .business-cards .business-card.featured .service-more{color:#f0d2a0}
.corporate-home .business-note{margin-top:18px;color:#5f7081;font-size:.86rem}
.corporate-home .quick-choice{background:#fff;border-color:#e7ebf0}
.corporate-home .quick-choice-head h2{font-size:clamp(1.8rem,3.4vw,2.25rem)}
.corporate-home .quick-choice-card{border:1px solid #e4e8ec;background:#f8fafc;border-radius:13px;box-shadow:none}
.corporate-home .quick-choice-card::after{background:#eaf1f6;color:#285779;box-shadow:none;border-radius:7px;content:"詳しく見る →"}
.corporate-home .quick-choice-card:hover{border-color:#d1af77;background:#fff;transform:translateY(-2px)}
.corporate-home .quick-choice-num{background:#14334e;border-radius:7px}
.corporate-home .quick-mini-link{border-radius:8px;background:#f7f9fb}
.corporate-home #sale-referral{background:#edf2f5!important;border-block:1px solid #dce4ea!important}
.corporate-home #sale-referral>.container>div{border-color:#d8e0e8!important;box-shadow:0 12px 35px rgba(6,24,46,.06)!important}
.corporate-home #sale-referral .button-primary{background:linear-gradient(135deg,#142f49,#24527b);border:0;border-radius:10px}
.corporate-home #how{background:#0f243b;color:#fff;padding:40px 0}
.corporate-home #how .how-item{color:#fff}
.corporate-home #how .how-item strong{color:#fff}
.corporate-home #how .how-item p{color:#d0dce6}
.corporate-home #cases{background:#fff}
.corporate-home #services{background:#f4f6f8}
.corporate-home #services .section-heading{max-width:900px}
.corporate-home #services .service-card{background:#fff;border-color:#e2e6ec;box-shadow:0 8px 22px rgba(12,35,60,.05)}
.corporate-home #services .service-button{background:linear-gradient(135deg,#225077,#326d90);border-radius:9px;box-shadow:none}
.corporate-home #services .service-button::before{content:"外部サービス";font-size:.66rem}
.corporate-home #services .service-card::after{content:"PR / 外部提供";background:#2e475f}
.corporate-home #services .quick-direct{background:#10273e;border-radius:15px;box-shadow:none;margin-top:40px;padding:24px}
.corporate-home #services .quick-direct-button{background:#284d6e;border-radius:9px;box-shadow:none}
.corporate-home #services .quick-direct-head span{background:#ecd7b5}
.corporate-home #faq{background:#f5f7f9}
.corporate-home #notice{background:#fff}
.corporate-home .bottom-cta{background:linear-gradient(110deg,#081827,#173c5a)}
.corporate-home .bottom-cta-copy span{color:#dab987;letter-spacing:.1em}
.corporate-home .bottom-cta .button-primary{background:#d7b887;color:#12283c;border-radius:9px}
.corporate-home .bottom-cta .button-secondary{border:1px solid #c1cdd6;background:transparent;color:#fff;border-radius:9px}
.corporate-home .site-footer,.corporate-page .site-footer{background:#081523}
.corporate-home .footer-inner,.corporate-page .footer-inner{padding:16px 0}
.corporate-home .footer-brand p{color:#c2ced9}
.corporate-home .footer-links{flex-wrap:wrap;gap:12px 22px}
.corporate-home .footer-links a{color:#e5ecf2}
.corporate-home .mobile-bar{background:rgba(8,21,36,.95);border-color:rgba(202,162,103,.36)}
.corporate-home .mobile-bar a{border-radius:9px;background:#1e476a;font-weight:850}
.corporate-home .mobile-bar a:last-child{color:#15273d;background:linear-gradient(135deg,#f3daae,#cca36a)}
.corporate-home .mobile-bar a:hover{background:#38678e}
.corporate-page .company-detail-hero{padding:70px 0;background:linear-gradient(110deg,#071624,#1c3e5b);color:#fff}
.corporate-page .company-detail-hero h1{font-size:clamp(2.05rem,4.5vw,3.35rem);line-height:1.35}
.corporate-page .company-detail-hero .eyebrow{font-size:.79rem;color:#e6c892;letter-spacing:.15em;font-weight:900}
.corporate-page .company-detail-container{max-width:950px;padding:60px 0 85px}
.corporate-page .company-info-box{background:#fff;border:1px solid #dde5eb;padding:clamp(22px,5vw,40px);border-radius:14px;margin-bottom:25px}
.corporate-page .company-info-box h2{font-size:1.45rem;color:#102943}
.corporate-page .company-info-box p{color:#4d6274;line-height:2}
.corporate-page .company-info-box dl{display:grid;grid-template-columns:140px 1fr;gap:0;margin:0}
.corporate-page .company-info-box dt,.corporate-page .company-info-box dd{padding:16px 0;border-bottom:1px solid #e5ebef;font-size:.95rem}
.corporate-page .company-info-box dt{font-weight:900;color:#4a6278}
.corporate-page .company-info-box dd{margin:0}
.corporate-page .company-info-box a:not(.button){color:#1c5b8e;text-decoration:underline;text-underline-offset:3px}
.corporate-page .company-info-box ul{line-height:2;color:#455c70}
@media(max-width:1050px){
  .corporate-home .hero-inner{gap:28px;grid-template-columns:minmax(0,1fr) minmax(260px,.74fr)}
  .corporate-home .header-nav{gap:10px;font-size:.81rem}
  .corporate-home .hero-corporate-panel{padding:23px}
}
@media(max-width:820px){
  .corporate-home .hero-inner{grid-template-columns:1fr;gap:25px;padding:74px 0 60px}
  .corporate-home .hero-home{min-height:auto}
  .corporate-home .hero-corporate-panel{display:none}
  .corporate-home .company-intro-grid{grid-template-columns:1fr;gap:25px}
  .corporate-home .business-cards{grid-template-columns:1fr 1fr}
  .corporate-home .business-cards .business-card.featured{grid-column:1/-1}
}
@media(max-width:640px){
  .corporate-home .hero-home{padding:0}
  .corporate-home .hero-home::before{background:linear-gradient(94deg,rgba(3,14,28,.97),rgba(3,14,28,.84))}
  .corporate-home .hero-inner{padding:62px 0 50px}
  .corporate-home .hero h1{font-size:clamp(2.22rem,10vw,3.3rem);line-height:1.26;letter-spacing:-.04em}
  .corporate-home .kicker{font-size:.69rem}
  .corporate-home .hero-actions{margin-top:25px}
  .corporate-home .hero-button{min-height:62px;padding:15px}
  .corporate-home .trust-badges{display:grid;grid-template-columns:1fr 1fr}
  .corporate-home .trust-badges li{min-height:36px;font-size:.74rem}
  .corporate-home .section{padding-block:52px}
  .corporate-home .company-intro{padding-block:55px}
  .corporate-home .business-cards{grid-template-columns:1fr}
  .corporate-home .business-cards .business-card.featured{grid-column:auto}
  .corporate-home .business-card{min-height:210px;padding:27px}
  .corporate-home .business-card h3{margin-top:19px}
  .corporate-home .company-identity{padding:23px}
  .corporate-home .quick-choice{padding-bottom:52px}
  .corporate-home .quick-choice-grid{grid-template-columns:1fr}
  .corporate-home .quick-direct-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .corporate-home .mobile-bar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .corporate-home .mobile-bar a{min-width:0;font-size:.78rem}
  .corporate-home .footer-inner{padding:16px 0}
  .corporate-page .company-info-box dl{grid-template-columns:1fr}
  .corporate-page .company-info-box dt{padding-bottom:0;border:0}
  .corporate-page .company-info-box dd{padding-top:2px}
}
@media(prefers-reduced-motion:reduce){.corporate-home a{transition:none!important}}


/* BRIDGE clean hero redesign 20261015: concise copy, controlled spacing */
.corporate-home .hero-home{min-height:570px}
.corporate-home .hero-inner{padding:80px 0 86px;gap:60px}
.corporate-home .hero-copy{max-width:750px}
.corporate-home .hero-copy .kicker{
  display:block;margin:0 0 24px;color:#d5b27d;
  font-size:.77rem;font-weight:850;letter-spacing:.27em;line-height:1.4
}
.corporate-home .hero h1{
  font-size:clamp(3.25rem,6.3vw,5.6rem);
  font-weight:850;line-height:1.15;letter-spacing:-.065em;
  margin:0 0 28px;white-space:nowrap;word-break:keep-all
}
.corporate-home .hero-lead{
  max-width:570px;font-size:clamp(1.08rem,1.7vw,1.22rem);
  font-weight:500;line-height:1.85;letter-spacing:.015em
}
.corporate-home .hero-actions{
  display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:38px
}
.corporate-home .hero-button-primary{
  display:inline-flex;width:auto;min-height:60px;
  padding:15px 27px;border-radius:9px;outline:none;box-shadow:none
}
.corporate-home .hero-button-primary .button-text strong{font-size:1.03rem;letter-spacing:.02em}
.corporate-home .hero-button-primary::after{content:"↗";margin-left:18px;font-size:1.12rem}
.corporate-home .hero-simple-link{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 3px;color:#eaf1f8;border-bottom:1px solid rgba(235,241,248,.6);
  font-size:.94rem;font-weight:750;line-height:1.5;transition:color .16s
}
.corporate-home .hero-simple-link:hover,
.corporate-home .hero-simple-link:focus-visible{color:#e4c99d}
.corporate-home .hero-corporate-panel{max-width:390px;justify-self:end;padding:32px 30px}
.corporate-home .hero-corporate-panel h2{font-size:1.55rem;margin:12px 0 24px}
.corporate-home .hero-corporate-panel ul{gap:12px}
.corporate-home .hero-corporate-panel li{font-size:.9rem;line-height:1.6}
.corporate-home .hero-panel-foot{font-size:.75rem;line-height:1.7}

@media(max-width:820px){
  .corporate-home .hero-home{min-height:0}
  .corporate-home .hero-inner{padding:65px 0 68px}
  .corporate-home .hero h1{font-size:clamp(2.65rem,7.8vw,4.2rem)}
}
@media(max-width:640px){
  .corporate-home .hero-home{padding:0;min-height:0}
  .corporate-home .hero-inner{padding:55px 0 53px;gap:0}
  .corporate-home .hero-copy{padding:0}
  .corporate-home .hero-copy .kicker{
    font-size:.7rem;letter-spacing:.25em;margin-bottom:19px
  }
  .corporate-home .hero h1{
    font-size:clamp(2.3rem,10.5vw,2.9rem);
    letter-spacing:-.065em;line-height:1.18;
    margin:0 0 22px;white-space:normal
  }
  .corporate-home .hero-lead{
    max-width:22em;font-size:.98rem;line-height:1.72;
    font-weight:450;letter-spacing:0
  }
  .corporate-home .hero-actions{
    display:flex;flex-direction:column;align-items:stretch;
    gap:12px;margin-top:30px
  }
  .corporate-home .hero-button-primary{
    width:100%;min-height:56px;padding:15px 20px;
    border-radius:10px;justify-content:space-between
  }
  .corporate-home .hero-button-primary .button-text strong{font-size:1.02rem}
  .corporate-home .hero-simple-link{
    width:max-content;max-width:100%;font-size:.92rem;
    padding:8px 2px;align-self:flex-start
  }
  .corporate-home .mobile-bar{
    bottom:9px;left:10px;right:10px;
    padding:6px;gap:6px;border-radius:13px
  }
  .corporate-home .mobile-bar a{
    min-height:43px;padding:7px 3px;border-radius:8px;
    font-size:.75rem;font-weight:750
  }
  .corporate-home .trust-badges{display:none}
}


/* BRIDGE homepage usability fix 2026-10-15: readable three-step cards
   Old corporate rules inadvertently put white text on white cards. */
.corporate-home #how{
  margin-top:0;
  padding:34px 0 42px;
  background:#f1f5f8;
  color:#122c44;
}
.corporate-home #how .how-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.corporate-home #how .how-item,
.corporate-home #how .how-item:last-child{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  align-content:start;
  align-items:start;
  column-gap:14px;
  row-gap:4px;
  margin:0;
  padding:20px 19px;
  min-height:126px;
  border:1px solid #d4e1e9;
  border-radius:13px;
  background:#fff;
  color:#162b40;
  box-shadow:0 5px 16px rgba(13,37,59,.04);
}
.corporate-home #how .how-item span{
  grid-column:1;
  grid-row:1 / span 2;
  display:block;
  margin:0;
  color:#237e96;
  font-size:1.25rem;
  line-height:1.35;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}
.corporate-home #how .how-item strong{
  grid-column:2;
  grid-row:1;
  display:block;
  margin:0;
  color:#142c42;
  font-size:1.05rem;
  line-height:1.5;
  font-weight:850;
}
.corporate-home #how .how-item p{
  grid-column:2;
  grid-row:2;
  margin:0;
  color:#506678;
  font-size:.89rem;
  line-height:1.64;
  font-weight:500;
}
@media(max-width:820px){
  .corporate-home #how .how-grid{grid-template-columns:1fr;gap:10px}
  .corporate-home #how .how-item,
  .corporate-home #how .how-item:last-child{min-height:0;padding:17px 19px}
}
@media(max-width:640px){
  .corporate-home #how{margin-top:0;padding:22px 0 28px}
  .corporate-home #how .how-grid{gap:9px}
  .corporate-home #how .how-item,
  .corporate-home #how .how-item:last-child{
    grid-template-columns:30px minmax(0,1fr);
    column-gap:12px;
    min-height:0;
    padding:14px 15px;
    border-radius:11px;
    border-color:#dae4eb;
    box-shadow:none;
  }
  .corporate-home #how .how-item span{font-size:1.13rem;line-height:1.36}
  .corporate-home #how .how-item strong{font-size:.99rem;line-height:1.45}
  .corporate-home #how .how-item p{font-size:.88rem;line-height:1.55;color:#415b70}
  /* Put the mobile navigation in the document flow.
     A fixed overlay was covering the cards during scrolling. */
  body.corporate-home.has-mobile-bar{padding-bottom:0}
  .corporate-home .mobile-bar{
    position:static;
    inset:auto;
    display:flex;
    width:calc(100% - 24px);
    max-width:540px;
    margin:12px auto 20px;
    padding:6px;
    gap:6px;
    border-radius:12px;
    box-shadow:none;
    background:#102338;
  }
  .corporate-home .mobile-bar a{
    min-width:0;
    min-height:43px;
    border-radius:8px;
    padding:7px 3px;
    font-size:.75rem;
    font-weight:800;
  }
}
