@charset 'UTF-8';

:root {
  /* | color */
  --col-white: #fff;
  --col-hallo: #31da00;
  --col-hallo-hover: #24a100;
  --col-red: #bd0028;
  --col-logo-red: #d80c18;
  --col-txt-navy: #25282e;
  --col-txt-gray: #69666b;
  --col-txt-green: #254e35;
  --col-text-brown: #69666b;
  --col-navy: #303f88;
  --col-navy-hover: #25336b;
  --col-lightNavy: #f1f3fb;
  --col-line-navy: #d8deee;
  --col-green: #078449;
  --col-lightGreen: #e8f5df;
  --col-line-green: #cddfc8;
  --col-btn-green: #287344;
  --col-btn-green-hover: #225c34;
  --col-palepink: #fff7f5;
  --col-border-gray: #e4e1df;
  --col-black-00: #000;

  /* | color | Figma */
  --primitive-neutral-white: var(--col-white);
  --semantic-action-trial-primary: var(--col-hallo);
  --semantic-brand-accent: var(--col-red);
  --semantic-text-primary: var(--col-txt-navy);
  --primitive-neutral-400: var(--col-txt-gray);
  --semantic-work-primary: var(--col-navy);
  --primitive-blue-100: var(--col-lightNavy);
  --primitive-blue-600: var(--col-line-navy);
  --primitive-blue-1500: var(--col-navy-hover);
  --semantic-illustration-green-primary: var(--col-green);
  --semantic-life-surface-subtle: var(--col-lightGreen);
  --primitive-green-800: var(--col-line-green);
  --primitive-green-1700: var(--col-btn-green-hover);
  --primitive-green-1800: var(--col-txt-green);
  --primitive-red-200: var(--col-palepink);
  --primitive-red-600: var(--col-logo-red);
  --semantic-border-default: var(--col-border-gray);

  /* e-tracks_FirstAI/PC/共通/ラベル・ナビ */
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 25.2px */

  /* | font-family */
  --font-family-noto-sans-jp: "Noto Sans JP", sans-serif;
  --font-family-roboto: "Roboto", sans-serif;

  /* | letter-spacing */
  --letter-spacing-100: 0.1em;
  --letter-spacing-110: 0.11em;
  --letter-spacing-20: 0.02em;
  --letter-spacing-40: 0.04em;
  --letter-spacing-50: 0.05em;
  --letter-spacing-70: 0.07em;
  --letter-spacing-80: 0.08em;

  /* | root font size */
  --root-font-size: 16px;

  /* | size px to rem */
  --size-3: 0.188rem;
  --size-5: 0.3125rem;
  --size-6: 0.375rem;
  --size-10: 0.625rem;
  --size-11: 0.6875rem;
  --size-12: 0.75rem;
  --size-13: 0.8125rem;
  --size-14: 0.875rem;
  --size-15: 0.9375rem;
  --size-16: 1rem;
  --size-17: 1.0625rem;
  --size-18: 1.125rem;
  --size-19: 1.1875rem;
  --size-20: 1.25rem;
  --size-21: 1.3125rem;
  --size-22: 1.375rem;
  --size-23: 1.4375rem;
  --size-24: 1.5rem;
  --size-25: 1.5625rem;
  --size-26: 1.625rem;
  --size-27: 1.6875rem;
  --size-28: 1.75rem;
  --size-29: 1.8125rem;
  --size-30: 1.875rem;
  --size-31: 1.9375rem;
  --size-32: 2rem;
  --size-33: 2.0625rem;
  --size-34: 2.125rem;
  --size-35: 2.1875rem;
  --size-36: 2.25rem;
  --size-37: 2.3125rem;
  --size-38: 2.375rem;
  --size-39: 2.4375rem;
  --size-40: 2.5rem;
  --size-41: 2.5625rem;
  --size-42: 2.625rem;
  --size-43: 2.62875rem;
  --size-44: 2.75rem;
  --size-46: 2.875rem;
  --size-48: 3rem;
  --size-49: 3.0625rem;
  --size-50: 3.125rem;
  --size-52: 3.25rem;
  --size-54: 3.375rem;
  --size-56: 3.5rem;
  --size-58: 3.625rem;
  --size-60: 3.75rem;
  --size-61: 3.8125rem;
  --size-62: 3.875rem;
  --size-64: 4rem;
  --size-66: 4.125rem;
  --size-68: 4.25rem;
  --size-70: 4.375rem;
  --size-72: 4.5rem;
  --size-75: 4.6875rem;
  --size-76: 4.75rem;
  --size-80: 5rem;
  --size-82: 5.125rem;
  --size-84: 5.25rem;
  --size-85: 5.3125rem;
  --size-86: 5.375rem;
  --size-87: 5.438rem;
  --size-90: 5.625rem;
  --size-96: 6rem;
  --size-100: 6.25rem;
  --size-104: 6.5rem;
  --size-112: 7rem;
  --size-128: 8rem;
  --size-137: 8.5625rem;
  --size-145: 9.0625rem;
  --size-545: 34.063rem;

  /* | transition */
  --transition-default: 0.5s;

  /* | font-weight */
  --weight-thin: 100;
  --weight-extraLight: 200;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semiBold: 600;
  --weight-bold: 700;
  --weight-extraBold: 800;
  --weight-black: 900;

  /* | contents max-width */
  --width-max: var(--width-pc);

  /* | contents width */
  --width-sp: 576px;
  --width-tb: 768px;
  --width-pc-narrow: 960px;
  --width-pc-footer: 1200px;
  --width-pc: 1120px;
  --width-pc-note: 1280px;
  --width-pc-mv: 1440px;
  --width-pc-wide: 1920px;
  --width-pc-retina: 2560px;
  --width-pc-5k: 5120px;

  /* | width value */
  --width-280: 280px;
  --width-1440: 1440px;

  /* | height value */
  --height-88: 88px;

  /* | space value */
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-26: 26px;
  --space-28: 28px;
  --space-40: 40px;
  --space-80: 80px;
}

:root {
  --scrollbar: calc(100vw - 100cqw);
}

/* || Common */
* {
  font-family: var(--font-family-noto-sans-jp);
}

html {
  color: var(--col-txt-navy);
  counter-reset: cnt;
  font-family: var(--font-family-noto-sans-jp);
  font-size: var(--root-font-size);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* 自動カーニング */
  font-feature-settings: "palt";
  /* コンテナクエリー・単位cqwを使用するため */
  container-type: size;
  /* スムーススクロース */
  scroll-behavior: smooth;
}

html:has(dialog:modal) {
  overflow: hidden;
}

body {
  /* iOSセーフエリア対策 */
  padding-bottom: env(safe-area-inset-bottom);
  /* 横スクロール対策 */
  overscroll-behavior-x: contain;
  overflow-x: hidden;
}

main {
  position: relative;
  z-index: 0;
}

/* || Layout */

/* 基本 */
.ly_cont {
  margin-inline: auto;
  max-width: 100%;
  padding-block: var(--space-40);
  padding-inline: var(--space-24);
}

@media (min-width: 1200px) {
  .ly_cont {
    max-width: var(--width-max);
    padding-block: var(--space-80);
    padding-inline: 0;
  }
}

/* 全幅 */
.hp_fullScreen {
  width: 100%;
}

/* || グローバルメニュー */

/* || ハンバーガーメニュー */

dialog {
  border-style: none;
}

dialog:modal,
dialog::backdrop {
  overscroll-behavior: contain;
}

dialog:modal {
  width: 100vw;
  height: 100%;
  margin: 0;
  padding: 0;
  max-width: 100vw;
  /* min-height: 711px; */
}

