
/* APERIO company page */

.company-page{background:#f4f6fa;color:#122033}
.company-hero{
  padding:clamp(100px,11vw,150px) 0 clamp(70px,8vw,96px);
  background:#07101f;
  color:#fff;
}
.company-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:80px;
  align-items:end;
}
.company-kicker{
  margin:0;
  color:#79aef5;
  font-size:10px;
  font-weight:800;
  letter-spacing:.15em;
}
.company-hero h1{
  margin:10px 0 0;
  font-family:var(--serif,"Yu Mincho",Georgia,serif);
  font-size:clamp(44px,5.5vw,76px);
  line-height:1.35;
  font-weight:500;
}
.company-hero-copy p{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:13px;
  line-height:2;
}
.company-page-section{
  padding:clamp(72px,8vw,108px) 0;
}
.company-page-section-dark{
  background:#07101f;
  color:#fff;
}
.company-page-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
  gap:60px;
  align-items:end;
  margin-bottom:42px;
}
.company-page-head h2{
  margin:7px 0 0;
  font-family:var(--serif,"Yu Mincho",Georgia,serif);
  font-size:clamp(32px,4vw,50px);
  font-weight:500;
}
.company-page-head > p{
  margin:0;
  color:#657386;
  font-size:12px;
  line-height:1.9;
}
.company-page-head-light > p{color:rgba(255,255,255,.56)}
.company-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  gap:64px;
}
.company-overview-list{margin:0}
.company-overview-list div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:28px;
  padding:17px 0;
  border-bottom:1px solid #dfe5ec;
}
.company-overview-list dt{
  color:#718095;
  font-size:11px;
  font-weight:700;
}
.company-overview-list dd{
  margin:0;
  font-size:13px;
  line-height:1.8;
}
.company-principle{
  align-self:start;
  padding:30px;
  border:1px solid #dce3ec;
  border-radius:18px;
  background:#fff;
}
.company-principle h3{
  margin:8px 0 16px;
  font-family:var(--serif,"Yu Mincho",Georgia,serif);
  font-size:26px;
  line-height:1.55;
  font-weight:500;
}
.company-principle > p:last-child{
  margin:0;
  color:#5b6879;
  font-size:12px;
  line-height:2;
}
.company-business-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.company-business-grid article{
  min-height:230px;
  padding:30px 24px;
  border-right:1px solid rgba(255,255,255,.14);
}
.company-business-grid article:last-child{border-right:0}
.company-business-grid span{
  color:#79aef5;
  font-size:10px;
  font-weight:800;
}
.company-business-grid h3{
  margin:42px 0 12px;
  font-size:18px;
}
.company-business-grid p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:11px;
  line-height:1.9;
}
.company-history-list{
  max-width:860px;
  margin-left:auto;
}
.company-history-list > div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:34px;
  padding:22px 0;
  border-bottom:1px solid #dde4ec;
}
.company-history-list time{
  color:#245fa7;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.company-history-list p{
  margin:0;
  color:#5d6b7d;
  font-size:12px;
  line-height:1.9;
}
.company-history-list strong{color:#1f3046;font-size:14px}
.company-representative-section{background:#fff}
.company-representative-grid{
  display:grid;
  grid-template-columns:240px minmax(0,660px);
  gap:54px;
  justify-content:center;
  align-items:center;
}
.company-representative-photo img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}
.company-representative-grid h2{
  margin:8px 0 4px;
  font-family:var(--serif,"Yu Mincho",Georgia,serif);
  font-size:38px;
  font-weight:500;
}
.company-representative-role{
  margin:0 0 18px!important;
  color:#657386!important;
  font-size:11px!important;
}
.company-representative-grid p{
  color:#536276;
  font-size:12px;
  line-height:2;
}
.company-representative-points{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:18px;
}
.company-representative-points span{
  padding:7px 10px;
  border:1px solid #dce3ec;
  border-radius:999px;
  color:#53677f;
  font-size:9px;
}
.company-related-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.company-related-grid a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px;
  border:1px solid #dce3ec;
  border-radius:14px;
  background:#fff;
  color:#122033;
  text-decoration:none;
}
.company-related-grid a:hover{border-color:#9fc2ef}
.company-related-grid strong{font-size:14px}
.company-related-grid span{color:#245fa7;font-size:10px;font-weight:700}
.company-contact{
  padding:clamp(72px,8vw,100px) 0;
  background:#07101f;
  color:#fff;
  text-align:center;
}
.company-contact h2{
  max-width:800px;
  margin:8px auto 14px;
  font-family:var(--serif,"Yu Mincho",Georgia,serif);
  font-size:clamp(30px,4vw,48px);
  line-height:1.5;
  font-weight:500;
}
.company-contact > .container > p:not(.company-kicker){
  max-width:700px;
  margin:0 auto 24px;
  color:rgba(255,255,255,.63);
  font-size:12px;
  line-height:1.9;
}

@media(max-width:900px){
  .company-hero-grid,
  .company-page-head,
  .company-overview-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .company-business-grid{grid-template-columns:1fr 1fr}
  .company-business-grid article:nth-child(2){border-right:0}
  .company-business-grid article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
  .company-representative-grid{
    grid-template-columns:180px 1fr;
    gap:34px;
  }
}
@media(max-width:640px){
        .company-hero{padding-top:86px}
  .company-hero h1{font-size:42px}
  .company-page-section{padding:68px 0}
  .company-overview-list div{grid-template-columns:92px 1fr;gap:16px}
  .company-business-grid{grid-template-columns:1fr}
  .company-business-grid article{
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .company-business-grid article:last-child{border-bottom:0}
  .company-business-grid h3{margin-top:24px}
  .company-history-list > div{grid-template-columns:86px 1fr;gap:18px}
  .company-representative-grid{grid-template-columns:100px 1fr;gap:20px}
  .company-representative-grid h2{font-size:30px}
  .company-related-grid{grid-template-columns:1fr}
  .company-related-grid a{align-items:flex-start;flex-direction:column;gap:8px}
}


/* ===== Company hero title line-break fix ===== */
.company-title-line{
  display:block;
}

@media (min-width:981px){
  .company-hero h1{
    max-width:none;
  }

  .company-title-line{
    white-space:nowrap;
  }
}

@media (max-width:980px){
  .company-title-line{
    white-space:normal;
  }
}


/* ===== Company hero mobile title refinement ===== */
.company-title-mobile{
  display:none;
}

@media (min-width:981px){
  .company-title-desktop{
    display:block;
  }
  .company-title-desktop .company-title-line{
    display:block;
    white-space:nowrap;
  }
}

@media (max-width:980px){
  .company-title-desktop{
    display:none;
  }
  .company-title-mobile{
    display:block;
  }
  .company-title-mobile .company-title-line{
    display:block;
    white-space:nowrap;
  }
}

@media (max-width:640px){
  .company-hero h1{
    font-size:clamp(34px,9vw,42px);
    line-height:1.34;
    letter-spacing:.01em;
  }

  .company-title-mobile .company-title-line + .company-title-line{
    margin-top:4px;
  }

  .company-hero-grid{
    gap:28px;
  }

  .company-hero-copy p{
    font-size:12px;
    line-height:1.9;
  }
}

@media (max-width:390px){
  .company-hero h1{
    font-size:33px;
  }
}
