@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&display=swap');

/* ───────── フォント設定 ───────── */


body,
button,
input,
select,
textarea,
p,
li,
a,
span,
h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading,
.vk-heading {
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
}

/* ───────── スマホ版レイアウト調整 ───────── */
/* 768px以下（スマホ）だけ効かせる */
@media screen and (max-width: 768px) {

  /* 見出しの文字サイズを少し小さめに */
  .vk-heading,
  .wp-block-heading,
  h1, h2, h3, h4, h5, h6 {
    font-size: 1.25rem;
    line-height: 1.4;
  }

  /* 固定ページの上下余白をコンパクトに */
  body.page .wp-block-group,
  body.page .vk_outer,
  body.page .vk-block {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  /* 画像の高さを抑える */
  .wp-block-image img,
  .vk-slider img {
    height: auto;
    max-height: 60vh;
    object-fit: cover;
  }
}

/* このブロックだけスマホでコンパクトにする */
@media screen and (max-width: 768px) {
  .sp-narrow {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .sp-narrow h2,
  .sp-narrow h3 {
    font-size: 1.1rem;
    line-height: 1.4;
  }

  .sp-narrow p {
    font-size: 0.95rem;
    line-height: 1.6;
  }
}

/* ───────── 特定ページのカバー画像調整 ───────── */
.page-id-123 .vk_cover__image {
  min-height: 60vh;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #f5f0f7;
}

/* ───────── lipart-hero：PC/スマホで分けて整える ───────── */

/* 共通 */
.lipart-hero .wp-block-image img {
  height: auto;
  display: block;
}

/* スマホ */
@media (max-width: 782px) {
  .lipart-hero .wp-block-columns {
    gap: 16px;
  }

  .lipart-hero .wp-block-image {
    margin-top: 16px;
    margin-bottom: 0;
  }

  .lipart-hero .wp-block-image img {
    width: 100%;
  }
}

/* PC */
@media (min-width: 783px) {
  .lipart-hero .wp-block-columns {
    align-items: flex-start;
  }

  .lipart-hero .wp-block-column {
    display: flex;
    flex-direction: column;
  }

  .lipart-hero .wp-block-column:nth-child(2) .wp-block-image {
    margin-bottom: 24px;
  }

  .lipart-hero .wp-block-column:nth-child(2) h2,
  .lipart-hero .wp-block-column:nth-child(2) h3 {
    margin-top: 0;
  }
}


/* 記事ページのパンくずを非表示 */
.single-post .breadcrumb,
.single-post .vk-breadcrumb,
.single-post .pankuzu {
  display: none !important;
}
.page-header {
  display: none !important;
}
.page-id-3216,
.page-id-3216 .site-body,
.page-id-3216 .site-body-container,
.page-id-3216 .entry-body,
.page-id-3216 .entry-content,
.page-id-3216 main {
  background: #ffffff !important;
}
/* PC上部メニューのフォント */
.global-nav-list > li > a,
.global-nav-list .global-nav-name {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.04em;
}
/* スマホメニュー */
.vk-mobile-nav-menu,
.vk-mobile-nav-menu a,
.vk-mobile-nav-menu li a {
    font-family: "Noto Serif JP", serif !important;
    font-weight: 500;
    letter-spacing: 0.04em;
}
/* スマホメニューのフォントを強制変更 */
@media (max-width: 991px) {

  .vk-mobile-nav,
  .vk-mobile-nav a,
  .vk-mobile-nav li,
  .vk-mobile-nav li a,
  .mobile-nav,
  .mobile-nav a,
  .global-nav-list,
  .global-nav-list a,
  #global-nav,
  #global-nav a {
    font-family: "Noto Serif JP", serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
  }

}
.mincho-title {
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .mission-section p {
    font-size: 0.95rem;
    line-height: 1.8;
    margin-bottom: 18px;
  }

  .mission-section h2 {
    font-size: 1.25rem;
    line-height: 1.5;
    margin-bottom: 24px;
  }
}

@media (max-width: 767px) {
.reverse-mobile {
    display: flex;
    flex-direction: column;
}

.reverse-mobile .wp-block-column:first-child {
    order: 2;
}

.reverse-mobile .wp-block-column:last-child {
    order: 1;
}
}
@media (max-width: 767px) {
  .member-image {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .member-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block;
  }
}
.member-message {
  line-height: 1.8;
}

.member-message p {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.member-message br {
  line-height: 1.4;
}
@media (max-width: 767px) {
  .school-lead {
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
    letter-spacing: 0 !important;
  }
}
/* お悩みブロック：スマホ文字サイズ調整 */
@media screen and (max-width: 768px) {

  .school-worry-title,
  .school-worry-title.is-style-vk-heading-plain,
  .school-worry-title .is-style-vk-heading-plain,
  .school-worry-title h2,
  .school-worry-title h3,
  .school-worry-title .vk-heading__title,
  .school-worry-title .vk_heading_title,
  h2.school-worry-title,
  h3.school-worry-title {
    font-size: 20px !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
  }

  .school-worry-title * {
    font-size: 20px !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
  }

  .school-worry-text,
  .school-worry-text p,
  p.school-worry-text,
  .school-worry-text * {
    font-size: 15px !important;
    line-height: 1.8 !important;
    letter-spacing: 0 !important;
  }
}