.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1000px;}.e-con{--container-max-width:1000px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*横スクロールとめる*/
#page{
	overflow:hidden;
}

/*---スマホ時改行--*/
@media screen and (max-width: 480px) {
.pc-br{display:none;}
.tb-br{display:none;}
.sp-br{display:block;}
}
/*---タブレット時改行--*/
@media screen and (min-width:481px) and (max-width: 1020px) {
.pc-br{display:none;}
.tb-br{display:block;}
.sp-br{display:none;}
}
/*---PC時改行--*/
@media screen and (min-width:1021px){
.pc-br{display:block;}
.tb-br{display:none;}
.sp-br{display:none;}
}

/* 通常ページ */
.global-header {
  background-color: #fff;
}

/* トップページのみ */
body.home .global-header {
  background-color: #F5F5F5!important;
}

body.home .global-header,
body.front-page .global-header {
  background-color: #F5F5F5!important;
}

/*アイコンリストのホバー時にカーソルをポインタにする*/
.elementor-icon-list-item:hover {
    cursor: pointer;
}

.main-copy-red {
  color: #D96B6B;
}

.detail-link {
  transition: transform 0.25s ease;
}

.detail-link:hover {
  transform: translateX(4px);
}


:root {
  --news-all: #000000;
  --news-education: #06479b;
  --news-it: #0789aa;
  --news-realestate: #0badd7;
}

/* =========================================
   TOP お知らせカテゴリー
========================================= */

/* 外側は透明のまま */
.news-category.category-education,
.news-category.category-it,
.news-category.category-realestate,
.news-category.category-education .elementor-widget-container,
.news-category.category-it .elementor-widget-container,
.news-category.category-realestate .elementor-widget-container {
  background: transparent !important;
}


/* =========================================
   教育事業
========================================= */

.news-category.category-education .elementor-heading-title {
  background-color: var(--news-education) !important;
  border-color: var(--news-education) !important;
  color: #fff !important;
}


/* =========================================
   IT事業
========================================= */

.news-category.category-it .elementor-heading-title {
  background-color: var(--news-it) !important;
  border-color: var(--news-it) !important;
  color: #fff !important;
}


/* =========================================
   不動産事業
========================================= */

.news-category.category-realestate .elementor-heading-title {
  background-color: var(--news-realestate) !important;
  border-color: var(--news-realestate) !important;
  color: #fff !important;
}


/* リンクになっている場合も白文字に */
.news-category .elementor-heading-title a {
  color: #fff !important;
}

.news-filter .filter-education[aria-pressed="true"] {
  background: var(--news-education) !important;
  border-color: var(--news-education) !important;
}

.news-filter .filter-it[aria-pressed="true"] {
  background: var(--news-it) !important;
  border-color: var(--news-it) !important;
}

.news-filter .filter-realestate[aria-pressed="true"] {
  background: var(--news-realestate) !important;
  border-color: var(--news-realestate) !important;
}


/*トップページ見出し*/
/* 見出し全体 */
.section-heading {
  position: relative;
  overflow: visible;
}

/* 背景の数字 */
.section-heading::before {
  content: "";
  position: absolute;

  left: -30px;
  top: -45px;

  font-size: 60px;
  font-weight: 700;
  line-height: 1;
  color: #dff3fa;

  z-index: 0;
  pointer-events: none;
}

.news-card::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;

  width: 10px;
  height: 10px;

  border-top: 2px solid #222;
  border-right: 2px solid #222;

  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.25s ease;
}

.news-card:hover::after {
  transform: translate(4px, -50%) rotate(45deg);
}



/* 見出し文字を数字より前面へ */
.section-heading-en,
.section-heading-ja {
  position: relative;
  z-index: 1;
}

.heading-01::before,.heading-03::before {
  content: "01";
  color: rgba(255, 255, 255, 0.6);
    top: -35px;
}

.heading-02::before {
  content: "02";
  margin-left: 35px;
}

.heading-03::before {
  content: "03";
}

/* お知らせ一覧 */

.news-loop-item {
  display: grid !important;
  grid-template-columns: max-content max-content minmax(0, 1fr);
  align-items: center;
  column-gap: 0;

  width: 100%;
  padding: 22px 0;

  border-bottom: 1px solid #14a8d8;
}

/* 日付 */
.news-date {
  margin-right: 30px;
}

/* カテゴリー */
.news-category {
  width: auto;
  margin-right: 28px;
  text-align: center;
}

