@charset "UTF-8";

/* 334a4r1z current-year overrides (2026-) */

:root {
  --site-max-width: 980px;
  --content-link-font-size: clamp(14px, 2.3vw, 18px);
}

.sticky-wrapper {
  position: sticky;
  top: 0;
  z-index: 10000;
}

.logo {
  font-size: clamp(12px, 2.2vw, 18px);
  line-height: 1.3;
}

#wrap {
  padding: 12px 8px 8px;
}

#area_Contents {
  max-width: var(--site-max-width);
  margin: 0 auto;
  text-align: center;
}

.site-copyright-wrap {
  margin-top: 12px;
  text-align: center;
}

.site-copyright {
  max-width: 560px;
  margin: 0 auto;
  text-align: center;
  font-size: clamp(12px, 2vw, 15px);
  line-height: 1.6;
}

.site-copyright a {
  color: inherit;
}

.club-name-list {
  font-size: clamp(12px, 2.1vw, 18px);
  line-height: 1.8;
}

.greeting-fragment {
  padding: 14px 12px;
  text-align: left;
}

.greeting-fragment > p {
  text-align: center;
  font-size: var(--content-link-font-size);
  line-height: 1.6;
}

.greeting-fragment .wcu-article {
  display: grid;
  grid-template-columns: minmax(160px, 240px) minmax(0, 1fr);
  grid-template-areas:
    "title title"
    "media body";
  gap: 12px 16px;
  max-width: 100%;
}

.greeting-fragment .wcu-article-header {
  grid-area: title;
  margin-bottom: 10px;
  border-bottom: 1px solid #d3d9fb;
  padding-bottom: 8px;
}

.greeting-fragment .wcu-article-title {
  float: none;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  font-size: clamp(20px, 3.5vw, 34px);
  line-height: 1.35;
  font-weight: 700;
  color: #1f2a66;
  text-align: center;
}

.greeting-fragment .wcu-article-date {
  display: none;
}

.greeting-fragment .wcu-article-content {
  grid-area: body;
  margin-top: 8px;
  line-height: 1.9;
  font-size: var(--content-link-font-size);
}

.greeting-fragment .wcu-article-images {
  grid-area: media;
  margin-top: 14px;
}

.greeting-fragment .wcu-article-image {
  display: block;
  width: min(100%, 220px);
  height: auto;
  border-radius: 10px;
}

.greeting-image-figure {
  margin: 0;
}

.greeting-image-caption {
  margin-top: 6px;
  line-height: 1.5;
  font-size: clamp(12px, 1.9vw, 15px);
  color: #2f355f;
  white-space: pre-line;
}

.zc-report-block {
  margin: 0 auto;
  text-align: center;
  padding: 8px;
}

.section-title {
  display: inline-block;
  margin: 8px auto 14px;
  padding: 8px 22px;
  color: #ffffff;
  background: linear-gradient(135deg, #3a55c7 0%, #24358e 100%);
  border-radius: 999px;
  font-size: clamp(20px, 4.2vw, 34px);
  line-height: 1.25;
  letter-spacing: 0.04em;
  font-weight: 700;
}

.year-plan {
  display: inline-block;
  max-width: 100%;
  text-align: left;
}

.activity-schedule-wrapper {
  width: min(100%, 780px);
  margin: 0 auto;
  text-align: center;
  font-size: clamp(14px, 2.8vw, 24px);
  overflow-x: auto;
}

.activity-schedule-wrapper .wcu-list {
  text-align: left;
}

.activity-schedule-wrapper .wcu-list-items-standard {
  margin: 0;
  padding: 0;
}

.activity-schedule-wrapper .wcu-list-item-standard {
  list-style: none;
  border: 1px solid #d7dcff;
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 8px;
  background: #ffffff;
}

.activity-schedule-wrapper .wcu-list-title {
  margin: 0 0 4px;
  font-size: clamp(16px, 2.7vw, 22px);
}

.activity-schedule-wrapper .wcu-list-date {
  margin: 0 0 6px;
  font-size: clamp(12px, 2.3vw, 16px);
  color: #3d3d3d;
}

.activity-schedule-wrapper .wcu-list-summary {
  line-height: 1.7;
}

.activity-schedule-wrapper .wcu-list-link {
  color: #1f2377;
  text-decoration: none;
}

.activity-schedule-wrapper .wcu-list-link:hover {
  text-decoration: underline;
}

.lbox_360 {
  max-width: 100%;
  padding-left: clamp(12px, 4vw, 80px);
  padding-right: clamp(12px, 4vw, 80px);
  font-size: clamp(20px, 5vw, 40px);
}

ul.ll001 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding-left: 0;
  width: min(100%, 620px);
  margin: 0 auto;
}

li.ls001 {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  list-style: none;
  padding: 0;
  margin: 0;
  background: #f7f9ff;
  border: 1px solid #d6dcff;
  border-left: 5px solid #2f4fae;
  border-radius: 10px;
}

a.lc001,
a:link.lc001,
a:visited.lc001,
a:active.lc001 {
  display: block;
  color: #1f2a66;
  text-decoration: none;
  font-size: var(--content-link-font-size);
  line-height: 1.5;
  padding: 10px 14px;
}

a.lc001:hover {
  background: #eef2ff;
}

.archive-list {
  width: min(100%, 760px);
  margin: 0 auto;
  text-align: center;
  font-size: var(--content-link-font-size);
}

.archive-row {
  display: grid;
  grid-template-columns: 118px 238px 268px;
  justify-content: center;
  align-items: center;
  column-gap: 8px;
  padding: 2px 0;
}

.archive-row .act_body {
  white-space: nowrap;
  padding: 4px 6px;
  font-size: var(--content-link-font-size);
}

.archive-year {
  min-width: 0;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.archive-zc {
  min-width: 0;
  text-align: left;
}

.archive-club {
  min-width: 0;
  text-align: left;
}

.archive-row-single {
  grid-template-columns: 624px;
}

.archive-single {
  width: 100%;
  text-align: center;
}

#act_01 > p,
#event_01 > p {
  font-size: var(--content-link-font-size);
  line-height: 1.6;
}

@media (max-width: 768px) {
  .header {
    height: auto;
    min-height: 50px;
  }

  .float_left {
    float: none;
    margin-right: 0;
    margin-left: auto;
    margin-bottom: 16px;
  }

  .logo {
    padding-left: 10px;
    padding-right: 6px;
    font-size: clamp(11px, 3.2vw, 14px);
  }

  .hamburger-menu {
    flex-shrink: 0;
  }

  .navigation__link {
    padding: 16px 0;
  }

  .activity-schedule-wrapper {
    font-size: clamp(13px, 3.4vw, 20px);
  }

  .club-name-list {
    padding: 0 8px;
  }

  .greeting-fragment .wcu-article {
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "media"
      "body";
  }

  .greeting-fragment .wcu-article-images {
    margin-top: 4px;
    text-align: center;
  }

  .greeting-fragment .wcu-article-image {
    width: min(100%, 260px);
    margin: 0 auto;
  }

  .greeting-image-caption {
    text-align: center;
  }

  .section-title {
    display: block;
    width: fit-content;
    max-width: 100%;
    border-radius: 16px;
  }

  .archive-list {
    font-size: clamp(13px, 3vw, 16px);
  }

  .archive-row,
  .archive-row-single {
    grid-template-columns: 1fr;
    justify-content: stretch;
    row-gap: 2px;
  }

  .archive-row .act_body {
    white-space: normal;
    text-align: left;
  }
}
