/* ============================================================
   農業参入支援ページ — 固有スタイル
   styles.css → pages.css の後に読み込む
   ============================================================ */

/* ---------- 01 ファーストビュー ---------- */
.ae-hero{background:var(--teal-darkest);color:#fff;border-bottom:0;padding-top:150px}
.ae-hero-bg{position:absolute;inset:0;z-index:2;overflow:hidden}
.ae-hero-bg img,.ae-hero-bg image-slot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Filled: full-bleed photo under the gradient. Empty: the slot shrinks to a
   bounded drop card pinned clear of the headline, at full opacity. */
.ae-hero-bg:has(image-slot[data-filled]),.ae-hero-bg:has(img){z-index:0;inset:0}
.ae-hero-bg:has(image-slot:not([data-filled])){inset:auto 0 0 auto;width:min(340px,calc(100% - var(--pad-x) * 2));height:180px;margin:0 var(--pad-x) 40px 0;border:1px dashed rgba(255,255,255,.34)}
.ae-hero-bg:has(image-slot:not([data-filled])) image-slot{position:absolute;inset:0}
.ae-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(31,58,64,.94) 0%,rgba(31,58,64,.82) 46%,rgba(31,58,64,.42) 100%)}
.ae-hero:has(.ae-hero-bg image-slot:not([data-filled]))::after{background:var(--teal-darkest);z-index:0}
.ae-hero .page-hero-inner{z-index:3;pointer-events:none}
.ae-hero .page-hero-inner a{pointer-events:auto}
.ae-hero .page-hero-crumbs,.ae-hero .page-hero-crumbs a{color:rgba(255,255,255,.66)}
.ae-hero .page-hero-crumbs a:hover{color:#fff}
.ae-hero .phl-num{color:var(--teal-tint)}
.ae-hero .phl-jp{color:#fff;border-bottom-color:rgba(255,255,255,.5)}
.ae-hero .page-hero-title{color:#fff}
.ae-hero .page-hero-sub{color:rgba(255,255,255,.82);max-width:62ch}

/* ---------- buttons ---------- */
.ae-btn{display:inline-flex;align-items:center;gap:16px;padding:18px 28px;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.16em;border:1px solid var(--teal);color:var(--teal);transition:background .25s ease,color .25s ease,gap .25s ease}
.ae-btn:hover{gap:24px;background:var(--teal);color:#fff}
.ae-btn:hover svg{stroke:#fff}
.ae-btn--white{background:#fff;border-color:#fff;color:var(--teal)}
.ae-btn--white svg{stroke:var(--teal)}
.ae-btn--white:hover{background:rgba(255,255,255,.88);color:var(--teal)}
.ae-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:44px}

/* ---------- section shell ---------- */
.ae-sec{padding:var(--sp-3) var(--pad-x);max-width:var(--max);margin:0 auto}
.ae-sec.ivory{background:var(--ivory);max-width:none}
.ae-sec.ivory > *{max-width:var(--max);margin-inline:auto}
.ae-sec.paper{background:var(--teal-paper);max-width:none}
.ae-sec.paper > *{max-width:var(--max);margin-inline:auto}
.ae-note{margin-top:28px;font-size:12px;letter-spacing:.14em;color:var(--ink-40)}
.ae-intro-note{max-width:64ch;margin-bottom:44px;font-size:15px;line-height:2;letter-spacing:.05em;color:#2a3030;text-wrap:pretty}
.ae-lede-p{max-width:70ch;margin-bottom:48px;font-size:16px;line-height:2.05;letter-spacing:.05em;color:#2a3030;text-wrap:pretty}
.ae-summary{margin-top:36px;font-family:var(--serif);font-size:clamp(17px,1.9vw,21px);font-weight:600;line-height:1.8;letter-spacing:.07em;color:var(--teal-deep);text-wrap:pretty}
.ae-subhead{margin:64px 0 24px;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.22em;color:var(--teal);padding-bottom:12px;border-bottom:1px solid var(--line)}

/* ---------- 02 phase cards ---------- */
.ae-phases{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.ae-phase{background:var(--white);padding:34px 30px 40px;display:flex;flex-direction:column;gap:22px}
.ae-phase-label{align-self:flex-start;padding:8px 16px;background:var(--teal);color:#fff;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.18em}
.ae-phase-list{display:flex;flex-direction:column;gap:16px}
.ae-phase-list li{display:grid;grid-template-columns:14px 1fr;gap:12px;font-size:14px;line-height:1.95;letter-spacing:.03em;color:#2a3030;text-wrap:pretty}

/* ---------- 03 three-phase strip ---------- */
.ae-tri{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.ae-tri-item{padding:32px 40px 36px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:16px}
.ae-tri-item:last-child{border-right:0;padding-right:0}
.ae-tri-label{font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:.14em;color:var(--teal)}
.ae-tri-item p{font-size:14px;line-height:1.95;letter-spacing:.04em;color:#2a3030;text-wrap:pretty}

/* ---------- 04-06 timeline cards ---------- */
.ae-tl{border-top:1px solid var(--line)}
.ae-tl-item{display:grid;grid-template-columns:64px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}
.ae-tl-num{font-family:var(--en);font-size:13px;letter-spacing:.2em;color:var(--teal);padding-top:4px}
.ae-tl-body{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:baseline}
.ae-tl-title{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:.08em;line-height:1.7;text-wrap:pretty}
.ae-tl-text{font-size:14px;line-height:1.95;letter-spacing:.04em;color:#2a3030;text-wrap:pretty}

/* ---------- 02 issue list ---------- */
.ae-issues{border-top:1px solid var(--line);max-width:1000px}
.ae-issues li{display:grid;grid-template-columns:44px 1fr;gap:20px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.9;letter-spacing:.04em;text-wrap:pretty}
.ae-issues .ae-i{font-family:var(--en);font-size:12px;letter-spacing:.18em;color:var(--teal)}

/* ---------- 03 stance ---------- */
.ae-stance{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.ae-stance li{padding:32px 40px 36px 0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);font-size:18px;font-weight:500;line-height:1.85;letter-spacing:.05em;text-wrap:pretty}
.ae-stance li:nth-child(2n){border-right:0;padding-right:0}

/* ---------- 04 reasons ---------- */
.ae-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--white);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.ae-reason{background:var(--white);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 32px 40px;display:flex;flex-direction:column;gap:14px}
.ae-reason-num{font-family:var(--en);font-size:12px;letter-spacing:.22em;color:var(--teal)}
.ae-reason-title{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1.65;letter-spacing:.05em;text-wrap:pretty}
.ae-reason-body{font-size:14px;line-height:1.95;letter-spacing:.04em;color:#2a3030;text-wrap:pretty}

.ae-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:56px}
.ae-member{min-width:0;border:1px solid var(--line);display:grid;grid-template-columns:220px minmax(0,1fr)}
.ae-member-photo{position:relative;background:var(--teal-tint);min-height:260px;overflow:hidden}
.ae-member-photo image-slot,.ae-member-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ae-member-body{padding:32px 32px 36px;display:flex;flex-direction:column;gap:12px}
.ae-member-name{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:.1em}
.ae-member-role{font-family:var(--sans);font-size:12px;letter-spacing:.14em;color:var(--teal)}
.ae-member-bio{font-size:13px;line-height:1.95;letter-spacing:.03em;color:#2a3030;text-wrap:pretty}

/* ---------- 05 works ---------- */
.ae-works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.ae-work{min-width:0;background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}
.ae-work-photos{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.ae-work-photos > *{min-width:0;width:100%;max-width:100%;aspect-ratio:4/3;background:var(--teal-tint)}
.ae-work-body{min-width:0;padding:32px 32px 36px;display:flex;flex-direction:column;gap:14px}
.ae-work-meta{font-family:var(--sans);font-size:11px;letter-spacing:.18em;color:var(--teal)}
.ae-work-name{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:.08em}
.ae-work-body p{font-size:14px;line-height:1.95;letter-spacing:.04em;color:#2a3030;text-wrap:pretty}
.ae-slot-note{padding:18px 32px 28px;font-size:11px;letter-spacing:.1em;color:var(--ink-40);border-top:1px solid var(--line-soft)}

/* ---------- 06 steps ---------- */
.ae-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:0;background:var(--white);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.ae-step{background:var(--white);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 32px 38px;display:flex;flex-direction:column;gap:14px}
.ae-step-num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--teal);color:#fff;font-family:var(--en);font-size:14px;letter-spacing:.06em}
.ae-step-title{font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:.07em}
.ae-step-body{font-size:14px;line-height:1.95;letter-spacing:.04em;color:#2a3030;text-wrap:pretty}

.ae-figure{margin-top:56px;border:1px solid var(--line);background:var(--white);padding:32px}
.ae-figure img,.ae-figure image-slot{width:100%;height:auto;display:block}
.ae-figure image-slot{min-height:220px}
.ae-figure figcaption{margin-top:18px;font-size:12px;letter-spacing:.1em;color:var(--ink-40)}

/* ---------- 07 process ---------- */
.ae-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.ae-cols--2{grid-template-columns:1fr 1fr}
.ae-col{padding:34px 40px 40px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:16px}
.ae-col:last-child{border-right:0;padding-right:0}
.ae-col-title{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.2em;color:var(--teal)}
.ae-col p{font-size:14px;line-height:1.95;letter-spacing:.04em;color:#2a3030;text-wrap:pretty}
.ae-col ul{display:flex;flex-direction:column;gap:12px}
.ae-col li{display:grid;grid-template-columns:14px 1fr;gap:12px;font-size:14px;line-height:1.9;letter-spacing:.03em;color:#2a3030}
.ae-mark{color:var(--teal)}

/* ---------- 08 themes ---------- */
.ae-themes{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--white);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.ae-theme{background:var(--white);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 28px 44px;display:flex;flex-direction:column;gap:20px;min-height:200px}
.ae-theme-num{font-family:var(--en);font-size:12px;letter-spacing:.22em;color:var(--teal)}
.ae-theme-text{font-family:var(--serif);font-size:18px;font-weight:500;line-height:1.8;letter-spacing:.05em;text-wrap:pretty}

/* ---------- 09 roles ---------- */
.ae-roles{border-top:1px solid var(--line)}
.ae-roles > div{display:grid;grid-template-columns:280px 1fr;gap:32px;padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline}
.ae-role-key{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:.1em;color:var(--teal)}
.ae-role-val{font-size:14px;line-height:1.95;letter-spacing:.04em;color:#2a3030;text-wrap:pretty}

/* ---------- 10 scope notes ---------- */
.ae-scope{max-width:940px;display:flex;flex-direction:column;gap:12px;padding:32px 34px;border:1px solid var(--line);background:var(--white)}
.ae-scope li{display:grid;grid-template-columns:14px 1fr;gap:12px;font-size:13px;line-height:1.95;letter-spacing:.03em;color:var(--ink-60)}
.ae-scope .ae-mark{color:var(--ink-40)}

/* ---------- 11 flow ---------- */
.ae-flow{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ae-flow li{flex:1 1 190px;display:flex;align-items:center;gap:16px;padding:26px 30px 26px 0;border-right:1px solid var(--line)}
.ae-flow li:last-child{border-right:0;padding-right:0}
.ae-flow-num{font-family:var(--en);font-size:22px;font-weight:500;color:var(--teal-soft);line-height:1}
.ae-flow-label{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.08em;line-height:1.7;text-wrap:pretty}

/* ---------- 12 FAQ ---------- */
.ae-faq{border-top:1px solid var(--line);max-width:960px}
.ae-faq details{border-bottom:1px solid var(--line)}
.ae-faq summary{display:flex;align-items:baseline;gap:18px;padding:24px 0;cursor:pointer;list-style:none;font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:.06em;line-height:1.8;transition:color .2s ease}
.ae-faq summary::-webkit-details-marker{display:none}
.ae-faq summary:hover{color:var(--teal)}
.ae-q{font-family:var(--en);font-size:13px;letter-spacing:.16em;color:var(--teal);flex:none}
.ae-plus{margin-left:auto;flex:none;width:12px;height:12px;position:relative}
.ae-plus::before,.ae-plus::after{content:"";position:absolute;background:var(--teal);transition:transform .25s ease}
.ae-plus::before{left:0;top:5px;width:12px;height:1px}
.ae-plus::after{left:5px;top:0;width:1px;height:12px}
.ae-faq details[open] .ae-plus::after{transform:scaleY(0)}
.ae-a{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:0 0 28px;font-size:14px;line-height:2;letter-spacing:.04em;color:#2a3030}
.ae-a-mark{font-family:var(--en);font-size:13px;letter-spacing:.16em;color:var(--ink-40)}

/* ---------- responsive ---------- */
@media (max-width: 1100px){
  .ae-phases{grid-template-columns:1fr}
  .ae-tri{grid-template-columns:1fr}
  .ae-tri-item{border-right:0;border-bottom:1px solid var(--line);padding:26px 0 30px}
  .ae-tri-item:last-child{border-bottom:0}
  .ae-tl-body{grid-template-columns:1fr;gap:8px}
  .ae-reasons{grid-template-columns:repeat(2,1fr)}
  .ae-themes{grid-template-columns:repeat(2,1fr)}
  .ae-members{grid-template-columns:minmax(0,1fr)}
  .ae-works{grid-template-columns:minmax(0,1fr)}
  .ae-cols{grid-template-columns:1fr;gap:0}
  .ae-col{border-right:0;padding:28px 0 32px;border-bottom:1px solid var(--line)}
  .ae-col:last-child{border-bottom:0}
}
@media (max-width: 880px){
  .ae-cols--2{grid-template-columns:1fr}
  .ae-tl-item{grid-template-columns:1fr;gap:8px;padding:22px 0}
  .ae-subhead{margin-top:48px}
  .ae-sec{padding:var(--sp-2) var(--pad-x)}
  .ae-hero{padding-top:120px}
  .ae-hero-bg:has(image-slot:not([data-filled])){position:relative;inset:auto;width:auto;height:140px;margin:0 var(--pad-x) 32px}
  .ae-stance{grid-template-columns:1fr}
  .ae-stance li{border-right:0;padding:26px 0 28px}
  .ae-steps{grid-template-columns:1fr}
  .ae-roles > div{grid-template-columns:1fr;gap:8px;padding:20px 0}
  .ae-flow li{flex:1 1 100%;border-right:0;border-bottom:1px solid var(--line);padding:20px 0}
  .ae-flow li:last-child{border-bottom:0}
  .ae-hero-cta .ae-btn{flex:1 1 260px;justify-content:space-between}
}
@media (max-width: 600px){
  .ae-works{grid-template-columns:minmax(0,1fr)}
  .ae-work,.ae-work-photos,.ae-work-body{width:100%;max-width:100%;min-width:0}
  .ae-work-photos{grid-template-columns:minmax(0,1fr)}
  .ae-work-photos image-slot,.ae-work-photos img{width:100%;max-width:100%}
  .ae-phase{padding:28px 24px 32px}
  .ae-reasons{grid-template-columns:1fr}
  .ae-themes{grid-template-columns:1fr}
  .ae-theme{min-height:0;padding:28px 24px 32px}
  .ae-member{grid-template-columns:1fr}
  .ae-member-photo{min-height:220px}
  .ae-member-body,.ae-work-body{padding:26px 24px 30px}
  .ae-step{padding:28px 24px 32px}
  .ae-figure{padding:20px}
  .ae-scope{padding:26px 24px}
}
@media (max-width: 520px){
  .ae-issues li{grid-template-columns:1fr;gap:4px;font-size:15px}
  .ae-work-name{font-size:21px}
  .ae-faq summary{font-size:14px;gap:12px}
}