dialog::backdrop {
  overflow: hidden;
}

dialog .bl_gNav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-16);
  width: 100%;
  color: var(--semantic-text-primary);
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 1.8;
}

@media (min-width: 960px) {
    dialog:not([open]) .bl_gNav {
    flex-direction: row;
    align-items: center;
    gap: var(--space-26);
    justify-content: flex-end;
    font-size: var(--size-14);
    font-weight: 400;
  }
}

@media (min-width: 960px) {
  dialog:not([open]) .el_closeButton {
    display: none;
  }

  dialog:not([open]) .bl_lv1Heading.hp_gNavDialog {
    display: none;
  }

  dialog:not([open]) .bl_gNav {
    display: flex;
    align-items: center;
    gap: var(--space-26);
  }
  dialog:not([open]) .bl_sp_menu {
    display: none;
  }

  dialog:not([open]).bl_lv1Heading img {
    width: 240px;
    height: 41px;
    aspect-ratio: 240/41;
    object-fit: contain;
  }

  .bl_nav {
    display: contents;
  }

  .el_menuButton {
    display: none;
  }
}

.bl_sp_menu{
  margin-block-start: 32px;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.bl_sp_menu .bl_lessonList{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.el_lessonItem{
  width: 100%;
}

.el_lessonItem a {
  width: min(100%, 320px);
  display: grid;
  padding: 16px;
  align-items: center;
  gap: 12px;
  grid-template-columns: 40px 1fr;
  margin-inline: 0 auto;
  border-radius: 12px;
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 1.75;
  transition: var(--transition-default);
}

.el_lessonItem.hp_work a {
  background-color: var(--col-lightNavy);
  color: var(--col-navy);
  border: 2px solid var(--col-lightNavy);
}
.el_lessonItem.hp_life a {
  background-color: var(--col-lightGreen);
  color: var(--col-btn-green);
  border:2px solid var(--col-lightGreen);
}

.el_lessonItem.hp_work a:is(:active, :focus) {
  background-color: var(--col-white);
}

.el_lessonItem.hp_life a:is(:active, :focus) {
  background-color: var(--col-white);
}

@media (any-hover: hover){
  .el_lessonItem.hp_work a:hover {
  background-color: var(--col-white);
}
.el_lessonItem.hp_life a:hover {
  background-color: var(--col-white);
}
}

.el_lessonItem a::before {
  content: "";
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.el_lessonItem.hp_work a::before{
  background-image: url(../icon/icon-laptop.svg);
}

.el_lessonItem.hp_life a::before{
  background-image: url(../icon/icon-phone.svg);
}


header > nav > button > svg {
  vertical-align: bottom;
}

dialog .bl_lv1Heading.hp_gNavDialog img {
  width: 240px;
  height: 41px;
}

dialog .bl_gNavDialogTtl {
  width: 100%;
  display: flex;
  padding: 16px;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--semantic-border-default);
  background: var(--primitive-neutral-white);
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.05);
}

@media (min-width: 960px) {
  dialog:not([open]) .bl_gNavDialogTtl {
    display: none;
  }
}

dialog .bl_gNavDialogBody {
  display: flex;
  padding: 40px 24px;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-16) var(--space-26);
  overflow: scroll;
}
@media (min-width: 960px) {
  dialog:not([open]) .bl_gNavDialogBody {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 0;
    overflow-y: unset;
  }
}

.el_gNavItem a {
  transition: var(--transition-default);
}

.el_gNavItem:is(:hover, :active) a {
  color: var(--semantic-brand-accent);
}

/* モーダル　無料体験ボタン */
.bl_spReserve {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-block-start: 86px;
  width: fit-content;
}

.bl_spReserve .el_btnCatch {
  color: var(--col-txt-navy);
  text-align: center;
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.bl_btnWrapper__header.hp_pc {
  display: none;
}
@media (min-width: 960px) {
  .bl_btnWrapper__header.hp_pc {
    display: block;
  }
}

/* ボタン バリエーション */
.hp_colContact {
  background-color: var(--col-contact);
  box-shadow: 0 4px 0 0 var(--col-green);
}

/* 強調 */
.hp_colEmphasis {
  color: var(--col-red);
  font-weight: var(--weight-bold);
}

.hp_bold {
  font-weight: var(--weight-bold);
}

/* || btnWrap */
.bl_btnWrapper {
  display: grid;
  place-items: center;
}

.bl_btnWrapper__header {
  place-items: center end;
}

.bl_btnWrapper.hp_right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* || btn */
.el_btn {
  align-items: center;
  border-radius: 100px;
  color: var(--col-white);
  display: flex;
  flex-direction: row;
  font-weight: var(--weight-bold);
  gap: 8px;
  justify-content: center;
  line-height: 1;
  text-align: center;
  border-radius: 9999px;
  transition: var(--transition-default);
}

.el_btn__header {
  padding-inline: 16px;
  padding-block: 10px;
  font-size: var(--size-14);
  background-color: var(--col-hallo);
  border: 1px solid var(--col-hallo);
  width: fit-content;
}

@media (min-width: 960px) {
  .el_btn__header {
    padding-inline: 24px;
    padding-block: 12px;
    font-size: var(--size-18);
  }
}

.el_btn__header:is(:active, :focus) {
  background-color: var(--col-hallo-hover);
}

@media (any-hover: hover) {
  .el_btn__header:hover {
    background-color: var(--col-hallo-hover);
  }
}

/* MVボタン */
.el_btn__mv {
  border-radius: 999px;
  border: 1px solid var(--col-hallo);
  background: var(--col-hallo);
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.1);
  display: flex;
  padding: 18px 24px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: var(--size-20);
  font-weight: var(--weight-bold);
  line-height: 1.2;
}

