.institute-v2{--iv2-navy:#073b82;--iv2-deep:#062f6f;--iv2-ink:#17355d;--iv2-ivory:#f6f0e5;--iv2-sky:#edf8ff;--iv2-line:#cbd9e6;color:var(--iv2-ink);background:#fff;overflow:hidden}
.institute-v2 *,.institute-v2 *::before,.institute-v2 *::after{box-sizing:border-box}.institute-v2 img{display:block;max-width:100%}.institute-v2__wide{width:min(calc(100% - 64px),1380px);margin-inline:auto}.institute-v2__container{width:min(calc(100% - 64px),1180px);margin-inline:auto}.institute-v2__section{padding-block:clamp(110px,10vw,160px)}
.institute-v2 h1,.institute-v2 h2,.institute-v2 h3,.institute-v2 blockquote{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}.institute-v2__eyebrow{margin:0 0 18px;color:#4779b4;font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.24em}
.institute-v2__hero{position:relative;min-height:min(760px,62vw);background:linear-gradient(100deg,#fff 0 47%,transparent 47.2%)}.institute-v2__hero-image{position:absolute;inset:0 0 0 34%;z-index:0;overflow:hidden}.institute-v2__hero-image img{width:100%;height:100%;object-fit:cover;object-position:right center}.institute-v2__hero::after{position:absolute;inset:auto 0 0;height:18%;z-index:1;background:#fff;clip-path:polygon(0 75%,100% 0,100% 100%,0 100%);content:""}.institute-v2__hero-inner{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;min-height:min(760px,62vw);padding-bottom:45px}.institute-v2__hero-copy{width:min(52%,670px);padding:58px 0}.institute-v2__hero h1{margin:0 0 28px;color:var(--iv2-navy);font-size:clamp(44px,5vw,76px);font-weight:500;line-height:1.4;letter-spacing:.06em}.institute-v2__hero-copy>p:not(.institute-v2__eyebrow){max-width:580px;margin:0 0 34px;font-size:clamp(14px,1.3vw,17px);line-height:2.15}.institute-v2__hero-message{align-self:flex-start;width:230px;margin:90px 0 0;padding:26px 22px;color:var(--iv2-ink);background:rgba(247,240,227,.9);font-family:"Yu Mincho",serif;font-size:18px;line-height:1.9}.institute-v2__hero-message small{display:block;margin-top:28px;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.24em;line-height:2}
.institute-v2__hero-copy,.institute-v2__hero-message{text-shadow:0 0 2px #fff,0 0 5px rgba(255,255,255,.95),0 0 10px rgba(255,255,255,.8)}
.institute-v2__button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-width:250px;padding:18px 24px;font-size:13px;font-weight:700;letter-spacing:.04em}.institute-v2__button--solid{color:#fff;background:var(--iv2-navy);box-shadow:0 12px 30px rgba(6,47,111,.15)}.institute-v2__button--outline{border:1px solid #8aa7c6;color:var(--iv2-navy);background:rgba(255,255,255,.78)}.institute-v2__button--outline-light{border:1px solid rgba(255,255,255,.7);color:#fff}.institute-v2__text-link{display:inline-flex;gap:18px;margin-top:24px;padding-bottom:6px;border-bottom:1px solid #8ca7c2;color:var(--iv2-navy);font-size:13px;font-weight:700}
.institute-v2 .page-breadcrumb{width:min(calc(100% - 64px),1180px);padding-top:24px}.institute-v2__about{padding-top:clamp(90px,9vw,140px)}.institute-v2__about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(70px,9vw,135px);align-items:center}.institute-v2__copy-block{padding-left:28px;border-left:2px solid #9bb7d4}.institute-v2__copy-block h2,.institute-v2__results h2,.institute-v2__partners h2,.institute-v2__voices h2{margin:0 0 30px;color:var(--iv2-navy);font-size:clamp(30px,3.2vw,48px);font-weight:500;line-height:1.65;letter-spacing:.05em}.institute-v2__copy-block>p:not(.institute-v2__eyebrow){margin:0 0 18px;font-size:15px;line-height:2.1}.institute-v2__about-visual{position:relative;min-height:600px;padding:0 0 90px 13%}.institute-v2__about-visual img{width:72%;height:490px;object-fit:cover;object-position:center}.institute-v2__about-visual p{position:absolute;right:0;bottom:0;width:52%;margin:0;padding:54px 44px;background:var(--iv2-ivory);font-family:"Yu Mincho",serif;font-size:20px;line-height:2}.institute-v2__about-visual p small{display:block;margin-top:25px;color:#8496a6;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.22em}
.institute-v2__service{position:relative;padding-block:clamp(90px,9vw,140px)}.institute-v2__service--management{color:#fff;background:var(--iv2-navy);clip-path:polygon(0 4%,100% 0,100% 96%,0 100%)}.institute-v2__service--operation{color:var(--iv2-ink);background:var(--iv2-ivory);clip-path:polygon(0 4%,100% 0,100% 96%,0 100%)}.institute-v2__service-grid{display:grid;grid-template-columns:minmax(400px,.88fr) minmax(500px,1.12fr)}.institute-v2__service-copy{display:flex;flex-direction:column;justify-content:center;padding:30px clamp(44px,6vw,92px)}.institute-v2__number{display:flex;align-items:flex-end;gap:20px;margin:0 0 16px;font-family:Georgia,serif;font-size:64px;line-height:1}.institute-v2__number small{padding-bottom:8px;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.22em}.institute-v2__service h2{margin:0 0 24px;font-size:clamp(32px,3vw,46px);font-weight:500;letter-spacing:.06em}.institute-v2__service h3{margin:0 0 22px;font-size:clamp(22px,2vw,30px);font-weight:500;line-height:1.7}.institute-v2__service-copy>p:not(.institute-v2__number){margin:0 0 30px;font-size:14px;line-height:2}.institute-v2__service-image{min-height:540px;overflow:hidden;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}.institute-v2__service-image img{width:100%;height:100%;object-fit:cover}.institute-v2__service--operation .institute-v2__service-copy{order:2}.institute-v2__service--operation .institute-v2__service-image{order:1;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}.institute-v2__feature-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:0;padding:0;background:rgba(255,255,255,.25);list-style:none}.institute-v2__feature-list li{min-height:86px;padding:28px 20px;background:rgba(255,255,255,.95);color:var(--iv2-navy);font-size:12px;font-weight:700;text-align:center}.institute-v2__service--operation .institute-v2__feature-list li{background:#fff}
.institute-v2__results{background:#fff}.institute-v2__results-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;border-block:1px solid var(--iv2-line)}.institute-v2__results-grid article{padding:38px 30px;border-right:1px solid var(--iv2-line)}.institute-v2__results-grid article:last-child{border:0}.institute-v2__results-grid span{display:inline-grid;width:54px;height:54px;place-items:center;margin-bottom:20px;border:1px solid #8fb0d2;border-radius:50%;color:var(--iv2-navy);font-size:12px;font-weight:700}.institute-v2__results-grid h3{margin:0 0 12px;color:var(--iv2-navy);font-size:23px}.institute-v2__results-grid p{margin:0;font-size:13px;line-height:1.8}.institute-v2__chart{display:grid;grid-template-columns:320px 1fr;gap:70px;align-items:center;margin-top:100px;padding:60px;background:#f4f8fb}.institute-v2__chart h3{margin:0 0 20px;color:var(--iv2-navy);font-size:28px}.institute-v2__chart p{margin:0;font-size:14px;line-height:2}.institute-v2__chart figure{margin:0;overflow:hidden}.institute-v2__chart figure img{width:100%;background:#fff}.institute-v2__chart figcaption{margin-top:10px;font-size:10px}
.institute-v2__director{padding-block:clamp(90px,9vw,140px);background:linear-gradient(110deg,#fff 0 55%,var(--iv2-sky) 55% 100%)}.institute-v2__director-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(55px,8vw,110px);align-items:center}.institute-v2__director-image{align-self:end}.institute-v2__director-image img{width:100%;max-height:520px;object-fit:contain;object-position:center bottom}.institute-v2__director h2{margin:0 0 25px;color:var(--iv2-navy);font-size:32px}.institute-v2__director blockquote{margin:0 0 28px;color:var(--iv2-navy);font-size:clamp(30px,3.4vw,50px);line-height:1.6}.institute-v2__director blockquote::before{color:#b8ddf5;content:"“";font-size:78px;line-height:0}.institute-v2__director p{max-width:600px;font-size:14px;line-height:2}.institute-v2__director-name{margin-top:26px}
.institute-v2__partners{padding-block:100px;background:var(--iv2-navy);color:#fff}.institute-v2__partners .institute-v2__eyebrow{color:#a9c8e8}.institute-v2__partners h2{color:#fff}.institute-v2__lead{max-width:680px;font-size:15px;line-height:2}.institute-v2__partners ul{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:45px 0 0;padding:0;background:rgba(255,255,255,.25);list-style:none}.institute-v2__partners li{padding:28px 18px;background:rgba(5,47,111,.92);font-size:13px;text-align:center}
.institute-v2__voices{background:#fff}.institute-v2__voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}.institute-v2__voice-grid article{min-height:250px;padding:38px;border:1px solid #d7e0e8;background:#fff;box-shadow:0 18px 45px rgba(23,53,93,.06)}.institute-v2__voice-grid h3{margin:0 0 22px;padding-bottom:16px;border-bottom:2px solid #a8c4df;color:var(--iv2-navy);font-size:21px}.institute-v2__voice-grid p{margin:0;font-size:14px;line-height:2}
.institute-v2__document{position:relative;padding-block:100px;background:linear-gradient(110deg,#edf8ff 0 70%,#dff1fb 70%)}.institute-v2__document-grid{display:grid;grid-template-columns:1fr 260px;gap:90px;align-items:center}.institute-v2__document h2{margin:0 0 22px;color:var(--iv2-navy);font-size:clamp(30px,3.4vw,48px)}.institute-v2__document p{max-width:680px;margin-bottom:28px;font-size:15px;line-height:2}.institute-v2__free-dial{display:block;width:min(100%,570px);margin-top:28px;padding:15px;background:var(--iv2-navy)}.institute-v2__free-dial img{width:100%;height:auto}.institute-v2__document-image{width:100%;filter:drop-shadow(12px 20px 14px rgba(6,47,111,.18))}.institute-v2 .institute-contact{padding-block:clamp(100px,9vw,150px)}
.institute-v2__footer{padding-block:48px;background:#fff;border-top:1px solid #dce5ed}.institute-v2__footer-inner{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:34px;align-items:center}.institute-v2__footer-logo img{width:min(100%,300px)}.institute-v2__footer nav{display:flex;justify-content:flex-end;gap:28px;flex-wrap:wrap}.institute-v2__footer nav a{color:var(--iv2-ink);font-size:11px}.institute-v2__footer p{grid-column:1/-1;margin:12px 0 0;color:#75889b;font-size:10px;text-align:right}
@media(max-width:1100px){.institute-v2__service-grid{grid-template-columns:.9fr 1.1fr}.institute-v2__service-copy{padding-inline:38px}}
@media(max-width:767px){
 .institute-v2__wide,.institute-v2__container{width:min(calc(100% - 36px),1180px)}.institute-v2__section{padding-block:84px}
 .institute-v2__hero{min-height:790px;background:#fff}.institute-v2__hero-image{inset:0 0 auto;height:auto;aspect-ratio:1724/912;background:#f3f7f8}.institute-v2__hero-image img{object-fit:contain;object-position:center top}.institute-v2__hero::before{position:absolute;inset:0 0 auto;z-index:1;height:585px;background:#fff;clip-path:polygon(0 0,42% 0,86% 100%,0 100%);content:""}.institute-v2__hero::after{height:34%;clip-path:polygon(0 35%,100% 0,100% 100%,0 100%)}.institute-v2__hero-inner{display:block;min-height:790px;padding-top:60px}.institute-v2__hero-copy{position:relative;z-index:2;width:84%;padding:0}.institute-v2__hero h1{margin-bottom:22px;font-size:clamp(38px,11vw,54px);line-height:1.5}.institute-v2__hero-copy>p:not(.institute-v2__eyebrow){font-size:13px;line-height:2}.institute-v2__hero-message{position:absolute;right:0;bottom:65px;width:46%;margin:0;padding:26px 20px;font-size:14px}.institute-v2__hero-message small{font-size:7px}.institute-v2 .page-breadcrumb{width:calc(100% - 36px)}
 .institute-v2__about{padding-top:75px}.institute-v2__about-grid{grid-template-columns:1fr;gap:58px}.institute-v2__copy-block{padding-left:18px}.institute-v2__copy-block h2,.institute-v2__results h2,.institute-v2__partners h2,.institute-v2__voices h2{font-size:clamp(27px,8vw,38px)}.institute-v2__copy-block>p:not(.institute-v2__eyebrow){font-size:13px}.institute-v2__about-visual{min-height:440px;padding:0 0 92px}.institute-v2__about-visual img{width:74%;height:330px}.institute-v2__about-visual p{width:55%;padding:30px 22px;font-size:14px}
 .institute-v2__service{padding-block:78px;clip-path:polygon(0 2%,100% 0,100% 98%,0 100%)}.institute-v2__service-grid{display:flex;flex-direction:column;width:100%}.institute-v2__service-copy{order:1!important;padding:35px 28px 48px}.institute-v2__service-image{order:2!important;min-height:300px;clip-path:polygon(0 0,100% 8%,100% 100%,0 100%)!important}.institute-v2__number{font-size:52px}.institute-v2__service h2{font-size:30px}.institute-v2__service h3{font-size:21px}.institute-v2__feature-list{order:3;grid-template-columns:1fr}.institute-v2__feature-list li{min-height:0;padding:17px 28px;text-align:left}
 .institute-v2__results-grid{grid-template-columns:repeat(2,1fr)}.institute-v2__results-grid article{padding:28px 18px;border-bottom:1px solid var(--iv2-line)}.institute-v2__results-grid article:nth-child(2){border-right:0}.institute-v2__chart{grid-template-columns:1fr;gap:30px;margin-top:65px;padding:28px 20px}.institute-v2__chart figure{overflow-x:auto}.institute-v2__chart figure img{min-width:620px}
 .institute-v2__director{background:linear-gradient(155deg,#fff 0 44%,var(--iv2-sky) 44%)}.institute-v2__director-grid{grid-template-columns:1fr;gap:30px}.institute-v2__director-image img{width:min(76%,340px);margin-inline:auto;max-height:380px}.institute-v2__director blockquote{font-size:30px}.institute-v2__partners ul{grid-template-columns:1fr}.institute-v2__voice-grid{grid-template-columns:1fr}.institute-v2__voice-grid article{min-height:0;padding:28px 24px}.institute-v2__document-grid{grid-template-columns:1fr;gap:42px}.institute-v2__document-image{width:min(55%,220px);margin-inline:auto}.institute-v2__button{width:100%;min-width:0}.institute-v2__free-dial{width:100%}.institute-v2__footer-inner{grid-template-columns:1fr}.institute-v2__footer-logo img{margin-inline:auto}.institute-v2__footer nav{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.institute-v2__footer nav a{padding:12px 0;border-bottom:1px solid #e3eaf0}.institute-v2__footer p{text-align:center}
}

/* 2026-09-22 approved editorial redesign */
.institute-v2__service-intro {
  padding: clamp(100px, 10vw, 150px) 0 clamp(72px, 7vw, 105px);
  background: linear-gradient(110deg, #fff 0 64%, #fbf7ef 64% 100%);
}
.institute-v2__service-intro .institute-v2__container {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: clamp(64px, 9vw, 130px);
  align-items: end;
}
.institute-v2__service-intro h2 {
  margin: 0;
  color: var(--iv2-navy);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(34px, 4vw, 56px);
      font-size: var(--font-heading-md);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .05em;
}
.institute-v2__service-intro .institute-v2__container > p {
  margin: 0 0 12px;
  padding-left: 30px;
  border-left: 1px solid #b8c9d9;
  font-size: 14px;
  line-height: 2;
}

.institute-v2__service {
  padding-block: clamp(90px, 8vw, 128px);
  clip-path: none;
}
.institute-v2__service-grid {
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  grid-template-rows: auto 1fr;
  gap: 0;
  width: min(calc(100% - 64px), 1320px);
}
.institute-v2__service-copy {
  padding: clamp(42px, 5vw, 74px);
}
.institute-v2__service-image {
  min-height: 610px;
  clip-path: none;
}
.institute-v2__service-image img {
  object-position: center;
}
.institute-v2__feature-list {
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 0;
  padding: 0 clamp(42px, 5vw, 74px) clamp(42px, 5vw, 70px);
  background: transparent;
}
.institute-v2__feature-list li {
  position: relative;
  min-height: 0;
  padding: 10px 0 10px 28px;
  border-top: 1px solid rgba(7, 59, 130, .14);
  background: transparent;
  color: var(--iv2-ink);
  font-size: 13px;
  text-align: left;
}
.institute-v2__feature-list li::before {
  position: absolute;
  top: 12px;
  left: 0;
  display: grid;
  width: 16px;
  height: 16px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--iv2-navy);
  content: "✓";
  font-size: 9px;
}

.institute-v2__service--management {
  margin-bottom: clamp(34px, 4vw, 62px);
  color: var(--iv2-ink);
  background: linear-gradient(105deg, #eaf4fc 0 68%, #f6fafe 68% 100%);
}
.institute-v2__service--management .institute-v2__service-image {
  grid-column: 1;
  grid-row: 1 / 3;
}
.institute-v2__service--management .institute-v2__service-copy {
  grid-column: 2;
  grid-row: 1;
}
.institute-v2__service--management .institute-v2__feature-list {
  grid-column: 2;
  grid-row: 2;
}
.institute-v2__service--management .institute-v2__number,
.institute-v2__service--management h2,
.institute-v2__service--management h3 {
  color: var(--iv2-navy);
}
.institute-v2__service--management .institute-v2__button--outline-light {
  border-color: #7999bb;
  color: var(--iv2-navy);
  background: rgba(255,255,255,.62);
}

.institute-v2__service--operation {
  color: #3d4b45;
  background: linear-gradient(105deg, #faf5ea 0 70%, #f1eadc 70% 100%);
}
.institute-v2__service--operation .institute-v2__service-copy {
  grid-column: 1;
  grid-row: 1;
  order: initial;
}
.institute-v2__service--operation .institute-v2__service-image {
  grid-column: 2;
  grid-row: 1 / 3;
  order: initial;
  clip-path: none;
}
.institute-v2__service--operation .institute-v2__feature-list {
  grid-column: 1;
  grid-row: 2;
}
.institute-v2__service--operation .institute-v2__number,
.institute-v2__service--operation h2,
.institute-v2__service--operation h3 {
  color: #6b5c3c;
}
.institute-v2__service--operation .institute-v2__feature-list li {
  background: transparent;
  color: #4f5549;
}
.institute-v2__service--operation .institute-v2__feature-list li::before {
  background: #839864;
}
.institute-v2__service--operation .institute-v2__button--outline {
  border-color: #a49573;
  color: #675a3d;
  background: rgba(255,255,255,.58);
}

.institute-v2__results {
  padding-top: clamp(125px, 11vw, 175px);
}
.institute-v2__director {
  margin-top: clamp(30px, 4vw, 60px);
}

/* Keep the support photography legible before the layout reaches phone size. */
@media (min-width: 768px) and (max-width: 1024px) {
  .institute-v2__service-grid {
    display: flex;
    flex-direction: column;
    width: min(calc(100% - 64px), 900px);
  }
  .institute-v2__service-image {
    min-height: clamp(400px, 56vw, 540px);
  }
  .institute-v2__service--management .institute-v2__service-copy { order: 1; }
  .institute-v2__service--management .institute-v2__service-image { order: 2; }
  .institute-v2__service--management .institute-v2__feature-list { order: 3; }
  .institute-v2__service--operation .institute-v2__service-image { order: 1; }
  .institute-v2__service--operation .institute-v2__service-copy { order: 2; }
  .institute-v2__service--operation .institute-v2__feature-list { order: 3; }
}

@media (max-width: 767px) {
  .institute-v2__service-intro {
    padding: 82px 0 60px;
    background: linear-gradient(160deg, #fff 0 72%, #fbf7ef 72% 100%);
  }
  .institute-v2__service-intro .institute-v2__container {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .institute-v2__service-intro h2 {
    font-size: clamp(28px, 8.5vw, 38px);
        font-size: var(--font-heading-md);
  }
  .institute-v2__service-intro .institute-v2__container > p {
    padding-left: 18px;
    font-size: 13px;
  }
  .institute-v2__service {
    padding-block: 68px;
  }
  .institute-v2__service-grid {
    display: flex;
    width: 100%;
  }
  .institute-v2__service-copy {
    padding: 30px 24px 34px;
  }
  .institute-v2__service-image {
    min-height: 290px;
    clip-path: none !important;
  }
  .institute-v2__feature-list {
    padding: 2rem 24px 42px;
  }
  .institute-v2__feature-list li {
    padding-block: 9px;
    padding-left: 27px;
  }
  .institute-v2__service--management {
    margin-bottom: 22px;
  }
  .institute-v2__service--management .institute-v2__service-copy { order: 1 !important; }
  .institute-v2__service--management .institute-v2__service-image { order: 2 !important; }
  .institute-v2__service--management .institute-v2__feature-list { order: 3; }
  .institute-v2__service--operation .institute-v2__service-image { order: 1 !important; }
  .institute-v2__service--operation .institute-v2__service-copy { order: 2 !important; }
  .institute-v2__service--operation .institute-v2__feature-list { order: 3; }
  .institute-v2__service--operation .institute-v2__service-image img {
    object-position: 58% center;
  }
  .institute-v2__results {
    padding-top: 100px;
  }
}

/* Hero layout based on r-institute_main-1.png */
.institute-v2__hero {
  min-height: clamp(620px, 49vw, 760px);
  background: #fff;
}
.institute-v2__hero-image {
  inset: 0;
  height: 100%;
  aspect-ratio: auto;
}
.institute-v2__hero-image img {
  object-fit: cover;
  object-position: center 38%;
}
.institute-v2__hero::before {
  display: none;
}
.institute-v2__hero::after {
  height: 16%;
  clip-path: polygon(0 72%, 100% 0, 100% 100%, 0 100%);
}
.institute-v2__hero-inner {
  display: block;
  min-height: clamp(620px, 49vw, 760px);
  padding-top: clamp(76px, 8vw, 128px);
  padding-bottom: 110px;
}
.institute-v2__hero-copy {
  position: relative;
  z-index: 2;
  width: min(43%, 600px);
  padding: 0;
}
.institute-v2__hero h1 {
  max-width: none;
  margin-bottom: 24px;
      font-size: clamp(42px, 4.5vw, 50px);
  line-height: 1.36;
}
.institute-v2__hero-copy > p:not(.institute-v2__eyebrow) {
  max-width: 560px;
  margin-bottom: 30px;
  font-size: clamp(13px, 1.15vw, 16px);
  line-height: 1.9;
}
.institute-v2__hero-logo {
  width: min(100%, 310px);
  height: auto;
  filter: none;
}
.institute-v2__hero-message {
  display: none;
}

@media (max-width: 767px) {
  .institute-v2__hero {
    min-height: 620px;
  }
  .institute-v2__hero-image {
    inset: 0;
    height: 100%;
  }
  .institute-v2__hero-image img {
    object-fit: cover;
    object-position: 64% center;
  }
  .institute-v2__hero::before {
    display: block;
    inset: 0;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .9) 29%, rgba(255, 255, 255, .2) 52%, rgba(255, 255, 255, 0) 100%);
        clip-path: none;
  }
  .institute-v2__hero::after {
    height: 13%;
    clip-path: polygon(0 62%, 100% 0, 100% 100%, 0 100%);
  }
  .institute-v2__hero-inner {
    min-height: 620px;
    padding-top: 42px;
    padding-bottom: 82px;
  }
  .institute-v2__hero-copy {
    width: 55%;
  }
  .institute-v2__hero .institute-v2__eyebrow {
    max-width: 100%;
    margin-bottom: 12px;
  }
  .institute-v2__hero h1 {
    max-width: 100%;
    margin-bottom: 18px;
    font-size: clamp(20px, 6vw, 37px);
    line-height: 1.42;
  }
  .institute-v2__hero-copy > p:not(.institute-v2__eyebrow) {
    max-width: 100%;
    margin-bottom: 26px;
    font-size: 12px;
    line-height: 1.85;
  }
  .institute-v2__hero-logo {
    width: min(100%, 240px);
  }
}

/* ABOUT editorial layout */
.institute-v2__about {
  position: relative;
  padding-top: clamp(72px, 7vw, 112px);
  padding-bottom: clamp(120px, 11vw, 175px);
  background:
    linear-gradient(90deg, rgba(246, 240, 229, .42) 0 7%, transparent 7% 100%),
    #fff;
}
.institute-v2__about::after {
  position: absolute;
  right: 0;
  bottom: 8%;
  width: 11%;
  height: 30%;
  background: rgba(246, 240, 229, .34);
  content: "";
  pointer-events: none;
}
.institute-v2__about-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(360px, .88fr) minmax(480px, 1.12fr);
  gap: clamp(78px, 9vw, 138px);
  align-items: center;
}
.institute-v2__about .institute-v2__copy-block {
  max-width: 520px;
  padding: 8px 0 8px 30px;
  border-left: 2px solid #98b9d8;
}
.institute-v2__about .institute-v2__copy-block h2 {
  margin-bottom: 30px;
  font-size: clamp(34px, 3.25vw, 36px);
      font-size: var(--font-heading-md);
  line-height: 1.65;
}
.institute-v2__about .institute-v2__copy-block > p:not(.institute-v2__eyebrow) {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 2.15;
}
.institute-v2__about-visual {
  display: grid;
  grid-template-rows: minmax(330px, 1.45fr) minmax(170px, .62fr);
  gap: 18px;
  min-height: 0;
  padding: 0;
}
.institute-v2__about-image {
  margin: 0;
  overflow: hidden;
  background: #edf3f7;
}
.institute-v2__about-image--primary {
  width: 78%;
  justify-self: start;
}
.institute-v2__about-image--secondary {
  width: 100%;
  justify-self: end;
}
.institute-v2__about-visual .institute-v2__about-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.institute-v2__about-image--primary img {
  object-position: center center;
}
.institute-v2__about-image--secondary img {
  object-position: center 42%;
}

/* Keep each service's feature list after its image on narrow layouts. */
.institute-v2__service--management .institute-v2__service-details {
  grid-column: 2;
  grid-row: 2;
}
.institute-v2__service--operation .institute-v2__service-details {
  grid-column: 1;
  grid-row: 2;
}

@media (max-width: 1024px) {
  .institute-v2__service-details {
    order: 3;
  }
}

@media (max-width: 767px) {
  .institute-v2__service--management .institute-v2__service-copy,
  .institute-v2__service--operation .institute-v2__service-copy {
    order: 1 !important;
  }
  .institute-v2__service--management .institute-v2__service-image,
  .institute-v2__service--operation .institute-v2__service-image {
    order: 2 !important;
  }
  .institute-v2__service--management .institute-v2__service-details,
  .institute-v2__service--operation .institute-v2__service-details {
    order: 3 !important;
  }
}

@media (max-width: 1024px) {
  .institute-v2__about-grid {
    grid-template-columns: minmax(300px, .9fr) minmax(380px, 1.1fr);
    gap: 56px;
  }
  .institute-v2__about-visual {
    grid-template-rows: 360px 175px;
  }
  .institute-v2__about-image--primary {
    width: 86%;
  }
  .institute-v2__about-image--secondary {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .institute-v2__about {
    padding-top: 66px;
    padding-bottom: 96px;
    background:
      linear-gradient(90deg, rgba(246, 240, 229, .38) 0 12%, transparent 12% 100%),
      #fff;
  }
  .institute-v2__about::after {
    width: 18%;
    height: 18%;
  }
  .institute-v2__about-grid {
    grid-template-columns: 1fr;
    gap: 54px;
  }
  .institute-v2__about .institute-v2__copy-block {
    max-width: none;
    padding-left: 18px;
  }
  .institute-v2__about .institute-v2__copy-block h2 {
    font-size: clamp(28px, 8.2vw, 38px);
        font-size: var(--font-heading-md);
  }
  .institute-v2__about .institute-v2__copy-block > p:not(.institute-v2__eyebrow) {
    font-size: 13px;
  }
  .institute-v2__about-visual {
    grid-template-rows: none;
    gap: 12px;
  }
  .institute-v2__about-image--primary {
    width: 88%;
    aspect-ratio: 4 / 3;
  }
  .institute-v2__about-image--secondary {
    width: 100%;
    aspect-ratio: 16 / 7;
  }
}

/* Prevent a sub-pixel image seam above the breadcrumb. */
.institute-v2__hero {
  overflow: hidden;
}
.institute-v2__hero::after {
  bottom: -3px;
  height: calc(16% + 4px);
}

@media (max-width: 767px) {
  .institute-v2__hero::after {
    height: calc(13% + 4px);
  }
}

/* Director section: portrait and greeting above, message and financial table below. */
.institute-v2__director {
  position: relative;
  margin-top: clamp(30px, 4vw, 60px);
  padding-block: clamp(105px, 9vw, 150px);
  background: linear-gradient(112deg, #fff 0 58%, #edf8ff 58.15% 100%);
  overflow: hidden;
}
.institute-v2__director-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-areas:
    "portrait portrait portrait portrait . intro intro intro intro intro intro intro"
    "message message message message message message message . chart chart chart chart"
    "partners partners partners partners partners partners partners partners partners partners partners partners";
  gap: clamp(82px, 8vw, 120px) clamp(18px, 2.2vw, 34px);
  align-items: center;
}
.institute-v2__director-image {
  grid-area: portrait;
  align-self: end;
  display: flex;
  justify-content: center;
}
.institute-v2__director-image img {
  width: min(100%, 360px);
  max-height: 500px;
  object-fit: contain;
  object-position: center bottom;
}
.institute-v2__director-intro {
  grid-area: intro;
}
.institute-v2__director h2 {
  margin: 0 0 28px;
  color: var(--iv2-navy);
  font-size: clamp(28px, 2.6vw, 40px);
  font-weight: 500;
}
.institute-v2__director blockquote {
  position: relative;
  margin: 0 0 34px;
  padding-left: 48px;
  color: var(--iv2-navy);
  font-size: clamp(38px, 4.2vw, 62px);
  line-height: 1.55;
}
.institute-v2__director blockquote::before {
  position: absolute;
  top: 18px;
  left: 0;
  color: #b8ddf5;
  content: "“";
  font-size: 76px;
  line-height: 0;
}
.institute-v2__director-profile p {
  max-width: 760px;
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 2;
}
.institute-v2__director-message {
  grid-area: message;
  align-self: start;
}
.institute-v2__director-message h3,
.institute-v2__director-chart h3 {
  margin: 0 0 28px;
  color: var(--iv2-ink);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(24px, 2.3vw, 34px);
  font-weight: 500;
  letter-spacing: .04em;
}
.institute-v2__director-message p {
  margin: 0 0 26px;
  font-size: 14px;
  line-height: 2.1;
}
.institute-v2__director-chart {
  grid-area: chart;
  align-self: start;
  margin: 0;
}
.institute-v2__director-chart img {
  width: 100%;
  height: auto;
  background: #fff;
}
.institute-v2__director-chart figcaption {
  margin-top: 12px;
  font-size: 10px;
  line-height: 1.7;
}

@media (max-width: 1024px) {
  .institute-v2__director-layout {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-areas:
      "portrait portrait portrait portrait intro intro intro intro intro intro intro intro"
      "message message message message message message message chart chart chart chart chart"
      "partners partners partners partners partners partners partners partners partners partners partners partners";
    gap: 64px 26px;
  }
  .institute-v2__director blockquote {
    font-size: clamp(34px, 4.5vw, 48px);
  }
}

@media (max-width: 767px) {
  .institute-v2__director {
    padding-block: 88px 96px;
    background: linear-gradient(155deg, #fff 0 46%, #edf8ff 46.2% 100%);
  }
  .institute-v2__director-layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "intro"
      "portrait"
      "message"
      "chart"
      "partners";
    gap: 48px;
  }
  .institute-v2__director-image img {
    width: min(78%, 330px);
    max-height: 390px;
  }
  .institute-v2__director blockquote {
    margin-bottom: 28px;
    padding-left: 34px;
           font-size: clamp(34px, 9vw, 36px);
  }
  .institute-v2__director blockquote::before {
    top: 14px;
    font-size: 60px;
  }
  .institute-v2__director-profile p,
  .institute-v2__director-message p {
    font-size: 13px;
  }
  .institute-v2__director-message h3,
  .institute-v2__director-chart h3 {
    margin-bottom: 22px;
    font-size: 25px;
  }
  .institute-v2__director-chart {
    overflow-x: auto;
  }
  .institute-v2__director-chart img {
    min-width: 620px;
  }
}

/* Partners is the closing row of the director section. */
.institute-v2__director .institute-v2__partners {
  grid-area: partners;
  padding: clamp(72px, 7vw, 105px) 0 0;
  border-top: 1px solid rgba(7, 59, 130, .2);
  color: var(--iv2-ink);
  background: transparent;
}
.institute-v2__director .institute-v2__partners .institute-v2__eyebrow {
  color: #4779b4;
}
.institute-v2__director .institute-v2__partners h2 {
  margin: 0 0 22px;
  color: var(--iv2-navy);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 500;
}
.institute-v2__director .institute-v2__partners .institute-v2__lead {
  max-width: 680px;
  margin: 0;
  font-size: 14px;
  line-height: 2;
}
.institute-v2__director .institute-v2__partners ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  margin: 44px 0 0;
  padding: 0;
  border-block: 1px solid rgba(7, 59, 130, .2);
  background: rgba(255, 255, 255, .36);
  list-style: none;
}
.institute-v2__director .institute-v2__partners li {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 92px;
  padding: 24px 20px 24px 42px;
  border-right: 1px solid rgba(7, 59, 130, .18);
  color: var(--iv2-ink);
  background: rgba(255, 255, 255, .5);
  font-size: 13px;
  text-align: left;
}
.institute-v2__director .institute-v2__partners li:last-child {
  border-right: 0;
}
.institute-v2__director .institute-v2__partners li::before {
  position: absolute;
  left: 20px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #7ba4cc;
  content: "";
}

@media (max-width: 1024px) {
  .institute-v2__director .institute-v2__partners ul {
    grid-template-columns: repeat(3, 1fr);
  }
  .institute-v2__director .institute-v2__partners li:nth-child(3) {
    border-right: 0;
  }
  .institute-v2__director .institute-v2__partners li:nth-child(n + 4) {
    border-top: 1px solid rgba(7, 59, 130, .18);
  }
}

@media (max-width: 767px) {
  .institute-v2__director .institute-v2__partners {
    padding-top: 58px;
  }
  .institute-v2__director .institute-v2__partners ul {
    grid-template-columns: 1fr;
    margin-top: 32px;
  }
  .institute-v2__director .institute-v2__partners li {
    min-height: 0;
    padding-block: 18px;
    border-top: 1px solid rgba(7, 59, 130, .18);
    border-right: 0;
  }
  .institute-v2__director .institute-v2__partners li:first-child {
    border-top: 0;
  }
}

/* Visual partner network: one lead image and five illustrated service rows. */
.institute-v2__partners-showcase {
  display: grid;
  grid-template-columns: minmax(330px, .42fr) minmax(500px, .58fr);
  gap: clamp(34px, 4vw, 58px);
  align-items: stretch;
  margin-top: 46px;
}
.institute-v2__partners-main-image {
  position: relative;
  min-height: 610px;
  margin: 0;
  overflow: hidden;
  background: #dfeaf1;
}
.institute-v2__partners-main-image::after {
  position: absolute;
  inset: auto 0 0;
  height: 22%;
  background: linear-gradient(0deg, rgba(6, 47, 111, .22), transparent);
  content: "";
}
.institute-v2__partners-main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.institute-v2__director .institute-v2__partners .institute-v2__partner-list {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(5, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.institute-v2__director .institute-v2__partners .institute-v2__partner-list li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 0;
  padding: 18px;
  border: 0;
  border-bottom: 1px solid rgba(7, 59, 130, 0.05);
  color: var(--iv2-ink);
  background: rgba(255, 255, 255, .44);
  text-align: left;
}
.institute-v2__director .institute-v2__partners .institute-v2__partner-list li:first-child {
  border-top: 1px solid rgba(7, 59, 130, 0.05);
}
.institute-v2__director .institute-v2__partners .institute-v2__partner-list li::before {
  display: none;
}
.institute-v2__partner-icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  /*border: 1px solid rgba(7, 59, 130, .28);*/
  border-radius: 50%;
  color: var(--iv2-navy);
  background: rgba(255, 255, 255, .72);
}
.institute-v2__partner-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.institute-v2__partner-list strong {
  display: block;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(15px, 1.35vw, 18px);
  font-weight: 600;
  letter-spacing: .04em;
}
.institute-v2__partner-copy p {
  margin: 7px 0 0;
  color: #61768d;
  font-size: 14px;
  line-height: 1.7;
}

@media (max-width: 1024px) {
  .institute-v2__partners-showcase {
    grid-template-columns: minmax(280px, .38fr) minmax(420px, .62fr);
    gap: 30px;
  }
  .institute-v2__partners-main-image {
    min-height: 570px;
  }
  .institute-v2__director .institute-v2__partners .institute-v2__partner-list {
    grid-template-columns: 1fr;
  }
  .institute-v2__director .institute-v2__partners .institute-v2__partner-list li {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
  }
  .institute-v2__partner-icon {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 900px) {
  .institute-v2__partners-showcase {
    grid-template-columns: 1fr;
  }
  .institute-v2__partners-main-image {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  .institute-v2__partners-main-image img {
    object-position: center 58%;
  }
}

@media (max-width: 767px) {
  .institute-v2__partners-showcase {
    gap: 24px;
    margin-top: 34px;
  }
  .institute-v2__partners-main-image {
    aspect-ratio: 4 / 3;
  }
  .institute-v2__director .institute-v2__partners .institute-v2__partner-list li {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    padding: 15px 12px;
  }
  .institute-v2__partner-list strong {
    font-size: 14px;
  }
  .institute-v2__partner-copy p {
    margin-top: 5px;
    font-size: 11px;
    line-height: 1.65;
  }
}

/* Testimonial cards with varied editorial imagery. */
.institute-v2__voice-grid {
  align-items: stretch;
}
.institute-v2__voice-grid article {
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #dce5ed;
  background: #fff;
  box-shadow: 0 18px 42px rgba(23, 53, 93, .07);
}
.institute-v2__voice-image {
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #edf3f7;
}
.institute-v2__voice-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.institute-v2__voice-grid article:nth-child(1) .institute-v2__voice-image img {
  object-position: 46% center;
}
.institute-v2__voice-grid article:nth-child(2) .institute-v2__voice-image img {
  object-position: 62% center;
}
.institute-v2__voice-grid article:nth-child(3) .institute-v2__voice-image img {
  object-position: center;
}
.institute-v2__voice-grid h3 {
  margin: 28px 30px 0;
  padding-bottom: 15px;
  border-bottom: 1px solid #a8c4df;
  font-size: 20px;
}
.institute-v2__voice-grid p {
  margin: 0;
  padding: 1em 30px 34px;
  font-size: 13px;
  line-height: 2;
}

@media (max-width: 767px) {
  .institute-v2__voices > .institute-v2__container > h2 {
    font-size: clamp(28px, 3vw, 42px);
  }
  .institute-v2__voice-image {
    aspect-ratio: 16 / 10;
  }
  .institute-v2__voice-grid h3 {
    margin: 24px 24px 0;
  }
  .institute-v2__voice-grid p {
    padding: 16px 24px 28px;
  }
}

/* Lightweight placeholders shown while deferred images are loading. */
.institute-v2__hero-image {
  background: #eef7fb;
}
.institute-v2__about-image--primary {
  background: #edf6fb;
}
.institute-v2__about-image--secondary {
  background: #f7f2e9;
}
.institute-v2__service--management .institute-v2__service-image {
  background: #e6f2fa;
}
.institute-v2__service--operation .institute-v2__service-image {
  background: #f6f0e5;
}
.institute-v2__director-image {
  /*background: rgba(237, 248, 255, .56);*/
}
.institute-v2__director-chart {
  background: rgba(255, 255, 255, .55);
}
.institute-v2__voice-image {
  background: #edf4f8;
}
.institute-v2__document-image {
  background: rgba(255, 255, 255, .45);
}
.institute-v2__news {
	/*background: #f2f8fc;*/
	font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
}

.institute-v2__news .section-heading h2 {
	color: var(--iv2-navy, #073b82);
	font-family: Georgia, serif;
}

.institute-v2__news .information__item h3 {
	font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
}

.institute-v2__news .information__archive-link .button {
	background: var(--iv2-navy, #073b82);
	font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
	font-size: 13px;
  width: 380px;
}

/* 経営支援・運営支援の最終項目にも区切り線を表示。 */
.institute-v2__feature-list > li:last-child {
  border-bottom: 1px solid rgba(7, 59, 130, .14);
}

/* 前後の引用符を同じインライン配置・文字サイズ・間隔に揃える。 */
.institute-v2__director blockquote {
  padding-left: 0;
}
.institute-v2__director blockquote::before {
  content: none;
}
.institute-v2__director .institute-v2__opening-quote,
.institute-v2__director .institute-v2__closing-quote {
  position: relative;
  top: .22em;
  color: #b8ddf5;
  font-size: 1.3em;
  line-height: 0;
}
.institute-v2__director .institute-v2__opening-quote {
  margin-right: .1em;
}
.institute-v2__director .institute-v2__closing-quote {
  margin-left: .1em;
}
