
.message-v2{--blue:#0d4f96;--blue2:#1579c7;--navy:#15395f;--text:#40566b;--light:#f5faff;color:var(--text);background:#fff}
.message2-container{width:min(1180px,calc(100% - 48px));margin:auto}
.message2-hero{overflow:hidden;background:linear-gradient(120deg,#f7fbff 0%,#eef7ff 62%,#fff 100%);border-bottom:1px solid #d9e6f0}
.message2-hero-inner{width:min(1280px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;gap:58px;align-items:center;padding:62px 0}
.message2-photo{margin:0}
.message2-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center;border-radius:28px;box-shadow:0 24px 60px rgba(28,66,105,.17)}
.message2-kicker,.message2-heading>p,.message2-sub{margin:0 0 10px;color:#168ed0;font-size:11px;font-weight:900;letter-spacing:.15em}
.message2-hero-copy h1{margin:0 0 20px;color:var(--navy);font-size:clamp(42px,5vw,68px);letter-spacing:-.045em}
.message2-catch{margin:0;color:#183c63;font-size:clamp(31px,3.8vw,55px);font-weight:900;line-height:1.42;letter-spacing:-.045em}
.message2-catch em{font-style:normal;color:#0f6dbb}
.message2-intro{max-width:690px;margin:26px 0 0;font-size:15px;line-height:2}
.message2-name{display:inline-flex;flex-direction:column;gap:3px;margin-top:28px;padding:14px 18px;border-left:4px solid #1477c9;background:rgba(255,255,255,.8);border-radius:0 12px 12px 0}
.message2-name span{font-size:12px}.message2-name strong{font-size:22px;color:#173d64}
.message2-nav{position:sticky;top:0;z-index:8;display:flex;justify-content:center;gap:34px;padding:13px 20px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #dbe6ef}
.message2-nav a{color:#355b7d;font-size:13px;font-weight:800;text-decoration:none}
.message2-section{padding:88px 0}.message2-reading{max-width:920px}
.message2-heading h2{margin:0;color:var(--navy);font-size:clamp(32px,4vw,52px);line-height:1.32;letter-spacing:-.04em}
.message2-heading.center{text-align:center}
.message2-prose{margin-top:34px;font-size:16px;line-height:2.05}.message2-prose p{margin:0 0 18px}
.message2-signature{margin-top:36px;text-align:right}.message2-signature span{display:block;font-size:12px}.message2-signature strong{font-size:20px;color:#153d66}
.message2-values{padding:82px 0;background:linear-gradient(180deg,#f7fbff,#eef7ff)}
.message2-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.message2-value-grid article{padding:28px 24px;border-radius:20px;background:#fff;border:1px solid #d7e6f3;box-shadow:0 12px 28px rgba(28,72,112,.07)}
.message2-icon{width:50px;height:50px;display:grid;place-items:center;margin-bottom:17px;border-radius:15px;background:#eaf5ff;color:#0b64b3;font-size:27px;font-weight:900}
.message2-value-grid h3{margin:0 0 10px;color:#164777;font-size:19px}.message2-value-grid p{margin:0;font-size:13px;line-height:1.8}
.message2-students{padding:92px 0}
.message2-student-grid{display:grid;grid-template-columns:1.28fr .72fr;gap:54px;align-items:center}
.message2-students h2{margin:0 0 22px;color:var(--navy);font-size:clamp(34px,4vw,52px)}
.message2-students p{font-size:15px;line-height:1.95}.message2-student-lead{color:#155a98;font-size:20px!important;font-weight:900}
.message2-quote{padding:36px;border-radius:26px;background:linear-gradient(135deg,#0d579f,#1789cb);color:#fff;box-shadow:0 18px 46px rgba(17,89,148,.22)}
.message2-quote span{font-size:10px;font-weight:900;letter-spacing:.18em;opacity:.75}.message2-quote p{margin:12px 0 0;font-size:25px!important;font-weight:900;line-height:1.65}
.message2-final{padding:0 0 90px}
.message2-final-card{position:relative;overflow:hidden;padding:42px 48px;border-radius:26px;background:linear-gradient(120deg,#0a4d95 0%,#1479c5 60%,#49a6ce 100%);color:#fff;box-shadow:0 20px 48px rgba(17,77,132,.2)}
.message2-final-card:after{content:"⚙";position:absolute;right:38px;top:50%;transform:translateY(-50%);font-size:128px;opacity:.12}
.message2-final-card p{margin:0 0 8px;font-size:10px;font-weight:900;letter-spacing:.15em}.message2-final-card h2{margin:0 0 12px;font-size:clamp(30px,4vw,48px);line-height:1.3}.message2-final-card span{font-size:14px}
@media(max-width:850px){.message2-hero-inner,.message2-student-grid{grid-template-columns:1fr}.message2-photo{max-width:520px}.message2-value-grid{grid-template-columns:1fr 1fr}.message2-nav{overflow-x:auto;justify-content:flex-start}}
@media(max-width:560px){.message2-container,.message2-hero-inner{width:min(100% - 28px,1180px)}.message2-value-grid{grid-template-columns:1fr}.message2-hero-inner{padding:42px 0}.message2-catch{font-size:30px}.message2-section,.message2-values,.message2-students{padding:62px 0}.message2-final-card{padding:30px 24px}.message2-nav a{white-space:nowrap}}

/* v3: smaller department-head portrait */
.message2-hero-inner{
  grid-template-columns:380px minmax(0,1fr);
  gap:64px;
  padding:54px 0 58px;
}
.message2-photo{
  width:100%;
  max-width:380px;
  justify-self:center;
}
.message2-photo img{
  aspect-ratio:4/5;
  max-height:475px;
  object-fit:cover;
  border-radius:22px;
}
@media(max-width:980px){
  .message2-hero-inner{
    grid-template-columns:320px minmax(0,1fr);
    gap:42px;
  }
  .message2-photo{max-width:320px}
  .message2-photo img{max-height:400px}
}
@media(max-width:760px){
  .message2-hero-inner{grid-template-columns:1fr}
  .message2-photo{max-width:300px}
  .message2-photo img{max-height:375px}
}

/* v4: further reduce department-head portrait */
.message2-hero-inner{
  grid-template-columns:300px minmax(0,1fr);
  gap:58px;
  padding:48px 0 52px;
}
.message2-photo{max-width:300px}
.message2-photo img{
  max-height:375px;
  border-radius:20px;
}
@media(max-width:980px){
  .message2-hero-inner{
    grid-template-columns:270px minmax(0,1fr);
    gap:38px;
  }
  .message2-photo{max-width:270px}
  .message2-photo img{max-height:338px}
}
@media(max-width:760px){
  .message2-hero-inner{grid-template-columns:1fr}
  .message2-photo{max-width:250px}
  .message2-photo img{max-height:313px}
}

/* v5: simplify page and reduce page-title prominence */
.message2-hero-copy h1{
  font-size:clamp(30px,3.1vw,44px);
  margin-bottom:16px;
  letter-spacing:-.035em;
}
.message2-catch{
  font-size:clamp(31px,3.9vw,54px);
}
.message2-hero-inner{
  align-items:center;
  padding-top:44px;
  padding-bottom:48px;
}
@media(max-width:560px){
  .message2-hero-copy h1{
    font-size:30px;
  }
}

/* v6: simple two-message page */
.message2-student-simple{
  max-width:920px;
}
.message2-students{
  padding-bottom:96px;
}
.message2-student-simple > div{
  max-width:920px;
}

/* v7: align English labels and keep MESSAGE title on one line */
.message2-heading > p,
.message2-sub{
  font-size:12px;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.4;
  margin:0 0 10px;
}
.message2-one-line{
  white-space:nowrap;
  font-size:clamp(30px,3.7vw,48px) !important;
}
@media(max-width:700px){
  .message2-one-line{
    white-space:normal;
  }
}

/* v8: tighten spacing between the two main message sections */
.message2-section{
  padding-bottom:46px;
}
.message2-students{
  padding-top:42px;
  padding-bottom:88px;
}
@media(max-width:560px){
  .message2-section{
    padding-bottom:34px;
  }
  .message2-students{
    padding-top:32px;
    padding-bottom:64px;
  }
}

/* v10: exact visual match for section English labels */
.message2-heading > p,
.message2-sub{
  display:block;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.15em !important;
  line-height:1.4 !important;
  margin:0 0 10px !important;
  color:#168ed0 !important;
}

/* preparing navigation items */
.nav-preparing{display:inline-flex;align-items:center;gap:5px;opacity:.72;cursor:default}
.nav-preparing small{font-size:.62em;font-weight:800;color:#c62828;white-space:nowrap}

/* v13: align preparing nav items with normal navigation links */
.nav-preparing{
  font:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  vertical-align:middle;
}
.nav-preparing small{
  font-size:9px;
  line-height:1;
}

/* v14: keep each preparing menu item as one normal nav item */
.nav-preparing{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  white-space:nowrap;
}
.nav-preparing small{
  display:block;
  font-size:8px;
  line-height:1;
}

/* v15: dropdown preparing items align with 授業紹介 */
.nav-preparing{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100%;
  box-sizing:border-box;
  text-align:left !important;
  white-space:nowrap;
}
.nav-preparing small{
  display:inline-block;
  margin-left:7px;
  font-size:8px;
  line-height:1;
}

/* v16: preparing entries exactly match normal dropdown item typography/alignment */
.nav-preparing{
  display:block !important;
  width:auto !important;
  margin:0 !important;
  padding:14px 22px !important;
  box-sizing:border-box !important;
  color:#1d2630 !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.4 !important;
  letter-spacing:0 !important;
  text-align:left !important;
  white-space:nowrap !important;
  border-top:1px solid #e5e9ed;
}
.nav-preparing small{
  display:inline !important;
  margin-left:7px !important;
  padding:0 !important;
  color:#d84b4b !important;
  font-size:9px !important;
  font-weight:800 !important;
  line-height:1 !important;
  vertical-align:middle !important;
}

/* v17: slightly reduce preparing dropdown item text */
.nav-preparing{
  font-size:15px !important;
}

/* v18: reduce preparing dropdown item text a little more */
.nav-preparing{
  font-size:14px !important;
}

.footer-preparing{color:inherit;opacity:.72;cursor:default}
