/* ===================
  kou
====================*/

a:hover {
  opacity: .7;
}
p.red {
  color: #ff1925ff;
}
.c-remark-list__item--color-red {
  color: #ff1925ff; 
}
.c-remark-list__item {
  font-size: 12px;
  color: #181b35ff;
}
.c-acc-text__head--remark {
  font-size: 12px;
  color: #181b35ff;
}

@media print, screen and (min-width: 769px) {
  .c-max {
    width: 100%;
  }
  .c-wrap__inner.c-st-wrap__inner {
    max-width: 1280px;
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
  }
  .c-cv {
    width: 100%;
  }
  .c-cv__header-link {
    height: 43.16px;
    width: 180px;
    background: #ff1925ff;
    display: flex;
    justify-content: center;
    flex: none;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    color: #FFFFFF;
    text-decoration: none;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    border-radius: 4px;
  }
  .lp_cvarea_list {
    max-width: 1280px;
    margin: 0 auto;
    padding: 10px 40px;
    display: flex;
    align-items: center;
  }
  .c-cv__box {
    width: 418px;
    margin: 0 auto;
  }
  .c-cv__blue {
    padding: 24px 75px;
    width: 100%;
    border-radius: 8px;
    background-color: #2452FF;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .c-cv__blue--wrap {
    max-width: 588px;
    margin: 0 auto;
  }
  /* #kou .c-cv .c-btn-link.c-cv__btn-link {
    background-color: #ff1925ff;
    color: #ffffff;
    border-radius: 64px;
    padding: 14px 16px;
    font-size: 22px;
    font-weight: 600;
    height: auto;
    line-height: 1.3;
  } */
  /* #kou .c-cv .c-btn-link.c-cv__btn-link::after {
    border-top: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
  } */
  .c-cv__btn-link-baroon {
    position: absolute;
    width: 163px;
    top: -15px;
  }
  #kou .c-cost__btn-link-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  /* #kou .c-btn-link.c-cost__btn-link {
    background-color: #ffffff;
    border: solid 3px #2452ffff;
    color: #2452ffff;
    border-radius: 64px;
    padding: 14px 16px;
    width: 100%;
  } */
  /* #kou .c-btn-link.c-cost__btn-link::after {
    border-top: 3px solid #2452ffff;
    border-right: 3px solid #2452ffff;
  } */
  .c-h2-white {
    display: flex;
    /* align-items: center; */
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 4px;
    justify-content: flex-start;
  }
  .c-h2-white__main {
    color: #FFFFFF;
    font-size: 48px;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-h2-white__sub {
    color: #fff;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-h2-white__sub--s {
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-h3-black {
    display: flex;
    align-items: center;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 8px;
    justify-content: flex-start;
  }
  .c-h3-black__main {
    color: #181b35ff;
    font-size: 60px;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-h3-black__sub {
    color: #2452ffff;
    font-size: 36px;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-bg-blue {
    background-color: #2452ffff;
    border-radius: 32px;
    padding: 56px 40px;
    gap: 32px;
    align-items: center;
    display: flex;
    flex-direction: column;
  }
  .c-bg-white {
    background-color: #ffffff;
    border-radius: 20px;
    padding: 56px 40px;
    align-items: center;
  }
  .c-bg-light {
    align-items: center;
    background: #cfe7ffff;
    /* border-radius: 40px 40px 0px 0px; */
    padding: 40px 80px;
  }
  .c-wrap--kou__inner {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 85px;
  }
  /* .c-wrap--kou .c-header__btn--menu {
    background-color: none;
    color: #0565bc;
  } */
  /* .c-wrap--lp .c-header-inner {
    position: fixed !important;
  } */
  .c-p-voice {
    color: #181b35ff;
    font-size: 25px;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
  }
  .c-p-voice strong {
    color: #2452ffff;
    font-size: 30px;
  }
}
@media print, screen and (max-width: 768px) {
  .c-max {
    width: 100%;
  }
  .c-cv {
    width: 100%;
  }
  .c-cv__header-link {
    height: 43.16px;
    width: 150px;
    background: #ff1925ff;
    display: flex;
    justify-content: center;
    flex: none;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    color: #FFFFFF;
    text-decoration: none;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    border-radius: 4px;
  }
  .lp_cvarea_list {
    max-width: 1280px;
    margin: 0 auto;
    padding: 10px 40px;
    display: flex;
    align-items: center;
  }
  .c-cv__blue {
    padding: 24px 16px;
    border-radius: 8px;
    background-color: #2452FF;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 auto;
  }
  .c-cv__blue--wrap {
    width: calc(100% - 32px);
    margin: 0 auto;
  }
  /* #kou .c-cv .c-btn-link.c-cv__btn-link {
    background-color: #ff1925ff;
    color: #ffffff;
    border-radius: 64px;
    padding: 14px 16px;
    font-size: 22px;
    font-weight: 600;
    height: auto;
    line-height: 1.3;
  } */
  /* #kou .c-cv .c-btn-link.c-cv__btn-link::after {
    border-top: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
  } */
  .c-cv__btn-link-baroon {
    position: absolute;
    width: 163px;
    top: -15px;
  }
  #kou .c-cost__btn-link-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  /* #kou .c-btn-link.c-cost__btn-link {
    background-color: #ffffff;
    border: solid 3px #2452ffff;
    color: #2452ffff;
    border-radius: 64px;
    padding: 14px 16px;
    width: 100%;
  } */
  /* #kou .c-btn-link.c-cost__btn-link::after {
    border-top: 3px solid #2452ffff;
    border-right: 3px solid #2452ffff;
  } */
  .c-h2-white {
    display: flex;
    /* align-items: center; */
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 4px;
    justify-content: flex-start;
  }
  .c-wrap--kou__inner {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 56px;
  }
  /* .c-wrap--kou .c-header__btn--menu {
    background-color: #fff;
    color: #0565bc;
  } */
  /* .c-wrap--lp .c-header-inner  {
    position: fixed !important;
  } */
  .c-h2-white__main {
    color: #FFFFFF;
    font-size: 11vw;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-h2-white__sub {
    color: #fff;
    font-size: 5.3vw;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-h2-white__sub--s {
    color: #FFFFFF;
    font-size: 5.3vw;
    font-weight: 700;
    line-height: 1.3;
  }
  .c-h3-black {
    display: flex;
    /* align-items: center; */
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 8px;
    justify-content: flex-start;
  }
  .c-h3-black__main {
    color: #181b35ff;
    font-size: 11vw;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-h3-black__sub {
    color: #2452ffff;
    font-size: 5.3vw;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-bg-blue {
    background-color: #2452ffff;
    border-radius: 32px;
    /* margin: 0px -16px; */
    padding: 56px 16px;
    gap: 32px;
    align-items: center;
    display: flex;
    flex-direction: column;
  }
  .c-bg-white {
    background-color: #ffffff;
    border-radius: 20px;
    padding: 56px 16px;
    align-items: center;
  }
  .c-bg-light {
    align-items: center;
    background: #cfe7ffff;
    /* border-radius: 40px 40px 0px 0px; */
    padding: 100px 15px;
  }
  .c-p-voice {
    color: #181b35ff;
    font-size: 25px;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
  }
  .c-p-voice strong {
    color: #2452ffff;
    font-size: 30px;
  }
  .c-h1-small {
    width: calc(100% - 32px);
    margin: 0 auto;
  }
}

/* ==========================================================================
  ボタンコンポーネント (画像矢印対応版)
========================================================================== */

/* --- 共通ベーススタイル --- */
.c-btn-link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  position: relative; /* 矢印配置の基準点 */
  transition: opacity 0.3s ease;
  box-sizing: border-box;
  width: 100%;
  border-radius: 64px;
  font-weight: 600;
  line-height: 1.3;
}

.c-btn-link:hover {
  opacity: .7;
}

/* ★共通の矢印配置設定 */
.c-btn-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px; /* 右端からの余白（必要に応じて調整） */
  transform: translateY(-50%); /* 縦方向のド真ん中に配置 */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border: none; /* 古いborder矢印の設定をリセット */
}

/* ==========================================
  ① エベレス用ボタン (緑枠・白背景)
========================================== */
.c-everes__btn-link {
  background-color: #ffffff;
  color: #008200;
  border: solid 3px #008200;
}
.c-everes__btn-link::after {
  background-image: url("https://storage.googleapis.com/studio-design-asset-files/projects/4yqBJ2xRqj/s-14x19_3911a2c7-e1c4-4365-ae08-1ac02f61816c.svg");
  width: 14px;
  height: 19px;
}
/* ==========================================
  ① エベレス用ボタン 吹き出し(バルーン)設定
========================================== */
.c-everes__btn-link-baroon {
  position: absolute;
  top: -15px; /* ボタンの上にはみ出す位置（必要に応じて調整） */
  left: 50%;
  transform: translateX(-50%); /* 常に中央に配置 */
  width: 163px; /* 吹き出しの幅（必要に応じて調整） */
  pointer-events: none; /* 画像がクリックの邪魔にならないようにする */
}

/* ==========================================
  ② メインCVボタン (赤背景・バルーン付き)
========================================== */
.c-cv__btn-link {
  background-color: #ff1925;
  color: #ffffff;
  border: none;
}
.c-cv__btn-link::after {
  background-image: url("../img/icon/arrow_white.svg");
  width: 15px;
  height: 20px;
  margin: 0 !important;
}

/* CVボタン上の吹き出し(バルーン)画像 */
.c-cv__btn-link-baroon {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 163px;
}

/* ==========================================
  ③ 白ボタン (青枠・白背景)
========================================== */
.c-cost__btn-link-wrap {
  width: 100%;
}

.c-cost__btn-link {
  background-color: #ffffff;
  color: #2452ff;
  border: solid 3px #2452ff;
}
.c-cost__btn-link::after {
  background-image: url("https://storage.googleapis.com/studio-design-asset-files/projects/4yqBJ2xRqj/s-15x20_195e6c82-f5ec-4b35-a07f-87fa59a3b9e3.svg");
  width: 15px;
  height: 20px;
}

/* ==========================================
  レスポンシブ調整 (PC / SP 余白・文字サイズ)
========================================== */

@media print, screen and (min-width: 769px) {
  .c-btn-link {
    padding: 14px 16px;
    font-size: 22px;
  }
  .c-cost__btn-link {
    font-size: 20px;
  }
}

@media print, screen and (max-width: 768px) {
  .c-btn-link {
    padding: 14px 16px;
    font-size: 22px;
  }
  .c-cost__btn-link {
    font-size: 18px;
  }
}

/* ==========================================
  レスポンシブ調整 (PC / SP 余白・文字サイズ)
========================================== */

/* --- PC版 (769px以上) --- */
@media print, screen and (min-width: 769px) {
  .c-btn-link {
    padding: 14px 16px;
    font-size: 22px;
  }
  .c-cost__btn-link {
    font-size: 20px; /* 受講費ボタンは文字多め想定で少し小さく */
  }
}

/* --- SP版 (768px以下) --- */
@media print, screen and (max-width: 768px) {
  .c-btn-link {
    padding: 14px 16px;
    font-size: 22px;
  }
  .c-cost__btn-link {
    font-size: 18px; /* SPの受講費ボタンサイズ */
  }
}
/*====================
  intro
====================*/
@media print, screen and (min-width: 769px) {
  .c-intro__inner {
    width: 1080px;
    margin: 0 auto;
  }
}
@media print, screen and (max-width: 768px) {
  .c-intro__inner {
    width: 100%;
    max-width: 390px;
    margin: 0 auto;
  }
}
/*====================
  features
====================*/

/* --- PC版 (769px以上) --- */
@media print, screen and (min-width: 769px) {
  .c-feature__ttl {
    width: 100%;
    max-width: 878px;
    margin: 0px 0px -200px 0px;
  }
  .c-features__head--sub {
    color: #181b35ff;
    font-feature-settings: 'palt' 1;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
  }
  .c-features__head--main {
    color: #2452ffff;
    font-feature-settings: 'palt' 1;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-features__img {
    position: relative;
  }
  .c-features__img-img {
    width: 100%;
  }

  /* 共通のしまじろう（通常画像用） */
  .c-features__simajiro-img {
    position: absolute;
    width: 60px;
    bottom: 0;
    left: 0;
    z-index: 2;
  }
  .c-features__simajiro-fuki {
    position: absolute;
    color: #181b35ff;
    background: #cfe7ffff;
    border-radius: 0px 60px 60px 60px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    padding: 16px 16px;
    bottom: 0px;
    right: 0px;
    z-index: 1;
  }

  /* 特徴アイテムのレイアウト */
  .c-features__item--wrap {
    display: flex;
    flex-direction: column;
    gap: 60px;
  }
  .c-features__item {
    position: relative;
  }
  .c-features__item.item-01 {
    margin: 0 -40px;
  }
  .c-features__item.item-02,
  .c-features__item.item-03,
  .c-features__item.item-04 {
    width: 100%;
    max-width: 870px;
    margin: 0 auto;
  }

  /* GIFアニメ＆バッジ類の絶対配置 */
  .c-features__item--gif {
    position: absolute;
  }
  .c-features__item--gif.gif-01 {
    bottom: 0;
    left: 50%;
    transform: translateX(100px);
    width: 30%;
    max-width: 339px;
  }
  .c-features__item--gif.gif-01 .badge {
    position: absolute;
    top: -40px;
    right: -60px;
    max-width: 206px;
     width: 70%;
  }
  
  /* GIF 02〜04 (PC版もしまじろうを可変化) */
  .c-features__item--gif.gif-02,
  .c-features__item--gif.gif-04 {
    top: 0;
    left: 22px;
    width: 42%;
    max-width: 360px;
  }
  .c-features__item--gif.gif-03 {
    top: 0;
    right: 22px;
    width: 42%;
    max-width: 360px;
  }

  /* しまじろうのパーセント配置 (PC) */
  .c-features__item--gif .shimajiro {
    position: absolute;
    width: 25%;
    max-width: 88px;
    height: auto;
  }
  .c-features__item--gif.gif-02 .shimajiro,
  .c-features__item--gif.gif-04 .shimajiro {
    top: 64%; 
    left: 6%; 
  }
  .c-features__item--gif.gif-03 .shimajiro {
    top: 70%;
    right: 80%; /* 右からの配置だったものを調整 */
  }

  /* サマリー（まとめ）部分 */
  .c-features__summary {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 20px;
    width: auto;
    justify-content: center;
  }
  .c-features__summary--text {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 16px;
    justify-content: center;
  }
  .c-features__summary--sub {
    color: #ffffffff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
  }
  .c-features__summary--main {
    color: #ffffffff;
    font-size: 56px;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
  }
  .c-features__summary-img {
    max-width: 306px;
    width: 100%;
  }
}

/* --- スマホ版 (768px以下) --- */
@media print, screen and (max-width: 768px) {
  .c-feature__ttl {
    width: 100%;
  }
  .c-features__head--sub {
    color: #181b35ff;
    font-feature-settings: 'palt' 1;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
  }
  .c-features__head--main {
    color: #2452ffff;
    font-feature-settings: 'palt' 1;
    font-size: 9.6vw;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-features__img {
    position: relative;
  }
  .c-features__img-img {
    width: 100%;
  }

  /* 共通のしまじろう（通常画像用） */
  .c-features__simajiro-img {
    position: absolute;
    width: 100px;
    bottom: 0;
    left: 0;
    z-index: 2;
  }
  .c-features__simajiro-fuki {
    position: absolute;
    color: #181b35ff;
    background: #cfe7ffff;
    border-radius: 0px 60px 60px 60px;
    font-size: 3.8vw;
    font-weight: 700;
    line-height: 1.3;
    padding: 16px 16px;
    bottom: 0px;
    right: 0px;
    z-index: 1;
  }

  /* 特徴アイテムのレイアウト */
  .c-features__item--wrap {
    display: flex;
    flex-direction: column;
    gap: 80px;
  }
  .c-features__item {
    position: relative;
  }
  .c-features__item.item-01 {
    margin: 0 -16px;
  }
  .c-features__item.item-02,
  .c-features__item.item-03,
  .c-features__item.item-04 {
    width: 100%;
  }

  /* GIFアニメ＆バッジ類の絶対配置 */
  .c-features__item--gif {
    position: absolute;
  }
  .c-features__item--gif.gif-01 {
    bottom: 0;
    max-width: 313px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .c-features__item--gif.gif-01 .badge {
    position: absolute;
    top: -10px;
    right: -30px;
    max-width: 146px;
  }
  
  /* GIF 02〜04 (SP版もしまじろうを可変化) */
  .c-features__item--gif.gif-02,
  .c-features__item--gif.gif-03,
  .c-features__item--gif.gif-04 {
    top: 50vw; /* 元の175pxをvwに近似（要微調整） */
    max-width: 360px;
    width: 90%; /* スマホでのGIF幅をパーセントに */
    left: 0;
    right: 0;
    margin: 0 auto; /* 中央寄せ */
  }

  /* しまじろうのパーセント配置 (SP) */
  .c-features__item--gif .shimajiro {
    position: absolute;
    width: 25%;
    max-width: 88px;
    height: auto;
    top: 60%; /* GIF画像の上から60%の位置 */
    left: 0;
  }

  /* サマリー（まとめ）部分 */
  .c-features__summary {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 14px;
  }
  .c-features__summary--text {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 8px;
  }
  .c-features__summary--sub {
    color: #ffffffff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
  }
  .c-features__summary--main {
    color: #ffffffff;
    font-size: 40px;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
  }
  .c-features__summary-img {
    width: 100%;
  }
}


/*====================
  evi
====================*/
@media print, screen and (min-width: 769px) {
  .c-evi__inner {
    /* padding: 0 4vw; */
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 40px;
    padding: 0px 40px;
  }
  .c-evi__head--sub {
    color: #2452ffff;
    font-feature-settings: 'palt' 1;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
  }
  .c-evi__head--main {
    color: #181b35ff;
    font-feature-settings: 'palt' 1;
    font-size: 35px;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-evi__item--wrap {
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
  }
  .c-evi__item {
    background: #FFFFFF;
    border-radius: 40px;
    gap: 24px;
    padding: 24px 20px 20px 20px;
    width: 382px;
    display: flex;
    flex-direction: column;
  }
}
@media print, screen and (max-width: 768px) {
  .c-evi__inner {
    padding: 0 4vw;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 28px;
  }
  .c-evi__head--sub {
    color: #2452ffff;
    font-feature-settings: 'palt' 1;
    font-size: 5.3vw;
    font-weight: 700;
    line-height: 1.3;
  }
  .c-evi__head--main {
    color: #181b35ff;
    font-feature-settings: 'palt' 1;
    font-size: 9.3vw;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-evi__item--wrap {
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 16px;
    justify-content: center;
  }
  .c-evi__item {
    background: #FFFFFF;
    border-radius: 40px;
    gap: 16px;
    padding: 24px 20px 20px 20px;
    width: 100%;
    display: flex;
    flex-direction: column;
  }
}



/*====================
  voice
====================*/
.c-voice {
  overflow: hidden;
  width: 100%;
}
/* スライダー本体 */
.c-voice__slider {
  display: flex;
  width: max-content;
  animation: scrollLoop 40s linear infinite;
}
/* 各スライドカード */
.c-voice__slider--slide {
  display: block;
  flex-shrink: 0;
  width: 250px;
  margin-right: 30px;
}
.c-voice__slider--slide img {
  width: 100%;
  height: auto;
  display: block;
}
/* 無限ループアニメーション */
@keyframes scrollLoop {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* JSで中身を倍にしてスムーズに */
}
@media print, screen and (min-width: 769px) {
  .c-voice__inner {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 20px;
    padding: 0px 40px;
  }
  .c-voice__slider { padding-left: 0; }
}
@media print, screen and (max-width: 768px) {
  .c-voice__inner {
    padding: 0 4vw;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 20px;
  }
  .c-voice__slider {
    padding-left: calc(50% - 125px);
  }
}

/*====================
  info
====================*/
@media print, screen and (min-width: 769px) {
  .c-h3-infos {
    align-items: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .c-h3-infos__main {
    color: #181b35ff;
    font-size: 40px;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
  }

  .c-h3-infos__sub {
    color: #ff1925ff;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
  }
  .c-h3-infos__sub.text-kou-black {
    color: #181b35ff;
  }
  .c-h3-infos__main.text-kou-blue {
    color: #2452ffff;
  }
  .c-infos__item {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .c-infos__item--wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch; /* 高さを揃える */
    gap: 20px;
    justify-content: flex-start; /* 左詰めで並べる */
  }
  /* 横並びになる対象の要素（単体カード or カードを包む親） */
  .c-infos__item--wrap > .c-infos__item,
  .c-infos__item--wrap > .c-bg-white {
    flex: 1;
    min-width: calc(50% - 10px); /* 2カラム想定 */
    box-sizing: border-box;
    padding: 56px 40px;
    background-color: #fff;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
  }
  .c-bg-white:not(.c-infos__item) {
    display: flex;
    flex-direction: row;
    gap: 20px;
    padding: 0; 
    background: #fff;
    align-items: stretch;
  }
  /* c-bg-white の中にある各カード */
  .c-bg-white > .c-infos__item {
    flex: 1;
    background-color: #fff;
    padding: 30px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
  }
}
@media print, screen and (max-width: 768px) {
  .c-h3-infos {
    align-items: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .c-h3-infos__main {
    color: #181b35ff;
    font-size: 40px;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
  }
  .c-h3-infos__main.small-sp {
    font-size: 30px;
  }
  .c-h3-infos__sub {
    color: #ff1925ff;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
  }
  .c-h3-infos__sub.small-sp {
    font-size: 24px;
  }
  .c-h3-infos__sub.text-kou-black {
    color: #181b35ff;
  }
  .c-h3-infos__main.text-kou-blue {
    color: #2452ffff;
  }
  .c-infos__item {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  /* すべて縦一列に */
  .c-infos__item--wrap,
  .c-bg-white {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .c-infos__item--wrap > .c-infos__item,
  .c-infos__item--wrap > .c-bg-white,
  .c-bg-white > .c-infos__item {
    width: 100%;
    /* padding: 56px 16px; */
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 15px;
  }
}



/*====================
  faq
====================*/

/* --- PC版 (769px以上) --- */
@media print, screen and (min-width: 769px) {
  .c-faq {
    margin-top: 80px;
  }
  .c-wrap--kou .c-faq__contents {
    display: flex;
    flex-direction: column;
    gap: 33px;
  }
  
  /* ▼ アコーディオン（頭）の設定 ▼ */
  .c-wrap--kou .c-faq__contents-head {
    width: 100%;
    position: relative; /* アイコン配置用に追加 */
    padding-right: 40px; /* アイコン用に右側に余白を追加 */
  }
  .c-wrap--kou .c-faq__contents-head:hover {
    opacity: .7;
    cursor: pointer;
  }
  .c-wrap--kou .c-faq__contents-head.js-c-acc-open {
    padding: 0px 40px 22px 0px; /* 開いた時も右側の余白をキープ */
  }

  /* ▼ Q. と A. の装飾 ▼ */
  .c-wrap--kou .c-faq__contents-head::before {
    content: 'Q.';
    width: 1em;
    height: 1em;
    font-weight: bold;
    color: #3b6ffeff;
    display: inline-block;
    position: absolute;
    font-family: "Lato";
    font-size: 23px;
    font-weight: 900;
    line-height: 1; 
  }
  .c-wrap--kou .c-faq__contents-body::before {
    content: 'A.';
    width: 1em;
    height: 1em;
    font-weight: bold;
    color: #3b6ffeff;
    display: inline-block;
    position: absolute;
    font-family: "Lato";
    font-size: 23px;
    font-weight: 900;
    line-height: 1.4; 
    opacity: 0;
  }
  .c-wrap--kou .js-c-acc-open.c-faq__contents-body::before {
    opacity: 1;
  }

  /* ▼ ＋ / － アイコンの描画 ▼ */
  /* 閉まっている時（＋） */
  .c-wrap--kou .c-faq__contents-head::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background: 
      linear-gradient(#2452FF, #2452FF) center/2px 100% no-repeat, /* 縦線 */
      linear-gradient(#2452FF, #2452FF) center/100% 2px no-repeat; /* 横線 */
    /* transition: all 0.3s ease; */
  }
  /* 開いている時（－） ※js-c-acc-open 連動 */
  .c-wrap--kou .c-faq__contents-head.js-c-acc-open::after {
    background: linear-gradient(#2452FF, #2452FF) center/100% 2px no-repeat;
    top: 0;
    transform: none; 
  }

  /* ▼ テキストの設定 ▼ */
  .c-wrap--kou .c-faq__contents-body-text {
    padding-left: 1.5em;
    color: #000000ff;
    font-weight: 400;
    line-height: 1.5;
    font-size: 16px;
    font-family: 'Noto Sans JP';
    letter-spacing: 0.01em;
  }
  .c-faq__contents-body-text a {
    color: #007cff;
  }
  .c-faq__contents-head-text {
    color: #181b35ff;
    font-size: 23px;
    font-weight: 400;
    line-height: 1;
    text-align: left;
    padding-left: 1.5em;
  }

  /* ▼ 開閉時のボディ装飾 ▼ */
  .c-wrap--kou .js-c-acc-open.c-faq__contents-body {
      border-top: dotted 1px #949292ff;
  }
  .c-wrap--kou .c-faq__contents-body {
      border-top: none;
      padding: 22px 0px 0px 0px;
  }

  /* ▼ 見出し・レイアウト ▼ */
  .c-h2-faq {
    align-items: left;
    display: flex;
    flex-direction: column;  
  }
  .c-h2-faq__main {
    color: #181b35ff;
    font-size: 40px;
    font-weight: 900;
    line-height: 1.3;
    text-align: left;
  }
  .c-h3-faq {
    align-items: left;
    display: flex;
    flex-direction: column;
  }
  .c-h3-faq__main {
    color: #181b35ff;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.3;
    text-align: left;
  }
  .c-faq__item--wrap {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 16px;
  }
  .c-faq__contents-item {
    align-items: flex-start;
    background: #ffffff;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding: 30px 30px 30px 30px;
  }

  /* ▼ もっと見るボタン ▼ */
  .c-faq__item--wrap .c-faq__contents-item:nth-of-type(n+5) {
    display: none;
  }
  .c-faq__item--wrap.is-open .c-faq__contents-item:nth-of-type(n+5) {
    display: block;
  }
  .c-faq__more-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px;
    background-color: #007bff;
    color: #fff;
    border-radius: 16px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    border: none;
  }
  .c-faq__more-btn:hover {
    opacity: .7;
  }
}


/* --- SP版 (768px以下) --- */
@media print, screen and (max-width: 768px) {
  .c-faq {
    margin-top: 80px;
  }
  .c-wrap--kou .c-faq__contents {
    display: flex;
    flex-direction: column;
    gap: 33px;
  }

  /* ▼ アコーディオン（頭）の設定 ▼ */
  .c-wrap--kou .c-faq__contents-head {
    width: 100%;
    position: relative; /* アイコン配置用 */
    padding-right: 12vw; /* SP用に右側の余白を大きめに */
  }
  .c-wrap--kou .c-faq__contents-head:hover {
    opacity: .7;
    cursor: pointer;
  }
  .c-wrap--kou .c-faq__contents-head.js-c-acc-open {
    padding: 0px 12vw 22px 0px; /* 開いた時も余白をキープ */
  }

  /* ▼ Q. と A. の装飾 ▼ */
  .c-wrap--kou .c-faq__contents-head::before {
    content: 'Q.';
    width: 1em;
    height: 1em;
    font-weight: bold;
    color: #3b6ffeff;
    display: inline-block;
    position: absolute;
    font-family: "Lato";
    font-size: 23px;
    font-weight: 900;
    line-height: 1; 
  }
  .c-wrap--kou .c-faq__contents-body::before {
    content: 'A.';
    width: 1em;
    height: 1em;
    margin-right: 2.667vw;
    display: inline-block;
    position: absolute;
    font-family: "Lato";
    color: #2452ffff;
    font-size: 23px;
    font-weight: 900;
    line-height: 1.4; 
    opacity: 0;
  }
  .c-wrap--kou .js-c-acc-open.c-faq__contents-body::before {
    opacity: 1;
  }

  /* ▼ ＋ / － アイコンの描画 ▼ */
  .c-wrap--kou .c-faq__contents-head::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 4vw;
    transform: translateY(-50%);
    width: 4vw;
    height: 4vw;
    background: 
      linear-gradient(#2452FF, #2452FF) center/2px 100% no-repeat,
      linear-gradient(#2452FF, #2452FF) center/100% 2px no-repeat;
    /* transition: all 0.3s ease; */
  }
  .c-wrap--kou .c-faq__contents-head.js-c-acc-open::after {
    background: linear-gradient(#2452FF, #2452FF) center/100% 2px no-repeat;
    top: 5vw;
    transform: none;
  }

  /* ▼ テキスト・ボディの設定 ▼ */
  .c-wrap--kou .c-faq__contents-body-text {
    padding-left: 1.5em;
    color: #000000ff;
    font-weight: 400;
    line-height: 1.5;
    font-size: 16px;
    font-family: 'Noto Sans JP';
    letter-spacing: 0.01em;
  }
  .c-faq__contents-body-text a {
    color: #007cff;
  }
  .c-faq__contents-head-text {
    color: #181b35ff;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
    text-align: left;
    padding-left: 1.5em;
  }

  .c-wrap--kou .js-c-acc-open.c-faq__contents-body {
    border-top: dotted 1px #949292ff;
  }
  .c-wrap--kou .c-faq__contents-body {
    border-top: none;
    padding: 22px 0px 0px 0px;
  }

  /* ▼ 見出し・レイアウト ▼ */
  .c-h2-faq {
    align-items: left;
    display: flex;
    flex-direction: column;  
  }
  .c-h2-faq__main {
    color: #181b35ff;
    font-size: 40px;
    font-weight: 900;
    line-height: 1.3;
    text-align: left;
  }
  .c-h3-faq {
    align-items: left;
    display: flex;
    flex-direction: column;
  }
  .c-h3-faq__main {
    color: #181b35ff;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.3;
    text-align: left;
  }
  .c-faq__item--wrap {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 16px;
  }
  .c-faq__contents-item {
    align-items: flex-start;
    background: #ffffff;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding: 30px 20px;
  }

  /* ▼ もっと見るボタン ▼ */
  .c-faq__item--wrap .c-faq__contents-item:nth-of-type(n+5) {
    display: none;
  }
  .c-faq__item--wrap.is-open .c-faq__contents-item:nth-of-type(n+5) {
    display: block;
  }
  .c-faq__more-btn {
    display: flex;
    width: 100%;
    padding: 10px;
    background-color: #007bff;
    color: #fff;
    border-radius: 16px;
    font-size: 16px;
    font-weight: bold;
    justify-content: center;
    border: none;
  }
  .c-faq__more-btn:hover {
    opacity: .7;
  }
}
/*  */
@media print, screen and (min-width: 769px) {

}
@media print, screen and (max-width: 768px) {

}
/*  */

html, body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";
}
a {
  word-break: break-all;
}
.c-chatbot--fixed {
  display: none;
}

@media print, screen and (min-width: 769px) {
  .c-about {
    margin-top: 56px;
    background-image: url(https://storage.googleapis.com/studio-design-asset-files/projects/7kadQJ6PW3/s-1440x860_v-fms_webp_a5966c35-7aa2-48e7-a252-d320262b435e.webp);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .c-feature,
  .c-info {
    margin-top: 80px;
  }

  .c-fv01__img {
    position: relative;
  }
  .c-fv01__cv {
    position: absolute;
    bottom: 15%;
    left: 6%;
    align-items: center;
    background: #ffffffff;
    border-radius: 22px;
    padding: 20px 16px;
    gap: 30px;
    display: flex;
    flex-direction: column;
    width: 45%;
    max-width: 45%;
  }
  .c-fv01__cv--text {
    font-size: 18px;
    font-weight: 700;
    height: auto;
    line-height: 1.3;
    color: #181b35ff;
  }
  .c-h3-white {
    color: #FFFFFF;
    font-size: 32px;
    font-weight: 700;
    height: auto;
    line-height: 1.30;
    text-align: center;
  }
  .c-grade .c-btn__wrap,
  .c-function .c-btn__wrap {
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 30px 30px;
    justify-content: flex-start;
    padding: 0px;
    max-width: 855px;
  }
  .c-grade .c-btn__wrap a,
  .c-function .c-btn__wrap a {
    width: 407px;
  }
  .c-grade ,
  .c-function {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
  .c-item {
    background-color: #fff;
    padding: 32px 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    border-radius: 20px;
    width: 100%;
    max-width: 960px;
  }
  .c-item__img {
    width: 100%;
    max-width: 645px;
    margin: 0 auto;
  } 
  .c-item__ttl.center {
    text-align: center;
  }
  .c-item__ttl.left {
    text-align: left;
  }
  .c-item__ttl--big {
    display: flex;
    align-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
  }
  .c-item__ttl--big .c-item__head--sub {
      font-size: 36px;
  }
  .c-item__ttl--big .c-item__head--main {
      font-size: 60px;
  }
  .c-item__head--sub {
    color: #181b35ff;
    font-weight: 900;
    height: auto;
    line-height: 1.3;
    font-size: 20px;
  }
  .c-item__head--sub.blue {
    color: #2452ffff;
  }
  .c-item__head--main {
    color: #181b35ff;
    font-weight: 900;
    height: auto;
    line-height: 1.3;
    font-size: 35px;
  }
  .c-everes {
    background: linear-gradient(166deg, #77c600cc 33.46%, #008200e6 92.58%);
    margin-top: 80px;
    padding: 56px 40px;
    border-radius: 32px;
    gap: 32px;
    align-items: center;
    display: flex;
    flex-direction: column;
  }
  /* .c-everes__btn-link {
    background-color: #ffffff;
    border-radius: 64px;
    padding: 14px 16px;
    width: 100%;
    color: #008200ff;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
    display: flex;
    border: solid 3px #008200ff;
    justify-content: center;
  } */
  .c-everes__item--wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
  }
  .c-everes__item {
    display: flex;
    flex-direction: column;
    background: linear-gradient(166deg, #D3EDFF 33.46%, #F3D3FF 92.58%);
    border-radius: 40px;
    gap: 12px;
    padding: 24px 20px 20px 20px;
    width: 382px;
  }
  .c-everes__item.transparent {
    background : none;
  }
  .c-everes__item.transparent .c-everes__head--sub,
  .c-everes__item.transparent .c-everes__head--main {
    color: #fff;
  }

  .c-everes__head--sub {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: rgb(0, 130, 0);
  }
  .c-everes__head--main {
    color: #181b35ff;
    font-size: 35px;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-everes__text {
    align-items: center;
    background: #FFFFFF;
    border-radius: 10px;
    padding: 16px;
  }
  .c-footer__menu {
    align-items: center;
    background: #f4f6faff;
    padding: 56px 80px;
  }
  .c-footer__menu--btn a {
    align-items: center;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 24px 16px;
    width: 49%;
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    height: 19px;
    line-height: 1.3;
    color: #181b35ff;
    text-decoration: none;
  }
  .c-acc-text__head-white {
    color: #fff;
  }
  .c-remark-list__item--color-white {
    color: #fff;
  }
  /* .c-cv__btn-link::after {
    background-image: url(../img/icon/arrow_white.svg);
    width: 15px;
    height: 20px;
  } */
}
@media print, screen and (max-width: 768px) {
  .c-about {
    margin-top: 80px;
  }
  .c-feature,
  .c-info {
    margin-top: 80px;
  }

  .c-fv01__img {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  .c-fv01__cv {
    position: absolute !important;
    bottom: 4vw !important;  /* KV画像の下端からの位置（かぶり具合で調整） */
    left: 16px !important;   /* ★ここで左に16pxの余白 */
    right: 16px !important;  /* ★ここで右に16pxの余白 */
    z-index: 10 !important;
    
    background-color: #ffffff !important;
    border-radius: 20px !important;  /* 角の丸み */
    padding: 6vw 4vw !important;     /* 白枠の内側の余白 */
    text-align: center !important;
    gap: 20px;
    display: flex;
    flex-direction: column;
  }
  .c-fv01__cv--text {
    font-size: 18px;
    font-weight: 700;
    height: auto;
    line-height: 1.3;
    color: #181b35ff;
  }
  .c-h3-white {
    color: #FFFFFF;
    font-size: 32px;
    font-weight: 700;
    height: auto;
    line-height: 1.30;
    text-align: center;
  }
  .c-grade .c-btn__wrap,
  .c-function .c-btn__wrap {
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
  }
  .c-grade .c-btn__wrap a,
  .c-function .c-btn__wrap a {
    width: 100%;
  }
  .c-grade ,
  .c-function {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
  .c-item {
    background-color: #fff;
    padding: 24px 16px 24px 16px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    border-radius: 20px;
    width: 100%;
  }
  .c-item__ttl.center {
    text-align: center;
  }
  .c-item__ttl.left {
    text-align: left;
  }
  
  .c-item__head--sub {
    font-weight: 900;
    height: auto;
    line-height: 1.3;
    font-size: 5.3vw;
  }
  .c-item__head--sub.blue {
    color: #2452ffff;
  }
  .c-item__head--main {
    color: #181b35ff;
    font-weight: 900;
    height: auto;
    line-height: 1.3;
    font-size: 9.3vw;
  }
  .c-everes {
    background: linear-gradient(166deg, #77c600cc 33.46%, #008200e6 92.58%);
    margin-top: 80px;
    padding: 56px 16px;
    border-radius: 32px;
    display: flex;
    flex-direction: column;
    gap: 28px;
  }
  /* .c-everes__btn-link {
    background-color: #ffffff;
    border-radius: 64px;
    padding: 14px 16px;
    width: 100%;
    color: #008200ff;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
    display: flex;
    border: solid 3px #008200ff;
    justify-content: center;
  } */
  .c-everes__item--wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
  }
  .c-everes__item {
    display: flex;
    flex-direction: column;
    background: linear-gradient(166deg, #D3EDFF 33.46%, #F3D3FF 92.58%);
    border-radius: 20px;
    gap: 12px;
    padding: 24px 20px 20px 20px;
    width: 382px;
  }
  .c-everes__item.transparent {
    background : none;
  }
  .c-everes__item.transparent .c-everes__head--sub,
  .c-everes__item.transparent .c-everes__head--main {
    color: #fff;
  }
  .c-everes__head--sub {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: rgb(0, 130, 0);
  }
  .c-everes__head--main {
    color: #181b35ff;
    font-size: 35px;
    font-weight: 900;
    line-height: 1.3;
  }
  .c-everes__text {
    align-items: center;
    background: #FFFFFF;
    border-radius: 10px;
    padding: 16px;
  }
  .c-footer__menu {
    align-items: center;
    background: #f4f6faff;
    padding: 40px 15px;
  }
  .c-footer__menu--btn {
    align-items: center;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 24px 16px;
    width: 100%;
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    height: 19px;
    line-height: 1.3;
    color: #181b35ff;
    text-decoration: none;
  }
  .c-acc-text__head-white {
    color: #fff;
  }
  .c-remark-list__item--color-white {
    color: #fff;
  }
  /* .c-cv__btn-link::after {
    background-image: url(../img/icon/arrow_white.svg);
    width: 15px;
    height: 20px;
  } */
}

/* ============================================================
  追従ヘッダー用のアニメーション設定
============================================================ */

/* 最初は非表示クラス（JSで制御する場合はあってもなくてもOK） */
.page-top-hidden {
  display: none;
}

/* ヘッダーの基本固定設定 */
.lp-btn-float { /* クラス名は元のままにしています */
  position: fixed;
  top: 0;        /* ★重要：bottom: 0; を top: 0; に変更 */
  left: 0;
  width: 100%;
  z-index: 100;
  background: #fff;
  /* 初期状態は上に見切れるように隠しておく */
  opacity: 0;
  transform: translateY(-100%);
}

/* ============================================================
  JSで付与されるクラスに対するアニメーション指定
============================================================ */

/* 200pxスクロールして出てくる時（上から降りてくる） */
.lp-btn-float.UpMove {
  animation: HeaderSlideDown 0.5s forwards;
}

/* 上に戻って隠れる時（上へ引き上げる） */
.lp-btn-float.DownMove {
  animation: HeaderSlideUp 0.5s forwards;
}

/* --- キーフレーム（アニメーションの動き） --- */
@keyframes HeaderSlideDown {
  from {
    opacity: 0;
    transform: translateY(-100%); /* 上に隠れた状態から */
  }
  to {
    opacity: 1;
    transform: translateY(0);     /* 定位置（top:0）へ */
  }
}

@keyframes HeaderSlideUp {
  from {
    opacity: 1;
    transform: translateY(0);     /* 定位置から */
  }
  to {
    opacity: 0;
    transform: translateY(-100%); /* 上に隠れる */
  }
}

/* モバイルファースト用ヘッダー */
    /* .lp-header {
        width: 100%;
        padding-top: 72px;
        position: relative;
        z-index: 100;
    }
    .lp-header-inner {
        display: flex;
        align-items: flex-start;
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        background: #fff;
    }
    .lp-header-head {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 60px;
        padding: 10px 16px;
        background: #fff;
    }
    .lp-header-head--fv {
        height: 72px;
    }
    .lp-header-head__logo {
        min-height: 0;
        line-height: 0;
    }
    .lp-header-head__logo--benesse {
        display: none;
        margin-bottom: 10px;
    }
    .lp-header-head__logo--benesse-fv {
        display: block;
    }
    .lp-header-head__img--benesse {
        width: 66px;
    }
    .lp-header-head__img--shozemi {
        width: 130px;
    }
    .lp-header-head__img--shozemi-fv {
        width: 150px;
    } */



.c-header:not(.c-header--fv) {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
}

/* c-header__btn--member-fv が【付いていない時】は強制的に隠す！ */
.c-wrap--lp .c-header .c-header__btn--member:not(.c-header__btn--member-fv) {
    display: none !important;
}
/* c-header__btn--member-fv が【付いている時】は強制的に表示する！ */
.c-wrap--lp .c-header .c-header__btn--member.c-header__btn--member-fv {
    display: block !important; 
}

/* CVボタンの制御（FV時は非表示、追従時は表示） */
.c-header .c-header-head__cv {
    display: none;
}
.c-header:not(.c-header--fv) .c-header-head__cv {
    display: flex !important;
}

/* ベネッセロゴの制御 */
.c-header-head__logo--benesse:not(.c-header-head__logo--benesse-fv) {
    display: none !important;
}

/* --- メディアクエリ（PC） --- */
@media print, screen and (min-width: 769px) {
  .c-header-head__cv {
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 40px;
  }
  .c-wrap--lp .c-header {
    height: 90px;
  }
  .c-wrap--lp .c-header-inner {
    height: 90px;
  }
}

/* --- メディアクエリ（SP） --- */
@media print, screen and (max-width: 1024px) {
  /* c-header__btn--menu-fv が【付いていない時】だけ適用されるスタイル */
  .c-wrap--kou .c-header__btn--menu:not(.c-header__btn--menu-fv) {
    background-color: #ffffff;
    color: #0565bc;
  }
  .c-header-head__cv {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 16vw;
    background: #fff;
  }
}