
.agora-article{
  --a-text-w: 52.625rem;
  --a-wide-w: 70rem;
  font-family: var(--sans);
  padding-bottom: 5rem;
}

.a-hero{ padding:2.5rem 2.5rem 0; }
.a-hero-inner{
  max-width:var(--a-text-w); margin:0 auto;
  display:flex; gap:2.5rem; align-items:flex-start;
}
.a-hero-photo{ flex:0 0 264px; }
.a-hero-photo img{ display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; }
.a-hero-text{
  flex:1 1 auto; min-width:0; align-self:stretch; min-height:352px;
  display:flex; flex-direction:column;
  border-top:1px solid var(--gray-200); border-bottom:1px solid var(--gray-200);
  padding:1.2rem 0;
}
.a-hero-label{
  font-size:19px; color:#019949; font-weight:600; letter-spacing:.06em;
}
.a-hero-title{
  margin:1.2rem 0 0;
  font-size:clamp(1.35rem,2.9vw,2.25rem); font-weight:700;
  line-height:1.4; letter-spacing:-.01em; color:var(--black);
}
.a-hero-meta{ font-size:16px; color:#2a2a2a; line-height:1.75; margin-top:auto; }

.a-body{
  max-width:var(--a-wide-w); margin:0 auto; padding:3.5rem 2.5rem 0;
  font-size:16.6px; line-height:1.831; font-weight:400;
}

.a-body > *{
  max-width:var(--a-text-w);
  margin-left:auto; margin-right:auto;
}
.a-body > .a-out{ max-width:var(--a-text-w); }

.a-body > p{ margin-top:0; margin-bottom:1.6rem; }
.a-body h2{
  font-size:1.5rem; font-weight:700; line-height:1.45;
  margin:4.5rem auto 1.5rem; padding-bottom:.6rem; border-bottom:2px solid var(--black);
}
.a-body > h2:first-child{ margin-top:0; }
.a-body h3{ font-size:1.175rem;    font-weight:600; line-height:1.6; margin:3rem auto 1rem; }
.a-body > ul, .a-body > ol{
  margin:1.2rem auto 1.8rem; padding-left:1.5rem;
}
.a-body li{ margin-bottom:.7rem; }
.a-body strong{ font-weight:600; }
.a-body a{ color:#0a6ebd; text-decoration:underline; text-underline-offset:2px; }
.a-cta a{ text-decoration:none; }
.a-body a.a-btn, .a-cta a.a-btn{ color:#fff; text-decoration:none; }
.a-cta a.a-btn-ghost{ color:#1a1a1a; }
.a-body > hr{ border:0; border-top:1px solid var(--gray-200); margin:3.5rem auto; }

.a-say{
  display:grid; grid-template-columns:46px 1fr; gap:.9rem;
  max-width:var(--a-text-w); margin:1.6rem auto; align-items:start;
}
.a-say-av{
  width:46px; height:46px; border-radius:50%; display:block; object-fit:cover;
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.09), 0 1px 3px rgba(0,0,0,.10);
}
.a-say-head{ display:flex; align-items:baseline; gap:.55rem; margin:.1rem 0 .3rem; flex-wrap:wrap; }
.a-say-name{ font-size:14px; font-weight:700; letter-spacing:.06em; line-height:1.3; }
.a-say-role{ font-size:12.5px;    color:#3c4249; line-height:1.3; }
.a-say-bub{
  position:relative; min-width:0;
  padding:.85rem 1.15rem;
  border:1px solid; border-radius:.9rem;
  font-size:16.6px; line-height:1.70;
}
.a-say-bub:before{
  content:''; position:absolute; left:-6px; top:17px; width:10px; height:10px;
  background:inherit; border-left:1px solid; border-bottom:1px solid; border-color:inherit;
  transform:rotate(45deg);
}
.a-say-bub p{ margin:0 0 .85rem; }
.a-say-bub p:first-child{ margin-top:0; }
.a-say-bub p:last-child{ margin-bottom:0; }
.a-say-bub strong{ font-weight:700; color:#111; }
.a-say-bub ul, .a-say-bub ol{ margin:.5rem 0 .85rem; padding-left:1.3rem; }
.a-say-bub li{ margin-bottom:.35rem; }

.a-say.s-yamai    .a-say-bub{ background:#f2faf5; border-color:#bcdfc9; }
.a-say.s-yamai    .a-say-name{ color:#0b7a45; }
.a-say.s-iizuka   .a-say-bub{ background:#f2f4fb; border-color:#c4cbe6; }
.a-say.s-iizuka   .a-say-name{ color:#33478f; }
.a-say.s-kitamura .a-say-bub{ background:#eff5fa; border-color:#c3d9ee; }
.a-say.s-kitamura .a-say-name{ color:#2f6fb5; }
.a-say.s-itonaga  .a-say-bub{ background:#f8f3fb; border-color:#dccbe9; }
.a-say.s-itonaga  .a-say-name{ color:#6b4a8f; }
.a-say.s-yamada   .a-say-bub{ background:#f6f7f8; border-color:#d7dade; }
.a-say.s-yamada   .a-say-name{ color:#4a5158; }
.a-say.s-ai       .a-say-bub{ background:#f1f4f4; border-color:#8b9598; border-width:1.5px; }
.a-say.s-ai       .a-say-bub:before{ border-left-width:1.5px; border-bottom-width:1.5px; }
.a-say.s-ai       .a-say-name{ color:#111; letter-spacing:.12em; }


.a-body > blockquote{
  border-left:3px solid var(--black); background:none;
  padding:.2rem 0 .2rem 1.6rem; margin:2rem auto;
  font-family:var(--serif); font-size:18px; line-height:1.85; font-style:normal;
}
.a-body blockquote p{ margin:0 0 .8rem; }
.a-body blockquote p:last-child{ margin-bottom:0; }
.a-body blockquote strong{ font-weight:600; }

.a-body > table{ width:100%; border-collapse:collapse; font-size:15px; margin:1.8rem auto; }
.a-body th, .a-body td{
  padding:.7rem 1rem; border:1px solid var(--gray-200); text-align:left; vertical-align:top;
}
.a-body th{ background:var(--gray-100); font-weight:600; }

.a-col{
  margin:3.25rem auto 3.5rem;
  background:#fdfaf1;
  border:1px solid #e6ddc6;
  border-left:4px solid #8a6d1f;
  border-radius:4px;
  padding:1.35rem 2.25rem;
}
.a-col-sum{
  cursor:pointer; list-style:none; display:block; position:relative;
  padding-right:2.2rem;
}
.a-col-sum::-webkit-details-marker{ display:none; }
.a-col-sum::after{
  content:''; position:absolute; right:.35rem; top:.9rem;
  width:9px; height:9px; border-right:2px solid #8a6d1f; border-bottom:2px solid #8a6d1f;
  transform:rotate(45deg); transition:transform .15s;
}
.a-col[open] > .a-col-sum::after{ transform:rotate(-135deg); top:1.15rem; }
.a-col[open]{ padding-bottom:1.5rem; }
.a-col-tag{
  display:block;
  font-size:12.5px; font-weight:700; letter-spacing:.14em;
  color:#8a6d1f; margin-bottom:.4rem;
}
.a-col-title{ display:block; font-size:1.2rem; font-weight:700; line-height:1.55; margin:0; }
.a-col-inner{ font-size:16.6px; line-height:1.831;    margin-top:1.2rem; }
.a-col-inner p{ margin-bottom:1.2rem; }
.a-col-inner p:last-child{ margin-bottom:0; }
.a-col-inner ul, .a-col-inner ol{ margin:1rem 0 1.4rem; padding-left:1.5rem; }
.a-col-inner li{ margin-bottom:.5rem; }
.a-col-inner blockquote{
  border-left:2px solid var(--gray-200); padding:.1rem 0 .1rem 1.1rem; margin:1.2rem 0;
  font-family:var(--serif); font-size:17px; line-height:1.85;
}
.a-col-inner table{ width:100%; border-collapse:collapse; font-size:14.5px; margin:1.3rem 0; }
.a-col-inner th, .a-col-inner td{
  padding:.6rem .85rem; border:1px solid #e6ddc6; text-align:left; vertical-align:top;
  background:#fff;
}
.a-col-inner th{ background:#f6f0e0; font-weight:600; }
.a-col-end{ border:0; border-top:1px solid #e6ddc6; margin:1.5rem 0 0; }

.a-fig{ max-width:802px; margin:2.75rem auto 3rem; }
.a-fig-frame{
  border:1px dashed var(--gray-200); border-radius:4px; background:var(--gray-100);
  min-height:200px; display:flex; align-items:center; justify-content:center;
  padding:2rem; text-align:center;
}
.a-fig-frame img{ border-radius:4px; width:100%; height:auto; }
.a-fig-frame picture{ display:block; }
.a-fig-frame.has-img{
  border:1px solid var(--gray-200); background:#fff;
  min-height:0; padding:1.25rem; display:block;
}
.a-fig-no{ font-size:12.5px; font-weight:700; letter-spacing:.14em; color:var(--black); }
.a-fig-todo{ font-size:14px; color:var(--gray-500); line-height:1.9; }
.a-fig-cap{ font-size:12px; line-height:1.85;    color:#2a2a2a; margin-top:.8rem; }
.a-fig-cap p{ margin:0; }
.a-col .a-fig{ max-width:802px; }
.a-col .a-fig-frame{ background:#fff; }

.a-cta{
  margin:2.5rem auto 3rem; background:#e9ecef; color:var(--black);
  border:2px solid #019949; border-radius:6px; padding:2rem 2.25rem;
}
.a-cta-name{ font-size:1.55rem; font-weight:700; line-height:1.35; margin-bottom:.5rem; }
.a-cta-sub{ font-size:15.5px;    color:#555;    line-height:1.75; margin-bottom:1.35rem; }
.a-cta-note{ font-size:14px;    color:#555;    line-height:1.8; margin-top:1rem; }
.a-btn{
  display:inline-block; background:var(--accent); color:#fff;
  font-size:15.5px; font-weight:600; letter-spacing:.03em;
  padding:.85rem 2rem; border-radius:4px; transition:opacity .15s;
}
.a-btn:hover{ opacity:.85; }
.a-btn-ghost{ background:#fff; color:var(--black); border:1px solid #cdb377; margin-left:.6rem; }

.a-people{ margin:2rem auto 2.5rem; }
.a-person{
  display:grid; grid-template-columns:54px 1fr; gap:1rem;
  padding:1rem 0; border-top:1px solid var(--gray-200); align-items:center;
}
.a-people .a-person:last-child{ border-bottom:1px solid var(--gray-200); }
.a-person-av{
  width:54px; height:54px; border-radius:50%; display:block; object-fit:cover;
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.09), 0 1px 3px rgba(0,0,0,.10);
}
.a-person-name{ font-size:16.25px;    font-weight:700; line-height:1.6; }
.a-person-role{ font-size:14.75px;    line-height:1.75; color:#2a2a2a; }

.a-out > table{ width:100%; border-collapse:collapse; font-size:15px; margin:1.8rem 0; }
.a-out > table th, .a-out > table td{
  padding:.7rem 1rem; border:1px solid var(--gray-200); text-align:left; vertical-align:top;
}
.a-out > table th{ background:var(--gray-100); font-weight:600; }

.a-note{
  max-width:var(--a-text-w); margin:2rem auto 0; padding:1rem 1.25rem;
  background:#fff8e1; border:1px solid #f0dfa8; border-radius:4px;
  font-size:13.5px; line-height:1.85; color:#6b5a1e;
}
.a-note strong{ font-weight:700; }

@media(max-width:768px){
  .a-hero{ padding:3rem 1.5rem 2.5rem; }
  .a-hero-inner{ gap:1.1rem; }
  .a-hero-photo{ flex:0 0 30%; max-width:132px; }
  .a-hero-text{ min-height:0; padding:.5rem 0; }
  .a-hero-label{ font-size:16.5px; }
  .a-hero-title{ font-size:clamp(1.15rem,5.2vw,1.5rem); line-height:1.45; margin-top:.7rem; }
  .a-hero-meta{ font-size:15px; margin-top:1rem; }
  .a-body{ padding:2.5rem 1.5rem 0; font-size:16.6px; line-height:1.831; }
  .a-body h2{ font-size:1.3rem; margin:3.5rem auto 1.2rem; }
  .a-body > blockquote{ font-size:18px; padding-left:1.1rem; }
  .a-col{
    margin-left:0; margin-right:0;
    padding:1.1rem 1.25rem; border-radius:4px; border-left-width:4px;
  }
  .a-col[open]{ padding-bottom:1.25rem; }
  .a-col-sum{ padding-right:1.9rem; }
  .a-col-title{ font-size:1.1rem; }
  .a-cta{ padding:1.5rem 1.25rem; }
  .a-btn{ display:block; text-align:center; }
  .a-btn-ghost{ margin-left:0; margin-top:.6rem; }
  .a-body table, .a-col-inner table, .a-out > table{ font-size:13.5px; }
  .a-body th, .a-body td, .a-col-inner th, .a-col-inner td,
  .a-out > table th, .a-out > table td{ padding:.5rem .6rem; }
  .a-person{ grid-template-columns:54px 1fr; gap:.75rem; }
  .a-fig{ max-width:none; margin-left:0; margin-right:0; }
  .a-fig-frame.has-img{ border-left:1px solid var(--gray-200); border-right:1px solid var(--gray-200); border-radius:4px; padding:.6rem; }
  .a-fig-cap{ padding:0; }
  .a-col .a-fig{ margin-left:0; margin-right:0; }
  .a-col .a-fig-cap{ padding:0; }
}

.a-body pre, .a-col-inner pre{
  margin:2rem auto; padding:1.2rem 0;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  font-size:13.5px; line-height:1.8; color:#333;
  background:none; border:0;
  border-top:1px solid var(--gray-200);
  border-bottom:1px solid var(--gray-200);
}
.a-body pre code, .a-col-inner pre code{
  background:none; padding:0; font-size:inherit; white-space:pre;
}
@media (max-width:600px){
  .a-body pre, .a-col-inner pre{ font-size:12px; line-height:1.7; padding:1rem 0; }
}

.a-cta-head{ display:flex; align-items:center; gap:1rem; margin-bottom:1.4rem; }
.a-cta-em{ width:64px; height:64px;    flex-shrink:0; display:block; }
.a-cta-ti{ min-width:0; }
.a-cta-head .a-cta-name{ margin-bottom:.28rem; }
.a-cta-head .a-cta-sub{ margin:0; }
@media (max-width:600px){ .a-cta-em{ width:54px; height:54px; } }

.a-fig-wide{ max-width:var(--a-wide-w); }
@media (max-width:1180px){ .a-fig-wide{ max-width:100%; } }
