/* 下層ページ共通ブルーデザイン。新規スタイルはHTML内へ書かず、このファイルに集約する。 */
.lower-page-blue {
  --lower-main: #0874C7;
  --lower-deep: #075C9F;
  --lower-pale: #EFF7FD;
  --lower-soft: #D7EAF8;
  --lower-ink: #1A1A1A;
  --lower-cta: #D98345;
  background: var(--lower-pale);
  color: var(--color-text);
}

/* ページ本文の幅はページ単位で1種類に固定する。
   ヘッダー・ヒーロー・フッターはこの指定の対象外。 */
.lower-page-blue.page-width-standard {
  --page-content-width: var(--container-standard);
}
.lower-page-blue.page-width-wide,
.home-page.page-width-wide {
  --page-content-width: var(--container-wide);
}
.lower-page-blue.page-width-compact {
  --page-content-width: var(--container-compact);
}

/* ページ本文の共通外枠。ヘッダー・ヒーロー・フッターは対象外。 */
.lower-page-blue :is(
  .ip-inner, .page-quicknav-inner, .faq-chat-inner, .related-pages-inner,
  .about-feature-inner, .about-motto-inner, .about-philosophy-sec-inner,
  .about-pillars-inner, .about-approach-inner, .about-gallery-inner,
  .building-feature-inner, .building-piloti-inner, .building-facilities-inner,
  .schoollife-schedule-inner, .visit-intro-inner, .events-inner, .visit-inner,
  .news-page-inner, .post-article, .post-nav, .post-related,
  .post-back, .column-page-inner, .related-columns-inner
) {
  width: min(100% - 64px, var(--page-content-width, var(--container-standard)));
  max-width: var(--page-content-width, var(--container-standard));
  margin-inline: auto;
}

.home-page.page-width-wide :is(
  .home-circle-inner, .cards-intro, .cards-grid, .nurse-content, .faq-chat-inner,
  .related-pages-inner
) {
  width: min(100% - 64px, var(--page-content-width));
  max-width: var(--page-content-width);
  margin-inline: auto;
}

.lower-page-blue.page-width-wide :is(.building-intro, .about-intro) > *,
.lower-page-blue.page-width-wide .building-intro > *,
.lower-page-blue.page-width-wide .about-intro > * {
  width: min(100%, var(--page-content-width));
  max-width: var(--page-content-width);
}

.lower-page-blue.page-width-wide :is(
  .about-intro .ip-section-lead,
  .building-intro .ip-section-lead,
  .visit-intro-text,
  .visit-cta-lead,
  .extended-childcare-intro .ip-section-lead
) {
  max-width: none;
}

.lower-page-blue.page-width-compact :is(.post-author, .post-related, .post-nav, .post-back) {
  width: min(100% - 64px, var(--page-content-width));
  max-width: var(--page-content-width);
}

.page-content-inner {
  width: min(100% - 64px, var(--page-content-width, var(--container-standard)));
  max-width: var(--page-content-width, var(--container-standard));
  margin-inline: auto;
}

.lower-page-blue.page-width-compact :is(.post-article, .post-nav, .post-related, .post-back, .column-page-inner, .news-page-inner) {
  max-width: var(--page-content-width);
}

.lower-page-blue .floating-shapes { display: none; }

/* ヘッダーとドロワー */
.lower-page-blue .site-header {
  top: 18px;
  left: 50%;
  right: auto;
  width: min(calc(100% - 48px), 1320px);
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow-subtle);
  transform: translateX(-50%);
}
.lower-page-blue .header-inner { width: 100%; max-width: 1200px; height: 68px; margin-inline: auto; padding: 0 28px; }
.lower-page-blue .hamburger span { background: var(--lower-main); }
.lower-page-blue .nav-drawer {
  top: 98px;
  right: max(24px, calc((100vw - 1320px) / 2));
  width: 320px;
  height: auto;
  max-height: calc(100dvh - 116px);
  padding: 16px 0;
  border-radius: 24px;
  box-shadow: var(--shadow-subtle-hover);
  opacity: 0;
  pointer-events: none;
  transform: translateX(24px);
  transition: transform 0.3s ease, opacity 0.24s ease;
}
.lower-page-blue .nav-drawer.is-open { opacity: 1; pointer-events: auto; transform: translateX(0); }

