/* スムーススクロールを有効化 */
html {
  scroll-behavior: smooth;
}

/* 固定ヘッダー分の余白を考慮（ヘッダーの高さに応じて調整） */
:root {
  --header-offset: 55px; /* 例：ヘッダー高さ80pxならここを変更 */
}

html {
  scroll-padding-top: var(--header-offset);
}

[id] {
  scroll-margin-top: var(--header-offset);
}

/* 固定ページタイトルを非表示（アイキャッチは残す） */
.page .c-entry__title {
  display: none;
}


/* ヘッダー｜公式LINEロゴ */
.header__line-icon {
  max-width: 2rem;
  transition: all 0.2s ease;
}

.header__line-icon:hover {
  transform: scale(1.2);
}

@media (min-width: 1024px) {
  /* PC で有効 */
  .header__line-icon {
    max-width: 4rem;
  }
}


/* ボタンホバー時の黒いフィルター解除 */
.btn__hover-color-reverse a {
  filter: none!important;
  border:4px solid transparent;
}

/* ボタンホバー時の色変化 */
.btn__hover-color-reverse:hover a {
  background-color: #fff;
  border: 4px solid #04C755;
}

.btn__hover-color-reverse span {
  transition: all 0.3s ease;
}

.btn__hover-color-reverse:hover span {
  color: #04C755;
}

.btn__hover-color-reverse.btn__hover-color-reverse02:hover a {
  background-color: #04C755;
}

.btn__hover-color-reverse.btn__hover-color-reverse02:hover span {
  color: #fff;
}

.btn__hover-color-reverse.btn__hover-color-reverse03:hover a {
  background-color: #fff;
  border: 4px solid #204E79;
}

.btn__hover-color-reverse.btn__hover-color-reverse03:hover span {
  color: #204E79;
}


/* ヘッダーのLINE登録の背景 */
.menu-item-24, .menu-item-145 {
  background-color: #04C755;
  border: 4px solid #04C755;
  color: #fff;
  padding-left: 1rem;
  padding-right: 1rem;
  transition: all 0.3s ease;
}

.menu-item-24 span,
.menu-item-24 small,
.menu-item-145 span,
.menu-item-145 small {
  color: #fff;
  transition: all 0.3s ease;
  font-weight: 700!important;
}

.menu-item-24:hover,
.menu-item-145:hover {
  background-color: #fff;
}

.menu-item-24:hover span,
.menu-item-145:hover span {
  color: #04C755;
}

.menu-item-24:hover small,
.menu-item-145:hover small {
  color: #04C755;
}

/* お悩みセクションのリストアイコンと文章を中央に揃える */
.list__center li {
  display: flex!important;
  align-items: center!important;
}

/* targetタイトルのアンダーバー */
.c-title_under-bar .smb-media-text__title {
  border-bottom: 3px solid #eee;
  display: inline-block;
  padding-bottom: 10px;
}


/* 背景画像 */
.bg-image {
  position: absolute;
}

/* 背景画像・教育理念セクション */
.bg-image__philosophy {
  top: 10%;
  left: 0;
  opacity: 0.1;
  pointer-events: none;
}

/* お悩みセクションの背景画像 */
.bg__concept {
  position: absolute;
  bottom: -100px;
  right: -10%;
  opacity: 0.1;
}

.bg__concept--left {
  right: auto;
  left: -30%;
  bottom: -220px;
}

.profile {
  position: relative;
}

.profile__bg-image {
  position: absolute;
  bottom: -200px;
  left: 0;
  opacity: 0.1;
  z-index: -1;
}

/* 対象となるこどもたちのアイコン */
.icon-target {
  color: #2F7D68;
  font-size: 2rem;
}

.icon-target--01 {
  color: #204E79;
}

/* targetの背景 */
.target__bg-top {
  position: absolute;
  opacity: 0.1;
  top: 0%;
  right: 0;
}

/* 特徴セクション */
.features__card {
  min-height: 600px;
}

/* プログラム・カリキュラムのアイコン */
.icon-program {
  color: #fff;
  font-size: 1.5rem;
}

/* プログラムのテーブル */
.program__table {
  border-radius: 10px;
}

/* プログラムのカード幅 */
@media screen and (max-width: 639px) {
  .program__card {
    max-width: 395px;
  }
}

/* FAQのアイコン */
.icon-faq {
  color: #2F7D68;
  font-size: 2rem;
}



/* =========================================================
# フッター
========================================================= */
/*
# 中央寄せ・ボーダー
---------------------------------- */
.l-footer-widget-area__item.c-row__col {
  text-align: center;
  border-left: 1px solid #e3e3e3;
}

@media screen and (max-width: 1023px) {

  .l-footer-widget-area__item.c-row__col {
    text-align: center;
    border-left: none;
  }
}

/*
# 1023以下でロゴ消す・幅70％
---------------------------------- */
@media screen and (max-width: 1023px) {

  .l-footer__body .c-container {
    width: 70%;
  }

  .l-footer__body .c-container .c-site-branding__title {
    display: none;
  }
}

/*
# コピーライト
---------------------------------- */
/*
# 背景色
---------------------------------- */
.l-footer--footer-4 .l-footer__footer, .l-footer--footer-5 .l-footer__footer {
  background-color: #2e2e2e;

}

/*
# テキスト
---------------------------------- */
.l-footer--footer-4 .l-footer__footer, .l-footer--footer-5 .l-footer__footer .c-copyright {
  color: #fff;
}

/*
# 中央寄せ
---------------------------------- */
.l-footer__footer .c-row {
  justify-content: center;
}

.c-copyright p {
  text-align: center;
}


/* カードのネガティブマージン */
.feature__second-title {
  position: relative;
  z-index: 2;
}

.l-footer__footer {
  background-color: #2F7D68!important;
}