/* 3D main visual (replaces the former static MV image; rest of the site is unchanged) */
.l-index-visual--3d{
  background:linear-gradient(135deg,#e6f4fd 0%,#f3f9ff 55%,#eaf6fb 100%) !important;
  overflow:hidden;
}
.l-index-visual--3d #mv3d{position:absolute;inset:0;width:100%;height:100%;display:block}
.l-index-visual--3d .l-index-visual__inner{position:relative;z-index:2;pointer-events:none}
.mv3d-copy{margin-right:auto;width:min(500px,50%);color:#002742}
.mv3d-title{font-size:clamp(24px,3vw,40px);line-height:1.4;font-weight:900;letter-spacing:.03em;margin-bottom:20px;white-space:nowrap;text-shadow:0 0 10px rgba(255,255,255,.7)}
.mv3d-text{font-size:clamp(13px,1.25vw,16px);line-height:2;letter-spacing:.06em;font-weight:700;text-shadow:0 0 8px rgba(255,255,255,.85),0 0 2px rgba(255,255,255,.9)}
@media screen and (max-width:599px){
  .l-index-visual--3d .l-index-visual__inner{justify-content:flex-end;padding-bottom:36px;min-height:130vw}
  .mv3d-copy{width:100%;margin:0}
  .mv3d-title{font-size:clamp(20px,6.4vw,32px);letter-spacing:0;margin-bottom:12px}
  .mv3d-text{font-size:12px;line-height:1.85}
}
@media screen and (min-width:600px) and (max-width:959px){
  .mv3d-copy{width:min(380px,48%)}
  .mv3d-title{font-size:clamp(18px,3.4vw,30px);letter-spacing:0}
}

/* typeface aligned with www.e-infonet.jp body text: Montserrat (Latin/numerals) + Noto Sans JP (Japanese) */
:root{--font-sans:"Montserrat","Noto Sans JP","Helvetica Neue",arial,verdana,"Hiragino Kaku Gothic ProN","Hiragino Sans",meiryo,sans-serif}
html body,html body button,html body input,html body textarea{font-family:var(--font-sans)}

/* achievements strip (100+ / 600+ / 0) */
.p-index-stats{background:#fff;padding:72px 30px 80px;border-bottom:1px solid #e5e5e5}
.p-index-stats__inner{max-width:1120px;margin:0 auto}
.p-index-stats__title{font-size:clamp(24px,3vw,36px);font-weight:700;color:#002742;text-align:center;margin-bottom:44px;letter-spacing:.04em}
.p-index-stats__title::after{content:"";display:block;width:48px;height:3px;background:#0099cc;margin:16px auto 0}
.p-index-stats__list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0}
.p-index-stats__item{text-align:center;padding:8px 24px;border-left:1px solid #dcdcdc}
.p-index-stats__item:first-child{border-left:0}
.p-index-stats__label{font-size:15px;font-weight:700;color:#002742;letter-spacing:.08em}
.p-index-stats__num{display:flex;justify-content:center;align-items:baseline;gap:2px;color:#0099cc;font-weight:700;line-height:1.2;margin:8px 0 12px;font-variant-numeric:tabular-nums}
.p-index-stats__num span{font-size:clamp(64px,8vw,104px);letter-spacing:-.02em}
.p-index-stats__num i{font-style:normal;font-size:clamp(32px,4vw,52px)}
.p-index-stats__num small{font-size:clamp(16px,1.6vw,20px);font-weight:700;color:#002742;margin-left:8px}
.p-index-stats__item--zero .p-index-stats__num{color:#f08300}
.p-index-stats__text{font-size:13px;line-height:1.9;color:#555}
@media screen and (max-width:767px){
  .p-index-stats{padding:56px 20px 56px}
  .p-index-stats__list{grid-template-columns:1fr}
  .p-index-stats__item{border-left:0;border-top:1px solid #dcdcdc;padding:24px 8px}
  .p-index-stats__item:first-child{border-top:0}
}