.news-category .elementor-heading-title,
.news-category .elementor-widget-container {
  display: inline-block;
  width: 110px;
  box-sizing: border-box;

  padding: 5px 10px;
  background: #14a8d8;
  color: #fff;
  border-radius: 999px;
  text-align: center;
  line-height: 1.2;
}

/* タイトル */
.news-title {
  min-width: 0;
  transition: transform 0.25s ease;
}

.news-title:hover {
  transform: translateX(4px);
}

.news-title a {
  color: #333;
  text-decoration: none;
}

.news-title a:hover {
  color: #14a8d8;
}

.top-news-list {
  border-top: 1px solid #14a8d8;
}

.top-news-list .elementor-loop-container {
  row-gap: 0 !important;
}

.news-card {
  position: relative;
  width: 100%;
  padding: 20px 55px 20px 24px;
  background: #fff;
  cursor: pointer;
  transition: transform 0.25s ease;
}

.news-card:hover {
  transform: translateX(4px);
}

.news-card-meta {
  display: flex;
  align-items: center;
  gap: 18px;
}

.news-card-category {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 110px;
  padding: 3px 14px;

  border: 1px solid #333;
  box-sizing: border-box;

  text-align: center;
  line-height: 1.2;
}

.news-card-date {
  position: relative;
  top: -2px;
}

.news-card-meta {
  display: flex;
  align-items: center;
  gap: 18px;
}

.news-card-title {
  margin-top: 8px;
}

.news-card-title .elementor-heading-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.news-card-excerpt  {
  line-height: 1.7;
  max-height: 3.4em;
  overflow: hidden;
}

/* ページネーション全体 */
.news-archive-loop .elementor-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;

  margin-top: 55px;
}

/* 各数字 */
.news-archive-loop .elementor-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 30px;
  height: 30px;
  margin: 0 !important;
  padding: 0;

  color: #222;
  background: transparent;

  font-size: 14px;
  line-height: 1;
  text-decoration: none;

  transition: 0.2s ease;
}

/* 現在のページ */
.news-archive-loop .elementor-pagination .page-numbers.current {
  background: #111;
  color: #fff;
}

/* 他ページのホバー */
.news-archive-loop .elementor-pagination a.page-numbers:hover {
  color: #14a8d8;
}

/* 画像＋名前帯を囲うコンテナ */
.message-photo-wrap {
  position: relative;
  align-self: flex-start;
  overflow: hidden;
}

/* 画像 */
.message-photo-wrap .elementor-widget-image {
  width: 100%;
}

.message-photo-wrap .elementor-widget-image img {
  display: block;
  width: 100%;
  height: auto;
}

/* 名前帯を画像右下に重ねる */
.message-name {
  position: absolute !important;
  right: 0;
  bottom: 0;
  z-index: 2;

  width: auto !important;
  margin: 0 !important;
}

/* 黒い帯 */
.message-name .elementor-widget-container {
  background: #111;
  color: #fff;
  padding: 12px 20px;

  /* 以前設定した左上の角丸 */
  border-radius: 14px 0 0 0;
}

/* ==================================================
   TOPページ SP
================================================== */

