@charset "utf-8";
/* CSS Document */
@charset "utf-8";
/* CSS Document */

		  .bg_fvImg_top::before {
		    background: linear-gradient(80deg, #DCEBFD 0%, rgba(0, 0, 0, 0) 60%) !important;
		  }
		  .bl_fv_catch span.catch_fv_main {
			  text-shadow:none;
			   background: linear-gradient(90deg,#e62a6d 0%,#c63cff 45%,#4f7cff 100%);
			  -webkit-background-clip: text;
			  -webkit-text-fill-color: transparent;
		  }
		  .bl_fv_catch span.catch_fv_main .is_black{
			   background: linear-gradient(90deg,#000 0%,#000 45%,#000 100%)!important;
			  -webkit-background-clip: text!important;
			  -webkit-text-fill-color: transparent!important;
		  }
		/* ===== Safari SP 表示崩れ修正 ===== */

		/* ① ヘッダー：ロゴ調整＋ボタン調整 */
		@media (max-width: 390px) {
		  .logo .hp_headerSpOnly {
			width: 120px !important;  /* ← 数値で大きさ調整してください */
		  }
		  .logo {
			flex-shrink: 0 !important;
		  }
		  .ly_header_menu .session a {
			padding: 3px 6px !important;
		  }
		  .ly_header_menu .session a span {
			font-size: 9px !important;
			line-height: 1.3 !important;
			word-break: keep-all !important;
		  }
		  .ly_header_menu .session .icon_board {
			width: 24px !important;
			height: 24px !important;
		  }
		}

		/* ② FV見出し（メイン） */
		@media (max-width: 390px) {
		  .bl_fv_catch .catch_fv_main {
			font-size: 5.8vw !important;
			line-height: 1.5 !important;
		  }
		}

		/* ③ FV「あなたの〜」 */
		@media (max-width: 390px) {
		  .bl_fv_catch .catch_fv_sp {
			font-size: 6.1vw !important;
		  }
		}

		/* ④ FV青いサブタイトル */
		@media (max-width: 390px) {
		  .bl_fv_catch .catch_fv_sub {
			font-size: 4.0vw !important;
			line-height: 1.4 !important;
		  }
		}

		/* ⑤ FV下部CTAの下スペース */
		@media (max-width: 390px) {
		  .cta_fv_bottom {
			margin-bottom: 16px !important;  /* ← 数値で調整 */
		  }
		}

		/* ⑥ Safari下部バー */
		@supports (padding-bottom: env(safe-area-inset-bottom)) {
		  body {
			padding-bottom: env(safe-area-inset-bottom) !important;
		  }
		}

/* 背景だけ調整 */
.bg_fvImg_top::before {
  background: linear-gradient(
    90deg,
    rgba(248,251,255,.95) 0%,
    rgba(255,255,255,.88) 45%,
    rgba(255,255,255,0) 72%
  ) !important;
}

/* 行間だけ */
.bl_fv_catch span.catch_fv_main {
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-shadow: none !important;
}

/* 「あなたをゴールへ導きます」だけ */
.bl_fv_catch .is_fz08x:last-child {
  background: linear-gradient(
    90deg,
    #e62a6d 0%,
    #c63cff 45%,
    #4f7cff 100%
  );

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  display: inline-block;
}

/* CTAだけ */
.cta_main {
  border-radius: 999px;

  background: linear-gradient(
    135deg,
    #ff2f7d 0%,
    #e40064 100%
  ) !important;

  box-shadow:
    0 10px 24px rgba(230,42,109,.18);

  transition: .3s;
}

.cta_main:hover {
  transform: translateY(-2px);
}

/* CTAラッパー */
.cta_wrap {
  position: relative;
  display: inline-block;
  padding-top: 18px;
}

/* 上ラベル */
.cta_label {
  position: absolute;

  top: 0;
  left: 55%;

  transform: translateX(-50%);

  background: #fff;
  color: #ff2f7d;

  font-size: 13px;
  font-weight: 700;
  line-height: 1;

  padding: 8px 80px;

  border-radius: 999px;

  white-space: nowrap;

  z-index: 3;

  box-shadow:
    0 4px 10px rgba(0,0,0,.08);
}

/* CTA本体 */
.cta_main {

  display: flex;
  align-items: center;
  justify-content: center;

  min-width: 420px;
  min-height: 64px;

  padding: 16px 40px 14px !important;

  border-radius: 18px;

  background: linear-gradient(
    135deg,
    #ff2f7d 0%,
    #e40064 100%
  ) !important;

  color: #fff !important;

  font-size: 22px !important;
  font-weight: 700;
  line-height: 1.3;

  text-align: center;

  box-shadow:
    0 10px 24px rgba(230,42,109,.20);

  transition: .3s;
}


.cta_main:hover {
  transform: translateY(-2px);
}
.bl_fv_bottom .cta_fv_bottom .cta_fv_bottom_col1 > div a.cta_main::before, .bl_fv_bottom .cta_fv_bottom .cta_fv_bottom_col2 > div a.cta_main::before{
	
	right:2em;
}

/* トリニティ講座カード：アイコン付きDL */
.bl_courseDlList_icon {
  display: flex;
  justify-content: center;
  margin-bottom: 4px;
}
.bl_courseDlList_dt .bl_courseDlList_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* アクセントカラーテキスト（学習目安・期間・サポート） */
.bl_trinity_accent {
  color: #e05585;
  font-size: 1.05em;
}

/* 注釈テキスト */
.bl_trinity_note {
  font-size: 0.85em;
  color: #666;
  margin-top: 12px;
}

/* ===== FV サブキャッチ ===== */
.bl_fv_subCatch {
  font-size: 1.5rem;
  line-height: 1.7;
  color: #555;
  margin-top: 4px;
  margin-bottom: 0;
}

.bl_fv_subCatch {
  font-size: 1.8vw;   /* PCのみ */
}

.bl_fv_catch .is_pink {
  display: inline;
  -webkit-text-fill-color: initial;
  color: #e62a6d;
}

@media screen and (max-width: 767px) {
  .bl_fv_subCatch {
    font-size: 3.6vw;
    line-height: 1.6;
    margin-top: 2px;
  }
}

@media (max-width: 480px) {
  .bl_fv_subCatch {
    font-size: 3.8vw;
  }
}

@media (max-width: 390px) {
  .bl_fv_subCatch {
    font-size: 4.0vw !important;
  }
}

/* SP */
@media (max-width: 767px) {

  .cta_wrap {
    width: 100%;
  }

  .cta_label {
    font-size: 11px;
    padding: 7px 24px;
  }

  .cta_main {
    width: 100%;
    min-width: auto;
    min-height: 64px;

    font-size: 18px;
    line-height: 1.4;

    padding: 14px 20px;
  }


  /* 背景グラデ弱め */
  .bg_fvImg_top::before {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,.72) 0%,
      rgba(255,255,255,.25) 45%,
      rgba(255,255,255,0) 100%
    ) !important;
  }

  /* FV全体余白 */

  /* 見出しサイズ */
	.bl_fv_catch .catch_fv_main{
    font-size: 7vw !important;
  }

	.bl_fv_catch .is_fz08x {
    font-size: 6vw !important;
  }

  .bl_fv_catch .is_fz06x {
    font-size: 6vw !important;
    line-height: 1.45;
  }

  /* 丸3つ */
  .img_fv_bottom img {
    width: 88%;
    max-width: 340px;
    margin: 0 auto;
    display: block;
  }

  /* CTA */
  .cta_fv_bottom {
    margin-top: 20px;
  }

  .cta_main {

    width: 100%;
    min-width: auto;

    min-height: 56px;

    font-size: 16px !important;
    line-height: 1.25;

    padding: 14px 16px !important;

    border-radius: 16px;
  }
	.bl_fv_bottom{
		bottom:-85vh;
	}
}

/* 小さいスマホ */
@media (max-width: 480px) {
		.bl_fv_bottom{
		bottom:-160vh;
	}
.bl_fv_bottom .cta_fv_bottom .cta_fv_bottom_col1 > div a.cta_main::before, .bl_fv_bottom .cta_fv_bottom .cta_fv_bottom_col2 > div a.cta_main::before{
	
	right:1em;
}
	.cta_label {
		paddin: 7px 24px;
		left:50%;
		font-size:13px
	}
}

/* iPhone SE系 */
@media (max-width: 375px) {
	.bl_fv_bottom{
		bottom:-85vh;
	}
}

/* 2列グリッド（トリニティページ 対応講座セクション） */
.lp_course_side_grid.bl_format_column__2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

/* タブレット以下は1列 */
@media screen and (max-width: 767px) {
  .lp_course_side_grid.bl_format_column__2col {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 767px) {
  .bl_fv_subCatch {
    font-size: 3.6vw;
  }
}