/* ===== Page ===== */
.main{padding-top:64px;}
.breadcrumb{border-bottom:1px solid var(--border);background:var(--background);}
.breadcrumb ol{display:flex;align-items:center;gap:.5rem;padding:1rem 0;font-size:.875rem;color:var(--muted-foreground);}
.breadcrumb li{display:flex;align-items:center;}
.breadcrumb a:hover{color:var(--primary);}
.breadcrumb .icon{width:16px;height:16px;}
.breadcrumb .current{color:var(--foreground);font-weight:500;}
.title-band{background:linear-gradient(rgba(255,255,255,.5),rgba(255,255,255,.5)),url('../images/company/campany-title.jpg') center/cover no-repeat;}
.title-band .container{padding:3.5rem 1rem;text-align:center;}
.title-en{font-size:.875rem;font-weight:500;color:#ce5914;letter-spacing:.1em;margin-bottom:.75rem;}
.title-ja{font-size:1.875rem;font-weight:700;color:var(--primary);}

/* Sections */
.section{padding:3.5rem 0;}
.section-bg{background:var(--background);}
.section-alt{background:#f2f6fb;}
.section-inner{max-width:64rem;margin:0 auto;}
.section-inner.narrow{max-width:56rem;}
.section-head{margin-bottom:2.5rem;text-align:center;}
.section-head .en{font-size:.875rem;font-weight:500;color:#ce5914;letter-spacing:.1em;margin-bottom:.75rem;}
.section-head .ja{font-size:1.5rem;font-weight:700;color:var(--primary);}

/* President message */
.message-grid{display:flex;flex-direction:column;gap:2.5rem;}
.message-photo{aspect-ratio:3/4;width:100%;max-width:22rem;margin:0 auto;overflow:hidden;border-radius:0;background:var(--muted);display:flex;align-items:center;justify-content:center;}
.message-photo span{color:var(--muted-foreground);font-size:.875rem;}
.message-body p{font-size:1.0625rem;line-height:2;color:#323b44;margin-bottom:1.5rem;}
.message-body p:last-of-type{margin-bottom:0;}
.message-sign{margin-top:2rem;text-align:right;font-size:1.0625rem;color:var(--foreground);}
.message-sign strong{font-weight:700;color:var(--primary);}

/* Overview */
.overview{border-top:1px solid var(--border);}
.overview .row{padding:1.25rem 0;border-bottom:1px solid var(--border);}
.overview dt{font-weight:700;color:var(--primary);margin-bottom:.5rem;}
.overview dd{color:#323b44;line-height:1.7;}
.overview dd span{display:block;}

/* Access */
.access-addr{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;}
.access-addr .icon{margin-top:.15rem;color:var(--accent);width:20px;height:20px;}
.access-addr p{font-size:1.0625rem;line-height:1.7;color:#323b44;}
.map-wrap{overflow:hidden;border-radius:0;border:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,.05);}
.map-wrap iframe{display:block;width:100%;height:320px;border:0;}
.access-actions{margin-top:1.5rem;}
.btn-map{border:1px solid var(--primary);background:#fff;color:var(--primary);font-weight:700;padding:1rem 1.75rem;font-size:1rem;}
.btn-map:hover{background:var(--primary);color:var(--primary-foreground);}
.btn-map .icon{width:16px;height:16px;}
.access-note{margin-top:.75rem;font-size:.875rem;color:var(--muted-foreground);}

/* CTA */
.page-cta{text-align:center;}
.btn-cta{background:var(--accent);color:var(--accent-foreground);font-weight:700;padding:1.25rem 2.5rem;font-size:1rem;}
.btn-cta:hover{background:#b3661f;}
.btn-cta .icon{width:20px;height:20px;}


/* ===== Responsive (company page specific) ===== */
@media(min-width:1024px){
  .main{padding-top:80px;}
  #access{scroll-margin-top:80px;}
  .title-band .container{padding:5rem 1rem;}
  .title-ja{font-size:2.25rem;}
  .section{padding:5rem 0;}
  .section-head{text-align:left;}
  .section-head .ja{font-size:1.875rem;}
  .message-grid{display:block;}
  .overview .row{display:grid;grid-template-columns:220px 1fr;gap:2rem;padding:1.5rem 0;}
  .overview dt{margin-bottom:0;}
  .map-wrap iframe{height:440px;}
}
