/* ============================================================
   Company（会社のページ）。About・Team をまとめた 2026-10。washi.css の上に重ねる
   ミッション → 社名の由来（原子・原始）→ FDE の進め方 → 経営陣 → 会社概要 → 提携 → 採用とお問い合わせ
   ============================================================ */
.co-sec { position: relative; padding: 120px 0; }
.co-mission, .co-fde, .wz main > .info-section, .co-next { background: var(--washi); }
.co-name, .wz main > .co-team, .wz main > .partners-section { background: var(--washi-2); }

/* ミッション：左に文、右に版画 */
.co-mission-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.co-mission .mission-content { max-width: none; margin: 0; }
.co-mission-art { margin: 0; max-width: 500px; justify-self: end; width: 100%; }
.co-mission-art img, .co-fde-art img { width: 100%; height: auto; display: block; border-radius: 6px; box-shadow: 0 40px 80px -50px rgba(70, 30, 0, .6); }

/* 社名の由来：原子と原始を、版画つきの2枚で */
.co-name .feynman-quote-block { margin-top: 8px; }
.co-meanings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 56px; }
.co-meaning { background: var(--paper); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.co-meaning:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -36px rgba(70, 30, 0, .5); }
.co-meaning figure { margin: 0; aspect-ratio: 3 / 2; overflow: hidden; border-bottom: 1px solid var(--line); }
.co-meaning figure img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.4s var(--ease); }
.co-meaning:hover figure img { transform: scale(1.05); }
.co-meaning-body { padding: 28px 32px 34px; }
.co-meaning-title { display: flex; align-items: baseline; gap: 16px; margin: 0; }
.co-meaning-title b { font-family: var(--mincho); font-size: 3rem; font-weight: 700; line-height: 1; color: var(--orange); letter-spacing: .04em; }
.co-meaning-title span { font-size: .78rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--teal-deep); }
.co-meaning-body p { margin-top: 16px; color: var(--body); line-height: 2; font-size: .98rem; }

/* FDE：左に版画、右に3つの手順 */
.co-fde .section-lead { max-width: 780px; }
.co-fde-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; align-items: center; margin-top: 52px; }
.co-fde-art { margin: 0; max-width: 520px; width: 100%; }
.co-fde-steps { list-style: none; display: grid; border-top: 1px solid var(--line-strong); }
.co-fde-steps li { display: grid; grid-template-columns: 58px 1fr; gap: 14px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.co-fde-steps em { font-family: var(--mincho); font-style: normal; font-weight: 700; font-size: 2.5rem; line-height: 1; color: var(--orange); -webkit-text-stroke: .055em currentColor; } /* 明朝の横画は細いので、トップの「つくり方」と同じく太らせる */
.co-fde-steps b { display: block; font-size: 1.18rem; margin-bottom: .35rem; }
.co-fde-steps p { color: var(--body); line-height: 1.9; font-size: .95rem; }

/* 採用とお問い合わせ */
.co-cta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.co-cta { position: relative; display: block; overflow: hidden; border-radius: 22px; padding: 44px 44px 46px; background: var(--ai); color: #f4efe6; transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.co-cta::before { content: ''; position: absolute; right: -18%; top: -30%; width: 70%; height: 150%; background: url("../img/washi/clouds.webp") no-repeat right center / contain; opacity: .14; pointer-events: none; }
.co-cta:hover { transform: translateY(-4px); box-shadow: 0 34px 60px -36px rgba(20, 30, 40, .7); }
.co-cta h2 { position: relative; font-size: clamp(1.6rem, 2.6vw, 2.2rem); font-weight: 800; margin: .2rem 0 .8rem; color: #fff; }
.co-cta p { position: relative; line-height: 1.95; color: rgba(244, 239, 230, .78); max-width: 440px; }
.co-cta .section-subtitle { color: var(--orange-2); }
.co-cta--light { background: var(--paper); color: var(--ink); border: 1px solid var(--line); }
.co-cta--light h2 { color: var(--ink); }
.co-cta--light p { color: var(--body); }
.co-cta--light .section-subtitle { color: var(--orange); }
.co-cta--light::before { opacity: .2; }
.co-link { position: relative; display: inline-flex; align-items: center; gap: .45em; margin-top: 1.6rem; font-weight: 800; color: var(--orange-2); }
.co-cta--light .co-link { color: var(--orange); }
.co-link i { font-style: normal; transition: transform .3s var(--ease); }
.co-cta:hover .co-link i { transform: translateX(4px); }

/* 提携・採択：ニュースで公開済みのものだけを、告知画像つきで。所属（東大病院）は下に1行で */
.co-partner-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 48px; }
.co-partner { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; color: inherit; transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .3s; }
.co-partner:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -32px rgba(70, 30, 0, .45); border-color: var(--line-strong); }
.co-partner figure { margin: 0; aspect-ratio: 1200 / 630; border-bottom: 1px solid var(--line); background: #fff; overflow: hidden; }
.co-partner figure img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s var(--ease); }
.co-partner:hover figure img { transform: scale(1.04); }
.co-partner-body { padding: 18px 20px 22px; }
.co-partner-tag { display: inline-flex; align-items: center; gap: .7em; font-size: .72rem; font-weight: 800; letter-spacing: .12em; color: var(--orange); }
.co-partner-tag time { font-family: var(--mincho); font-weight: 700; letter-spacing: .04em; color: var(--muted, #8a8378); }
.co-partner h3 { margin: .5rem 0 .55rem; font-size: 1.12rem; font-weight: 800; line-height: 1.45; color: var(--ink); }
.co-partner p { font-size: .9rem; line-height: 1.85; color: var(--body); }
.co-affil { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1.2rem; margin-top: 24px; padding: 20px 24px; border: 1px solid var(--line); border-radius: 14px; background: rgba(251, 246, 236, .6); color: inherit; transition: border-color .3s; }
.co-affil:hover { border-color: var(--line-strong); }
.co-affil b { font-size: 1.02rem; font-weight: 800; color: var(--ink); }
.co-affil span:last-child { font-size: .92rem; color: var(--body); }
@media (max-width: 1100px) { .co-partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media (max-width: 900px) {
    .co-sec { padding: 88px 0; }
    .co-mission-grid, .co-fde-grid, .co-meanings, .co-cta-grid { grid-template-columns: 1fr; gap: 32px; }
    .co-mission-art, .co-fde-art { justify-self: stretch; max-width: 460px; }
    .co-cta { padding: 34px 28px 36px; }
}
@media (max-width: 600px) {
    .co-partner-grid { grid-template-columns: 1fr; }
    .co-meaning-body { padding: 22px 22px 26px; }
    .co-meaning-title b { font-size: 2.4rem; }
    .co-fde-steps li { grid-template-columns: 44px 1fr; }
    .co-fde-steps em { font-size: 2rem; }
}