/* ページヒーロー */
.lower-page-blue .page-hero {
  max-width: none;
  min-height: 374px;
  margin: 0;
  border-radius: 0;
  background: var(--lower-deep);
}
.lower-page-blue .page-hero-bg {
  left: 61%;
  overflow: hidden;
  border-bottom-left-radius: 48% 100%;
  opacity: 1;
  filter: none;
}
.lower-page-blue .page-hero-bg img {
  object-position: center center;
  opacity: 1;
  filter: none;
  mix-blend-mode: normal;
}
.lower-page-blue .page-hero-inner { max-width: 1200px; padding: 122px 48px 58px; }
.lower-page-blue .page-breadcrumb,
.lower-page-blue .page-breadcrumb a,
.lower-page-blue .page-breadcrumb .material-symbols-outlined { color: rgba(255, 255, 255, 0.78); }
.lower-page-blue .page-hero-title {
  border-color: rgba(255, 255, 255, 0.9);
  color: #fff;
  font-size: clamp(36px, 4.2vw, 52px);
}
.lower-page-blue .page-hero-lead {
  display: none;
}

/* コンテンツ背景と文字 */
.lower-page-blue main > section:not(.page-hero):not(.related-pages):not(.related-columns):not(.post-related) { border-color: transparent; }
.lower-page-blue .ip-section,
.lower-page-blue .ip-section-cta,
.lower-page-blue .about-intro,
.lower-page-blue .about-motto-sec,
.lower-page-blue .building-intro,
.lower-page-blue .visit-intro-section,
.lower-page-blue .visit-section,
.lower-page-blue .news-page-section,
.lower-page-blue .column-page-section { background: var(--lower-pale); }
.lower-page-blue .ip-section-pale,
.lower-page-blue .ip-section-cta-pale,
.lower-page-blue .about-approach-sec,
.lower-page-blue .schoollife-schedule,
.lower-page-blue .events-calendar { background: color-mix(in srgb, var(--lower-pale) 78%, white); }

/* 標準ページ：本文の全セクションを1120pxに統一 */
.lower-page-blue.page-width-standard :is(
  .ip-inner,
  .page-quicknav-inner,
  .faq-chat-inner,
  .related-pages-inner,
  .about-feature-inner,
  .about-motto-inner,
  .about-philosophy-sec-inner,
  .about-pillars-inner,
  .about-approach-inner,
  .about-gallery-inner
) {
  width: 100%;
  max-width: var(--page-content-width);
  margin-right: auto;
  margin-left: auto;
}

.lower-page-blue.page-width-standard .about-intro > * {
  width: min(100%, var(--page-content-width));
}

.lower-page-blue.page-width-standard :is(
  .about-intro .ip-section-lead,
  .about-pillars-inner .ip-section-lead,
  .extended-childcare-intro .ip-section-lead
) {
  max-width: none;
}

.lower-page-blue.page-width-standard .ip-standard-content {
  width: 100%;
}

.lower-page-blue.page-width-standard .adm-midyear-note {
  width: 100%;
}

/* 青いヒーロー直後は白。以降はHTMLのwhite/pale区分をそのまま使う。 */
.lower-page-blue.page-width-standard :is(
  .ip-section,
  .ip-section-cta,
  .about-intro,
  .faq-chat-section,
  .visit-bg-white
) {
  background: #fff;
}

.lower-page-blue.page-width-standard :is(
  .ip-section-pale,
  .ip-section-cta-pale,
  .about-motto-sec,
  .visit-bg-blue
) {
  background: var(--lower-pale);
}

.lower-page-blue.page-width-standard .about-approach-sec {
  background: #fff;
}

.lower-page-blue.page-width-standard #faq-content {
  background: var(--lower-pale);
}
.lower-page-blue .ip-section-title,
.lower-page-blue .ip-feature-title,
.lower-page-blue .ip-section-lead,
.lower-page-blue .ip-feature-body,
.lower-page-blue .about-motto-heading,
.lower-page-blue .about-motto-sub-heading,
.lower-page-blue .about-approach-content h3 { color: var(--lower-ink); }
.lower-page-blue .about-motto-sub-heading { color: var(--lower-main); }

.lower-page-blue .about-approach-content h3 { color: var(--lower-main); }
.lower-page-blue .ip-section-title { font-size: var(--font-section-title); }
.lower-page-blue .ip-section-eyebrow,
.lower-page-blue .related-pages-label { display: none; }

