/* Architecture Office 専用スタイル（corp.css を前提に追加） */

.ao-nav{display:flex;gap:26px;align-items:center;font-weight:700;font-size:.92rem}
@media(max-width:900px){.ao-nav a:not(.cta){display:none}}

/* HERO */
.ao-hero{background:linear-gradient(170deg,var(--cloud) 0%,#fff 72%);border-bottom:1px solid var(--line);padding:72px 0 58px}
.ao-eyebrow{font-weight:800;font-size:.76rem;letter-spacing:.26em;color:var(--red);margin-bottom:18px}
.ao-hero h1{font-size:clamp(2.1rem,6vw,4rem);line-height:1.5;letter-spacing:.02em}
.ao-hero h1 .r{color:var(--red)}
.ao-sub{margin-top:18px;font-size:clamp(1rem,2vw,1.2rem);font-weight:700;color:var(--ink)}
.ao-story{margin-top:16px;color:var(--ink-mut);line-height:2.2}
.ao-story b{color:var(--ink)}
.ao-cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ao-facts{margin-top:44px;padding-top:26px;border-top:1px solid var(--line);display:flex;gap:34px;flex-wrap:wrap}
.af{display:flex;align-items:baseline;gap:8px}
.af b{font-size:1.8rem;font-weight:800;color:var(--red);line-height:1;font-variant-numeric:tabular-nums}
.af span{font-size:.84rem;font-weight:700;color:var(--ink)}
.af small{display:block;font-size:.72rem;font-weight:500;color:var(--ink-soft);margin-top:3px}

/* 症状 */
.ao-sympt{margin-top:34px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:760px){.ao-sympt{grid-template-columns:1fr}}
.sy{background:var(--cloud);border-radius:12px;padding:16px 20px;font-weight:700;font-size:.94rem;line-height:1.85;color:var(--ink);position:relative}
.sy .q{color:var(--red);font-size:1.4rem;font-weight:800;margin-right:.3em;line-height:1}
.ao-concl{margin-top:30px;font-size:1.05rem;line-height:2.1;color:var(--ink)}
.ao-concl b{color:var(--red)}

/* 構造の連鎖 */
.ao-chain{margin:30px 0 8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ao-chain span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:.88rem;font-weight:700;color:var(--ink-mut)}
.ao-chain span.on{background:var(--red);border-color:var(--red);color:#fff}
.ao-chain i{color:var(--red);font-style:normal;font-weight:800}
@media(max-width:640px){.ao-chain span{font-size:.78rem;padding:7px 13px}}

/* 違いの表 */
.ao-diff{margin-top:32px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ao-diff .dh{background:var(--ink);color:#fff;font-weight:800;font-size:.82rem;letter-spacing:.1em;padding:13px 22px}
.ao-diff table{width:100%;border-collapse:collapse;font-size:.92rem}
.ao-diff th,.ao-diff td{text-align:left;padding:15px 22px;border-bottom:1px solid var(--line);line-height:1.85;vertical-align:top}
.ao-diff thead th{background:var(--cloud2);font-size:.76rem;letter-spacing:.06em;color:var(--ink-soft);font-weight:800}
.ao-diff tbody th{font-weight:700;color:var(--ink);width:24%}
.ao-diff tbody td{color:var(--ink-mut)}
.ao-diff tbody td:last-child{color:var(--ink)}
.ao-diff tbody td b{color:var(--red)}
.ao-diff tbody tr:last-child th,.ao-diff tbody tr:last-child td{border-bottom:none}
@media(max-width:760px){.ao-diff{overflow-x:auto}.ao-diff table{min-width:640px}}
.ao-tech{margin-top:26px;font-size:.86rem;color:var(--ink-mut);line-height:2}
.ao-tech .en-tags{display:block;margin-top:8px;font-size:.7rem;letter-spacing:.1em;color:var(--ink-soft);font-weight:700}

/* 3つの段階 */
.ao-steps{margin-top:40px;display:flex;flex-direction:column;gap:18px}
.st{display:flex;gap:22px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:14px;padding:26px 28px}
@media(max-width:640px){.st{padding:22px 20px;gap:14px}}
.sn{flex:none;font-weight:800;font-size:1.5rem;color:var(--red);line-height:1;font-variant-numeric:tabular-nums}
.sb{flex:1;min-width:0}
.sb h3{font-size:1.32rem;margin-bottom:10px}
.sb h3 small{display:block;font-size:.66rem;letter-spacing:.16em;color:var(--ink-soft);font-weight:800;margin-top:4px}
.sb p{color:var(--ink-mut);line-height:2.05;font-size:.96rem}
.sb p b{color:var(--ink)}
.sb ul{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.sb ul li{background:var(--cloud);border-radius:8px;padding:7px 14px;font-size:.82rem;font-weight:700;color:var(--ink-mut)}
.sb ul li b{color:var(--red)}
.ao-price{margin-top:26px;background:var(--red-soft);border-radius:12px;padding:18px 22px;font-size:.96rem;line-height:2;color:var(--ink)}
.ao-price b{color:var(--red)}

/* 中立性（ダーク） */
#neutral .ao-note-d{margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);color:#C7CDD6;line-height:2.1;font-size:.96rem}
#neutral .ao-note-d b{color:#fff}

/* 場面 */
.ao-scenes{margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.ao-scenes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ao-scenes{grid-template-columns:1fr}}
.sc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;box-shadow:0 14px 40px -34px rgba(29,37,48,.5)}
.sc h3{font-size:1.02rem;margin-bottom:8px;color:var(--ink)}
.sc p{font-size:.88rem;color:var(--ink-mut);line-height:1.95}
.sc p b{color:var(--red)}

/* なぜフォービスか */
.ao-why{margin-top:34px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:760px){.ao-why{grid-template-columns:1fr}}
.wy{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px}
.wy .k{display:block;font-weight:800;color:var(--red);font-size:.95rem;margin-bottom:8px}
.wy p{font-size:.9rem;color:var(--ink-mut);line-height:1.95}
.ao-case{margin-top:26px;background:var(--ink);color:#C7CDD6;border-radius:16px;padding:30px 32px}
@media(max-width:640px){.ao-case{padding:24px 20px}}
.ao-case .ck{font-size:.68rem;font-weight:800;letter-spacing:.2em;color:#FFB3B3;margin-bottom:10px}
.ao-case h3{color:#fff;font-size:clamp(1.1rem,2.6vw,1.5rem);line-height:1.7;margin-bottom:12px}
.ao-case h3 .r{color:#FF8080}
.ao-case p{line-height:2.1;font-size:.94rem}
.ao-case p b{color:#fff}
.ao-links{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}

/* 相談 */
.ao-contact{margin-top:28px;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.ao-contact .tel{font-size:.86rem;color:var(--ink-mut);font-weight:700}
.ao-contact .tel b{display:block;font-size:1.45rem;color:var(--ink);letter-spacing:.02em}
.ao-contact .tel small{display:block;font-size:.72rem;font-weight:500;color:var(--ink-soft);margin-top:2px}

/* 狭幅：ロゴとCTAの衝突を防ぐ（このページはハンバーガーを持たないため個別に調整） */
@media(max-width:560px){
  .bar .wrap{height:62px}
  .bar .logo img{height:21px}
  .ao-nav .cta{white-space:nowrap;padding:.55em 1.15em;font-size:.84rem;box-shadow:none}
}

/* 節間の余白を圧縮（このページは1節あたりの情報量が少なめのため） */
.sec{padding:74px 0}
@media(max-width:640px){.sec{padding:56px 0}}

/* 概念図 */
.ao-fig{margin:34px 0 0;background:var(--cloud);border:1px solid var(--line);border-radius:14px;padding:24px 22px 18px;overflow-x:auto}
.ao-fig .af-cap{font-size:.74rem;font-weight:800;letter-spacing:.14em;color:var(--ink-soft);margin-bottom:14px}
.ao-fig svg{display:block;width:100%;min-width:620px;height:auto}
.ao-fig .af-note{margin-top:14px;font-size:.86rem;color:var(--ink-mut);line-height:1.95}
.ao-fig .af-note b{color:var(--ink)}
