.girls-stem-event-2025,
.girls-stem-event-2025 * {
  box-sizing: border-box;
}
.girls-stem-event-2025 {
  background: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 0vw;
  align-items: center;
  justify-content: flex-start;
  min-height: 53.333vw;
  position: relative;
  overflow: hidden;
}
.header {
  background: #0f2b46;
  padding: 0vw 4.479vw 0vw 4.479vw;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  align-self: stretch;
  flex-shrink: 0;
  height: 5.875vw;
  position: relative;
}
.ong-logo {
  flex-shrink: 0;
  width: 17vw;
  height: 3.878vw;
  position: relative;
  object-fit: cover;
}
.nav {
  display: flex;
  flex-direction: row;
  gap: 1.667vw;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
.ong {
  color: #ffffff;
  text-align: left;
  font-family: "Afacad-SemiBold", sans-serif;
  font-size: 0.87vw;
  font-weight: 600;
  position: relative;
}
.div {
  color: #ffffff;
  text-align: left;
  font-family: "Afacad-SemiBold", sans-serif;
  font-size: 0.87vw;
  font-weight: 600;
  position: relative;
}
.ong a,.div a{
  color: #ffffff;
}
.contact-btn {
  border-radius: 2.604vw;
  border-style: solid;
  border-color: #ffffff;
  border-width: 1px;
  padding: 0.625vw 1.042vw 0.625vw 1.042vw;
  display: flex;
  flex-direction: row;
  gap: 0.417vw;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
.rectangle {
  flex-shrink: 0;
  width: 1.25vw;
  height: 1.25vw;
  position: relative;
  object-fit: cover;
}
.fv-section {
    padding: 3.25vw 6.25vw 3.25vw 6.25vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  min-height: 46.875vw;
  position: relative;
    background: url(hero0.png) no-repeat center top;
    background-size: cover;
  background-attachment: fixed;
}
.fv-inner {
  display: flex;
  flex-direction: column;
    gap: 1.68vw;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
}
.fv-eyebrow {
  color: #1a1a1a;
  text-align: left;
  font-family: "NotoSansJp-Bold", sans-serif;
    font-size: 2.304vw;
  line-height: 3.125vw;
  font-weight: 700;
  padding-bottom: 0.521vw;
  border-bottom: 0.208vw dotted #333333;
  position: relative;
}
.fv-heading {
  color: #1a1a1a;
  text-align: left;
  font-family: "NotoSansJp-Bold", sans-serif;
    font-size: 3.5vw;
    line-height: 5.263vw;
  font-weight: 700;
  display: inline-block;
  position: relative;
}
.fv-year-badge {
    display: inline-block;
    position: absolute;
    right: -0.5em;
    bottom: 0.602vw;
    background: #f7931e;
    color: #ffffff;
    font-family: "Afacad-Bold", sans-serif;
    font-size: 3.5vw;
    line-height: 3.5vw;
    font-weight: 700;
    border-radius: 0.417vw;
    padding: 0vw 0.417vw 0.417vw 0.417vw;
}
.fv-b {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  max-width: 34.375vw;
  position: relative;
}
.fv-b-title {
  color: #1a1a1a;
  text-align: left;
  font-family: "NotoSansJp-Bold", sans-serif;
    font-size: 1.68vw;
  line-height: 2.917vw;
  font-weight: 700;
  align-self: stretch;
}
.fv-b-body {
  color: #1a1a1a;
  text-align: left;
  font-family: "NotoSansJp-Regular", sans-serif;
    font-size: 0.99vw;
    line-height: 1.967vw;
  font-weight: 400;
  margin-bottom: 0.833vw;
  align-self: stretch;
}
.fv-b-note {
  color: #1a1a1a;
  text-align: left;
  font-family: "NotoSansJp-Regular", sans-serif;
    font-size: 0.89vw;
    line-height: 1.65vw;
  font-weight: 400;
  align-self: stretch;
}
.fv-br-sp,
.fv-br-sp2 {
  display: none;
}
.fv-b-mobile {
  display: none;
}
.intro-image {
  padding: 0vw 6.25vw 6.25vw 6.25vw;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.frame5 {
  background: #f7931e;
  border-radius: 0.417vw;
  padding: 1.667vw;
  display: flex;
  flex-direction: row;
  gap: 0vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
.div4 {
  color: #ffffff;
  text-align: left;
  font-family: "NotoSerifJp-Bold", sans-serif;
  font-size: 2.188vw;
  font-weight: 700;
  position: relative;
}
.ong3 {
  color: #333333;
  text-align: left;
  font-family: "NotoSansJp-Regular", sans-serif;
  font-size: 1.146vw;
  line-height: 180%;
  font-weight: 400;
  position: relative;
  align-self: stretch;
}
.steam {
  color: #8e8e8e;
  text-align: left;
  font-family: "NotoSansJp-Regular", sans-serif;
  font-size: 0.729vw;
  font-weight: 400;
  position: relative;
  align-self: stretch;
}
.rectangle2 {
  border-radius: 1.25vw;
  flex-shrink: 0;
  width: 31.25vw;
  height: 26.042vw;
  position: relative;
  object-fit: cover;
}
.overview {
  background: #f5f7ff;
  padding: 6.25vw;
  display: flex;
  flex-direction: column;
  gap: 3.125vw;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.frame6 {
  display: flex;
  flex-direction: column;
  gap: 0.417vw;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.div5 {
  color: #333333;
  text-align: center;
  font-family: "NotoSerifJp-Bold", sans-serif;
  font-size: 2.812vw;
  font-weight: 700;
  position: relative;
  align-self: stretch;
}
.frame7 {
  border-style: solid;
  border-color: #f7931e;
  border-width: 0px 0px 1px 0px;
  padding: 0vw 0vw 0.417vw 0vw;
  display: flex;
  flex-direction: column;
  gap: 0vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
.event-overview {
  color: #333333;
  text-align: left;
  font-family: "NotoSerifJp-Medium", sans-serif;
  font-size: 1.25vw;
  font-weight: 500;
  position: relative;
}
.frame8 {
  display: flex;
  flex-direction: column;
  gap: 1.667vw;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  width: 41.667vw;
  position: relative;
}
.frame9 {
  display: flex;
  flex-direction: row;
  gap: 1.25vw;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.frame10 {
  background: #f7931e;
  border-radius: 0.208vw;
  padding: 0.417vw;
  display: flex;
  flex-direction: row;
  gap: 0vw;
  align-items: flex-start;
  justify-content: center;
  flex-shrink: 0;
  width: 7.292vw;
  position: relative;
}
.div6 {
  color: #ffffff;
  text-align: left;
  font-family: "NotoSansJp-Bold", sans-serif;
  font-size: 0.938vw;
  font-weight: 700;
  position: relative;
}
._2026-10-3-15-00-17-00 {
  color: #0f2b46;
  text-align: left;
  font-family: "NotoSansJp-Medium", sans-serif;
  font-size: 1.25vw;
  font-weight: 500;
  position: relative;
  flex: 1;
}
.zoom {
  color: #0f2b46;
  text-align: left;
  font-family: "NotoSansJp-Medium", sans-serif;
  font-size: 1.25vw;
  font-weight: 500;
  position: relative;
  flex: 1;
}
.div7 {
  color: #0f2b46;
  text-align: left;
  font-family: "NotoSansJp-Medium", sans-serif;
  font-size: 1.25vw;
  font-weight: 500;
  position: relative;
  flex: 1;
}
._2025-10-1 {
  color: #0f2b46;
  text-align: left;
  font-family: "NotoSansJp-Medium", sans-serif;
  font-size: 1.25vw;
  font-weight: 500;
  position: relative;
  flex: 1;
}
.cooperation-logos {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 1.25vw;
  margin-top: 0.5vw;
}
.cooperation-logo {
  height: 6.5vw;
  width: auto;
  object-fit: contain;
}
@media (max-width: 800px) {
  .cooperation-logo {
        height: 45px;
  }
}
.program {
  background: #ffffff;
  padding: 6.25vw;
  display: flex;
  flex-direction: column;
  gap: 4.167vw;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.accent-line-top {
  background: #f7931e;
  border-radius: 0.104vw;
  flex-shrink: 0;
  width: 6.25vw;
  height: 0.208vw;
  position: absolute;
  left: calc(50% - 27.344vw);
  top: 16.885vw;
}
.accent-line-top2 {
  background: #f7931e;
  border-radius: 0.104vw;
  flex-shrink: 0;
  width: 6.25vw;
  height: 0.208vw;
  position: absolute;
  left: calc(50% - 27.344vw);
  top: 94.073vw;
}
.timeline-connector-1 {
  background: rgba(247, 147, 30, 0.35);
  border-radius: 0.104vw;
  border-style: dashed;
  border-color: #f7931e;
  border-width: 2px;
  flex-shrink: 0;
  width: 0.208vw;
  height: 77.396vw;
  position: absolute;
  left: calc(50% - 24.323vw);
  top: 16.885vw;
}
.bg-circle {
  background: #f7931e;
  border-radius: 50%;
  opacity: 0.08;
  flex-shrink: 0;
  width: 16.667vw;
  height: 16.667vw;
  position: absolute;
  right: -6.25vw;
  bottom: -6.25vw;
}
.bg-circle2 {
  background: #f7931e;
  border-radius: 50%;
  opacity: 0.08;
  flex-shrink: 0;
  width: 16.667vw;
  height: 16.667vw;
  position: absolute;
  right: 87.552vw;
  bottom: 77.594vw;
}
.event-program {
  color: #333333;
  text-align: left;
  font-family: "NotoSerifJp-Medium", sans-serif;
  font-size: 1.25vw;
  font-weight: 500;
  position: relative;
}
.frame11 {
  display: flex;
  flex-direction: column;
  gap: 3.125vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  width: 60.938vw;
  position: relative;
}
.frame12 {
  display: flex;
  flex-direction: row;
  gap: 2.083vw;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  width: 60.938vw;
  position: relative;
}
.frame13 {
  background: #ffffff;
  border-radius: 0.417vw;
  border-style: solid;
  border-color: #f7931e;
  border-width: 1px;
  display: flex;
  flex-direction: row;
  gap: 0vw;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 12.5vw;
  height: 3.438vw;
  position: relative;
}
._15-00-15-10 {
  color: #333333;
  text-align: left;
  font-family: "NotoSerifJp-Regular", sans-serif;
  font-size: 1.354vw;
  font-weight: 400;
  position: relative;
}
.frame14 {
  background: #f7931e;
  border-radius: 3.438vw;
  display: flex;
  flex-direction: row;
  gap: 0vw;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 6.875vw;
  height: 6.875vw;
  position: relative;
}
.div8 {
  color: #ffffff;
  text-align: left;
  font-family: "NotoSansJp-Bold", sans-serif;
  font-size: 1.25vw;
  font-weight: 700;
  position: relative;
}
.frame15 {
  display: flex;
  flex-direction: column;
  gap: 0vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex: 1;
  height: 5.208vw;
  position: relative;
}
.frame16 {
  display: flex;
  flex-direction: row;
  gap: 2.083vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  width: 60.938vw;
  position: relative;
}
._15-10-15-35 {
  color: #333333;
  text-align: left;
  font-family: "NotoSerifJp-Regular", sans-serif;
  font-size: 1.354vw;
  font-weight: 400;
  position: relative;
}
.frame17 {
  border-radius: 5.156vw;
  border-style: solid;
  border-color: #f7931e;
  border-width: 2px;
  display: flex;
  flex-direction: row;
  gap: 0vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  width: 10.312vw;
  height: 10.312vw;
  position: relative;
  overflow: hidden;
}
.rectangle3 {
  align-self: stretch;
  flex: 1;
  position: relative;
  object-fit: cover;
}
.frame18 {
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex: 1;
  position: relative;
}
.div9 {
  color: #333333;
  text-align: left;
  font-family: "NotoSansJp-Bold", sans-serif;
  font-size: 1.25vw;
  font-weight: 700;
  position: relative;
  align-self: stretch;
}
.div10 {
  color: #f7931e;
  text-align: left;
  font-family: "NotoSansJp-Bold", sans-serif;
  font-size: 0.833vw;
  font-weight: 700;
  position: relative;
  align-self: stretch;
}
.div11 {
  color: #333333;
  text-align: left;
  font-family: "NotoSansJp-Regular", sans-serif;
  font-size: 0.729vw;
  line-height: 180%;
  font-weight: 400;
  position: relative;
  align-self: stretch;
}
._15-35-16-00 {
  color: #333333;
  text-align: left;
  font-family: "NotoSerifJp-Regular", sans-serif;
  font-size: 1.354vw;
  font-weight: 400;
  position: relative;
}
._1 {
  color: #333333;
  text-align: left;
  font-family: "NotoSansJp-Bold", sans-serif;
  font-size: 1.25vw;
  font-weight: 700;
  position: relative;
  align-self: stretch;
}
.ecl {
  color: #f7931e;
  text-align: left;
  font-family: "NotoSansJp-Bold", sans-serif;
  font-size: 0.833vw;
  font-weight: 700;
  position: relative;
  align-self: stretch;
}
._16-00-16-10 {
  color: #333333;
  text-align: left;
  font-family: "NotoSerifJp-Regular", sans-serif;
  font-size: 1.354vw;
  font-weight: 400;
  position: relative;
}
._16-10-16-35 {
  color: #333333;
  text-align: left;
  font-family: "NotoSerifJp-Regular", sans-serif;
  font-size: 1.354vw;
  font-weight: 400;
  position: relative;
}
._16-35-16-55 {
  color: #333333;
  text-align: left;
  font-family: "NotoSerifJp-Regular", sans-serif;
  font-size: 1.354vw;
  font-weight: 400;
  position: relative;
}
._16-55-17-00 {
  color: #333333;
  text-align: left;
  font-family: "NotoSerifJp-Regular", sans-serif;
  font-size: 1.354vw;
  font-weight: 400;
  position: relative;
}
.bg-triangle {
  opacity: 0.06;
  flex-shrink: 0;
  width: 11.458vw;
  height: 11.458vw;
  position: absolute;
  right: 85.001vw;
  bottom: 16.448vw;
  transform: translate(-1.926vw, 1.77vw);
  overflow: visible;
}
.bg-triangle2 {
  opacity: 0.06;
  flex-shrink: 0;
  width: 11.458vw;
  height: 11.458vw;
  position: absolute;
  right: 8.865vw;
  bottom: 59.739vw;
  transform: translate(3.402vw, -4.61vw);
  overflow: visible;
}
.entry {
  background: #f5f7ff;
  padding: 6.25vw;
  display: flex;
  flex-direction: column;
  gap: 4.167vw;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.entry2 {
  color: rgba(235, 237, 242, 0.4);
  text-align: center;
  font-family: "Afacad-Bold", sans-serif;
  font-size: 6.25vw;
  font-weight: 700;
  opacity: 0.15;
  position: absolute;
  right: 35.729vw;
  left: 35.729vw;
  bottom: 0vw;
  top: -2.083vw;
  text-overflow: ellipsis;
  overflow: hidden;
}
.frame19 {
  display: flex;
  flex-direction: column;
  gap: 3.125vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
.frame20 {
  background: #ffffff;
  border-radius: 0.625vw;
  border-style: solid;
  border-color: #f7931e;
  border-width: 3px;
  padding: 2.083vw;
  display: flex;
  flex-direction: column;
  gap: 1.667vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  width: 41.667vw;
  position: relative;
}
.frame21 {
  background: #f7931e;
  border-radius: 2.604vw;
  padding: 0.417vw 0.833vw 0.417vw 0.833vw;
  display: flex;
  flex-direction: row;
  gap: 0vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: absolute;
  left: -0.781vw;
  top: -0.781vw;
}
.div12 {
  color: #ffffff;
  text-align: left;
  font-family: "NotoSansJp-Bold", sans-serif;
  font-size: 0.729vw;
  font-weight: 700;
  position: relative;
}
.frame22 {
  display: flex;
  flex-direction: column;
  gap: 0.833vw;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.div13 {
  color: #f7931e;
  text-align: left;
  font-family: "NotoSerifJp-Bold", sans-serif;
  font-size: 1.667vw;
  font-weight: 700;
  position: relative;
}
.web {
  color: #333333;
  text-align: center;
  font-family: "NotoSansJp-Regular", sans-serif;
  font-size: 0.938vw;
  line-height: 160%;
  font-weight: 400;
  position: relative;
  align-self: stretch;
}
.frame23 {
  background: #f7931e;
  border-radius: 0.417vw;
  display: flex;
  flex-direction: row;
  gap: 0vw;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  height: 3.333vw;
  position: relative;
}
.div14 {
  color: #ffffff;
  font-family: "NotoSerifJp-Bold", sans-serif;
  font-size: 1.25vw;
  font-weight: 700;
  position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}
.entry-qr {
  width: 6.25vw;
  height: 6.25vw;
  object-fit: contain;
  align-self: center;
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 0.417vw;
  padding: 0.417vw;
}
@media (max-width: 800px) {
  .entry-qr {
    width: 100px;
    height: 100px;
  }
}
.frame24 {
  background: #f2f2f2;
  border-radius: 0.625vw;
  border-style: solid;
  border-color: #e0e0e0;
  border-width: 3px;
  padding: 2.083vw;
  display: flex;
  flex-direction: column;
  gap: 1.667vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  width: 41.667vw;
  position: relative;
}
.frame25 {
  background: #8e8e8e;
  border-radius: 2.604vw;
  padding: 0.417vw 0.833vw 0.417vw 0.833vw;
  display: flex;
  flex-direction: row;
  gap: 0vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: absolute;
  left: -0.781vw;
  top: -0.781vw;
}
.div15 {
  color: #8e8e8e;
  text-align: left;
  font-family: "NotoSerifJp-Bold", sans-serif;
  font-size: 1.667vw;
  font-weight: 700;
  position: relative;
}
.div16 {
  color: #333333;
  text-align: center;
  font-family: "NotoSansJp-Regular", sans-serif;
  font-size: 0.938vw;
  line-height: 160%;
  font-weight: 400;
  position: relative;
  align-self: stretch;
}
.previous {
  padding: 6.25vw;
  display: flex;
  flex-direction: column;
  gap: 4.167vw;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.past-lectures {
  color: #333333;
  text-align: left;
  font-family: "NotoSerifJp-Medium", sans-serif;
  font-size: 1.25vw;
  font-weight: 500;
  position: relative;
}
.frame26 {
  display: flex;
  flex-direction: column;
  gap: 0.833vw;
  align-items: flex-start;
  justify-content: flex-start;
  flex: 1;
  position: relative;
}
.rectangle4 {
  border-radius: 0.417vw;
  align-self: stretch;
  flex-shrink: 0;
  height: 13.147vw;
  position: relative;
  object-fit: cover;
  aspect-ratio: 363.33/252.42;
}
.frame27 {
  display: flex;
  flex-direction: column;
  gap: 0.417vw;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.div17 {
  color: #333333;
  text-align: left;
  font-family: "NotoSansJp-Bold", sans-serif;
    font-size: 1.28vw;
  line-height: 140%;
  font-weight: 700;
  position: relative;
  align-self: stretch;
}
.div18 {
  color: #8e8e8e;
  text-align: left;
  font-family: "NotoSansJp-Regular", sans-serif;
  font-size: 0.729vw;
  font-weight: 400;
  position: relative;
  align-self: stretch;
}
.archive {
  background: #f5f7ff;
  padding: 6.25vw;
  display: flex;
  flex-direction: column;
  gap: 3.125vw;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.event-archive {
  color: #333333;
  text-align: left;
  font-family: "NotoSerifJp-Medium", sans-serif;
  font-size: 1.25vw;
  font-weight: 500;
  position: relative;
}
.frame28 {
  display: flex;
  flex-direction: row;
  gap: 0.833vw;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  align-content: flex-start;
  flex-shrink: 0;
  width: 60.938vw;
  position: relative;
}
.frame29 {
  background: #ffffff;
  border-radius: 0.208vw;
  border-style: solid;
  border-color: #f7931e;
  border-width: 2px;
  display: flex;
  flex-direction: row;
  gap: 0vw;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
    width: 14.458vw;
  height: 3.125vw;
  position: relative;
}
.frame29 a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
._2024 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2023 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2022 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2021 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2020 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2019 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2018 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2017 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2016 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2015 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2014 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2013 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2012 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2011 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
._2010 { color: #8e8e8e; text-align: left; font-family: "NotoSansJp-Bold", sans-serif; font-size: 1.042vw; font-weight: 700; position: relative; }
.footer {
  background: #000000;
  align-self: stretch;
  flex-shrink: 0;
  width: 100%;
  height: 28.721vw;
  position: relative;
}
.logo-png {
  width: 16.999vw;
  height: 3.878vw;
  position: absolute;
  left: 9vw;
  top: calc(50% - 7.361vw);
  overflow: hidden;
  object-fit: cover;
  aspect-ratio: 326.39/74.45;
}
._153-8505-4-6-1-tel-03-5452-6894-fax-03-5452-6895 {
  color: #ffffff;
  text-align: left;
  font-family: "Afacad-Regular", sans-serif;
  font-size: 0.901vw;
  line-height: 1.35vw;
  font-weight: 400;
  position: absolute;
  left: 9vw;
  top: calc(50% - 2.38vw);
  width: 17.257vw;
  height: 2.392vw;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.list {
  width: 58.161vw;
  height: 1.25vw;
  position: absolute;
  left: 32.84vw;
  top: calc(50% - 4.198vw);
}
.item-link-ong {
  color: #ffffff;
  text-align: left;
  font-family: "Afacad-Regular", sans-serif;
  font-size: 0.901vw;
  font-weight: 400;
  position: absolute;
  right: 52.411vw;
  top: 50%;
  translate: 0 -50%;
  width: 5.749vw;
  height: 1.042vw;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.item-li-a-href-https-ong-iis-u-tokyo-ac-jp-a-li-link {
  color: #ffffff;
  text-align: left;
  font-family: "Afacad-Regular", sans-serif;
  font-size: 0.901vw;
  font-weight: 400;
  position: absolute;
  right: 42.401vw;
  top: 50%;
  translate: 0 -50%;
  width: 9.031vw;
  height: 1.042vw;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.item-link {
  color: #ffffff;
  text-align: left;
  font-family: "Afacad-Regular", sans-serif;
  font-size: 0.901vw;
  font-weight: 400;
  position: absolute;
  right: 35.082vw;
  top: 50%;
  translate: 0 -50%;
  width: 6.336vw;
  height: 1.042vw;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.item-link2 {
  color: #ffffff;
  text-align: left;
  font-family: "Afacad-Regular", sans-serif;
  font-size: 0.901vw;
  font-weight: 400;
  position: absolute;
  right: 23.124vw;
  top: 50%;
  translate: 0 -50%;
  width: 10.979vw;
  height: 1.042vw;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.item-link-ong2 {
  color: #ffffff;
  text-align: left;
  font-family: "Afacad-Regular", sans-serif;
  font-size: 0.901vw;
  font-weight: 400;
  position: absolute;
  right: 12.799vw;
  top: 50%;
  translate: 0 -50%;
  width: 9.345vw;
  height: 1.042vw;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.item-link3 {
  color: #ffffff;
  text-align: left;
  font-family: "Afacad-Regular", sans-serif;
  font-size: 0.901vw;
  font-weight: 400;
  position: absolute;
  right: -0.019vw;
  top: 50%;
  translate: 0 -50%;
  width: 11.837vw;
  height: 1.042vw;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.item-link a,
.item-link2 a,
.item-link-ong2 a,
.item-link-ong a,
.item-li-a-href-https-ong-iis-u-tokyo-ac-jp-a-li-link a,
.item-link3 a{
  color: #ffffff;
}
.horizontal-border {
  border-style: solid;
  border-color: #ffffff;
  border-width: 1px 0px 0px 0px;
  height: 4.145vw;
  position: absolute;
  right: 8.999vw;
  left: 9vw;
  top: calc(50% - -3.216vw);
}
.copyright {
  color: #ffffff;
  text-align: right;
  font-family: "Afacad-Bold", sans-serif;
  font-size: 0.802vw;
  font-weight: 700;
  position: absolute;
  right: -0.015vw;
  top: 3.104vw;
  width: 14.006vw;
  height: 0.885vw;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* ==========================================================================
   Mobile menu toggle button (hidden on PC / tablet, shown under 800px)
   ========================================================================== */
.menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  gap: 5px;
  width: 28px;
  height: 22px;
  cursor: pointer;
  z-index: 20;
  position: relative;
}
.menu-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: #ffffff;
  border-radius: 2px;
  transition: transform 0.25s ease, opacity 0.25s ease, width 0.25s ease;
}
.menu-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.menu-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
.menu-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ==========================================================================
   Responsive breakpoint: below 800px, switch from the fluid vw/vh scaled
   layout to a stacked smartphone layout using ordinary responsive units.
   ========================================================================== */
@media (max-width: 800px) {

  .girls-stem-event-2025 {
    min-height: auto;
    overflow-x: hidden;
  }

  /* ---------- Header / nav ---------- */
  .header {
    height: auto;
    min-height: 64px;
    padding: 12px 20px;
    position: relative;
  }
  .ong-logo {
    width: 140px;
    height: auto;
  }
  .menu-toggle {
    display: flex;
  }
  .nav {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    position: absolute;
        z-index: 100;
    top: 100%;
    left: 0;
    right: 0;
    background: #0f2b46;
    padding: 24px 20px 32px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
  }
  .rectangle {
    flex-shrink: 0;
    width: 5.25vw;
    height: 3.25vw;
    position: relative;
    object-fit: cover;
}
  .nav.is-open {
    display: flex;
  }
  .ong,
  .nav .div {
    font-size: 15px;
  }
  .contact-btn {
    align-self: stretch;
    justify-content: center;
    padding: 12px 16px;
  }

  /* ---------- FV ---------- */
  .fv-section {
        padding: 70px 20px 0;
        min-height: 420px;
        background: url(hero0_sp.jpg);
        background-size: cover;
  }
  .fv-inner {
    gap: 24px;
  }
  .fv-eyebrow {
        font-size: 26px;
        line-height: 32px;
    padding-bottom: 6px;
    border-bottom-width: 3px;
  }
  .fv-heading {
    font-size: 32px;
    line-height: 48px;
  }
  .fv-br-sp,
  .fv-br-sp2 {
    display: inline-block;
  }
  .fv-year-badge {
        font-size: 32px;
        line-height: 32px;
        padding: 0 6px 4px;
        border-radius: 4px;
        bottom: -45px;
        right: unset;
        left: 0;
  }
  .fv-b {
    display: none;
  }
  .fv-b-mobile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    background: #ffffff;
    padding: 40px 20px;
  }
  .fv-b-mobile .fv-b-title {
        font-size: 20px;
        line-height: 34px;
  }
  .fv-b-mobile .fv-b-body {
    font-size: 15px;
    line-height: 28px;
    margin-bottom: 8px;
  }
  .fv-b-mobile .fv-b-note {
        font-size: 13px;
        line-height: 25px;
  }

  /* ---------- Intro image ---------- */
  .intro-image {
    padding: 0 20px 48px;
  }
  .frame5 {
    padding: 16px 20px;
  }
  .div4 {
    font-size: 22px;
  }
  .ong3 {
    font-size: 15px;
    line-height: 175%;
  }
  .steam {
    font-size: 11px;
  }
  .rectangle2 {
    width: 100%;
    height: auto;
    aspect-ratio: 6/5;
  }

  /* ---------- Overview ---------- */
  .overview {
    padding: 56px 20px;
  }
  .div5 {
    font-size: 30px;
  }
  .frame8 {
    width: 100%;
    gap: 20px;
  }
  .frame9 {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .frame10 {
    width: auto;
    padding: 6px 14px;
  }
  .div6 {
    font-size: 14px;
  }
  ._2026-10-3-15-00-17-00,
  .zoom,
  .div7,
  ._2025-10-1 {
    font-size: 17px;
  }

  /* ---------- Program ---------- */
  .program {
    padding: 56px 20px;
    gap: 48px;
  }
  .accent-line-top,
  .accent-line-top2,
  .timeline-connector-1,
  .bg-circle,
  .bg-circle2,
  .bg-triangle,
  .bg-triangle2 {
    display: none;
  }
  .frame11 {
    width: 100%;
    gap: 36px;
  }
  .frame12,
  .frame16 {
    width: 100%;
  }
  .frame12 {
    gap: 16px;
  }
  .frame13 {
    width: auto;
    height: auto;
    padding: 10px 18px;
  }
  ._15-00-15-10,
  ._15-35-16-00,
  ._16-00-16-10,
  ._16-10-16-35,
  ._16-35-16-55,
  ._16-55-17-00,
  ._15-10-15-35 {
    font-size: 16px;
  }
  .frame14 {
    width: 76px;
    height: 76px;
  }
  .div8 {
    font-size: 15px;
  }
  .frame15 {
    display: none;
  }
  .frame16 {
    flex-direction: column;
    gap: 16px;
  }
  .frame17 {
    width: 120px;
    height: 120px;
  }
  .frame18 {
    gap: 8px;
  }
  .div9,
  ._1 {
    font-size: 18px;
  }
  .div10,
  .ecl {
    font-size: 13px;
  }
  .div11 {
    font-size: 13px;
    line-height: 170%;
  }

  /* ---------- Entry ---------- */
  .entry {
    padding: 56px 20px;
    gap: 48px;
  }
  .entry2 {
    display: none;
  }
  .frame19 {
    width: 100%;
    gap: 32px;
  }
  .frame20,
  .frame24 {
    width: 100%;
    padding: 28px 20px;
  }
  .div13,
  .div15 {
    font-size: 22px;
  }
  .web,
  .div16 {
    font-size: 14px;
  }
  .frame23 {
    height: 52px;
  }
  .div14 {
    font-size: 18px;
  }

  /* ---------- Previous lectures ---------- */
  .previous {
    padding: 56px 20px;
  }
  .div17 {
    font-size: 16px;
  }
  .div18 {
    font-size: 13px;
  }

  /* ---------- Archive ---------- */
  .archive {
    padding: 56px 20px;
  }
  .frame28 {
    width: 100%;
    gap: 12px;
    justify-content: space-between;
  }
  .frame29 {
    width: calc(50% - 6px);
    height: 48px;
  }
  ._2024, ._2023, ._2022, ._2021, ._2020, ._2019, ._2018,
  ._2017, ._2016, ._2015, ._2014, ._2013, ._2012, ._2011, ._2010 {
    font-size: 16px;
  }

  /* ---------- Footer ---------- */
  .footer {
    height: auto;
    padding: 40px 20px 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .logo-png {
    position: static;
    width: 160px;
    height: auto;
  }
  ._153-8505-4-6-1-tel-03-5452-6894-fax-03-5452-6895 {
    position: static;
    width: 100%;
    height: auto;
    font-size: 13px;
    line-height: 1.7;
  }
  .list {
    position: static;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .item-link-ong,
  .item-li-a-href-https-ong-iis-u-tokyo-ac-jp-a-li-link,
  .item-link,
  .item-link2,
  .item-link-ong2,
  .item-link3 {
    position: static;
    width: 100%;
    height: auto;
    right: auto;
    top: auto;
    translate: none;
    font-size: 13px;
  }
  .horizontal-border {
    position: static;
    width: 100%;
    height: auto;
    right: auto;
    left: auto;
    padding-top: 16px;
    margin-top: 4px;
  }
  .copyright {
    position: static;
    width: 100%;
    height: auto;
    text-align: left;
    font-size: 11px;
  }
.rectangle4 {
    height: 62.147vw;
}
.frame27 {
    margin-bottom: 6vw;
}
.past-lectures
,.event-archive
,.event-program
,.event-overview {
    font-size: 4.25vw;
}
}