/* カード、画像、表 */
.lower-page-blue :where(.ip-card, .ip-feature-card, .ip-point-card, .ip-info-box, .about-motto-card, .about-approach-item, .news-card, .column-card, .visit-card, .building-facility-card, .schedule-card, .calendar-card) {
  border-color: transparent;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow-subtle);
}
.lower-page-blue :where(.ip-img, .ip-photo, .ip-grid-2 img, .about-approach-head-img img, .building-feature img, .visit-section img) { border-radius: 24px; }
.lower-page-blue :is(.ip-media-img, .access-photo, .ec-media-img) {
  border-radius: var(--radius-image) !important;
}
.lower-page-blue .ip-table {
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow-subtle);
}
.lower-page-blue .ip-table th { background: var(--lower-soft); }
.lower-page-blue .ip-table thead th { background: var(--lower-deep); }
/* 入園案内の表も同じ青基調・角丸デザインに統一 */
.lower-page-blue :where(.adm-table, .adm-cost-table, .adm-uniform-table) {
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow-subtle);
}
.lower-page-blue :where(.adm-table, .adm-cost-table, .adm-uniform-table) th { background: var(--lower-soft); color: var(--lower-ink); border-color: #d1d1d1; }
.lower-page-blue :where(.adm-table, .adm-uniform-table) thead th { background: var(--lower-deep); color: #fff; }
.lower-page-blue .adm-table td,
.lower-page-blue .adm-cost-table td,
.lower-page-blue .adm-uniform-table td { border-color: #d1d1d1; }
/* お問い合わせ確認画面の表も青基調・角丸に統一 */
.lower-page-blue .confirm-table {
  width: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow-subtle);
  border-collapse: separate;
  border-spacing: 0;
  margin-bottom: 32px;
}
.lower-page-blue .confirm-table tr { border: none; }
.lower-page-blue .confirm-table th {
  background: var(--lower-soft);
  color: var(--lower-ink);
  border-bottom: 1px solid #d1d1d1;
  width: 9em;
  padding: 14px 16px;
  font-size: var(--font-body);
  font-weight: 700;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}
.lower-page-blue .confirm-table td {
  border-bottom: 1px solid #d1d1d1;
  padding: 14px 16px;
  font-size: 14px;
  color: var(--lower-ink);
  word-break: break-all;
}
.lower-page-blue .confirm-table tr:last-child th,
.lower-page-blue .confirm-table tr:last-child td { border-bottom: none; }
.lower-page-blue .ip-btn-outline,
.lower-page-blue .btn-outline { border-color: var(--lower-main); color: var(--lower-main); }

/* 園について */
.lower-page-blue .about-intro { padding: 112px 32px 58px; text-align: left; }
.lower-page-blue .about-intro > * { width: min(100%, 1200px); margin-right: auto; margin-left: auto; }
.lower-page-blue .about-intro .ip-section-title::before { display: none; }
.lower-page-blue .about-intro .ip-section-lead {
  max-width: 760px;
  margin-top: 28px;
  font-size: var(--font-lead);
  font-weight: 400;
}

/* 園について・園環境について：タイトル直下の導入を中央揃え */
.lower-page-blue .about-intro,
.lower-page-blue .building-intro { text-align: center; }
.lower-page-blue .about-intro .ip-section-lead,
.lower-page-blue .building-intro .ip-section-lead {
  margin-right: auto;
  margin-left: auto;
  font-weight: 400;
}

/* 預かり保育：タイトル直下は文章のみ中央配置 */
.lower-page-blue .extended-childcare-intro { text-align: center; }
.lower-page-blue .extended-childcare-intro .ip-section-lead {
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
}
.lower-page-blue .about-motto-sec { padding: 34px 32px 100px; }
.lower-page-blue .about-motto-grid { gap: 22px; }
.lower-page-blue .about-motto-card { border: 0; border-radius: 26px; }
.lower-page-blue .about-motto-card-img { aspect-ratio: 16 / 10; }
.lower-page-blue .about-motto-card-body { padding: 30px 28px 34px; }
.lower-page-blue .about-approach-sec { padding: 96px 32px 112px; }
.lower-page-blue .about-approach-head { gap: 64px; }
.lower-page-blue .about-approach-head-img img { box-shadow: var(--shadow-subtle); }
.lower-page-blue .about-approach-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 58px;
}
.lower-page-blue .about-approach-item,
.lower-page-blue .about-approach-item:first-child { display: block; padding: 30px 28px; border: 0; }
.lower-page-blue .about-approach-num { margin-bottom: 20px; color: var(--lower-ink); }

/* 関連ページ */
.lower-page-blue .related-pages,
.lower-page-blue .related-columns,
/* 記事下のリンク欄は背景なし（水色の帯は不要との指示・2026-09-26） */
.lower-page-blue .post-related { border-top: 0; background: transparent; }
.lower-page-blue .related-card {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  overflow: hidden;
  padding: 0 0 20px;
  border: 0;
  border-radius: 16px;
  box-shadow: var(--shadow-subtle);
  transition: box-shadow 0.2s, border-color 0.2s, transform 0.2s ease;
}
.lower-page-blue .related-card::before {
  content: '';
  grid-column: 1 / -1;
  width: 100%;
  height: 170px;
  margin-bottom: 18px;
  background: url('../image/mv-about.jpg') center / cover no-repeat;
}
.lower-page-blue .related-card .related-card-text { padding-left: 20px; }
.lower-page-blue .related-card > .material-symbols-outlined { margin-right: 18px; }
.lower-page-blue .related-card[href="about.html"]::before { background-image: url('../image/mv-about.jpg'); }
.lower-page-blue .related-card[href="building.html"]::before { background-image: url('../image/mv-building.jpg'); }
.lower-page-blue .related-card[href="visit.html"]::before { background-image: url('../image/mv-visit.jpg'); }
.lower-page-blue .related-card[href="admission.html"]::before { background-image: url('../image/mv-admission-entrance-hero-v5.jpg'); }
.lower-page-blue .related-card[href="bus.html"]::before { background-image: url('../image/mv-bus.jpg'); }
.lower-page-blue .related-card[href="school-life.html"]::before { background-image: url('../image/mv-school-life.jpg'); }
.lower-page-blue .related-card[href="school-lunch.html"]::before { background-image: url('../image/mv-school-lunch.jpg'); }
.lower-page-blue .related-card[href="extended-childcare.html"]::before { background-image: url('../image/mv-extended-childcare.jpg'); }
.lower-page-blue .related-card[href="drop-in-childcare.html"]::before { background-image: url('../image/dummy-related-card-blue.png'); }
.lower-page-blue .related-card[href="preschool-access.html"]::before { background-image: url('../image/dummy-related-card-blue.png'); }
.lower-page-blue .related-card[href="preschool-circle.html"]::before { background-image: url('../image/mv-preschool-circle.jpg'); }
.lower-page-blue .related-card[href="open-school-day.html"]::before { background-image: url('../image/mv-open-school-day.jpg'); }
.lower-page-blue .related-card[href="support.html"]::before { background-image: url('../image/mv-068-edited.jpg'); }
.lower-page-blue .related-card[href="access.html"]::before,
.lower-page-blue .related-card[href="contact.html"]::before { background-image: url('../image/access-exterior.jpg'); }
.lower-page-blue .related-card[href="parents.html"]::before { background-image: url('../image/mv-parents.jpg'); }
.lower-page-blue .related-card[href="faq.html"]::before { background-image: url('../image/about-04.jpg'); }
.lower-page-blue .related-card .material-symbols-outlined { color: var(--lower-main); }
.lower-page-blue .related-card:hover {
  border-color: transparent;
  box-shadow: var(--shadow-subtle-hover);
}

/* トップページ「園についてもっと知る」を下層ページでも同じ見た目で使用 */
.lower-page-blue .related-pages--recommend {
  border-top: 1px dotted #D1D1D1;
  background: #FAF9F8;
}

.lower-page-blue .related-card--recommend::before {
  display: none;
}

.lower-page-blue .related-card.related-card--recommend {
  grid-template-rows: 150px 1fr;
  align-items: start;
  padding: 0 0 20px;
  border: 1px solid #E0E4EC;
  border-radius: 6px;
  box-shadow: none;
}

.lower-page-blue .related-card.related-card--recommend:hover {
  border-color: #E0E4EC;
  box-shadow: var(--shadow-subtle-hover);
}

/* 基本情報・サポート・園の生活配下：兄弟ページの横長ミニリンク */
.lower-page-blue.child-page-related .ip-inner {
  background: transparent;
}

.lower-page-blue:is(.child-page-related, .visit-detail-page) .related-pages {
  background: #DCEEF9;
}

.lower-page-blue.child-page-related .related-pages-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.lower-page-blue.child-page-related .related-card {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) auto;
  min-height: 104px;
  align-items: center;
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: #fff;
}