.el_btn__mv > span {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media (min-width: 768px) {
  .el_btn__mv {
    font-size: var(--size-20);
  }
}

@media (min-width: 960px) {
  .el_btn__mv {
    font-size: var(--size-20);
  }
}

@media (min-width: 1120px) {
  .el_btn__mv {
    font-size: var(--size-24);
  }
}

.el_btn__mv:is(:active, :focus) {
  background-color: var(--col-white);
  color: var(--col-hallo);
}

@media (any-hover: hover) {
  .el_btn__mv:hover {
    background-color: var(--col-white);
    color: var(--col-hallo);
  }
}

/* CTAボタン */
.el_btn__cta {
  border-radius: 100px;
  background: var(--col-hallo);
  color: var(--col-white);
  display: flex;
  padding-block: 16px;
  padding-inline: 24px;
  justify-content: center;
  align-items: center;
  gap: 8;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  transition: var(--transition-default);
  white-space: nowrap;
}
@media screen and (min-width: 960px) {
  .el_btn__cta {
    padding-block: 20px;
    padding-inline: 20px;
    font-size: 24px;
    line-height: 1.4;
    gap: 0;
  }
}

.el_btn__cta.hp_cta2 {
  font-size: 16px;
}
@media screen and (min-width: 960px) {
  .el_btn__cta.hp_cta2 {
    font-size: 24px;
  }
}

.el_btn__cta::after {
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(../icon/icon-arrow-right-white.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.el_btn__cta:is(:active, :focus) {
  background-color: var(--col-hallo-hover);
}

@media (any-hover: hover) {
  .el_btn__cta:hover {
    background-color: var(--col-hallo-hover);
  }
}

/* 講座の内容を見るボタン */
.el_btn.el_btn__bottom {
  display: flex;
  width: 100%;
  min-height: 58px;
  padding: 16px 16px 16px 40px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: var(--col-white);
  text-align: center;
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 1.5;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .el_btn.el_btn__bottom {
    padding: 14px 20px;
    font-size: var(--size-18);
    line-height: 1.6;
  }
}
.el_btn.el_btn__bottom::after {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url(../icon/icon-arrow-down-white.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 960px){
  .el_btn.el_btn__bottom::after {
    width: 40px;
    height: 40px;
  }
}

.el_btn.el_btn__bottom.hp_work {
  background-color: var(--col-navy);
}
.el_btn.el_btn__bottom.hp_work:is(:active, :focus) {
  background-color: var(--col-navy-hover);
}
@media (any-hover: hover) {
  .el_btn.el_btn__bottom.hp_work:hover {
    background-color: var(--col-navy-hover);
  }
}

.el_btn.el_btn__bottom.hp_life {
  background-color: var(--col-btn-green);
}
.el_btn.el_btn__bottom.hp_life:is(:active, :focus) {
  background-color: var(--col-btn-green-hover);
}
@media (any-hover: hover) {
  .el_btn.el_btn__bottom.hp_life:hover {
    background-color: var(--col-btn-green-hover);
  }
}

/* 右矢印ボタン */
.el_btn.el_btn__right {
  display: flex;
  width: 100%;
  max-width: 482px;
  height: 58px;
  padding: 16px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 100px;
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .el_btn.el_btn__right {
    display: flex;
    height: 72px;
    padding: 16px 40px;
    gap: 0;
    font-size: var(--size-24);
    line-height: 1.4;
  }
}

.el_btn.el_btn__right::after {
  content: "";
  width: 40px;
  height: 40px;
  aspect-ratio: 1/1;
  background-image: url(../icon/icon-arrow-right-white.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.el_btn.el_btn__right.hp_modal {
  height: 60px;
  padding: 16px 24px;
  font-size: var(--size-18);
}
.el_btn.el_btn__right.hp_modal::after{
  width: 24px;
  height: 24px;
}

.el_btn.el_btn__right.hp_reserve {
  height: 48px;
  padding: 10px 36px;
  gap: 0;
  font-size: var(--size-14);
  line-height: 1.8;
}
.el_btn.el_btn__right.hp_reserve::after{
  width: 24px;
  height: 24px;
}

.el_btn.el_btn__right.hp_work {
  background-color: var(--col-navy);
}
.el_btn.el_btn__right.hp_work:is(:active, :focus) {
  background-color: var(--col-navy-hover);
}
@media (any-hover: hover) {
  .el_btn.el_btn__right.hp_work:hover {
    background-color: var(--col-navy-hover);
  }
}

.el_btn.el_btn__right.hp_life {
  background-color: var(--col-btn-green);
}
.el_btn.el_btn__right.hp_life:is(:active, :focus) {
  background-color: var(--col-btn-green-hover);
}
@media (any-hover: hover) {
  .el_btn.el_btn__right.hp_life:hover {
    background-color: var(--col-btn-green-hover);
  }
}

/* || Header */
.ly_header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: sticky;
  width: 100%;
  z-index: calc(1 / 0);
  border-bottom: 1px solid var(--semantic-border-default);
  background: var(--primitive-neutral-white);
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.05);
}
@media (min-width: 960px) {
  .ly_header {
    height: 90px;
  }
}

.ly_headerInner {
  display: flex;
  margin-inline: auto;
  justify-content: space-between;
  align-items: center;
  background-color: var(--col-white);
  width: 100%;
  padding: var(--space-16);
  gap: var(--space-16);
}

@media (min-width: 960px) {
  .ly_headerInner {
  max-width: var(--width-1440);
  min-height: var(--height-88);
  padding: var(--space-20) var(--space-40);
  gap: var(--space-28);
  }
}

.ly_menuWrapper {
  display: flex;
  margin-inline: auto 0;
  justify-content: flex-end;
  align-items: center;
  gap: var(--space-28);
}


/* || Footer */
.ly_footer {
  background-color: var(--col-white);
  color: var(--primitive-neutral-400);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-block: var(--space-24);
}

.ly_footer_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-inline: auto;
  padding-inline: 24px;
  padding-block: 0;
  width: 100%;
}

@media (min-width: 960px) {
  .ly_footer_inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    max-width: var(--width-pc-footer);
    padding-inline: 0;
  }
}

.el_footer_copyright {
  display: block;
  font-size: var(--size-11);
  line-height: 1.6;
  text-align: center;
}

.bl_footerItem img {
  width: 240px;
  height: 41px;
  aspect-ratio: 240 / 41;
  object-fit: contain;
}

/* || CTA */
.ly_cta {
  color: var(--primitive-neutral-400);
}

.ly_cta.hp_bcgRed {
  background: var(--semantic-brand-accent);
  color: var(--primitive-neutral-white);
}

.ly_cta .ly_cont {
  margin-inline: var(--space-24);
}
@media screen and (min-width: 1200px) {
  .ly_cta .ly_cont {
    margin-inline: auto;
  }
}

.ly_contInner__cta {
  border-radius: 24px;
  background: var(--col-white);
}

/* || CTA-1 */
.ly_cta.hp_cta1 {
  padding-block: var(--space-40);
}

.ly_cta.hp_cta1 .ly_cont {
  display: grid;
  grid-template-areas:
    "cta1-ttl"
    "cta1-txt"
    "cta1-btn";
  gap: var(--space-12) var(--space-24);
  padding: var(--space-24);
  color: var(--col-text-brown);
}
@media screen and (min-width: 960px) {
  .ly_cta.hp_cta1 .ly_cont {
    grid-template-areas:
      "cta1-ttl cta1-btn"
      "cta1-txt cta1-btn";
    padding: var(--space-24) var(--space-40);
  }
}

.ly_cta.hp_cta1 .el_lv2Heading__cta {
  grid-area: cta1-ttl;
  color: var(--semantic-brand-accent);
  font-size: var(--size-32);
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.ly_cta.hp_cta1 .el_ctaTxt {
  grid-area: cta1-txt;
  color: var(--primitive-neutral-400);
  font-size: var(--size-16);
  line-height: 2;
}

.ly_cta.hp_cta1 .bl_btnWrapper {
  grid-area: cta1-btn;
  align-self: center;
}

/* || CTA-2 */

.ly_cta.hp_cta2 {
}

.el_lv2Heading.hp_cta2 {
  text-align: center;
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 960px) {
  .el_lv2Heading.hp_cta2 {
    font-size: var(--size-46);
    line-height: 1.4;
  }
}

.el_ctaTxt.hp_cta2 {
  font-size: var(--size-16);
  line-height: 1.8;
  margin-block-start: 25px;
  text-align: left;
}
@media screen and (min-width: 960px) {
  .el_ctaTxt.hp_cta2 {
    font-size: var(--size-18);
    line-height: 2;
    margin-block-start: 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

.ly_cta.hp_cta2 .ly_contInner__cta {
  margin-block-start: 24px;
  display: flex;
  width: 100%;
  padding: 24px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
@media screen and (min-width: 960px) {
  .ly_cta.hp_cta2 .ly_contInner__cta {
    margin-block-start: 25px;
  }
}

.el_ctaInnerTxt.hp_cta2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  color: var(--col-navy);
  text-align: center;
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (min-width: 960px) {
  .el_ctaInnerTxt.hp_cta2 {
    font-size: var(--size-24);
    line-height: 1.6;
  }
}

.el_ctaInnerTxt.hp_cta2 .hp_pc {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}

.el_img.hp_cta2 {
  width: 120px;
  height: auto;
  aspect-ratio: 120 / 163;
}
@media screen and (min-width: 960px) {
  .el_img.hp_cta2 {
    width: 148px;
    aspect-ratio: 148 / 201;
  }
}

/* CTAボタンラッパー */
.bl_btnWrapper.hp_cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: fit-content;
}

.bl_btnWrapper.hp_cta1 {
  margin-block-start: 32px;
  margin-inline: 0 auto;
}

@media (min-width: 768px) {
  .bl_btnWrapper.hp_cta1 {
    margin-block-start: 0;
    margin-inline: 0 auto;
  }
}

.el_imgWrapper.hp_cta2 {
  margin-block-start: 4px;
  width: 100%;
  display: grid;
  place-items: center;
}

.bl_btnWrapper.hp_cta > .el_btnSubTxt__before {
  text-align: center;
  font-family: var(--font-family-zen-maru);
  font-size: var(--size-14);
  font-weight: var(--weight-medium);
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
}

.bl_btnWrapper.hp_cta > .el_btnSubTxt__before::before {
  content: "";
  width: 1em;
  height: 1px;
  background-color: var(--col-white);
  transform: rotate(45deg);
}

.bl_btnWrapper.hp_cta > .el_btnSubTxt__before::after {
  content: "";
  width: 1em;
  height: 1px;
  background-color: var(--col-white);
  transform: rotate(-45deg);
}

/* CTA内の画像 */
.el_ctaPhoto_1 {
  position: absolute;
  object-fit: cover;
  overflow: hidden;
  width: 110px;
  height: 186px;
  aspect-ratio: 16/27;
  bottom: 0;
  right: 2vw;
}

@media (min-width: 576px) {
  .el_ctaPhoto_1 {
    width: 128px;
    height: 216px;
    right: 8px;
  }
}

@media (min-width: 768px) {
  .el_ctaPhoto_1 {
    overflow: visible;
    width: 213px;
    height: 360px;
    right: unset;
    left: 50%;
    transform: translateX(137px);
  }
}

@media (min-width: 960px) {
  .el_ctaPhoto_1 {
    width: 243px;
    height: 410px;
    transform: translateX(237px);
  }
}

.el_ctaPhoto_2 {
  position: absolute;
  object-fit: cover;
  overflow: hidden;
  width: 200px;
  height: 195px;
  aspect-ratio: 149/145;
  left: -12px;
  bottom: 0;
}

@media (min-width: 576px) {
  .el_ctaPhoto_2 {
    overflow: visible;
    width: 260px;
    height: 263px;
    left: 8px;
  }
}

@media (min-width: 768px) {
  .el_ctaPhoto_2 {
    width: 300px;
    height: 292px;
    left: 50%;
    transform: translateX(-120%);
  }
}

@media (min-width: 960px) {
  .el_ctaPhoto_2 {
    width: 380px;
    height: 370px;
    left: 50%;
    transform: translateX(-466px);
  }
}

@media (min-width: 1120px) {
  .el_ctaPhoto_2 {
    width: 411px;
    height: 400px;
    left: 50%;
    transform: translateX(-554px);
    bottom: 0;
  }
}

@media (min-width: 1200px) {
  .el_ctaPhoto_2 {
    width: 447px;
    height: 435px;
    left: 50%;
    transform: translateX(-554px);
    bottom: 0;
  }
}

/* || mainVisual */
.bl_mv {
  display: grid;
  grid-template-areas:
    "mv-msg"
    "mv-img1"
    "mv-img2"
    "mv-icon";
  margin-inline: auto;
  width: 100%;
  max-width: var(--width-pc-mv);
  gap: 0;
}
@media (min-width: 960px) {
  .bl_mv {
    grid-template-areas:
      "mv-img1 mv-msg mv-img2"
      "mv-img1 mv-icon mv-img2";
    gap: 0 20px;
    grid-template-columns: 39.93% 1fr 39.93%;
    grid-template-rows: 1fr 90px;
  }
}

.el_mvImg img {
  width: 100%;
  height: auto;
}

.el_mvImg.hp_img1 {
  grid-area: mv-img1;
  width: 100%;
  height: auto;
  aspect-ratio: 200 / 111;
}
@media screen and (min-width: 960px) {
  .el_mvImg.hp_img1 {
    aspect-ratio: 575 / 648;
  }
}
.el_mvImg.hp_img2 {
  grid-area: mv-img2;
  width: 100%;
  height: auto;
  aspect-ratio: 200 / 111;
  margin-block-start: -8px;
}
@media screen and (min-width: 960px) {
  .el_mvImg.hp_img2 {
    aspect-ratio: 575 / 648;
    margin-block-start: 0;
  }
}

.bl_mvMsg {
  grid-area: mv-msg;
}
.bl_mvViewMore {
  grid-area: mv-icon;
}

.bl_mvMsg {
  display: grid;
  grid-template-areas:
    "msg-img msg-subTtl"
    "msg-img msg-ttl";
  padding-block: 16px;
  padding-inline: 16px;
  margin-inline: auto;
  text-align: center;
  gap: 0 12px;
  width: 100%;
  max-width: 400px;
  grid-template-columns: 20.38% 1fr;
}
@media screen and (min-width: 960px) {
  .bl_mvMsg {
    grid-template-areas:
      "msg-subTtl"
      "msg-ttl"
      "msg-img";
    padding-block: 29px 35px;
    margin-inline: 0;
    /* min-width: 296px; */
    gap: 12px 0;
    grid-template-columns: 100%;
  }
}

.bl_mvMsg .el_subCatch {
  grid-area: msg-subTtl;
  color: var(--col-txt-gray);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 1.6;
  justify-self: start;
  align-self: end;
}
@media screen and (min-width: 960px) {
  .bl_mvMsg .el_subCatch {
    font-size: var(--size-14);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-self: center;
    align-self: center;
  }
}

.bl_mvMsg .el_subCatch .hp_spNone {
  display: none;
}
@media screen and (min-width: 960px) {
  .bl_mvMsg .el_subCatch .hp_spNone {
    display: block;
  }
}

.bl_mvMsg .el_brandImg {
  grid-area: msg-img;
  height: auto;
  aspect-ratio: 75/102;
  object-fit: contain;
}
@media screen and (min-width: 960px) {
  .bl_mvMsg .el_brandImg {
    aspect-ratio: 195/266;
    margin-inline: auto;
  }
}
.bl_mvMsg .el_mainCatch {
  grid-area: msg-ttl;
  aspect-ratio: 247 / 27;
  justify-self: start;
  align-self: start;
  margin-block-end: 13px;
}
@media screen and (min-width: 960px) {
  .bl_mvMsg .el_mainCatch {
    height: auto;
    aspect-ratio: 256 / 102;
    justify-self: center;
    margin-block-end: 0;
  }
}

.bl_mvViewMore {
  position: relative;
  height: 56px;
  width:100%;
  margin-block-start: -8px;
}
@media screen and (min-width: 960px) {
  .bl_mvViewMore {
    height: 74px;
    margin-inline-start: 0;
  }
}

.mvViewMoreInner.hp_scroll_down {
 display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  position: absolute;
  bottom: 1%;
  left:50%;
  transform: translateX(-50%);
  animation: viewmore 1s ease-in-out infinite;
}


.bl_mvViewMore p {
  color: var(--col-red);
  text-align: center;
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 1.4;
}

.bl_mvViewMore img {
  width: 19px;
  height: 19px;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 960px) {
  .bl_mvViewMore img {
    width: 30px;
    height: 30px;
  }
}

/* || heading2 */
.el_lv2Heading {
  text-align: center;
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 960px) {
  .el_lv2Heading {
    font-size: var(--size-46);
    line-height: 1.4;
  }
}

.el_lv2Heading.hp_intro {
  color: var(--semantic-brand-accent);
  text-align: center;
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 960px) {
  .el_lv2Heading.hp_intro {
    font-size: var(--size-46);
    line-height: 1.4;
  }
}

.el_lv2Heading.el_lv2Heading__icon {
  display: grid;
  grid-template-columns: 68px 1fr;
  width: 100%;
  max-width: 352px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-align: center;
  font-size: var(--size-30);
  font-weight: 700;
  line-height: 1.4;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .el_lv2Heading.el_lv2Heading__icon {
    font-size: var(--size-46);
    grid-template-columns: 76px 1fr;
    justify-content: center;
    width: fit-content;
  }
}

/* || heading3 */
.el_lv3Heading {
  font-weight: var(--weight-bold);
  text-align: center;
}

/* || heading4 */
.el_lv4Heading {
  font-weight: var(--weight-bold);
}

/* || card */

.bl_cardUnit {
  display: grid;
}

/* ||| イントロダクション */
.ly_intro .el_lv2Heading + .el_lead,
.ly_intro .el_lead + .el_lead {
  margin-block-start: var(--space-20);
}

.ly_intro .el_lead {
  color: var(--primitive-neutral-400);
  font-size: var(--size-16);
  line-height: 1.8;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 960px) {
  .ly_intro .el_lead {
    font-size: var(--size-18);
    line-height: 2;
  }
}

.ly_intro .el_lead.hp_colRed {
  color: var(--semantic-brand-accent);
  text-align: center;
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 1.75;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 960px) {
  .ly_intro .el_lead.hp_colRed {
    font-size: var(--size-24);
    font-weight: 700;
    line-height: 1.6;
  }
}

.bl_cardUnit__intro {
  grid-template-columns: 100%;
  grid-template-rows: auto;
  gap: var(--space-24);
  margin-block-start: 25px;
}
@media screen and (min-width: 960px) {
  .bl_cardUnit__intro {
    grid-template-columns: 1fr 1fr;
    margin-block-start: 48px;
  }
}

/* イントロダクションのカード */
.bl_introCard {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 11px;
  gap: 0;
}

.bl_introCard .bl_cardTtl {
  display: flex;
  padding: 25px 28px;
  align-items: center;
  gap: var(--space-16);
  border-radius: 26px 26px 0 0;
  color: var(--col-white);
}

.bl_introCard .bl_cardTtl.hp_work {
  background-color: var(--col-navy);
}
.bl_introCard .bl_cardTtl.hp_life {
  background-color: var(--col-btn-green);
}

.bl_introCard .bl_iconWrapper {
  border-radius: 999%;
  background-color: var(--col-white);
  width: 62px;
  height: 62px;
}

.bl_introCard .bl_iconWrapper .el_cardTtlIcon {
  width: 62px;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.el_cardTtl__intro {
  font-size: var(--size-26);
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (min-width: 960px) {
  .el_cardTtl__intro {
    font-size: var(--size-40);
    line-height: 1.04;
  }
}

.el_cardTtlNote {
  display: none;
}
@media screen and (min-width: 960px) {
  .el_cardTtlNote {
    display: grid;
    place-items: center;
    padding: 5px 13px;
    border-radius: 100px;
    background: var(--col-white);
    font-size: var(--size-14);
    line-height: 1.8;
    margin-inline: auto 0;
  }
  .el_cardTtlNote.hp_work {
    color: var(--col-navy);
  }
  .el_cardTtlNote.hp_life {
    color: var(--col-btn-green);
  }
}

.bl_introCard .bl_cardBody {
  display: grid;
  width: 100%;
  padding: var(--space-24);
  grid-template-columns: 100%;
  grid-template-rows: auto auto auto;
  gap: var(--space-24);
  border-radius: 0 0 26px 26px;
}
@media screen and (min-width: 960px) {
  .bl_introCard .bl_cardBody {
    padding: 27px 32px 32px 32px;
  }
}

.bl_introCard .bl_cardBody.hp_work {
  background-color: var(--col-lightNavy);
}
.bl_introCard .bl_cardBody.hp_life {
  background-color: var(--col-lightGreen);
}

.bl_introCard .el_classTtl {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.033em;
}
@media screen and (min-width: 960px) {
  .bl_introCard .el_classTtl {
    font-size: 36px;
    line-height: 1.13;
    letter-spacing: 0;
  }
}
.bl_introCard.hp_work .el_classTtl {
  color: var(--col-navy);
}
.bl_introCard.hp_life .el_classTtl {
  color: var(--col-btn-green);
}

.bl_introCard .el_classTtl + p {
  margin-block-start: 14px;
}

.bl_classAbstr p {
  color: var(--col-txt-gray);
  font-size: var(--size-16);
  line-height: 1.8;
}
@media screen and (min-width: 960px) {
  .bl_classAbstr p {
    font-size: var(--size-18);
    line-height: 2;
  }
}

.bl_introCard .el_lv5Heading.hp_recommend {
  font-size: var(--size-16);
  line-height: 1.8;
}
@media screen and (min-width: 960px) {
  .bl_introCard .el_lv5Heading.hp_recommend {
    font-size: var(--size-20);
    font-weight: 700;
    line-height: 1.4;
  }
}
.bl_introCard.hp_work .el_lv5Heading.hp_recommend {
  color: var(--col-navy);
}
.bl_introCard.hp_life .el_lv5Heading.hp_recommend {
  color: var(--col-btn-green);
}

.el_lv5Heading.hp_recommend + .bl_chkList {
  margin-block-start: 11px;
}

.bl_introCard .bl_chkList {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.bl_introCard .bl_chkList li {
  display: flex;
  width: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
}

.bl_introCard .bl_chkList li::before {
  content: "";
  width: 13px;
  height: 13px;
  background-image: url(../icon/icon-check-navy.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

/* ||| 仕事で使うAI */
.ly_workAI {
  background: var(--primitive-blue-100);
}

.el_lv2Heading.el_lv2Heading__icon.hp_colNavy {
  color: var(--col-navy);
}
.el_lv2Heading.el_lv2Heading__icon.hp_colNavy::before {
  content: "";
  width: 68px;
  height: 68px;
  background-image: url(../icon/icon-laptop.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 960px) {
  .el_lv2Heading.el_lv2Heading__icon.hp_colNavy::before {
    width: 76px;
    height: 76px;
  }
}

/* リード部分のブロック */
.bl_leadBlock {
  margin-top: var(--size-32);
}
@media screen and (min-width: 960px) {
  .bl_leadBlock {
    margin-top: var(--size-48);
  }
}

.bl_leadBlock.bl_leadBlock__left {
  display: grid;
  grid-template-areas:
    "work-img"
    "work-subTtl"
    "work-ttl"
    "work-txt";
  gap: 16px 0;
}
@media screen and (min-width: 960px) {
  .bl_leadBlock.bl_leadBlock__left {
    grid-template-areas:
      "work-subTtl work-img"
      "work-ttl work-img"
      "work-txt work-img";
    gap: 16px 48px;
    grid-template-rows: auto auto 1fr;
  }
}

.bl_leadBlock.bl_leadBlock__left .el_lv3Heading {
  grid-area: work-ttl;
}
.bl_leadBlock.bl_leadBlock__left .el_subTtl {
  grid-area: work-subTtl;
}
.bl_leadBlock.bl_leadBlock__left .el_txt {
  grid-area: work-txt;
}
.bl_leadBlock.bl_leadBlock__left .el_img {
  grid-area: work-img;
}

.el_lv3Heading.hp_colNavy {
  color: var(--col-navy);
}

.bl_leadBlock .el_lv3Heading {
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
  margin-block-start: 9px;
}
@media screen and (min-width: 960px) {
  .bl_leadBlock .el_lv3Heading {
    font-size: var(--size-32);
    line-height: 1.4;
    margin-block-start: 8px;
  }
}

.el_subTtl.hp_colNavy {
  color: var(--col-navy);
}

.bl_leadBlock .el_subTtl {
  font-size: var(--size-28);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.0307em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (min-width: 960px) {
  .bl_leadBlock .el_subTtl {
    font-size: var(--size-40);
    line-height: 1.4;
    letter-spacing: 0.00179em;
  }
}

.bl_leadBlock .el_txt {
  color: var(--col-txt-gray);
  font-size: var(--size-16);
  line-height: 1.8;
}
@media screen and (min-width: 960px) {
  .bl_leadBlock .el_txt {
    line-height: 2;
  }
}

.bl_leadBlock .el_img__lead {
  width: 100%;
  height: auto;
  aspect-ratio: 127/92;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .bl_leadBlock .el_img__lead {
    width: 100%;
    max-width: 535px;
    aspect-ratio: 47/34;
  }
}

/* 3つの学び */
.el_lv3Heading.el_lv3Heading__studies {
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 1.5;
  margin-block-start: 24px;
}
@media screen and (min-width: 960px) {
  .el_lv3Heading.el_lv3Heading__studies {
    font-size: var(--size-32);
    line-height: 1.45;
    margin-block-start: 40px;
  }
}

.bl_cardUnit.hp_studies {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto;
  width: 100%;
  margin-block-start: 24px;
  gap: 24px;
}
@media screen and (min-width: 960px) {
  .bl_cardUnit.hp_studies {
    grid-template-columns: repeat(auto-fill, minmax(306px, 1fr));
    margin-block-start: 48px;
  }
}

.bl_card.bl_card__studies {
  display: grid;
  grid-template-areas:
    "study-img"
    "study-body";
  grid-template-columns: 100%;
  grid-template-rows: auto 1fr;
}

.el_img__studies {
  grid-area: study-img;
  border-radius: 24px 24px 0 0;
  aspect-ratio: 349/233;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 960px) {
  .el_img__studies {
    aspect-ratio: 3/2;
  }
}

.bl_card.bl_card__studies .bl_cardBody {
  grid-area: study-body;
  background-color: var(--col-white);
  border-radius: 0 0 24px 24px;
  padding-inline: 24px;
  padding-block: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
}

.el_cardTtl.hp_studies {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0 13px;
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 576px) {
  .el_cardTtl.hp_studies {
    font-size: var(--size-32);
    line-height: 1.2;
  }
}

.bl_card__studies.hp_colNavy .el_cardTtl.hp_studies::before {
  content: "";
  width: 50px;
  height: 50px;
  background-size: contain;
  background-repeat: no-repeat;
  align-self: flex-start;
}

.bl_card__studies.hp_colNavy:first-of-type .el_cardTtl.hp_studies::before {
  background-image: url(../icon/icon-laptop.svg);
}
.bl_card__studies.hp_colNavy:nth-of-type(2) .el_cardTtl.hp_studies::before {
  background-image: url(../icon/icon-compass.svg);
}
.bl_card__studies.hp_colNavy:nth-of-type(3) .el_cardTtl.hp_studies::before {
  background-image: url(../icon/icon-badge.svg);
}

.bl_card__studies.hp_colNavy .el_cardTtl.hp_studies {
  color: var(--col-navy);
}

.el_cardTtl.hp_studies .hp_br {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.bl_card.bl_card__studies .bl_cardTxt {
  color: var(--col-txt-navy);
  font-size: var(--size-16);
  line-height: 1.8;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
@media screen and (min-width: 960px) {
  .bl_card.bl_card__studies .bl_cardTxt {
    font-size: var(--size-17);
    line-height: 1.9;
  }
}

.bl_card.bl_card__studies .bl_cardTxt .el_subTtl.hp_studies {
  color: var(--col-navy);
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (min-width: 960px) {
  .bl_card.bl_card__studies .bl_cardTxt .el_subTtl.hp_studies {
    font-size: var(--size-18);
    line-height: 1.9;
  }
}

/* ボタンラッパー */
@media screen and (min-width: 960px) {
  .bl_studies .bl_btnWrapper {
    margin-block-start: 24px;
  }
}
.bl_studies .bl_btnWrapper {
  margin-block-start: 40px;
}

/* ||| 暮らしで使うAI */
.ly_lifeAI {
  background: var(--semantic-life-surface-subtle);
}

.ly_lifeAI .hp_colGreen {
  color: var(--col-txt-green);
}

.el_lv2Heading.el_lv2Heading__icon.hp_colGreen::before {
  content: "";
  width: 68px;
  height: 68px;
  background-image: url(../icon/icon-phone.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 960px) {
  .el_lv2Heading.el_lv2Heading__icon.hp_colGreen::before {
    width: 76px;
    height: 76px;
  }
}

.ly_lifeAI .el_subTtl {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  font-weight: 700;
}

.ly_lifeAI .el_subTtl .hp_small {
  font-size: var(--size-18);
  line-height: 1.6;
}
@media screen and (min-width: 960px) {
  .ly_lifeAI .el_subTtl .hp_small {
    font-size: var(--size-26);
    line-height: 1.9;
  }
}

.ly_lifeAI .el_subTtl .hp_large {
  font-size: var(--size-32);
  line-height: 1.5;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (min-width: 960px) {
  .ly_lifeAI .el_subTtl .hp_large {
    font-size: var(--size-46);
    line-height: 1.4;
  }
}

.bl_leadBlock.bl_leadBlock__life .el_img__lead {
  width: 100%;
  height: auto;
  aspect-ratio: 352/304;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .bl_leadBlock.bl_leadBlock__life .el_img__lead {
    width: 100%;
    max-width: 567px;
    aspect-ratio: 567/462;
  }
}

/* リード部分のブロック */
.bl_leadBlock.bl_leadBlock__life {
  display: grid;
  grid-template-areas:
    "life-img"
    "life-subTtl"
    "life-ttl"
    "life-txt";
  gap: 20px 48px;
}
@media screen and (min-width: 960px) {
  .bl_leadBlock.bl_leadBlock__life {
    grid-template-areas:
      "life-img life-subTtl"
      "life-img life-ttl"
      "life-img life-txt";
    grid-template-rows: auto auto 1fr;
  }
}

.bl_leadBlock.bl_leadBlock__life .el_lv3Heading {
  grid-area: life-ttl;
  margin-block-start: 4px;
}

.bl_leadBlock.bl_leadBlock__life .el_subTtl {
  grid-area: life-subTtl;
}

.bl_leadBlock.bl_leadBlock__life .el_txt {
  grid-area: life-txt;
  color: var(--col-txt-navy);
  font-size: var(--size-18);
  line-height: 1.8;
}
@media screen and (min-width: 960px) {
  .bl_leadBlock.bl_leadBlock__life .el_txt {
    font-size: var(--size-20);
    line-height: 2;
  }
}

.bl_leadBlock.bl_leadBlock__life .el_img {
  grid-area: life-img;
}

.bl_card__studies.hp_colGreen .el_cardTtl.hp_studies {
  color: var(--col-txt-green);
  font-size: var(--size-28);
}
@media screen and (min-width: 576px) {
  .bl_card__studies.hp_colGreen .el_cardTtl.hp_studies {
    font-size: var(--size-40);
  }
}

.bl_card__studies.hp_colGreen .el_cardTtl.hp_studies::before {
  content: "";
  width: 54px;
  height: 54px;
  background-size: contain;
  background-repeat: no-repeat;
  align-self: flex-start;
}

.bl_card__studies.hp_colGreen:first-of-type .el_cardTtl.hp_studies::before {
  background-image: url(../icon/icon-microphone.svg);
}
.bl_card__studies.hp_colGreen:nth-of-type(2) .el_cardTtl.hp_studies::before {
  background-image: url(../icon/icon-camera.svg);
}
.bl_card__studies.hp_colGreen:nth-of-type(3) .el_cardTtl.hp_studies::before {
  background-image: url(../icon/icon-chat.svg);
}

.bl_card.bl_card__studies.hp_colGreen .bl_cardTxt .el_subTtl.hp_studies {
  color: var(--col-txt-green);
  font-size: var(--size-18);
  line-height: 1.8;
}
@media screen and (min-width: 960px) {
  .bl_card.bl_card__studies.hp_colGreen .bl_cardTxt .el_subTtl.hp_studies {
    font-size: var(--size-20);
    line-height: 1.97;
  }
}

.bl_card.bl_card__studies .el_txt.hp_life {
  color: var(--col-txt-navy);
  font-size: var(--size-18);
  line-height: 1.8;
}

/* ｢使える」ことを、一番大切に。 */
.el_lv3Heading__studies.hp_life {
  text-align: center;
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 1.5;
  margin-block-start: 24px;
}
@media screen and (min-width: 960px) {
  .el_lv3Heading__studies.hp_life {
    text-align: left;
    font-size: var(--size-40);
    line-height: 1.4;
    margin-block-start: 48px;
  }
}

.bl_cardUnit.hp_points {
  display: grid;
  width: 100%;
  grid-template-columns: 100%;
  gap: 24px;
  margin-block-start: 24px;
}
@media screen and (min-width: 960px) {
  .bl_cardUnit.hp_points {
    grid-template-columns: repeat(auto-fill, minmax(306px, 1fr));
    margin-block-start: 40px;
  }
}

.bl_cardUnit.hp_points {
  counter-reset: points;
}

.bl_card__points {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
@media screen and (min-width: 960px) {
  .bl_card__points {
    padding: 24px;
    align-items: flex-start;
    gap: var(--space-16);
  }
}

.bl_card__points .el_lv4Heading__points {
  padding-inline-start: 1px;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 1.4;
  color: var(--col-txt-green);
}
@media screen and (min-width: 960px) {
  .bl_card__points .el_lv4Heading__points {
    align-items: flex-start;
    justify-content: flex-start;
    font-size: var(--size-32);
    line-height: 1.2;
  }
}

.bl_card__points .el_lv4Heading__points.hp_count::before {
  counter-increment: points;
  content: counter(points, decimal-leading-zero);
  color: var(--col-lightNavy);
  font-family: Roboto;
  font-size: 21px;
  font-weight: 900;
  line-height: 1.01;
  letter-spacing: 0.00338em;
  border-radius: 999px;
  background: var(--col-btn-green);
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  aspect-ratio: 1/1;
  padding-block-start: 0.02em;
}
@media screen and (min-width: 960px) {
  .bl_card__points .el_lv4Heading__points.hp_count::before {
    font-size: 32px;
    width: 64px;
    height: 64px;
  }
}

.bl_card__points .el_lv4Heading__points .hp_br {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (min-width: 960px) {
  .bl_card__points .el_lv4Heading__points .hp_br {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: center;
  }
}

.bl_card__points .el_txt.hp_life {
  color: var(--col-txt-navy);
  font-size: var(--size-18);
  line-height: 1.8;
}
@media screen and (min-width: 960px) {
  .bl_card__points .el_txt.hp_life {
    color: var(--col-txt-navy);
    font-size: var(--size-18);
    line-height: 1.7;
  }
}

/* スマートフォンの操作に自信がない方も */
.bl_bannerWrapper.hp_life {
  margin-block-start: 24px;
  margin-inline: auto;
}
@media screen and (min-width: 960px) {
  .bl_bannerWrapper.hp_life {
    margin-block-start: 64px;
  }
}

.bl_lifeBanner {
  position: relative;
  border-radius: 30px;
  background: var(--col-white);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
  display: grid;
  grid-template-areas:
    "lifeB-ttl"
    "lifeB-txt"
    "lifeB-img";
  width: 100%;
  padding: 24px;
  gap: 24px;
}
@media screen and (min-width: 960px) {
  .bl_lifeBanner {
    justify-content: center;
    align-items: flex-start;
    gap: 42px 0;
    grid-template-areas:
      "lifeB-ttl lifeB-img"
      "lifeB-txt lifeB-img";
    grid-template-columns: 53.57% 1fr;
    grid-template-rows: auto auto;
  }
}

.bl_lifeBanner .el_lv3Heading__banner {
  grid-area: lifeB-ttl;
  color: var(--col-red);
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
}
@media screen and (min-width: 960px) {
  .bl_lifeBanner .el_lv3Heading__banner {
    font-size: var(--size-32);
    line-height: 1.4;
  }
}

.bl_lifeBanner .el_txt.hp_life {
  grid-area: lifeB-txt;
  color: var(--col-txt-gray);
  font-size: var(--size-18);
  line-height: 1.8;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
}
@media screen and (min-width: 960px) {
  .bl_lifeBanner .el_txt.hp_life {
    font-size: var(--size-20);
    line-height: 2;
  }
}

.bl_lifeBanner .bl_imgWrapper.hp_life {
  grid-area: lifeB-img;
  position: relative;
  aspect-ratio: 352 / 156;
  margin-block-start: -34px;
}
@media screen and (min-width: 960px) {
  .bl_lifeBanner .bl_imgWrapper.hp_life {
    aspect-ratio: 167 / 96;
    margin-block-start: 0;
    position: absolute;
    bottom: 0;
    right: 0;
    height: 280px;
    width: auto;
  }
}
@media screen and (min-width: 1120px) {
  .bl_lifeBanner .bl_imgWrapper.hp_life {
    height: 304px;
  }
}


.bl_lifeBanner .bl_imgWrapper.hp_life .el_img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -24px;
  width: auto;
  height: 100%;
  aspect-ratio: 268 / 151;
}
@media screen and (min-width: 960px) {
  .bl_lifeBanner .bl_imgWrapper.hp_life .el_img {
    left: unset;
    right: -43px;
    transform: translateX(0%);
    bottom: -24px;
    width: calc(100% + 43px);
    height: auto;
    width: auto;
    height: calc(100% + 47px);
    aspect-ratio: 65 / 36;
  }
}

/* ボタンラッパー */
@media screen and (min-width: 960px) {
  .ly_lifeAI .bl_btnWrapper {
    margin-block-start: 24px;
  }
}
.ly_lifeAI .bl_btnWrapper {
  margin-block-start: 40px;
}

/* ||| まったく違う2つの講座 */
.ly_twoCourses {
  background: var(--primitive-red-200);
}

.el_lv2Heading__two {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  color: var(--col-txt-navy);
  text-align: center;
  font-size: var(--size-30);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 960px) {
  .el_lv2Heading__two {
    font-size: var(--size-46);
  }
}
.el_lv2Heading__two .hp_ls {
  letter-spacing: 0.001em;
}
@media screen and (min-width: 960px) {
  .el_lv2Heading__two .hp_ls {
    letter-spacing: 0;
  }
}

.el_lv2Heading__two .hp_colRed {
  color: var(--col-red);
}

.ly_twoCourses .el_txt {
  color: var(--col-txt-navy);
  font-size: var(--size-16);
  line-height: 1.8;
  margin-block-start: 16px;
}
@media screen and (min-width: 960px) {
  .ly_twoCourses .el_txt {
    font-size: var(--size-18);
    line-height: 2;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

.ly_twoCourses .el_txt_large {
  color: var(--col-red);
  text-align: center;
  font-weight: 700;
  line-height: 1.75;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 960px) {
  .ly_twoCourses .el_txt_large {
    font-size: var(--size-26);
    line-height: 1.9;
  }
}

.ly_twoCourses .el_txt.hp_mgn {
  margin-block-start: 24px;
}

/* ||| AIは新しい。 */
/* リード部分のブロック */
.bl_leadBlock.bl_leadBlock__aiNew {
  display: grid;
  grid-template-areas:
    "aiNew-img"
    "aiNew-ttl"
    "aiNew-txt";
  gap: 20px 48px;
}
@media screen and (min-width: 960px) {
  .bl_leadBlock.bl_leadBlock__aiNew {
    grid-template-areas:
      "aiNew-img aiNew-ttl"
      "aiNew-img aiNew-txt";
    grid-template-rows: auto 1fr;
  }
}

.bl_leadBlock__aiNew .el_lv2Heading {
  grid-area: aiNew-ttl;
  color: var(--col-red);
  font-size: var(--size-24);
  line-height: 1.5;
  letter-spacing: 0.0358em;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (min-width: 576px) {
  .bl_leadBlock__aiNew .el_lv2Heading {
    font-size: var(--size-40);
    line-height: 1.4;
    letter-spacing: 0.00215em;
  }
}
.bl_leadBlock__aiNew .el_txt {
  grid-area: aiNew-txt;
  color: var(--col-txt-navy);
  font-size: var(--size-16);
  line-height: 1.8;
}
@media screen and (min-width: 576px) {
  .bl_leadBlock__aiNew .el_txt {
    font-size: var(--size-18);
    line-height: 2;
  }
}

.bl_leadBlock__aiNew .el_img__lead {
  grid-area: aiNew-img;
  width: 100%;
  height: auto;
  border-radius: 24px;
  aspect-ratio: 352 / 255;
  object-fit: contain;
}
@media screen and (min-width: 960px) {
  .bl_leadBlock__aiNew .el_img__lead {
    aspect-ratio: 536 / 389;
  }
}

/* AIは新しい。カード */
.bl_cardUnit.bl_cardUnit__4 {
  margin-block-start: 24px;
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, calc(50% - 16px / 2));
  gap: 16px;
}
@media screen and (min-width: 960px) {
  .bl_cardUnit.bl_cardUnit__4 {
    margin-block-start: 40px;
    grid-template-columns: repeat(auto-fill, minmax(262px, 1fr));
    gap: 24px;
  }
}

.bl_cardUnit__4 .bl_card__aiNew {
  border-radius: 20px;
  border: 3px solid var(--col-border-gray);
  display: grid;
  grid-template-areas:
    "ai4-img"
    "ai4-ttl"
    "ai4-txt";
  grid-template-columns: 100%;
  grid-template-rows: 76px var(--size-37) 1fr;
  width: 100%;
  padding: 16px;
  gap: 12px;
}
@media screen and (min-width: 960px) {
  .bl_cardUnit__4 .bl_card__aiNew {
    padding: 24px;
    gap: 16px;
  }
}

.bl_cardUnit__4 .el_cardTtl {
  grid-area: ai4-ttl;
  padding-block-start: 8px;
  color: var(--col-logo-red);
  text-align: center;
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 960px) {
  .bl_cardUnit__4 .el_cardTtl {
    font-size: var(--size-24);
    line-height: 1.4;
  }
}

.bl_cardUnit__4 .el_txt {
  grid-area: ai4-txt;
  color: var(--col-txt-navy);
  text-align: center;
  font-size: var(--size-16);
  line-height: 1.6;
}
@media screen and (min-width: 960px) {
  .bl_cardUnit__4 .el_txt {
    font-size: var(--size-15);
    line-height: 2;
  }
}

.bl_cardUnit__4 .el_imgWrapper {
  grid-area: ai4-img;
  margin-inline: auto;
}

.bl_cardUnit__4 .el_img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

/* ||| よくあるご質問 */
.ly_faq {
  background: var(--primitive-red-200);
}

.ly_contInner.hp_faq {
  border-radius: 16px;
  display: flex;
  padding: 24px;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  background: var(--col-white);
}
@media screen and (min-width: 960px) {
  .ly_contInner.hp_faq {
    padding: 40px;
    gap: 48px;
  }
}

.el_lv2Heading__faq {
  color: var(--col-red);
  text-align: center;
  font-size: var(--size-30);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 960px) {
  .el_lv2Heading__faq {
    font-size: var(--size-46);
  }
}

.bl_faqList {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.bl_faqItem {
  border-top: 1px solid var(--col-border-gray);
  width: 100%;
  padding-block: 24px;
  color: var(--col-txt-navy);
}
@media screen and (min-width: 960px) {
  .bl_faqItem {
    padding-block: 27px;
  }
}

/* .bl_faqItem::details-content {
  transition:
    height 0.4s,
    opacity 0.4s,
    content-visibility 0.4s allow-discrete;
  height: 0;
  opacity: 0;
  overflow: clip;
}
.bl_faqItem[open]::details-content {
  opacity: 1;
} */

.bl_faqItem:last-of-type {
  border-bottom: 1px solid var(--col-border-gray);
}

.bl_faqItem > .el_faqQ {
  width: 100%;
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 1.8;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0;
}
@media screen and (min-width: 960px) {
  .bl_faqItem > .el_faqQ {
    font-size: var(--size-18);
    line-height: 1.6;
  }
}

.bl_faqItem > .el_faqQ::before {
  content: "Q";
  color: var(--col-navy);
  font-size: var(--size-20);
  font-weight: 700;
  line-height: 1.4;
  margin-right: 18px;
  align-self: self-start;
}

.bl_faqItem > .el_faqQ::after {
  content: "";
  display: grid;
  padding: 3px;
  place-items: center;
  width: 14px;
  height: 14px;
  background-image: url(../icon/icon-plus.svg);
  background-size: contain;
  background-repeat: no-repeat;
  align-self: center;
  margin-inline-start: 8px;
}

.bl_faqItem[open] > .el_faqQ::after {
  background-image: url(../icon/icon-minus.svg);
}

.bl_faqItem[open] > .el_faqQ {
  padding-block-end: 16px;
}

.bl_faqItem[open] > .el_faqA {
  display: flex;
  padding: 16px;
  align-items: flex-start;
  gap: 12px;
  font-size: var(--size-16);
  line-height: 1.8;
}
@media screen and (min-width: 960px) {
  .bl_faqItem[open] > .el_faqA {
    gap: 20px;
    font-size: var(--size-18);
    line-height: 1.7;
  }
}

.bl_faqItem[open] > .el_faqA::before {
  content: "A";
  color: var(--col-red);
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 1.8%;
  padding-block-start: 0.8em;
}
@media screen and (min-width: 960px) {
  .bl_faqItem[open] > .el_faqA::before {
    font-size: var(--size-20);
    line-height: 1.4;
    padding-block-start: 0;
  }
}

/* |||| 装飾 */
.hp_lineMarker {
  display: inline;
  background-image: linear-gradient(0deg, #fff066, #fff066 25%, transparent 25% 100%);
}

.hp_red {
  color: var(--col-red);
}

.hp_bold {
  font-weight: var(--weight-bold);
}

/* |||| 改行の制御 */
.hp_break::after {
  content: "\A";
  white-space: pre;
}

/* |||| animation */

@keyframes viewmore {
  0%{bottom: 1%;}
  50%{bottom: 5%;}
  100%{bottom: 1%;}
}