@media (max-width: 767px) {

  /* ================================================
     HEADER
  ================================================ */

  body.home .global-header,
  .global-header {
    background: #fff !important;
    min-height: 60px;
  }

  /* Elementor側でもロゴ幅180pxに設定してOK */
  .global-header .elementor-widget-theme-site-logo img,
  .global-header .elementor-widget-image img {
    max-width: 180px;
  }


  @media (max-width: 767px) {

  /* =========================
     FV
  ========================= */

  .fv {
    /* min-height ではなく高さを指定 */
    height: 430px !important;
    min-height: 0 !important;

    background-size: cover;
    background-position: center bottom;
  }

  .fv-inner {
    width: 100%;
    height: 100%;

    margin: 0;
    padding: 58px 0 30px;
  }
.fv {
    position: relative;
  }

  .fv-mobile-contact {
    position: absolute !important;

    left: 50%;
    bottom: 35px;

    transform: translateX(-50%);

    width: 202px;
    margin: 0 !important;

    z-index: 3;
  }

  .fv-mobile-contact .elementor-button {
    width: 202px;
    min-height: 55px;

    padding: 0 20px;
    border-radius: 100px;
  }

}

  /* =========================
     FVコピー
  ========================= */

  .fv-copy {
    width: 335px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
  }

  /* メインコピー */
  .fv-copy .elementor-heading-title {
    width: 100%;

    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.1em;

    margin: 0;
  }

  /* spanで色を変えている部分も必ずBold */
  .fv-copy .elementor-heading-title span {
    font-weight: 700 !important;
  }

 .fv-copy .elementor-heading-title,
  .fv-copy .elementor-heading-title * {
    font-family: "Noto Sans JP", sans-serif !important;
    font-weight: 700 !important;
  }

  /* =========================
     説明文
  ========================= */

  .fv-lead {
    margin-top: 30px;

    font-size: 16px;
    font-weight: 500;
    line-height: 30px;
    letter-spacing: 0.1em;
  }



  /* ================================================
     FV 3事業カード
  ================================================ */

  .business-cards {
    display: flex;
    flex-direction: column;
    gap: 21px !important;

    width: 320px;
    max-width: calc(100% - 40px);
    margin: 20px auto 60px;
  }

  @media (max-width: 767px) {

  .business-card {
    width: 100% !important;
    height: 100px !important;
    min-height: 100px !important;
    aspect-ratio: auto !important;
    flex: none !important;
  }

  .business-card-image,
  .business-card-image img {
    width: 100%;
    height: 100%;
  }

  .business-card-image img {
    object-fit: cover;
  }
}

  /* Figmaと同じグラデーション */
  .business-card::before {
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, 0.8) 0%,
      rgba(0, 0, 0, 0.5) 60%,
      rgba(0, 0, 0, 0) 100%
    );
    opacity: 1;
  }

  .business-number {
    left: 11px !important;
    bottom: 24px !important;
  }

  .business-number .elementor-heading-title {
    font-size: 60px !important;
    line-height: 1;
  }

  .business-title {
    left: 25px !important;
    bottom: 41px !important;
  }

  .business-title .elementor-heading-title {
    font-size: 15px !important;
  }

  .business-card::after {
    right: 10px;
    bottom: 12px;

    border-left-width: 17px;
    border-bottom-width: 17px;
  }

  /* SPではhover不要 */
  .business-card:hover .business-card-image img {
    transform: none;
  }

  .business-card:hover::before {
    opacity: 1;
  }


  /* ================================================
     各事業見出しの 01 / 02 / 03
  ================================================ */

  .section-heading::before {
    left: -15px;
    top: -20px;
    font-size: 38px;
    line-height: 1;
  }

  .heading-01::before,
  .heading-03::before {
    color: rgba(255, 255, 255, 0.6);
  }

  .heading-02::before {
       left: -50px;
    top: -20px;
    color: rgba(191, 229, 242, 0.6);
  }

  .section-heading-en {
    font-size: 14px;
  }

  .section-heading-ja {
    font-size: 20px;
  }


  /* =========================
     IT事業 タブ
  ========================= */

  .service-tabs {
    width: 100%;
    max-width: 335px;
    margin: 0 auto;
  }

  .service-tabs .e-n-tabs-heading {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }


  /* 各タブ共通 */
  .service-tabs .e-n-tab-title {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    height: 56px !important;
    min-height: 56px !important;

    margin: 0 !important;
    padding: 8px 10px !important;

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

    border-radius: 8px !important;
    box-sizing: border-box;

    /* 未選択のFigma値 */
    background-color: #EEF8FC !important;
    border: 1px solid #95D3E9 !important;
    color: #0EA7DB !important;
  }


  /* タイトル文字 */
  .service-tabs .e-n-tab-title .e-n-tab-title-text {
    display: block !important;
    width: 100% !important;

    color: #0EA7DB !important;

    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 17px !important;
    letter-spacing: 0.04em !important;

    text-align: center !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* 選択中 */
  .service-tabs .e-n-tab-title[aria-selected="true"] {
    background-color: #0EA7DB !important;
    border-color: #0EA7DB !important;
    color: #fff !important;
  }

  .service-tabs
  .e-n-tab-title[aria-selected="true"]
  .e-n-tab-title-text {
    color: #fff !important;
  }


  /* 非選択を明示 */
  .service-tabs .e-n-tab-title[aria-selected="false"] {
    background-color: #EEF8FC !important;
    border-color: #95D3E9 !important;
    color: #0EA7DB !important;
  }

  .service-tabs
  .e-n-tab-title[aria-selected="false"]
  .e-n-tab-title-text {
    color: #0EA7DB !important;
  }


  /* タブ本文 */
  .service-tabs .e-n-tabs-content {
    margin-top: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  /* 実際のタブコンテンツを15px下げる */
  .service-tabs .e-n-tab-content {
    margin-top: 15px !important;
  }

  .service-tabs .e-n-tabs {
    gap: 15px 0 !important;
    row-gap: 15px !important;
  }


  /* タブ2つを横並び */
  .service-tabs .e-n-tabs-heading {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;

    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* 各タブ */
  .service-tabs .e-n-tab-title {
    flex: 0 0 calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;

    height: 56px !important;
    min-height: 56px !important;

    margin: 0 !important;
    box-sizing: border-box !important;

    border-radius: 8px !important;
  }


  /* =========================
     未選択タブ
  ========================= */

  .service-tabs .e-n-tab-title[aria-selected="false"] {
    background: #EEF8FC !important;

    border: 1px solid #95D3E9 !important;

    /* iPhoneでも線を確実に表示 */
    box-shadow: inset 0 0 0 1px #95D3E9 !important;

    color: #0EA7DB !important;
  }

  .service-tabs
  .e-n-tab-title[aria-selected="false"]
  .e-n-tab-title-text {
    color: #0EA7DB !important;
  }


  /* =========================
     選択中
  ========================= */

  .service-tabs .e-n-tab-title[aria-selected="true"] {
    background: #0EA7DB !important;
    border: 1px solid #0EA7DB !important;
    box-shadow: none !important;

    color: #fff !important;
  }

  .service-tabs
  .e-n-tab-title[aria-selected="true"]
  .e-n-tab-title-text {
    color: #fff !important;
  }



  /* タブ見出し全体 */
  .service-tabs .e-n-tabs-heading {
    display: flex !important;
    width: 100% !important;
    gap: 0 !important;
  }

  /* 各タブを少しだけ細くする */
  .service-tabs .e-n-tabs-heading > .e-n-tab-title {
    flex: 0 0 calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    box-sizing: border-box !important;
  }

  /* 1つ目と2つ目の間を8px空ける */
  .service-tabs .e-n-tabs-heading > .e-n-tab-title:first-child {
    margin-right: 8px !important;
  }

  /* 未選択タブ */
  .service-tabs .e-n-tab-title[aria-selected="false"] {
    background: #EEF8FC !important;
    border: 1px solid #95D3E9 !important;
    outline: 1px solid #95D3E9;
    outline-offset: -1px;
    color: #0EA7DB !important;
  }

  .service-tabs
  .e-n-tab-title[aria-selected="false"]
  .e-n-tab-title-text {
    color: #0EA7DB !important;
  }

  /* 選択中 */
  .service-tabs .e-n-tab-title[aria-selected="true"] {
    background: #0EA7DB !important;
    border: 1px solid #0EA7DB !important;
    outline: none;
    color: #fff !important;
  }


  /* ================================================
     教育：4タブ → 2列 × 2段
  ================================================ */

  .course-tabs .e-n-tabs-heading {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    width: 100%;
    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .course-tabs .e-n-tab-title {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 64px;

    padding: 8px 12px;

    border: 1px solid #95d3e9 !important;
    border-radius: 8px !important;

    background: #eef8fc;
    color: #0ea7db;
  }

  .course-tabs .e-n-tab-title[aria-selected="true"] {
    background: #0ea7db;
    border-color: #0ea7db !important;
    color: #fff;
  }

  .course-tabs .e-n-tab-title-text {
    font-size: 16px;
    line-height: 1.4;
  }

  .course-tabs .e-n-tabs-content {
    margin-top: 16px;
    background: transparent;
  }

  .course-tabs .e-n-tab-content {
    padding: 24px 16px !important;

    background: #f1f1f1;
    border-radius: 12px;
  }



  /* ========================================
     教育事業：4タブ
  ======================================== */

  .course-tabs {
    width: 100%;
    max-width: 335px;
    margin-left: auto;
    margin-right: auto;
  }

  /* 2列 × 2段 */
  .course-tabs .e-n-tabs-heading {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;



    margin: 0 !important;
    padding: 0 !important;
  }

  /* 各タブ */
  .course-tabs .e-n-tabs-heading > .e-n-tab-title {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    flex: none !important;

    height: 64px !important;
    min-height: 64px !important;

    margin: 0 !important;
    padding: 8px 12px !important;

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

    box-sizing: border-box !important;

    border-radius: 8px !important;
  }

  /* タブ文字 */
  .course-tabs .e-n-tab-title-text {
    display: block !important;
    width: 100% !important;

    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.05em !important;

    text-align: center !important;

    /* 縦書き状態を防ぐ */
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;

    margin: 0 !important;
    padding: 0 !important;
  }


  /* =========================
     選択中
  ========================= */

  .course-tabs .e-n-tab-title[aria-selected="true"] {
    background: #0EA7DB !important;
    border: 1px solid #0EA7DB !important;
    color: #fff !important;
  }

  .course-tabs
  .e-n-tab-title[aria-selected="true"]
  .e-n-tab-title-text {
    color: #fff !important;
  }


  /* =========================
     未選択
  ========================= */

  .course-tabs .e-n-tab-title[aria-selected="false"] {
    background: #EEF8FC !important;
    border: 1px solid #95D3E9 !important;
    color: #0EA7DB !important;
  }

  .course-tabs
  .e-n-tab-title[aria-selected="false"]
  .e-n-tab-title-text {
    color: #0EA7DB !important;
  }


  /* タブと本文の間 */
  .course-tabs .e-n-tabs {
    row-gap: 16px !important;
  }



  /* 4タブを2列に配置 */
  .course-tabs .e-n-tabs-heading {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 1タブの幅 */
  .course-tabs .e-n-tabs-heading > .e-n-tab-title {
    flex: 0 0 calc(50% - 6px) !important;
    width: calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;

    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* 左側のタブだけ右に12px余白 */
  .course-tabs .e-n-tabs-heading > .e-n-tab-title:nth-child(odd) {
    margin-right: 12px !important;
  }

  /* 上段2つだけ下に12px余白 */
  .course-tabs .e-n-tabs-heading > .e-n-tab-title:nth-child(-n+2) {
    margin-bottom: 12px !important;
  }



  /* ========================================
     教育事業：4タブ
  ======================================== */

  .course-tabs {
    width: 100%;
    max-width: 335px;
    margin: 0 auto;

    /* Elementor Nested Tabsのタブ間隔 */
    --n-tabs-title-gap: 12px;
  }

  /* 2列 × 2段 */
  .course-tabs .e-n-tabs-heading {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    width: 100% !important;

    column-gap: 12px !important;
    row-gap: 12px !important;
    gap: 12px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  /* 各タブ */
  .course-tabs .e-n-tabs-heading > .e-n-tab-title {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    flex: none !important;
    margin: 0 !important;

    height: 64px !important;
    min-height: 64px !important;

    padding: 8px 10px !important;

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

    justify-self: stretch !important;

    border-radius: 8px !important;
    box-sizing: border-box !important;
  }

  /* タブ文字 */
  .course-tabs .e-n-tab-title-text {
    width: 100% !important;

    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.04em !important;

    text-align: center !important;

    white-space: normal !important;
    writing-mode: horizontal-tb !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  /* 選択中 */
  .course-tabs .e-n-tab-title[aria-selected="true"] {
    background: #0EA7DB !important;
    border: 1px solid #0EA7DB !important;
    color: #fff !important;
  }

  .course-tabs
  .e-n-tab-title[aria-selected="true"]
  .e-n-tab-title-text {
    color: #fff !important;
  }

  /* 未選択 */
  .course-tabs .e-n-tab-title[aria-selected="false"] {
    background: #EEF8FC !important;
    border: 1px solid #95D3E9 !important;
    color: #0EA7DB !important;
  }

  .course-tabs
  .e-n-tab-title[aria-selected="false"]
  .e-n-tab-title-text {
    color: #0EA7DB !important;
  }




  /* ================================================
     「詳しく見る」リンク
  ================================================ */

  .detail-link {
    font-size: 12px;
    text-align: right;
  }

  /* タッチ端末では横移動を解除 */
  .detail-link:hover {
    transform: none;
  }


  /* ================================================
     代表メッセージ
  ================================================ */

  .message-layout {
    width: 100%;
    max-width: 335px;

    margin: 0 auto;

    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }



  /* 写真＋名前帯の親 */
  .message-photo-wrap {
    position: relative !important;

    width: 304px !important;
    height: 378.5px !important;
    max-width: 100%;

    flex: 0 0 304px !important;
    align-self: flex-start;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden;
  }

  .message-photo-wrap {
    width: 304px !important;
    max-width: calc(100% - 40px);
    margin-left: auto !important;
    margin-right: auto !important;
  }


  /* 画像ウィジェット */
  .message-photo-wrap .elementor-widget-image,
  .message-photo-wrap .elementor-widget-image .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    line-height: 0;
  }

  /* 写真 */
  .message-photo-wrap .elementor-widget-image img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover;
  }

  /* 名前帯 */
  .message-name {
    position: absolute !important;

    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    top: auto !important;

    width: 198px !important;
    height: 37px !important;

    margin: 0 !important;

    transform: none !important;

    z-index: 3;
  }

  .message-name .elementor-widget-container {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    padding: 0 12px;

    background: #141414;

    border-radius: 10px 0 0 0;
    box-sizing: border-box;
  }

  .message-name p,
  .message-name .elementor-heading-title {
    margin: 0 !important;
    line-height: 1.3 !important;
  }

  .message-content {
    width: 100%;
  }

  .message-content h2 {
    margin-bottom: 25px;

    font-size: 20px;
    line-height: 1.45;
    letter-spacing: 0.1em;
  }

  .message-content p {
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.1em;
  }

  /* 企業理念を見る */
  .concept-button .elementor-button {
    width: 264px;
    min-width: 264px;
    min-height: 55px;

    padding: 0 50px;

    font-size: 18px;
  }


  /* ================================================
     TOP お知らせ
  ================================================ */

  .top-news-list {
    width: 100%;
    max-width: 335px;
    margin: 0 auto;
  }

  .top-news-list .elementor-loop-container {
    gap: 0 !important;
    row-gap: 0 !important;
  }

  .news-loop-item {
    display: grid !important;

    grid-template-columns: max-content 92px 1fr;
    grid-template-areas:
      "date category ."
      "title title title";

    column-gap: 16px;
    row-gap: 8px;

    width: 100%;
    min-height: 80px;

    padding: 10px 0;

    border-bottom: 1px solid #0ea7db;
  }

  .news-date {
    grid-area: date;
    margin: 0 !important;
  }

  .news-category {
    grid-area: category;

    width: 92px !important;
    margin: 0 !important;
  }

  .news-category .elementor-heading-title,
  .news-category .elementor-widget-container {
    width: 92px;
    min-width: 92px;

    padding: 2px 8px;

    font-size: 11px;
    line-height: 16px;
  }

  .news-title {
    grid-area: title;

    width: 100%;
    margin: 0 !important;
  }

  .news-title .elementor-heading-title,
  .news-title a {
    font-size: 13px;
    line-height: 16px;
  }

  .news-title:hover {
    transform: none;
  }

  .news-date,
  .news-date .elementor-heading-title,
  .news-date .elementor-widget-container {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  /* ================================================
     会社概要
  ================================================ */

  .company-profile-row {
    display: grid;

    grid-template-columns: 1fr;
    row-gap: 2px;

    margin-bottom: 14px;
  }

  .company-profile dt,
  .company-profile dd {
    width: 100%;
  }

  .company-profile dt {
    font-weight: 700;
  }

  .company-profile dd {
    margin: 0;
  }

@media (max-width: 767px) {

  .company-profile-row {
    grid-template-columns: 1fr;

    row-gap: 6px;

    margin-bottom: 18px;
    padding-bottom: 18px;

    border-bottom: 1px solid #d9d9d9;
  }

  /* 最後の項目だけ線を消す場合 */
  .company-profile-row:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }

}
  /* ================================================
     FOOTER
  ================================================ */


  .global-footer {
    width: 100%;
    overflow: hidden;
  }

  .footer-inner {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 40px 32px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    gap: 32px !important;
  }


  /* --------------------------
     会社名・お問い合わせ部分
  -------------------------- */

  .footer-brand {
    width: 100% !important;
  }

  .footer-contact {
    width: 100% !important;
  }

  .footer-contact .elementor-button {
    width: 100% !important;
    min-width: 0 !important;
  }


  /* --------------------------
     ナビ
  -------------------------- */

  .footer-nav {
    display: grid !important;

    /* FigmaのSP配置 */
    grid-template-columns: minmax(0, 169px) minmax(0, 87px) !important;

    grid-template-areas:
      "about business"
      "other business" !important;

    justify-content: space-between !important;

    width: 100% !important;

    column-gap: 30px !important;
    row-gap: 8px !important;

    margin: 0 !important;
  }


  /* トリプルAについて：左上 */
  .footer-about {
    grid-area: about;

    width: 169px !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
  }


  /* 事業一覧：右上 */
  .footer-business {
    grid-area: business;

    width: 87px !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
  }


  /* その他：左下 */
  .footer-other {
    grid-area: other;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
  }


  /* 日本語が1文字ずつ縦に落ちるのを防止 */
  .footer-nav *,
  .footer-nav a,
  .footer-nav .elementor-heading-title {
    writing-mode: horizontal-tb !important;

    word-break: keep-all !important;
    overflow-wrap: normal !important;

    white-space: normal !important;
  }


  /* 見出し */
  .footer-nav h3,
  .footer-nav h4,
  .footer-nav .footer-menu-title {
    line-height: 1.5 !important;
    margin-bottom: 0 !important;
  }


  /* メニュー項目 */
  .footer-nav a {
    display: block;
    line-height: 30px !important;
  }

  .footer-contact .elementor-button-text {
    white-space: nowrap !important;
  }
  
    .footer-inner {
    width: 100% !important;
    padding: 40px 32px !important;
    margin: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    gap: 32px !important;
  }

  /* -------------------------
     会社名＋お問い合わせ
  ------------------------- */

  .footer-brand {
    width: 100% !important;
    max-width: none !important;
  }

  .footer-brand .elementor-heading-title {
    white-space: nowrap !important;
  }

  .footer-contact {
    width: 100% !important;
    max-width: none !important;
  }

  .footer-contact .elementor-button {
    width: 100% !important;
    min-width: 0 !important;
  }

  .footer-contact .elementor-button-text {
    white-space: nowrap !important;
  }


  /* -------------------------
     ナビ
  ------------------------- */

  .footer-nav {
    display: grid !important;

    /* Figma：169px + 30px + 87px */
    grid-template-columns: 169px 87px !important;
    grid-template-areas:
      "about business"
      "other ." !important;

    column-gap: 30px !important;
    row-gap: 8px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    justify-content: start !important;
  }

  .footer-about {
    grid-area: about !important;
    width: 169px !important;
    margin: 0 !important;
  }

  .footer-business {
    grid-area: business !important;
    width: 87px !important;
    margin: 0 !important;
  }

  .footer-other {
    grid-area: other !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* 文字の縦落ちを防ぐ */
  .footer-nav .elementor-heading-title,
  .footer-nav a,
  .footer-nav p {
    writing-mode: horizontal-tb !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .footer-nav a {
    display: block;
  }
}


/* ==================================================
   FOOTER：タブレット縦
   768px〜1024px
================================================== */
@media (min-width: 768px) and (max-width: 1024px) {

  .footer-inner {
    width: 100% !important;
    padding: 40px 40px !important;
    margin: 0 auto !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    gap: 36px !important;
  }

  .footer-brand {
    width: 360px !important;
    max-width: 100% !important;
  }

  .footer-brand .elementor-heading-title {
    white-space: nowrap !important;
  }

  .footer-contact {
    width: 360px !important;
    max-width: 100% !important;
  }

  .footer-contact .elementor-button {
    width: 100% !important;
  }

  .footer-contact .elementor-button-text {
    white-space: nowrap !important;
  }

  /* ナビは3列 */
  .footer-nav {
    display: grid !important;
    grid-template-columns: max-content max-content max-content !important;

    justify-content: space-between !important;

    width: 100% !important;
    column-gap: 40px !important;

    margin: 0 !important;
  }

  .footer-about,
  .footer-business,
  .footer-other {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .footer-nav .elementor-heading-title,
  .footer-nav a,
  .footer-nav p {
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
  
}


/* =========================================
   FV animation
========================================= */
/* =========================================
   FV コピー
========================================= */

/* 初期状態 */
html.motion-ready .fv .fv-copy .elementor-heading-title,
html.motion-ready .fv .fv-lead {
  opacity: 0;
  transform: translateY(18px);

  transition:
    opacity .85s cubic-bezier(.16, 1, .3, 1),
    transform .85s cubic-bezier(.16, 1, .3, 1);
}

/* 表示 */
html.motion-ready .fv.is-fv-visible .fv-copy .elementor-heading-title,
html.motion-ready .fv.is-fv-visible .fv-lead {
  opacity: 1;
  transform: translateY(0);
}

/* 説明文だけ少し遅らせる */
html.motion-ready .fv .fv-lead {
  transition-delay: .28s;
}


/* =========================================
   赤い手書きライン画像
========================================= */

.fv-line {
  overflow: hidden;
}

/* 初期状態 */
html.motion-ready .fv .fv-line img {
  opacity: 0;
  clip-path: inset(0 100% 0 0);

  transition:
    clip-path 1.05s cubic-bezier(.16, 1, .3, 1),
    opacity .2s ease;

  transition-delay: .32s;
}

/* 表示 */
html.motion-ready .fv.is-fv-visible .fv-line img {
  opacity: 1;
  clip-path: inset(0 0 0 0);
}

/* =========================================
   FV 3事業カード
========================================= */

/* JSが準備したカードだけ待機 */
.business-cards.cards-ready .business-card {
  opacity: 0;
  transform: translate3d(0, 32px, 0);

  will-change: opacity, transform;
  backface-visibility: hidden;
}

/* 表示開始 */
.business-cards.cards-ready.cards-show .business-card {
  animation: businessCardFadeUp 1.05s
    cubic-bezier(.22, 1, .36, 1) forwards;
}

/* 01 */
.business-cards.cards-ready.cards-show .business-card:nth-child(1) {
  animation-delay: 0s;
}

/* 02 */
.business-cards.cards-ready.cards-show .business-card:nth-child(2) {
  animation-delay: .16s;
}

/* 03 */
.business-cards.cards-ready.cards-show .business-card:nth-child(3) {
  animation-delay: .32s;
}

@keyframes businessCardFadeUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}


/* 動きを減らす設定の場合 */
@media (prefers-reduced-motion: reduce) {

  .business-cards.cards-ready .business-card,
  .business-cards.cards-ready.cards-show .business-card {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* =========================================
   動きを減らす設定のユーザーには停止
========================================= */

@media (prefers-reduced-motion: reduce) {

  .fv-copy .elementor-heading-title,
  .fv-lead,
  .fv-line,
  .business-card {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    transition: none !important;
  }
}

/* =========================================
   Elementor編集画面では常に表示
========================================= */

body.elementor-editor-active .fv-copy .elementor-heading-title,
body.elementor-editor-active .fv-lead,
body.elementor-editor-active .fv-line,
body.elementor-editor-active .fv-line img {
  opacity: 1 !important;
  transform: none !important;
  clip-path: inset(0 0 0 0) !important;
  transition: none !important;
}

/* =========================================
   FV 背景ズーム
========================================= */

.fv {
  position: relative;
  overflow: hidden;
}

/* ズームする背景画像 */
.fv::before {
  content: "";
  position: absolute;
  inset: 0;

  /* Elementorで設定した背景を引き継ぐ */
  background: inherit;

  /* 画像自体は透明にしない */
  opacity: 1 !important;

  z-index: 0;
  pointer-events: none;

  transform: scale(1.025);
  transform-origin: center center;

  transition:
    transform 2.8s cubic-bezier(.16, 1, .3, 1);

  will-change: transform;
}

.fv.is-fv-visible::before {
  transform: scale(1);
}


/* =========================================
   背景画像を薄く見せるオーバーレイ
========================================= */

.fv::after {
  content: "";
  position: absolute;
  inset: 0;

  /*
   Figmaの
   背景 #F1F1F1 ＋ 写真50%
   に近い見え方
  */
  background: rgba(241, 241, 241, 0.5);

  z-index: 1;
  pointer-events: none;
}


/* FV内の文字などは前面へ */
.fv > * {
  position: relative;
  z-index: 2;
}

@media (max-width: 767px) {

  .fv::before {
    transform: scale(1.018);
    transition-duration: 2.5s;
  }

  .fv.is-fv-visible::before {
    transform: scale(1);
  }

}

body.elementor-editor-active .fv::before {
  transform: scale(1) !important;
  transition: none !important;
}


/* Elementor編集画面では常時表示 */
body.elementor-editor-active .business-motion .motion-1,
body.elementor-editor-active .business-motion .motion-2,
body.elementor-editor-active .business-motion .motion-3 {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}


/* 動きを減らす設定 */
@media (prefers-reduced-motion: reduce) {

  .business-motion .motion-1,
  .business-motion .motion-2,
  .business-motion .motion-3 {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}/* End custom CSS */