.lower-page-blue.child-page-related .related-card::before {
  display: none;
}

.lower-page-blue.child-page-related .related-card-thumb {
  align-self: stretch;
  min-height: 104px;
  overflow: hidden;
}

.lower-page-blue.child-page-related .related-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lower-page-blue.child-page-related .related-card .related-card-text {
  min-width: 0;
  padding: 16px;
}

.lower-page-blue.child-page-related .related-card-title {
  font-size: var(--font-body);
  line-height: 1.6;
}

.lower-page-blue.child-page-related .related-card-sub {
  display: none;
}

.lower-page-blue.child-page-related .related-card > .material-symbols-outlined {
  margin: 0 16px 0 0;
}

.lower-page-blue:is(.child-page-related, .visit-detail-page) .related-parent-link {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin: 28px auto 0;
  padding: 11px 26px;
  border: 1.5px solid var(--lower-main);
  border-radius: 100px;
  background: #fff;
  color: var(--lower-main);
  font-size: var(--font-ui);
  font-weight: 700;
  letter-spacing: 0.03em;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

.lower-page-blue:is(.child-page-related, .visit-detail-page) .related-parent-link:hover {
  background: var(--lower-main);
  color: #fff;
  text-decoration: none;
}

.lower-page-blue:is(.child-page-related, .visit-detail-page) .related-parent-link .material-symbols-outlined {
  font-size: 24px;
}

/* 外部サイトリンク：component-library の sg-resource-link と同じ仕様 */
.lower-page-blue .sg-resource-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 24px;
}

