*{box-sizing:border-box}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{max-width:1120px;margin:0 auto}:root{--ink:#111827;--text:#334155;--muted:#64748b;--line:#e8dfd3;--paper:#fffdf8;--white:#fff;--main:#2f6f55;--main2:#eaf4ef;--accent:#4f8f6b;--deep:#0d2438}body{margin:0;background:var(--paper);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;letter-spacing:.04em;line-height:1.9}.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--main2) 0,#fffdf8 55%,#f6eadc 100%);border-bottom:1px solid var(--line)}.hero-inner{position:relative;max-width:1180px;margin:0 auto;padding:70px 24px 58px;display:grid;grid-template-columns:340px 1fr;gap:50px;align-items:center}.portrait-box{border-radius:34px;background:#fff;box-shadow:0 24px 60px rgba(16,35,61,.15);padding:18px;overflow:hidden;border:1px solid rgba(17,24,39,.06)}.portrait-box img{width:100%;height:350px;object-fit:contain;object-position:center bottom;background:linear-gradient(180deg,#fff,var(--main2));border-radius:24px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.28em;color:var(--main);text-transform:uppercase;margin-bottom:14px}.hero h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:var(--ink);font-size:clamp(36px,4.8vw,60px);line-height:1.24;letter-spacing:.08em;margin:0 0 18px}.lead{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(18px,2vw,23px);line-height:1.9;color:#202633;margin:0 0 14px}.summary{max-width:700px;font-size:15px;color:#465566;margin:0}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 0}.chip{display:inline-flex;align-items:center;border-radius:999px;background:#fff;border:1px solid rgba(17,24,39,.09);color:var(--main);padding:7px 12px;font-size:12px;font-weight:900}.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;padding:0 22px;font-weight:900;font-size:14px}.btn.primary{background:var(--main);color:#fff}.btn.secondary{background:#fff;border:1px solid rgba(17,24,39,.16);color:var(--main)}.section{padding:64px 24px}.section.alt{background:#fff}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.section-title h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(30px,3vw,42px);line-height:1.55;letter-spacing:.08em;margin:0;color:var(--ink)}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.article{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:26px;padding:22px;box-shadow:0 12px 28px rgba(16,35,61,.045);transition:.16s ease;min-height:210px;display:flex;flex-direction:column}.article:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(16,35,61,.08)}.article .cat{display:inline-flex;align-self:flex-start;border-radius:999px;background:var(--main2);color:var(--main);padding:5px 10px;font-size:11px;font-weight:900;margin-bottom:14px}.article h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:21px;line-height:1.55;margin:0 0 8px;color:var(--ink)}.article p{margin:0;color:#5c6878;font-size:14px}.read{margin-top:auto;color:var(--main);font-size:13px;font-weight:900;padding-top:18px}.profile-card{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:30px;padding:28px;box-shadow:0 16px 36px rgba(16,35,61,.06)}.profile-card dl{display:grid;grid-template-columns:150px 1fr;gap:12px 16px;margin:0}.profile-card dt{font-weight:900;color:#475569}.profile-card dd{margin:0;color:#273341}.feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;align-items:center;background:#fff;border-radius:30px;border:1px solid rgba(17,24,39,.08);padding:20px;box-shadow:0 14px 32px rgba(16,35,61,.05)}.feature img{border-radius:22px;width:100%;height:260px;object-fit:cover}.link-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.small-link{border-radius:999px;border:1px solid rgba(17,24,39,.12);padding:8px 12px;font-weight:900;font-size:12px;color:var(--main);background:#fff}.cta-section{background:var(--main2)}.cta-box{max-width:1040px;margin:0 auto;background:var(--deep);color:#fff;border-radius:32px;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-box h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:28px;line-height:1.55;margin:0}.cta-box p{margin:8px 0 0;color:#dce7ee}.footer{text-align:center;padding:28px;color:#64748b;font-size:12px}@media (max-width:900px){.hero-inner,.feature{grid-template-columns:1fr}.article-grid{grid-template-columns:1fr}.section-title{display:block}.profile-card dl{grid-template-columns:1fr}.cta-box{display:block}}@media (max-width:760px){}body.theme-tn{--main:#315f9e;--main2:#eaf1fb;--accent:#4c75b5}body.theme-yt{--main:#6d4aa2;--main2:#f0eafa;--accent:#8060b8}.footer-brand-row{display:flex;align-items:center;gap:10px}.sp-cta-center{text-align:center}.process-two-col{grid-template-columns:1fr 1fr}.photo-mt{margin-top:18px}.text-gold{color:var(--gold)}.visually-hidden-inline{position:absolute;left:-9999px;opacity:0;pointer-events:none}.photo-gradient-blue{margin-top:18px;background:linear-gradient(135deg,#061A33,#155EEF)}

/* 20260528 unified section photo patch */
.section-photo,
.chapter-photo,
.sec-photo{
  width:100%;
  max-width:100%;
  aspect-ratio:16/7;
  overflow:hidden;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  margin:48px 0 0 0;
}

.section-photo img,
.chapter-photo img,
.sec-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  border:none !important;
  box-shadow:none !important;
}

/* issue left cut fix */
#issue .section-photo img,
#issue .chapter-photo img{
  object-position:20% center;
}

/* flow top cut fix */
#flow .section-photo img,
#flow .chapter-photo img{
  object-position:center 20%;
}

/* steps darken */
#steps .section-photo img,
#steps .chapter-photo img{
  filter:brightness(0.72);
}

/* remove frame */
#recruit img,
#contact img{
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
}

@media (max-width:768px){
  .section-photo,
  .chapter-photo,
  .sec-photo{
    aspect-ratio:16/9;
    margin-top:24px;
  }
}
