/* About：会社情報を読み進めやすい、落ち着いた編集レイアウト。 */
.about-page { color:#252b26; background:#fafaf7; letter-spacing:.025em; }
.ab-wrap { max-width:1220px; margin:auto; padding:0 48px; }
.ab-section { padding:92px 0; }
.ab-label { font:11px/1.6 var(--en); letter-spacing:.15em; color:#6b786b; margin-bottom:24px; }
.about-page h1,.about-page h2,.about-page h3,.about-page p { margin:0; }
.about-page h2 { font-size:clamp(29px,3.4vw,44px); font-weight:500; line-height:1.55; letter-spacing:.025em; }
.about-page h3 { font-weight:500; line-height:1.6; }
.about-page p { color:#626d62; font-size:15px; line-height:2; }
.ab-hero { padding-top:125px; padding-bottom:0; }
.ab-crumb { display:flex; gap:16px; font:10px var(--en); color:#7a847a; letter-spacing:.1em; margin-bottom:68px; }
.ab-hero h1 { font-size:clamp(36px,4.8vw,65px); font-weight:500; line-height:1.5; letter-spacing:.015em; }
.ab-hero h1 span { color:#7c8b77; }
.ab-hero-bottom { display:flex; align-items:end; justify-content:space-between; gap:36px; margin:36px 0 56px; }
.ab-hero-bottom p { font-size:16px; }
.ab-locations { display:flex; gap:23px; font:10px var(--en); letter-spacing:.12em; color:#788470; padding-bottom:6px; }
.ab-locations span::before { content:''; display:inline-block; width:5px; height:5px; background:#8a9e7d; border-radius:50%; margin-right:8px; vertical-align:1px; }
.ab-jumps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d8dfd3; border-bottom:1px solid #d8dfd3; }
.ab-jumps a { padding:23px 20px; font-size:13px; display:flex; align-items:center; justify-content:space-between; gap:16px; transition:background .2s; }
.ab-jumps a:first-child { padding-left:0; } .ab-jumps a+a { border-left:1px solid #d8dfd3; }
.ab-jumps a:hover { background:#eef2e9; }
.ab-jumps span { color:#788c6c; }
.ab-split { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.ab-prose p+p { margin-top:20px; }
.about-page .ab-lead { color:#303b2e; font-size:24px; line-height:1.8; margin-bottom:24px; }
.ab-vision { border-bottom:1px solid #dfe4db; }
.ab-message { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.ab-quote-mark { font:100px/.8 Georgia,serif; color:#b4c3a6; display:block; height:55px; }
.ab-message blockquote { font-size:clamp(27px,3vw,40px); line-height:1.7; font-weight:500; margin:0; }
.ab-message blockquote span { color:#78896e; }
.ab-signature { margin-top:32px!important; padding-top:22px; border-top:1px solid #d6ddd0; max-width:350px; }
.ab-signature small { display:block; font-size:11px; }
.ab-signature strong { display:block; font-size:23px; font-weight:500; margin-top:6px; color:#2c3429; }
.about-page .ab-message-title { font-size:26px; margin-bottom:24px; }
.ab-details { margin-top:26px; border-top:1px solid #d6ddd0; border-bottom:1px solid #d6ddd0; }
.ab-details summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 0; font-size:13px; }
.ab-details summary::-webkit-details-marker { display:none; }
.ab-details[open] summary span { transform:rotate(45deg); }
.ab-details p { font-size:13px; padding-bottom:20px; }
.ab-team-section { background:#edf1e8; }
.ab-section-head { display:flex; justify-content:space-between; align-items:end; gap:60px; margin-bottom:42px; }
.ab-section-head>p { font-size:14px; }
.ab-disciplines { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; border-top:1px solid #cbd5c2; padding-top:28px; }
.ab-disciplines span,.ab-base-row small { font:10px var(--en); color:#6e8162; letter-spacing:.1em; }
.ab-disciplines h3 { font-size:21px; margin:16px 0 12px; }
.ab-disciplines p { font-size:13px; }
.ab-link { display:inline-flex; gap:50px; padding:12px 0; border-bottom:1px solid #6b805d; font-size:13px; margin-top:26px; }
.ab-link:hover span { transform:translateX(4px); }
.ab-base-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #cbd5c2; margin-top:52px; padding-top:26px; gap:32px; }
.ab-base-row h3 { font-size:24px; margin-top:10px; }
.ab-base-row h3 span { font:12px var(--en); color:#7b8872; margin-left:12px; }
.about-page .ab-preparing { font-size:11px; margin-top:26px; color:#798471; }
.ab-profile-layout { display:grid; grid-template-columns:1fr 1.65fr; gap:80px; align-items:start; }
.ab-profile-heading { position:sticky; top:120px; }
.ab-profile-heading p { font:12px var(--en); margin-top:20px; color:#85917c; }
.ab-profile { margin:0; border-top:1px solid #cbd4c3; }
.ab-profile>div { display:grid; grid-template-columns:125px 1fr; gap:20px; padding:23px 0; border-bottom:1px solid #dce2d6; }
.ab-profile dt { color:#73816a; font-size:12px; padding-top:2px; }
.ab-profile dd { margin:0; font-size:15px; line-height:1.9; }
.ab-profile dd small { display:block; font:11px var(--en); color:#7f8b76; margin-top:7px; }
.ab-profile dd a { display:flex; justify-content:space-between; gap:14px; padding:4px 0; }
.ab-profile dd a:hover { color:#577440; }
.ab-profile dd .ab-inline-link { display:inline-flex; margin-top:10px; font-size:11px; border-bottom:1px solid #9baa8f; }
.ab-access { padding-bottom:60px; }
.ab-access-box { display:grid; grid-template-columns:1fr 1fr; gap:64px; border:1px solid #d6dfcf; border-radius:12px; padding:48px; background:#f1f4ec; }
.ab-access-box h2 { font-size:34px; }
.ab-access-box p { margin-top:22px; font-size:14px; }
.ab-button { display:inline-flex; align-items:center; justify-content:center; gap:40px; background:#2c3927; color:#fff; border-radius:32px; padding:18px 26px; font-size:13px; transition:background .2s,transform .2s; }
.ab-button:hover { background:#4a603e; transform:translateY(-2px); }
.ab-access-box .ab-button { margin-top:26px; }
.ab-access-directions { align-self:center; }
.ab-access-directions article { padding:24px 0; border-top:1px solid #c9d4bf; }
.ab-access-directions article>span { font:10px var(--en); color:#7b8b70; letter-spacing:.1em; }
.ab-access-directions h3 { font-size:23px; margin-top:12px; }
.ab-access-directions p { font-size:13px; margin-top:10px; }
.ab-publications { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding-top:12px; padding-bottom:64px; }
.ab-publications>div { border-top:1px solid #d9e0d2; padding-top:20px; }
.ab-publications span { font:10px var(--en); letter-spacing:.1em; color:#8b9683; }
.ab-publications h3 { font-size:17px; margin:10px 0 6px; }
.ab-publications p { font-size:12px; }
.ab-contact { padding:65px 0; background:#e2e9da; }
.ab-contact>.ab-wrap { display:flex; align-items:center; justify-content:space-between; gap:36px; }
.ab-contact h2 { font-size:clamp(28px,3.3vw,42px); }
.ab-contact .ab-button { flex-shrink:0; }
.about-page :is(a,summary):focus-visible { outline:3px solid #6a8655; outline-offset:5px; }
@media(max-width:800px) {
 .ab-wrap { padding-left:24px; padding-right:24px; } .ab-section { padding:60px 0; }
 .ab-hero { padding-top:110px; } .ab-crumb { margin-bottom:40px; }
 .ab-hero h1 { font-size:clamp(30px,6vw,48px); }
 .ab-hero-bottom { display:block; margin:28px 0 32px; } .ab-hero-bottom p { font-size:14px; } .ab-locations { margin-top:24px; gap:16px; font-size:9px; }
 .ab-jumps { grid-template-columns:1fr; } .ab-jumps a,.ab-jumps a:first-child { padding:16px 0; } .ab-jumps a+a { border-left:0; border-top:1px solid #d8dfd3; }
 .ab-split,.ab-message,.ab-profile-layout { grid-template-columns:1fr; gap:32px; }
 .ab-section-head { display:block; } .ab-section-head>p { margin-top:22px; }
 .ab-disciplines { grid-template-columns:1fr; gap:26px; }
 .ab-base-row { grid-template-columns:1fr; gap:22px; } .ab-base-row>div+div { border-top:1px solid #d4ddcc; padding-top:18px; }
 .ab-profile-heading { position:static; }
 .ab-profile>div { grid-template-columns:80px 1fr; gap:14px; } .ab-profile dd { font-size:13px; overflow-wrap:anywhere; }
 .ab-access-box { grid-template-columns:1fr; padding:28px 24px; gap:24px; } .ab-access-box h2 { font-size:29px; }
 .ab-publications { gap:24px; } .ab-publications p { font-size:11px; }
 .ab-contact>.ab-wrap { display:block; } .ab-contact .ab-button { margin-top:28px; }
}
@media(prefers-reduced-motion:reduce) { .about-page * { transition:none!important; } }

/* Development team: supplied photo and confirmed 32-person structure. */
.ab-team-intro{display:grid;grid-template-columns:1.6fr 1fr;align-items:center;gap:50px;margin-bottom:46px}.ab-team-intro>div>p{font-size:15px;line-height:2;color:#626d62;margin:26px 0 0}.ab-team-count{border-left:1px solid #bfccb6;padding-left:50px}.ab-team-count>span{font:10px var(--en);letter-spacing:.16em;color:#748169}.ab-team-count p{display:flex;align-items:baseline;gap:16px;margin:12px 0!important;line-height:1!important}.ab-team-count strong{font:400 clamp(100px,12vw,156px)/1 var(--en);letter-spacing:-.07em;color:#34442b}.ab-team-count b{font-size:21px;font-weight:500;color:#34442b}.ab-team-count small{font-size:12px;color:#626d62}.ab-team-photo{margin:0 0 46px}.ab-team-photo img{display:block;width:100%;height:auto;border-radius:16px}.ab-team-photo figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:16px;font:10px var(--en);letter-spacing:.1em;color:#6c7763}.ab-team-photo figcaption span{font-family:var(--jp);letter-spacing:.04em}.ab-team-statement{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;align-items:center;padding:0 0 36px}.ab-team-statement h3{font-size:27px;line-height:1.6;margin:0;font-weight:500}.ab-team-statement p{font-size:15px;line-height:2;color:#626d62;margin:0}
@media(max-width:800px){.ab-team-intro{grid-template-columns:1fr;gap:28px;margin-bottom:30px}.ab-team-count{padding:24px 0 0;border-left:0;border-top:1px solid #bfccb6}.ab-team-count strong{font-size:100px}.ab-team-intro>div>p{font-size:14px}.ab-team-intro br{display:none}.ab-team-photo figcaption{flex-direction:column;gap:8px;font-size:9px}.ab-team-photo img{border-radius:10px}.ab-team-statement{grid-template-columns:1fr;gap:20px;padding-bottom:24px}.ab-team-statement p{font-size:14px}}

/* Representative portrait and full message. */
.ab-president-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}.ab-president-photo{margin:0}.ab-president-photo img{display:block;width:100%;height:auto;border-radius:4px}.ab-president-copy{padding:12px 0}.about-page .ab-president-copy h2{font-size:28px;margin:0 0 30px}.ab-president-copy blockquote{font-size:clamp(22px,2.15vw,29px);line-height:1.7;letter-spacing:0;font-weight:500;margin:0 0 18px}.ab-president-copy blockquote span{color:#78896e}.ab-president-opening{font-size:14px;line-height:2;color:#505b4b;margin:0 0 26px}.ab-president-body p{font-size:14px;line-height:2.15;color:#626d62;margin:0 0 18px}.ab-president-copy .ab-signature{margin-bottom:0;max-width:none}.ab-president-copy .ab-label{margin-bottom:16px}
@media(max-width:800px){.ab-president-layout{grid-template-columns:1fr;gap:32px}.ab-president-photo{max-width:440px;width:100%;margin:auto}.ab-president-copy{padding:0}.about-page .ab-president-copy h2{font-size:26px;margin-bottom:24px}.ab-president-copy blockquote{font-size:23px}.ab-president-body p{font-size:14px}}

/* User-provided company logos, preserving the original artwork. */
.ab-partners{background:#fff;border-top:1px solid #e0e5dc;margin-bottom:56px}.about-page .ab-partners h2{font-size:clamp(24px,3vw,38px);letter-spacing:0}.ab-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:46px;align-items:center}.ab-partner-logo{overflow:hidden;min-width:0;background:#fff;padding:20px 0}.ab-partner-logo img{display:block;width:400%;max-width:none;height:auto;transform:translateX(var(--logo-offset))}
@media(max-width:800px){.ab-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px;margin-top:28px}.ab-partner-logo{padding:12px 0}}
/* Recruitment introduction; specific terms provided on inquiry. */
.ab-careers{background:#e9eee3;border-top:1px solid #d5dfcc}.ab-careers-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:72px;align-items:start}.about-page .ab-careers h2{font-size:clamp(28px,3.4vw,44px);letter-spacing:0}.ab-careers-grid>div>p{font-size:14px;line-height:2;color:#5f6e54;margin:22px 0}.ab-careers-grid>div>p.ab-careers-lead{font-size:17px;color:#34452d}.ab-careers .ab-button{margin-top:12px}.ab-careers-info{padding:34px;background:#f9faf6;border:1px solid #d5dfcc;border-radius:18px}.ab-careers-info>span{font:10px var(--en);letter-spacing:.15em;color:#758669}.ab-careers-info h3{font-size:25px;font-weight:500;line-height:1.6;margin:22px 0}.ab-careers-info ul{padding:0;list-style:none;margin:0}.ab-careers-info li{font-size:13px;line-height:1.8;padding:12px 0;border-bottom:1px solid #e1e7da}.ab-careers-info>p{font-size:12px!important}.ab-careers-detail{margin-top:28px}.ab-careers-detail h4{font-size:13px;font-weight:500;margin:0 0 10px}.ab-careers-detail p{font-size:12px;line-height:1.9;color:#69775f;margin:0}
@media(max-width:800px){.ab-careers-grid{grid-template-columns:1fr;gap:32px}.ab-careers-info{padding:26px}.ab-careers-grid>div>p.ab-careers-lead{font-size:15px}}
/* Investor inquiries, without unconfirmed funding terms. */
.ab-investors{background:#20291f;color:#f5f7f1}.ab-investors-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;align-items:center}.ab-investors .ab-label{color:#b5c6a8}.about-page .ab-investors h2{font-size:clamp(30px,3.6vw,46px);color:#f5f7f1}.ab-investors-grid>div>p{font-size:14px;line-height:2;color:#c1ccba;margin:24px 0 0}.ab-investors-grid>div>p.ab-investors-lead{font-size:18px;color:#edf2e8}.ab-investors-inquiry{border-left:1px solid #53614b;padding-left:42px}.ab-investors-inquiry h3{font-size:25px;line-height:1.6;font-weight:500;margin:0}.ab-investors .ab-button{background:#e8efdf;color:#24301e;margin-top:28px;font-size:12px;gap:18px;padding:18px 22px}.ab-investors .ab-button:hover{background:#d8e5ca}.ab-investors-inquiry p.ab-investors-note{font-size:11px;color:#a8b49f;margin-top:18px}
@media(max-width:800px){.ab-investors-grid{grid-template-columns:1fr;gap:32px}.ab-investors-inquiry{border-left:0;border-top:1px solid #53614b;padding:30px 0 0}.ab-investors-grid>div>p.ab-investors-lead{font-size:16px}.ab-investors-lead br{display:none}.ab-investors .ab-button{font-size:11px;padding:18px;gap:12px}}

/* 日本のルーツと世界への意志を、最初の画面に。 */
.ab-hero .ab-crumb{margin-bottom:38px}.ab-brand-intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:64px;padding-bottom:48px}.ab-brand-copy h1{font-size:clamp(36px,4.4vw,60px);line-height:1.4}.ab-brand-copy h1 span{color:#173953}.ab-brand-copy .ab-brand-lead{font-size:18px;color:#173953;margin:24px 0 18px;font-weight:500}.ab-brand-copy>p:not(.ab-brand-lead){font-size:14px;line-height:2;margin-top:14px}.ab-brand-mark{margin:0;text-align:center}.ab-brand-mark img{display:block;width:100%;height:auto;filter:url(#crest-navy);clip-path:inset(1px);}.ab-brand-mark figcaption{font:400 25px var(--en);letter-spacing:.25em;color:#173953;margin-top:22px}.ab-brand-mark figcaption span{display:block;font-size:8px;letter-spacing:.16em;margin-top:14px}
@media(max-width:800px){.ab-brand-intro{grid-template-columns:1fr;gap:32px}.ab-brand-mark{width:min(72%,320px);margin:auto}.ab-brand-copy .ab-brand-lead{font-size:16px}.ab-brand-copy>p:not(.ab-brand-lead){font-size:13px}.ab-hero .ab-crumb{margin-bottom:28px}}

/* 家紋と見出しに同じ紺色を使い、触れると静かに浮かぶ。 */
.ab-brand-copy h1 span{color:rgb(6,37,70)}
.ab-brand-mark{perspective:1000px}
.ab-brand-mark img{transition:transform .8s cubic-bezier(.2,.65,.25,1);transform-origin:center;will-change:auto}
@media(hover:hover) and (pointer:fine){.ab-brand-mark:hover img{transform:translateY(-10px) rotateY(-9deg) rotateZ(-2deg) scale(1.025)}}
@media(prefers-reduced-motion:reduce){.ab-brand-mark img{transition:none}.ab-brand-mark:hover img{transform:none}}

/* Give longer inquiry labels room without shrinking the text. */
.ab-button{max-width:100%;box-sizing:border-box;line-height:1.7;text-align:center}
.ab-button>span{flex-shrink:0}
@media(max-width:800px){
 .ab-investors .ab-button{display:flex;width:100%;font-size:13px;padding:18px 20px;gap:14px}
}

/* Founder signature: locally hosted Japanese handwriting font. */
@font-face{font-family:"Legaliss Signature";src:url("president-signature.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
.ab-signature strong.ab-signature-name{font-family:"Legaliss Signature","YuKyokasho",serif;font-size:clamp(30px,3vw,38px);font-weight:400;line-height:1.6;letter-spacing:.12em;margin-top:10px}
.ab-signature .ab-signature-roman{display:block;font-family:Arial,sans-serif;font-size:11px;font-weight:400;line-height:1.8;letter-spacing:.2em;color:#626d62;margin-top:6px}