.lower-page-blue .sg-resource-links .sg-resource-link {
  margin-top: 0;
}

.lower-page-blue .sg-resource-link {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-height: 96px;
  margin-top: 24px;
  padding: 20px 24px;
  border: 2px solid #D5DEE7;
  border-radius: 100px;
  background: #fff;
  color: var(--lower-ink);
  text-decoration: none;
  transition: border-color 0.2s, transform 0.2s;
}

.lower-page-blue .sg-resource-link:hover {
  border-color: var(--lower-main);
  transform: translateY(-2px);
}

.lower-page-blue .sg-resource-link:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--lower-main) 35%, transparent);
  outline-offset: 3px;
}

.lower-page-blue .sg-resource-icon {
  color: var(--lower-main);
  font-size: 36px;
  font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 36;
}

.lower-page-blue .sg-resource-link--pdf .sg-resource-icon {
  color: #C0392B;
}

.lower-page-blue .sg-resource-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.lower-page-blue .sg-resource-title {
  font-size: var(--font-body);
  font-weight: 700;
  line-height: 1.6;
}

.lower-page-blue .sg-resource-type {
  color: var(--color-muted);
  font-size: var(--font-note);
  line-height: 1.5;
}

/* コラム・お知らせ詳細の関連リンクも写真付きカードに統一 */
.lower-page-blue .related-col-card {
  border: 0;
  border-radius: 16px;
  box-shadow: var(--shadow-subtle);
}
.lower-page-blue .related-col-img-placeholder {
  background-position: center;
  background-size: cover;
}
.lower-page-blue .related-col-img-placeholder.r1 { background-image: url('../image/mv-068-edited.jpg'); }
.lower-page-blue .related-col-img-placeholder.r2 { background-image: url('../image/about-03.jpg'); }
.lower-page-blue .related-col-img-placeholder.r3 { background-image: url('../image/mv-school-life.jpg'); }
/* 記事下のリンクは共通のリンクパーツ（.link-pill）で表示する。
   以前は3列カード（::before に固定画像・水色の帯）だったが、
   カードをやめてリンクパーツに統一（2026-09-26 の指示）。 */
.lower-page-blue .post-body-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

/* ========================================
   ワイド親ページ共通
   園について／園環境について／園の生活／遊びにきませんか？
   ======================================== */
.lower-page-blue.parent-page :is(
  .about-intro > *,
  .building-intro > *,
  .about-motto-inner,
  .about-approach-inner,
  .building-feature-inner,
  .building-piloti-inner,
  .building-facilities-inner,
  .schoollife-schedule-inner,
  .events-calendar-inner,
  .visit-intro-inner,
  .parent-child-links-inner
) {
  width: 100%;
  max-width: var(--container-wide);
  margin-inline: auto;
}

