/*
 * Company profile v1 — /about/ only (loaded by inc/about.php, after the TOP header/footer CSS).
 * Values are those of docs/company-profile-v1/reference/company-overview-preview.html (frozen reference).
 * Every selector is under .capsor-about with an ab- prefix, so nothing leaks to other pages or to the TOP.
 * Reveal states ([data-reveal] / .is-pending / .is-shown) come from the TOP's phase2 CSS and JS.
 */
body.capsor-about {
  --ab-paper:#f7f8f7; --ab-ink:#0d1b24; --ab-navy:#0c1c26; --ab-muted:#61717c; --ab-accent:#ee5128;
  --ab-cream:#f4f0e9; --ab-edge:#dfe5e5; --ab-gutter:clamp(24px,6vw,96px); --ab-max:1440px;
  --ab-font:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
}
.capsor-about { color:var(--ab-ink); font-family:var(--ab-font); line-height:1.85; overflow-wrap:anywhere; }
.capsor-about h1, .capsor-about h2, .capsor-about h3, .capsor-about p, .capsor-about dl, .capsor-about dd, .capsor-about figure { margin:0; }
.capsor-about ul { list-style:none; margin:0; padding:0; }
.capsor-about a:focus-visible { outline:3px solid #2585bd; outline-offset:4px; }
.capsor-about .ab-wrap { max-width:var(--ab-max); padding-inline:var(--ab-gutter); margin-inline:auto; }
.capsor-about .ab-eyebrow { font:700 11px/1.6 Arial,sans-serif; letter-spacing:.2em; text-transform:uppercase; display:flex; align-items:center; gap:12px; }
.capsor-about .ab-eyebrow::before { content:""; width:28px; height:2px; background:var(--ab-accent); display:inline-block; }
.capsor-about .ab-section-title { font-weight:850; letter-spacing:-.058em; line-height:1.31; font-size:clamp(36px,5vw,78px); margin:14px 0 0; }
.capsor-about .ab-section-title .ab-accent { color:var(--ab-accent); }
/*
 * Headings break only at the editor's line breaks: a line never splits mid-phrase while it fits
 * (keep-all), and only wraps when it would otherwise overflow (break-word, which also keeps the
 * heading's min-content at its longest line so flex rows shrink the copy instead).
 */
.capsor-about .ab-section-title, .capsor-about .ab-hero-jp, .capsor-about .ab-lead, .capsor-about .ab-history-panel h2 { word-break:keep-all; overflow-wrap:break-word; }
.capsor-about .ab-intro-main .ab-section-title { font-size:clamp(36px,5vw,72px); }
.capsor-about .ab-section-copy { color:#556570; font-size:clamp(14px,1.25vw,16px); line-height:2.25; }

/* HERO */
.capsor-about .ab-hero { overflow:hidden; position:relative; background:var(--ab-paper); isolation:isolate; }
.capsor-about .ab-hero::before { content:""; position:absolute; left:-200px; top:190px; width:560px; height:560px; border:1px solid #dce2e0; border-radius:50%; opacity:.75; pointer-events:none; }
.capsor-about .ab-hero-grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,1.11fr); gap:clamp(22px,3.5vw,60px); align-items:center; min-height:clamp(670px,68vw,790px); padding-block:65px 80px; position:relative; }
.capsor-about .ab-hero-copy { position:relative; z-index:2; min-width:0; }
.capsor-about .ab-hero-mark { font:900 clamp(86px,12vw,198px)/.78 Arial,sans-serif; letter-spacing:-.11em; color:var(--ab-ink); margin:48px 0 25px; white-space:nowrap; }
.capsor-about .ab-hero-mark>span[aria-hidden] { color:var(--ab-accent); }
.capsor-about .ab-hero-jp { font-size:clamp(30px,3.2vw,52px); letter-spacing:-.06em; margin:0 0 30px; font-weight:850; line-height:1.35; }
.capsor-about .ab-hero-description { font-size:clamp(14px,1.2vw,16px); line-height:2.25; color:#52616b; max-width:520px; margin:0; }
.capsor-about .ab-hero-buttons { display:flex; gap:14px; flex-wrap:wrap; margin-top:46px; align-items:center; }
.capsor-about .ab-pill { border-radius:90px; display:inline-flex; align-items:center; justify-content:space-between; gap:42px; padding:17px 23px; min-height:57px; background:var(--ab-navy); color:#fff; font-size:13px; font-weight:750; transition:background .3s,transform .3s; }
.capsor-about .ab-pill:hover { background:var(--ab-accent); transform:translateY(-2px); }
.capsor-about .ab-pill-secondary { background:#fff; color:#253640; border:1px solid #d9e0e1; }
.capsor-about .ab-pill-secondary:hover { background:#eef2f1; }
.capsor-about .ab-pill .ab-arrow { font:25px/1 Arial,sans-serif; }
/* Capped by width so the slanted frame stays landscape and the 4-person group photo keeps every face (approved: 600px). */
.capsor-about .ab-hero-visual { height:min(600px,42vw); position:relative; align-self:center; min-width:0; }
.capsor-about .ab-hero-visual::before { content:""; position:absolute; width:70%; height:85%; top:5%; right:-18%; background:var(--ab-accent); transform:skewX(-13deg); }
.capsor-about .ab-hero-visual::after { content:""; position:absolute; left:-4%; right:-15%; bottom:-12px; height:1px; background:#a5adb1; transform:rotate(-8deg); pointer-events:none; }
/* The navy frame colour shows instead of white if an image is slow or missing. */
.capsor-about .ab-photo-frame { position:relative; overflow:hidden; isolation:isolate; background:#253745; }
.capsor-about .ab-photo-frame .ab-image { width:100%; height:100%; max-width:none; object-fit:cover; position:absolute; inset:0; z-index:2; }
.capsor-about .ab-photo-note { position:absolute; z-index:4; bottom:20px; left:20px; color:#fff; font:700 10px/1.3 Arial,sans-serif; letter-spacing:.14em; text-shadow:0 2px 5px #0009; background:#0005; padding:9px 13px; }
/* Sofa group photo (4 people across the width): shift the focus so the slanted edges don't clip the faces on phones. */
.capsor-about .ab-hero-photo .ab-image[src*="/about/assets/people-"] { object-position:58% 50%; }
.capsor-about .ab-hero-photo { position:absolute; top:0; left:6%; width:94%; height:80%; clip-path:polygon(12% 0,100% 0,87% 100%,0 100%); box-shadow:0 25px 70px #0002; }
.capsor-about .ab-hero-photo-secondary { position:absolute; bottom:1.5%; left:-8%; width:43%; height:42%; border:9px solid var(--ab-paper); box-shadow:0 18px 40px #08172044; z-index:3; }
.capsor-about .ab-hero-counter { position:absolute; right:0; bottom:0; color:#fff; background:var(--ab-navy); padding:21px 24px; display:grid; gap:2px; min-width:156px; z-index:3; }
.capsor-about .ab-hero-counter strong { font:800 23px/.95 Arial,sans-serif; letter-spacing:-.04em; }
.capsor-about .ab-hero-counter span { font:700 10px/1.5 Arial,sans-serif; letter-spacing:.12em; color:#aebcc7; }

/* FACTS */
.capsor-about .ab-hero-bottom-strip { background:#fff; border-top:1px solid #ebeeee; border-bottom:1px solid #ebeeee; }
.capsor-about .ab-facts-row { display:grid; grid-template-columns:repeat(3,1fr); }
.capsor-about .ab-fact { display:flex; align-items:center; gap:20px; min-height:115px; padding:24px 25px; }
.capsor-about .ab-fact:not(:last-child) { border-right:1px solid var(--ab-edge); }
.capsor-about .ab-fact strong { font:900 clamp(30px,3.8vw,54px)/1 Arial,sans-serif; letter-spacing:-.065em; color:var(--ab-ink); }
.capsor-about .ab-fact strong.ab-orange { color:var(--ab-accent); }
.capsor-about .ab-fact span { font-size:12px; color:#65737a; line-height:1.6; }

/* 01 WHO WE ARE */
.capsor-about .ab-intro-section { background:#fff; padding:133px 0 140px; }
.capsor-about .ab-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,8vw,120px); }
.capsor-about .ab-intro-main .ab-lead { font-size:clamp(18px,2.05vw,28px); line-height:1.95; letter-spacing:-.045em; font-weight:750; margin:43px 0 18px; }
.capsor-about .ab-intro-desc { max-width:520px; }
.capsor-about .ab-intro-desc p { color:#51636d; font-size:15px; line-height:2.35; margin:8px 0 23px; }
.capsor-about .ab-intro-values { display:grid; gap:17px; margin-top:8px; align-self:center; }
.capsor-about .ab-intro-value { border-top:1px solid #dce2e3; display:grid; grid-template-columns:60px 1fr 30px; align-items:center; padding:25px 0; gap:17px; }
.capsor-about .ab-intro-value:last-child { border-bottom:1px solid #dce2e3; }
.capsor-about .ab-intro-value strong { font:900 26px/1 Arial,sans-serif; color:#d4dbde; }
.capsor-about .ab-intro-value b { font-size:clamp(17px,2vw,25px); letter-spacing:-.04em; }
.capsor-about .ab-intro-value span { color:var(--ab-accent); font:26px Arial,sans-serif; text-align:right; }

/* 02 PEOPLE & PLACE */
.capsor-about .ab-photos-section { padding:130px 0 142px; background:var(--ab-navy); color:#fff; overflow:hidden; }
.capsor-about .ab-photos-head { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:55px; }
.capsor-about .ab-photos-section .ab-section-title { color:#fff; margin-top:18px; }
.capsor-about .ab-photo-grid { display:grid; grid-template-columns:1.22fr .88fr .88fr; gap:18px; }
/* Top-aligned as rendered in the reference (its inline margin:0 cancels the stylesheet's staggered margin-top). */
.capsor-about .ab-photo-panel { height:410px; position:relative; }
.capsor-about .ab-photo-panel:nth-child(2) { height:358px; }
.capsor-about .ab-photo-panel:nth-child(3) { height:302px; }
/* The bundled game photo is portrait; keep the faces clear of the label in landscape frames. */
.capsor-about .ab-photo-panel:nth-child(3) .ab-image[src*="/about/assets/game-"] { object-position:50% 62%; }
.capsor-about .ab-photo-label { position:absolute; left:23px; bottom:19px; z-index:4; font:700 11px/1.5 Arial,sans-serif; letter-spacing:.1em; color:#fff; text-shadow:0 2px 7px #0009; background:#0008; padding:10px 15px; }

/* 03 OUR BUSINESS — reveal sits on .ab-business-item so the card's hover transform never fights it. */
.capsor-about .ab-business-section { background:var(--ab-cream); padding:128px 0 145px; }
.capsor-about .ab-business-heading { display:flex; justify-content:space-between; gap:55px; align-items:end; }
.capsor-about .ab-business-heading .ab-section-copy { max-width:400px; margin:0; }
.capsor-about .ab-business-list { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; margin-top:56px; }
.capsor-about .ab-business-item { display:flex; }
.capsor-about .ab-business-card { width:100%; min-height:322px; padding:33px 30px 28px; background:#fff; display:flex; flex-direction:column; border:1px solid #e7e2db; transition:transform .3s,box-shadow .3s; }
.capsor-about .ab-business-card:hover { transform:translateY(-6px); box-shadow:0 20px 42px #40382e12; }
/* Same photos, slant and number/label treatment as the published TOP's business cards. */
.capsor-about .ab-business-photo { display:block; position:relative; height:clamp(150px,13vw,200px); margin:-13px -10px 26px; background:#1d2a30; clip-path:polygon(9% 0,100% 0,91% 100%,0 100%); overflow:hidden; }
.capsor-about .ab-business-photo .ab-image { width:100%; height:100%; max-width:none; object-fit:cover; }
.capsor-about .ab-business-photo .ab-image[src*="-concept."] { filter:saturate(.76) contrast(1.03); }
.capsor-about .ab-business-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,22,30,.22),transparent 40%,rgba(10,22,30,.48)); pointer-events:none; }
.capsor-about .ab-business-card .ab-no { position:absolute; z-index:1; top:14px; right:12%; color:#fff; font:700 11px/1 Arial,sans-serif; letter-spacing:.1em; }
.capsor-about .ab-business-label { position:absolute; z-index:1; left:11%; bottom:15px; color:#fff; font:700 10px/1.2 Arial,sans-serif; letter-spacing:.14em; }
.capsor-about .ab-business-card h3 { font-size:clamp(20px,2.1vw,31px); line-height:1.4; letter-spacing:-.045em; margin:auto 0 12px; }
.capsor-about .ab-business-card p { font-size:13px; color:#60707a; line-height:2; margin:0 0 29px; }
.capsor-about .ab-business-card .ab-more { display:flex; align-items:center; justify-content:space-between; color:#b75837; font-size:12px; font-weight:750; border-top:1px solid #eaeeee; padding-top:15px; }
.capsor-about .ab-business-card .ab-more span:last-child { font-size:21px; }

/* 04 COMPANY PROFILE — rows come from the page body's <dl>. */
.capsor-about .ab-profile-section { background:#fff; padding:133px 0 142px; }
.capsor-about .ab-profile-top { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:60px; }
/* As in the reference, this also sizes the section eyebrow (both are <p>). */
.capsor-about .ab-profile-top p { color:var(--ab-muted); max-width:480px; margin:0; font-size:14px; }
.capsor-about .ab-profile-table { border-top:2px solid var(--ab-ink); margin:0; }
.capsor-about .ab-profile-table .ab-entry { display:grid; grid-template-columns:minmax(145px,27%) 1fr; border-bottom:1px solid #e1e7e8; min-height:74px; align-items:start; }
.capsor-about .ab-profile-table dt { padding:24px 20px 24px 0; color:#69767c; font-size:13px; font-weight:750; }
.capsor-about .ab-profile-table dd { margin:0; padding:22px 8px 22px 0; font-size:15px; line-height:2; font-weight:550; }
.capsor-about .ab-profile-table dd small { display:block; font-size:12px; color:#71818a; margin-top:3px; }
.capsor-about .ab-profile-table a { border-bottom:1px solid #cdd6d8; }
.capsor-about .ab-profile-table a:hover { color:var(--ab-accent); border-color:currentColor; }
.capsor-about .ab-profile-fallback { border-top:2px solid var(--ab-ink); padding-top:24px; font-size:15px; line-height:2; }
.capsor-about .ab-profile-fallback a { text-decoration:underline; }
.capsor-about .ab-profile-footer { display:flex; justify-content:flex-end; margin-top:28px; }
.capsor-about .ab-profile-footer a { font-size:12px; color:#556a79; text-decoration:underline; text-underline-offset:4px; }

/* 05 OUR OFFICES — cards come from the profile rows named "…オフィス／本社". */
.capsor-about .ab-offices-section { background:#f3f6f5; padding:126px 0 137px; }
.capsor-about .ab-office-intro { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:51px; }
.capsor-about .ab-office-intro .ab-section-copy { max-width:420px; margin:0; }
.capsor-about .ab-office-grid { display:grid; grid-template-columns:1.12fr 1fr 1fr; gap:14px; }
.capsor-about .ab-office-card { background:#fff; min-height:275px; padding:33px 30px; display:flex; flex-direction:column; border:1px solid #e5ebeb; }
.capsor-about .ab-office-card:first-child { background:var(--ab-navy); color:#fff; border-color:var(--ab-navy); }
.capsor-about .ab-office-card .ab-kind { font:700 11px/1.4 Arial,sans-serif; color:var(--ab-accent); letter-spacing:.14em; }
.capsor-about .ab-office-card h3 { font-size:clamp(19px,1.9vw,27px); letter-spacing:-.04em; margin:18px 0 10px; }
.capsor-about .ab-office-card .ab-address { font-size:13px; line-height:2.1; color:#51636d; margin:0 0 30px; }
.capsor-about .ab-office-card:first-child .ab-address { color:#b9cbd4; }
.capsor-about .ab-office-card .ab-office-tail { margin-top:auto; font-size:12px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.capsor-about .ab-office-card .ab-office-tail a { border-bottom:1px solid currentColor; }
.capsor-about .ab-office-card .ab-office-tail>span[aria-hidden] { font:25px Arial,sans-serif; color:var(--ab-accent); }

/* AWARDS — the list comes from the page body. */
.capsor-about .ab-awards-section { padding:82px 0; background:#fff; border-bottom:1px solid #e6eced; }
.capsor-about .ab-awards-row { display:grid; grid-template-columns:26% 1fr; gap:30px; align-items:center; }
.capsor-about .ab-awards-row h2 { font-size:18px; margin:0 0 8px; letter-spacing:-.04em; }
.capsor-about .ab-awards-row p { font-size:12px; color:var(--ab-muted); margin:0; }
.capsor-about .ab-award-pills { display:flex; flex-wrap:wrap; gap:9px; align-items:center; }
.capsor-about .ab-award-pills li { font-size:12px; color:#506470; padding:9px 14px; border:1px solid #dce5e8; border-radius:40px; line-height:1.7; }

/* 06 COMPANY HISTORY */
.capsor-about .ab-history-section { background:#fff; padding:120px 0 132px; }
.capsor-about .ab-history-panel { background:#142733; color:#fff; min-height:390px; padding:65px clamp(30px,6vw,75px); display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.65fr); gap:45px; align-items:center; overflow:hidden; position:relative; }
.capsor-about .ab-history-panel::after { content:""; position:absolute; width:660px; height:660px; border:1px solid #446274; right:-250px; top:-170px; border-radius:50%; pointer-events:none; }
.capsor-about .ab-history-panel h2 { font-size:clamp(28px,3.4vw,51px); line-height:1.45; letter-spacing:-.055em; margin:19px 0; }
.capsor-about .ab-history-panel p { color:#b6cbd5; font-size:14px; max-width:460px; margin:0; }
.capsor-about .ab-history-panel .ab-eyebrow { color:#afc4cd; }
.capsor-about .ab-history-right { display:flex; align-items:center; gap:18px; justify-content:flex-end; z-index:1; flex-wrap:wrap; }
.capsor-about .ab-history-year { font:900 clamp(94px,10vw,157px)/.86 Arial,sans-serif; letter-spacing:-.095em; color:var(--ab-accent); }
.capsor-about .ab-outline-link { display:flex; gap:23px; align-items:center; border:1px solid #65808e; padding:15px 19px; font-size:13px; font-weight:750; white-space:nowrap; }
.capsor-about .ab-outline-link:hover { background:var(--ab-accent); border-color:var(--ab-accent); }

@media(max-width:1180px) {
  .capsor-about .ab-hero-mark { font-size:clamp(74px,10vw,140px); }
  .capsor-about .ab-hero-visual { height:min(510px,42vw); }
  .capsor-about .ab-hero-photo-secondary { width:45%; }
  .capsor-about .ab-hero-grid { min-height:620px; }
  .capsor-about .ab-photo-panel { height:365px; }
  .capsor-about .ab-photo-panel:nth-child(2) { height:324px; }
  .capsor-about .ab-photo-panel:nth-child(3) { height:280px; }
}
@media(max-width:950px) {
  .capsor-about .ab-hero-grid { grid-template-columns:1fr; gap:34px; padding-top:75px; padding-bottom:65px; min-height:auto; }
  .capsor-about .ab-hero-mark { font-size:clamp(83px,16vw,140px); margin-top:28px; }
  .capsor-about .ab-hero-visual { height:min(70vw,570px); }
  .capsor-about .ab-hero-visual::before { right:-7%; }
  .capsor-about .ab-hero-photo { left:12%; width:84%; }
  .capsor-about .ab-hero-photo-secondary { left:3%; height:37%; }
  .capsor-about .ab-hero-counter { right:3%; }
  .capsor-about .ab-intro-grid { gap:44px; }
  .capsor-about .ab-photo-grid { grid-template-columns:1.1fr 1fr; }
  .capsor-about .ab-photo-panel:nth-child(3) { display:none; }
  .capsor-about .ab-business-list { gap:10px; }
  .capsor-about .ab-business-card { padding:24px; min-height:300px; }
  .capsor-about .ab-office-grid { grid-template-columns:1fr 1fr; }
  .capsor-about .ab-office-card:first-child { grid-column:1/-1; min-height:220px; }
  .capsor-about .ab-history-panel { grid-template-columns:1fr; }
  .capsor-about .ab-history-right { justify-content:space-between; }
}
@media(max-width:700px) {
  body.capsor-about { --ab-gutter:24px; }
  .capsor-about .ab-hero-grid { padding-top:55px; padding-bottom:67px; }
  .capsor-about .ab-hero-mark { font-size:clamp(67px,17vw,105px); margin:26px 0 23px; }
  .capsor-about .ab-hero-jp { font-size:33px; margin-bottom:22px; }
  .capsor-about .ab-hero-description { font-size:14px; }
  .capsor-about .ab-hero-buttons { margin-top:31px; }
  .capsor-about .ab-pill { gap:18px; min-height:53px; padding:15px 18px; font-size:12px; }
  .capsor-about .ab-hero-visual { height:clamp(300px,80vw,485px); margin-left:-4px; }
  .capsor-about .ab-hero-photo { top:0; left:9%; width:91%; height:78%; }
  .capsor-about .ab-hero-photo-secondary { bottom:3%; left:-2%; width:48%; height:38%; border-width:7px; }
  .capsor-about .ab-hero-counter { min-width:119px; padding:15px 18px; right:0; bottom:1%; }
  .capsor-about .ab-hero-counter strong { font-size:20px; }
  .capsor-about .ab-photo-note { font-size:8px; bottom:14px; left:14px; }
  .capsor-about .ab-facts-row { grid-template-columns:1fr; gap:0; }
  .capsor-about .ab-fact { min-height:84px; padding:17px 0; }
  .capsor-about .ab-fact:not(:last-child) { border-right:0; border-bottom:1px solid var(--ab-edge); }
  .capsor-about .ab-fact strong { font-size:36px; min-width:108px; }
  .capsor-about .ab-intro-section, .capsor-about .ab-photos-section, .capsor-about .ab-business-section, .capsor-about .ab-profile-section, .capsor-about .ab-offices-section { padding-block:87px 94px; }
  .capsor-about .ab-intro-grid { grid-template-columns:1fr; gap:22px; }
  .capsor-about .ab-intro-main .ab-lead { margin-top:25px; font-size:20px; }
  .capsor-about .ab-intro-value { padding:18px 0; grid-template-columns:43px 1fr 22px; }
  .capsor-about .ab-intro-value strong { font-size:22px; }
  .capsor-about .ab-intro-value b { font-size:20px; }
  .capsor-about .ab-photos-head, .capsor-about .ab-business-heading, .capsor-about .ab-profile-top, .capsor-about .ab-office-intro { display:block; }
  .capsor-about .ab-photos-section .ab-section-title { font-size:min(42px,calc((100vw - 48px) / 7.6)); }
  .capsor-about .ab-section-title, .capsor-about .ab-intro-main .ab-section-title { font-size:min(36px,calc((100vw - 48px) / 7.8)); }
  .capsor-about .ab-business-heading .ab-section-copy, .capsor-about .ab-profile-top p, .capsor-about .ab-office-intro .ab-section-copy { margin-top:20px; }
  .capsor-about .ab-photo-grid { grid-template-columns:1fr; gap:12px; }
  .capsor-about .ab-photo-panel, .capsor-about .ab-photo-panel:nth-child(2), .capsor-about .ab-photo-panel:nth-child(3) { display:block; height:280px; }
  .capsor-about .ab-photo-panel:first-child { height:345px; }
  .capsor-about .ab-photo-panel:nth-child(3) { height:230px; }
      .capsor-about .ab-business-list { grid-template-columns:1fr; margin-top:30px; gap:10px; }
  .capsor-about .ab-business-card { min-height:240px; }
  .capsor-about .ab-business-photo { height:clamp(160px,46vw,240px); clip-path:polygon(7% 0,100% 0,93% 100%,0 100%); }
  .capsor-about .ab-business-card h3 { font-size:26px; }
  .capsor-about .ab-business-card p { margin-bottom:18px; }
  .capsor-about .ab-profile-top { margin-bottom:34px; }
  .capsor-about .ab-profile-table .ab-entry { grid-template-columns:1fr; gap:0; padding:19px 0; min-height:unset; }
  .capsor-about .ab-profile-table dt { padding:0 0 7px; font-size:12px; }
  .capsor-about .ab-profile-table dd { padding:0; font-size:14px; }
  .capsor-about .ab-office-grid { grid-template-columns:1fr; }
  .capsor-about .ab-office-card:first-child { grid-column:auto; }
  .capsor-about .ab-office-card { min-height:220px; padding:27px; }
  .capsor-about .ab-awards-section { padding:50px 0; }
  .capsor-about .ab-awards-row { grid-template-columns:1fr; gap:18px; }
  .capsor-about .ab-history-section { padding:90px 0; }
  .capsor-about .ab-history-panel { padding:42px 28px; gap:30px; min-height:380px; }
  .capsor-about .ab-history-panel h2 { font-size:min(34px,calc((100vw - 104px) / 8.8)); }
  .capsor-about .ab-history-right { justify-content:space-between; align-items:end; }
  .capsor-about .ab-history-year { font-size:100px; }
}
@media(max-width:375px) {
  .capsor-about .ab-hero-mark { font-size:65px; }
  .capsor-about .ab-pill { font-size:11px; }
  .capsor-about .ab-hero-photo-secondary { width:50%; }
  .capsor-about .ab-hero-counter { right:0; min-width:105px; }
  .capsor-about .ab-hero-jp { font-size:29px; }
  .capsor-about .ab-photo-panel:first-child { height:295px; }
}
@media print {
  .capsor-about .ab-hero, .capsor-about .ab-photos-section, .capsor-about .ab-history-panel { print-color-adjust:exact; }
}