/* ヒーロー直後を白にし、以降は白／淡青を交互にする */
.lower-page-blue.parent-page :is(.about-intro, .building-intro, .visit-intro-section) {
  background: var(--surface-white, #fff);
}

.lower-page-blue.parent-page :is(
  .about-motto-sec,
  .schoollife-schedule,
  .building-feature.pale,
  .events-calendar
) {
  background: var(--surface-pale, #EFF7FD);
}

.lower-page-blue.parent-page :is(
  .about-approach-sec,
  .building-piloti,
  .building-feature.white,
  .building-facilities,
  .about-feature.white
) {
  background: var(--surface-white, #fff);
}

.lower-page-blue.parent-page .about-feature.pale {
  background: var(--surface-pale, #EFF7FD);
}

/* 園の生活：汎用セクション名に左右されず、白／淡青の順序を固定する */
.lower-page-blue.parent-page .schoollife-page > .schoollife-section--white {
  background: var(--surface-white, #fff);
}

.lower-page-blue.parent-page .schoollife-page > .schoollife-section--pale {
  background: var(--surface-pale, #EFF7FD);
}

/* 親ページの文字階層 */
.lower-page-blue.parent-page :is(.ip-section-title, .ip-feature-title, .about-motto-heading, .visit-intro-title) {
  font-size: var(--font-section-title);
  font-weight: 900;
  line-height: 1.4;
}

.lower-page-blue.parent-page :is(.about-approach-content h3, .events-term-title) {
  font-size: var(--font-subsection-title);
  font-weight: 700;
  line-height: 1.5;
}

/* 大きな親ページの関連リンクは、トップページの案内カードを共通部品として流用する */
.lower-page-blue.parent-page :is(
  .ip-feature-body,
  .about-motto-list li,
  .about-approach-content p,
  .building-facility-desc,
  .events-term-list li,
  .schedule-title,
  .schedule-desc
) {
  font-size: var(--font-body);
  line-height: 1.8;
}

.lower-page-blue.parent-page :is(.building-facility-name) {
  font-size: var(--font-minor-title);
  line-height: 1.6;
}

.lower-page-blue.parent-page :is(.events-slide-caption, .events-calendar-note) {
  font-size: var(--font-note);
  line-height: 1.7;
}

.lower-page-blue.parent-page :is(.building-pool-tag, .schedule-tag) {
  font-size: var(--font-ui);
}

.lower-page-blue.parent-page .visit-intro-text {
  font-size: var(--font-lead);
  line-height: 1.9;
}

.section-title-centered,
.building-facilities-intro {
  text-align: center;
}

.building-facilities-intro {
  margin-bottom: 0;
}

.schoollife-more-link {
  margin-top: 20px;
}

.schoollife-more-link--large {
  margin-top: 24px;
}

/* CTAはオレンジ、フッターはブルー地に白文字 */
.lower-page-blue .fixed-cta,
.lower-page-blue .nav-drawer-cta a { background: var(--lower-cta); }
.lower-page-blue .site-footer { background: var(--lower-deep); }
.lower-page-blue .footer-inner { border-bottom-color: rgba(255, 255, 255, 0.22); }
.lower-page-blue .footer-info-title,
.lower-page-blue .footer-info-body,
.lower-page-blue .footer-links-grid a,
.lower-page-blue .footer-copy { color: #fff; }
.lower-page-blue .footer-links-grid a:hover { color: #fff; opacity: 0.76; }

@media (max-width: 768px) {
  .lower-page-blue .sg-resource-links {
    grid-template-columns: 1fr;
  }

  .lower-page-blue .sg-resource-link {
    min-height: 88px;
    padding: 18px 20px;
  }

  .lower-page-blue :is(
    .ip-inner, .page-quicknav-inner, .faq-chat-inner, .related-pages-inner,
    .about-feature-inner, .about-motto-inner, .about-philosophy-sec-inner,
    .about-pillars-inner, .about-approach-inner, .about-gallery-inner,
    .building-feature-inner, .building-piloti-inner, .building-facilities-inner,
    .schoollife-schedule-inner, .visit-intro-inner, .events-inner, .visit-inner,
    .news-page-inner, .post-article, .post-nav, .post-related,
    .post-back, .column-page-inner, .related-columns-inner
  ),
  .home-page.page-width-wide :is(.home-circle-inner, .cards-intro, .cards-grid, .nurse-content, .faq-chat-inner, .related-pages-inner) {
    width: min(100% - 40px, var(--page-content-width, var(--container-standard)));
  }

  .lower-page-blue .site-header { top: 10px; width: calc(100% - 24px); }
  .lower-page-blue .header-inner { height: 60px; padding: 0 18px; }
  .lower-page-blue .nav-drawer {
    top: 80px;
    right: 12px;
    width: calc(100% - 24px);
    max-height: calc(100dvh - 92px);
    padding: 10px 0;
    border-radius: 20px;
  }
  .lower-page-blue .page-hero { min-height: 0; }
  .lower-page-blue .adm-table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }
  .lower-page-blue .page-hero:not(.page-hero--solid) { display: flex; flex-direction: column; }
  .lower-page-blue .page-hero:not(.page-hero--solid) .page-hero-bg {
    position: relative;
    inset: auto;
    width: 100%;
    height: clamp(250px, 72vw, 360px);
    flex: 0 0 auto;
    border-radius: 0 0 50% 50% / 0 0 14% 14%;
  }
  .lower-page-blue .page-hero:not(.page-hero--solid) .page-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .lower-page-blue .page-hero-inner {
    width: 100%;
    padding: 34px 20px 48px;
    background: var(--lower-deep);
  }
  .lower-page-blue .page-hero--solid .page-hero-inner { padding-top: 96px; padding-bottom: 40px; }
  .lower-page-blue .about-intro { padding: 72px 20px 38px; }
  .lower-page-blue .about-intro .ip-section-lead { margin-top: 20px; }
  .lower-page-blue .about-motto-sec { padding: 24px 20px 72px; }
  .lower-page-blue .about-motto-card { border-radius: 18px; }
  .lower-page-blue .about-approach-sec { padding: 68px 20px 76px; }
  .lower-page-blue .about-approach-list { grid-template-columns: 1fr; margin-top: 36px; }
  .lower-page-blue .about-approach-head-img { display: block; }
  .lower-page-blue .related-card::before { height: clamp(150px, 48vw, 220px); }

  .lower-page-blue.child-page-related .related-card {
    grid-template-columns: 112px minmax(0, 1fr) auto;
    min-height: 88px;
  }

  .lower-page-blue.child-page-related .related-card-thumb {
    min-height: 88px;
  }

  .lower-page-blue.parent-page :is(.ip-section-title, .ip-feature-title, .about-motto-heading, .visit-intro-title) {
    font-size: var(--font-section-title);
  }

  .lower-page-blue.parent-page :is(.about-approach-content h3, .events-term-title) {
    font-size: 20px;
  }

  .lower-page-blue.parent-page .visit-intro-text {
    font-size: var(--font-body);
  }

  .parent-child-links {
    padding: 56px 20px;
  }

  .parent-child-card-body {
    padding: 24px 20px;
  }
}

@media (max-width: 1024px) {
  .lower-page-blue.parent-page :is(.about-motto-grid, .building-facilities-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 960px) {
  .lower-page-blue.parent-page :is(.about-feature-inner, .about-approach-head, .building-feature-inner) {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .lower-page-blue.parent-page :is(.about-feature-inner.reverse, .building-feature-inner.reverse) {
    direction: ltr;
  }

}

@media (max-width: 768px) {
  .lower-page-blue.parent-page :is(.about-motto-grid, .building-facilities-grid) {
    grid-template-columns: 1fr;
  }

  .parent-child-card {
    flex-basis: 100%;
    flex-direction: column;
  }

  .parent-child-card-image {
    flex-basis: auto;
    min-height: 0;
    height: 150px;
  }
}

/* ========================================
   きょうだい（関連リンク）— スマホは1列に
   ※ .lower-page-blue.child-page-related / .visit-detail-page の
     3列固定ルールは @media より優先度が高いため、ここで打ち消す
   ======================================== */
@media (max-width: 768px) {
  .lower-page-blue:is(.child-page-related, .visit-detail-page) .related-pages-grid {
    grid-template-columns: 1fr;
  }

  .lower-page-blue:is(.child-page-related, .visit-detail-page) .related-card {
    grid-template-columns: 110px minmax(0, 1fr) auto;
    min-height: 96px;
  }

  .lower-page-blue:is(.child-page-related, .visit-detail-page) .related-card-thumb {
    min-height: 96px;
  }
}
