/* ===========================================================================
   top.css — トップページ専用スタイル
   2026-10-13: top-style-new.css（旧デザイン）+ index-202608.css（新デザイン、
   トップページ上部の再構築で追加）が別々に併存していたのを1ファイルに統合。
   カスケード順を保つため、旧デザイン（top-style-new.css）のルールを先に、
   新デザイン（index-202608.css）のルールを後に配置している
   （同じセレクタが競合した場合、後に書かれたこちらが優先される挙動は統合前と同じ）。
   =========================================================================== */

/* ---- 旧デザイン（旧 top-style-new.css） ---- */
* {
  margin: 0;
  padding: 0;
  min-height: 0;
  min-width: 0;
  box-sizing: border-box;
}

/* html,
body,
div,
article,
section,
aside,
header,
footer,
hgroup,
nav,
h1,
h2,
h3,
ul,
li,
a,
p,
small,
img {
  border: none;
  display: block
} */

html {
  width: 100%;
  height: 100%;
  font-size: 11px;
  position: static;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media screen and (max-width: calc(576px - 0.2px)) {
  html {
    font-size: 10px;
  }
}

@media screen and (min-width: 575.9px) {
  html {
    font-size: 11px;
  }
}

@media screen and (min-width: 767.8px) {
  html {
    font-size: 12px;
  }
}

@media screen and (min-width: 992px) {
  html {
    font-size: 13px;
  }
}

@media screen and (min-width: 1200px) {
  html {
    font-size: 14px;
  }
}

@media screen and (min-width: 1440px) {
  html {
    font-size: 16px;
  }
}

@media screen and (min-width: 1680px) {
  html {
    font-size: 18px;
  }
}

@media screen and (min-width: 1920px) {
  html {
    font-size: 20px;
  }
}

.din-2014 {
  font-family: "din-2014", sans-serif;
  font-style: normal;
}

.weight-normal {
  font-weight: 500 !important;
}

.weight-bold {
  font-weight: 700 !important;
}

body {
  height: 100%;
  width: 100%;
  position: relative;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  overflow-y: scroll;
}

main#main-content {
  overflow-x: hidden;
  padding-top: calc(80px + 56px);
}

@media (max-width: 750px) {
  main#main-content {
    padding-top: 40px;
  }
}

main#main-content a {
  zoom: 1;
  outline: 0;
  text-decoration: none;
}

main#main-content img {
  width: 100%;
  outline: 0;
  border: 0;
  border-style: none;
}

#content {
  /* padding-top: 7.75rem; */
  /* padding-top: 120px; */
  padding-top: 100px;
  padding-bottom: 5rem;
}

@media (max-width: 750px) {
  #content {
    padding-top: 6rem;
  }
}

footer#footer {
  overflow: hidden;
  background-color: inherit;
  padding: 0;
  border-bottom: 5px solid #D29C08;
}

@media (max-width: 960px) {
  footer#footer {
    border-bottom-width: 4px;
  }
}

@media screen and (max-width: calc(576px - 0.2px)) {
  body::before {
    /* content: "sm"*/
  }
}

@media screen and (min-width: 768px) and (max-width: calc(892px - 0.2px)) {
  body::before {
    /*content: "lg"*/
  }
}

@media screen and (min-width: 1200px) {
  body::before {
    /*content: "xl"*/
  }
}

/* a {
  zoom: 1;
  outline: 0;
  color: #000000;
  text-decoration: none
}

img {
  width: 100%;
  outline: 0;
  border: 0;
  border-style: none
} */

@media screen and (max-width: calc(992px - 0.2px)) {
  img {
    max-width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
  }
}

.header ul,
.header li {
  list-style: none;
  list-style-image: none;
}

.footer ul,
.footer li {
  list-style: none;
  list-style-image: none;
}

/* dl,
ol,
ul {
  margin-bottom: 0
} */

label {
  display: inline-block;
  vertical-align: middle;
}

/* ul,
li,
a,
small {
  display: block
} */

iframe {
  border: 0;
}

.hide {
  display: none !important;
}

.show-block {
  display: block !important;
}

.show-inline {
  display: inline !important;
}

.show-inline-block {
  display: inline-block !important;
}

.show-flex {
  display: flex !important;
}

.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

@media screen and (max-width: calc(768px - 0.2px)) {
  .sp {
    display: block !important;
  }

  .pc {
    display: none !important;
  }
}

.pc-br {
  display: inline !important;
}

.sp-br {
  display: none !important;
}

@media screen and (max-width: calc(768px - 0.2px)) {
  .sp-br {
    display: inline !important;
  }

  .pc-br {
    display: none !important;
  }
}

@media screen and (min-width: 576px) {
  .sm-hide {
    display: none !important;
  }

  .sm-show-block {
    display: block !important;
  }

  .sm-show-inline {
    display: inline !important;
  }

  .sm-show-inline-block {
    display: inline-block !important;
  }

  .sm-show-flex {
    display: flex !important;
  }

  .sm-text-left {
    text-align: left !important;
  }

  .sm-text-center {
    text-align: center !important;
  }

  .sm-text-right {
    text-align: right !important;
  }
}

@media screen and (min-width: 768px) {
  .md-hide {
    display: none !important;
  }

  .md-show-block {
    display: block !important;
  }

  .md-show-inline {
    display: inline !important;
  }

  .md-show-inline-block {
    display: inline-block !important;
  }

  .md-show-flex {
    display: flex !important;
  }

  .md-text-left {
    text-align: left !important;
  }

  .md-text-center {
    text-align: center !important;
  }

  .md-text-right {
    text-align: right !important;
  }
}

@media screen and (min-width: 992px) {
  .lg-hide {
    display: none !important;
  }

  .lg-show-block {
    display: block !important;
  }

  .lg-show-inline {
    display: inline !important;
  }

  .lg-show-inline-block {
    display: inline-block !important;
  }

  .lg-show-flex {
    display: flex !important;
  }

  .lg-text-left {
    text-align: left !important;
  }

  .lg-text-center {
    text-align: center !important;
  }

  .lg-text-right {
    text-align: right !important;
  }
}

iframe {
  max-width: 100%;
}

.section__inner {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: calc(768px - 0.2px)) {
  .section__inner {
    margin: 0 auto;
    max-width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media screen and (min-width: 768px) and (max-width: calc(1200px - 0.2px)) {
  .section__inner {
    max-width: 61.25rem;
    margin: 0 auto;
  }
}

@media screen and (min-width: 1200px) {
  .section__inner {
    max-width: 61.25rem;
    margin-left: auto;
    margin-right: auto;
  }
}

a:hover {
  opacity: 0.8;
}

.cc-btn {
  padding-right: 1.5rem !important;
}

.link-txt {
  /*
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: max(0.75rem, 12px);
	letter-spacing: 0.02em;
    line-height: 1;
	color: #333;
    font-weight: 600;*/
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: max(0.85rem, 13px);
  letter-spacing: 0.02em;
  line-height: 1;
  color: #333;
  font-weight: 500;
}

.btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.btn-primary .link .svg-arrow-back {
  fill: #fff;
  width: 0.4rem;
  margin-left: 5rem;
  margin-right: 2rem;
}

.btn-primary .link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 20rem;
  height: 3.75rem;
  font-size: 1rem;
  letter-spacing: 0.02em;
  border: none;
  border-radius: 20rem;
  background-color: #0e3467;
  color: #fff;
  font-weight: 600;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}

.section-home_news .btn-primary {
  padding-bottom: 6rem;
}

/*
.svg-arrow-back {
    width: 0.266rem;
    height: auto;
    fill: #fff;
}
*/

.svg-arrow-back {
  width: 0.366rem;
  height: auto;
  fill: #fff;
}

.our-services__case .box-child .box-child-title p {
  font-size: 1.75rem;
}

.flex {
  display: flex;
}

.catch-copy__heading__primary {
  /*font-size: 7.5rem;*/
  font-size: 3.5rem;
  line-height: 0.85;
  font-weight: 700;
  margin-bottom: 1.1rem;
}

.catch-copy__heading__secondary {
  /*font-size: 1.125rem;*/
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 1.61;
  font-weight: 600;
}

.catch-copy__heading__secondary.gradation {
  background: linear-gradient(0deg, #d29c09, #e3ce77 90%);
  background: -webkit-linear-gradient(0deg, #d29c09, #e3ce77 90%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text {
  font-size: 1.125rem;
  letter-spacing: 0.02em;
  line-height: 1.8;
  font-weight: 600;
}

.marker {
  /*
    background: linear-gradient(transparent 60%, #F5E5A0 60%);*/
  font-weight: 700;
}

.gradation {
  background: linear-gradient(0deg, #e3ce77, #d29c09 90%);
  background: -webkit-linear-gradient(0deg, #e3ce77, #d29c09 90%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/*Slick*/
.slick__inner {
  width: min(100%, 62.8rem);
  margin: 0 auto;
  padding: 0 1.2rem;
  padding-bottom: 3.7rem;
}

.slick__container {
  position: relative;
  /* インナー幅から片側をはみ出させる */
  width: calc(100% + (100vw - 100%) / 2);
  /* / インナー幅から片側をはみ出させる */
}

.slick__images {
  /*padding: 120px 0 60px 60px;*/
  background: #fff;
}

.slick__prev,
.slick__next {
  position: absolute;
  top: 13.5rem;
  z-index: 1;
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  border: none;
  background: #d29c09;
  cursor: pointer;
}

.slick__prev:hover,
.slick__next:hover {
  opacity: 0.8;
}

.slick__prev {
  /*right: calc((100vw - 100%) + (30px + 50px + 15px));*/
  margin-left: -5rem;
}

.slick__next {
  /* (インナー幅の右端) + (画像のマージン) */
  right: calc((100vw - 100%) + (-2.6rem));
}

.slick__prev:before,
.slick__next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.6rem;
  height: 0.6rem;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  opacity: 1;
  content: "";
}

.slick__prev:before {
  transform: translate(-25%, -50%) rotate(-135deg);
}

.slick__next:before {
  transform: translate(-75%, -50%) rotate(45deg);
}

.slick__image {
  position: relative;
  width: 20rem;
  margin-right: 0.6rem;
  background: #fff;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.08);
  border-radius: 1rem;
  height: 30rem;
  cursor: pointer;
  display: block;
}

.slick__image:before {
  display: block;
  padding-top: calc((9 / 16) * 100%);
  content: "";
}

.home-news-content {
  padding-top: 2rem;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
}

.home-news-content time {
  font-size: max(0.75rem, 12px);
  letter-spacing: 0.02em;
  color: #333;
  font-weight: 600;
}

.home-news-content .news-title {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #333;
  margin-top: 0.5rem;
}

.slick__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 1rem 1rem 0rem 0rem;
  aspect-ratio: 16 / 9;
}

/* Header */

.header {
  box-shadow: none;
  height: auto;
}

.header a {
  zoom: 1;
  outline: 0;
  color: #000000;
  text-decoration: none;
}

.header img {
  width: 100%;
  outline: 0;
  border: 0;
  border-style: none;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 300;
}

.header-title svg {
  width: 13.75rem;
}

.header-title.logo {
  position: relative;
  top: 0;
}

.header-title .logo-subtext {
  color: #1a1a1a;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  padding-left: 1rem;
}

@media screen and (max-width: 768px) {
  .header-title .logo-subtext {
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: 400;
    padding-left: 1.6rem;
  }
}

.header-title svg .cls-1 {
  fill: #fff;
}

.header-title svg .cls-2 {
  fill: #fff;
}

.header.change-color .header-title svg .cls-1 {
  fill: #929192;
  transition: 0.3s;
}

.header.change-color .header-title svg .cls-2 {
  fill: #d29c08;
  transition: 0.3s;
}

.header.change-color {
  transition: 0.3s;
}

.header-inner {
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 1rem;
  box-sizing: content-box;
  transition: height 0.3s ease;
  position: relative;
}

@media screen and (min-width: 768px) {
  .header-inner {
    height: 60px;
    min-height: 60px;
    max-height: 60px;
    box-sizing: border-box;
  }
}

.header.change-color .header-inner {
  transition: 0.3s;
  background: #fff;
  height: auto;
}

.header-title.logo {
  position: absolute;
}

.header-title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.header-title.logo svg {
  width: 180px;
  aspect-ratio: 20/3;
}

.header-nav {
  margin-left: auto;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 301;
}

.header-nav-list {
  display: flex;
  align-items: center;
  height: 100%;
}

.header-nav-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.header-nav.pc .header-nav-list > li:not(:first-child) {
  margin-left: 0.5rem;
}

.header-nav.pc .header-nav-list > li:last-child {
  margin-left: 2.25rem;
  position: relative;
}

.header-nav.pc .header-nav-list > li:last-child::before {
  content: "";
  position: absolute;
  left: -1rem;
  top: 50%;
  transform: translateY(-50%);
  height: 60px;
  width: 0;
  border-left: 1px solid #e6e6e6;
}

a.header-nav-item-link.btn-demo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.75rem;
  height: 2.5rem;
  letter-spacing: 0.02em;
  border: 1px solid #079ba0;
  border-radius: 20rem;
  background-color: #fff;
  color: #079ba0 !important;
  font-weight: 600;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}

a.header-nav-item-link.btn-person {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.75rem;
  height: 2.5rem;
  letter-spacing: 0.02em;
  border: none;
  color: #fff !important;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;

  border-radius: 5px;
  background: #003fab;
  font-size: 16px;
  font-weight: 400;
}

a.header-nav-item-link.btn-corporation {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.75rem;
  height: 2.5rem;
  letter-spacing: 0.02em;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;

  border-radius: 5px;
  border: 1px solid #003fab;
  background: #fff;
  color: #003fab !important;
  font-size: 16px;
  font-weight: 400;
  position: relative;
}

a.header-nav-item-link.btn-corporation::after {
  content: "";
  position: absolute;
  bottom: -35px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
}

a.header-nav-item-link.btn-individual {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.75rem;
  height: 2.5rem;
  letter-spacing: 0.02em;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  border-radius: 5px;
  border: 1px solid #3e5b6d;
  background: #fff;
  color: #000 !important;
  font-size: 16px;
  font-weight: 400;
  margin-top: 5rem;
}

.icon-individual {
  display: inline-block;
  vertical-align: middle;
  margin-left: 2px;
}

.header-nav-item-link {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: max(0.875rem, 12px);
  letter-spacing: 0.02em;
  font-weight: 600;
}

.header-nav-item-link svg {
  width: 0.75rem;
  margin-left: 0.4rem;
  fill: #fff;
}

.header-nav-item-link {
  position: relative;
}

.header-nav-item-link.seminar::after {
  content: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/arrow_right_og-sp.svg");
  display: inline-block;
  position: absolute;
  right: 15%;
  top: 50%;
  transform: translateY(-50%);
}

.header.change-color .header-nav-item-link svg {
  fill: #333;
}

.header.change-color .header-nav-item-link {
  color: #333;
  transition: 0.3s;
  line-height: 1;
}

.header-nav-item-link.button.demo-button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 20px;
  min-width: 165px;
  min-height: 40px;
  border-radius: 20px;
  border: 1px solid #079ba0;
  background: #fff;
  color: #079ba0;
  text-align: center;
  font-size: max(0.875rem, 12px);
  letter-spacing: 0.02em;
  font-weight: 700;
}

.header-nav-item-link.button.request-button {
  display: flex;
  padding: 0 8px;
  justify-content: center;
  align-items: center;
  flex: 1 0 0;
  min-width: 100px;
  min-height: 35px;
  align-self: stretch;
  border-radius: 4px;
  background: #003fab;
  color: #fff;
  font-feature-settings: "pwid" on;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.2;
}

.header-nav-item-link.button.contact-button {
  display: flex;
  padding: 0 8px;
  justify-content: center;
  align-items: center;
  flex: 1 0 0;
  min-width: 100px;
  min-height: 35px;
  align-self: stretch;
  border-radius: 4px;
  border: 1px solid #003fab;
  background: #fff;
  color: #003fab;
  font-feature-settings: "paid" on;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.2;
}

.header-nav-item-link.button.contact-button:hover {
  background: #f4faff;
  transition: background 0.2s;
}

.dropdown[hidden] {
  display: none !important;
}

.primary-nav.pc {
  background: #fff;
  border-top: 1px solid #e6e6e6;
  position: relative;
}

.primary-nav.pc .inner {
  margin-inline: auto;
  padding-inline: 20px;
}

.primary-nav-list {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: 8px;
}

.primary-nav-list > li {
  flex: 0 1 auto;
  display: flex;
}

.primary-nav-list .header-nav-item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  /* min-width: 140px; */
  height: 40px;
  padding: 8px 20px;
  text-decoration: none;
  line-height: 1;
  color: #1a1a1a;
  font-feature-settings: "pwid" on;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.4;
  transition: color 0.2s, background 0.2s;
  position: relative;
}

.primary-nav-list .header-nav-item-link:hover,
.primary-nav-list .header-nav-item-link:focus {
  color: #003fab;
  background: #f4faff;
}

.primary-nav-list .header-nav-item-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: #1956b5;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.primary-nav-list .header-nav-item-link:hover::after,
.primary-nav-list .header-nav-item-link:focus::after {
  width: 100%;
}

.primary-nav-list > li.header-nav-item:hover,
.primary-nav-list > li.header-nav-item:focus-within {
  background: #f4faff;
  transition: background 0.2s;
}

@media (max-width: 1100px) {
  .primary-nav-list {
    display: flex;
    justify-content: space-between;
    gap: 16px;
  }

  .primary-nav-list > li {
    flex: 1 1 auto;
  }
}

.dropdown.mega {
  padding: 30px 0 30px;
  background: #F4FAFF;
  z-index: 310;
}

.primary-nav.pc .mega-inner.inner {
  max-width: 880px;
  margin-inline: auto;
  /* padding-inline: 24px; */
}

.mega-grid {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 30px;
  width: 100%;
  max-width: 840px;
}

.mega-media {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  margin-right: 12px;
}

.mega-media a,
.mega-media img {
  display: block;
  width: 100%;
  max-width: 340px;
  height: auto;
  border-radius: 12px;
  overflow: hidden;
  margin: 0 auto;
}

.mega-col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 15px;
  height: 100%;
  flex: 0 0 auto;
}

.mega-item {
  width: 260px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 12px;
  text-decoration: none;
  border-bottom: 1px solid #d9d9d9;
  color: #222;
  font-feature-settings: "pwid" on;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  position: relative;
}

.mega-item::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background: #1956b5;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mega-item::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 10px;
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/common/icon_arrow_right_blue.svg")
    no-repeat center/contain;
}

.mega-item.external-link {
  justify-content: flex-start;
  gap: 10px;
}

.mega-item.external-link svg {
  flex-shrink: 0;
  margin-left: 0;
}

.mega-item.external-link::after {
  display: none;
}

.primary-nav .mega-item:hover,
.mega-grid .mega-item:hover {
  color: #003FAB;
  border-bottom-color: #003FAB;
}

.primary-nav .mega-item:hover::before,
.mega-grid .mega-item:hover::before {
  width: 100%;
}

/* レスポンシブ（幅が狭いPC） */
@media (max-width: 1200px) {
  .mega-grid {
    grid-template-columns: 420px 1fr 1fr;
  }
}

@media (max-width: 1024px) {
  .dropdown.mega {
    display: none !important;
  }
}

.dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  z-index: 300;
  padding-inline: 5rem;
  padding-top: 2rem;
  padding-bottom: 3rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* 非表示は hidden 属性で */
.dropdown[hidden] {
  display: none !important;
}

/* 開いた状態（JSが .is-open を付ける） */
.primary-nav .dropdown.mega.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* 一時的に常時表示したい場合 */
/* #panel-hrd {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
} */

/* ホバー時に表示 */
.header-nav .toggle-dropdown:hover + .dropdown,
.header-nav .dropdown:hover,
#corporate:hover,
#individual:hover,
#resources:hover {
  display: block;
  opacity: 1;
  visibility: visible;
}

.header-nav .toggle-dropdown:hover + #corporate,
.header-nav .toggle-dropdown:hover + #individual,
.header-nav .toggle-dropdown:hover + #resources {
  display: block;
  opacity: 1;
  visibility: visible;
}

.header-nav .dropdown.expanded,
#corporate.expanded,
#individual.expanded,
#resources.expanded {
  display: block;
  opacity: 1;
  visibility: visible;
}

/* アニメーションの定義 */
@keyframes floatUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

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

/* ドロップダウンメニュー内の文字列にアニメーションを適用 */
.dropdown ul li {
  opacity: 0;
  animation: floatUp 0.5s ease forwards;
  animation-delay: calc(var(--animation-order) * 0.1s);
}

/* 各リストアイテムにアニメーションの順序を設定 */
.dropdown ul li:nth-child(1) {
  --animation-order: 1;
}

.dropdown ul li:nth-child(2) {
  --animation-order: 2;
}

.dropdown ul li:nth-child(3) {
  --animation-order: 3;
}

.dropdown ul li:nth-child(4) {
  --animation-order: 4;
}

.dropdown ul li:nth-child(5) {
  --animation-order: 5;
}

#corporate,
#individual,
#resources {
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}

.active-menu {
  position: relative;
}

#corporate,
#individual,
#resources {
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}

.active-menu {
  position: relative;
}

.active-menu::after {
  content: "";
  position: absolute;
  bottom: -1.8rem;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 0;
  border-bottom: 2px solid #d29c09;
  flex-shrink: 0;
}

.header.change-color .header-inner.expanded {
  height: auto;
  position: relative;
  overflow: visible;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.header.change-color .header-inner.expanded::after {
  content: "";
  position: absolute;
  top: 4.7rem;
  left: 2.5%;
  width: 95%;
  border-top: 1px solid #929192;
}

.horizontal-headings {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#resources .horizontal-headings {
  height: 0;
  margin: 0;
  padding: 0;
}

.horizontal-headings h3,
.horizontal-headings .empty-heading {
  flex: 1;
  text-align: center;
}

.vertical-lists {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 20px;
  width: 100%;
  padding: 0;
  box-sizing: border-box;
}

#resources .vertical-lists {
  margin-top: 0;
}

.vertical-lists ul {
  flex: 1;
  list-style: none;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.vertical-lists li {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  position: relative;
}

.vertical-lists li::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 14px;
  background-image: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/arrow_right_og.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}

.vertical-lists li.no-arrow::after {
  display: none;
}

@media (max-width: 1199px) {
  .vertical-lists li::after {
    display: none;
  }
}

.vertical-lists a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #000;
}

.vertical-lists a .text-container {
  display: flex;
  flex-direction: column;
}

.vertical-lists a .text-container .font-style-1,
.vertical-lists a .text-container .font-style-2 {
  display: block;
}

.dropdown-section h3 {
  display: flex;
  height: 24px;
  flex-direction: row;
  justify-content: flex-start;
  flex: 1 0 0;
  color: #d29c09;
  font-feature-settings: "pwid" on;
  font-size: max(0.87rem, 14px);
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.56px;
}

.dropdown-section ul li {
  display: flex;
  align-items: center;
  height: 24px;
  flex-direction: row;
  flex: 1 0 0;
  color: #333;
  font-feature-settings: "pwid" on;
  font-size: max(0.87rem, 14px);
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.56px;
}

#resources .dropdown-section {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

#resources .vertical-lists {
  display: flex;
  justify-content: center;
  width: 100%;
}

#resources .vertical-lists ul {
  display: none;
}

#resources .vertical-lists ul:nth-child(2) {
  display: block;
  width: auto;
  max-width: 228px;
}

#resources .vertical-lists ul:nth-child(2) li {
  text-align: left;
  width: 100%;
  max-width: 100%;
}

#resources .vertical-lists li::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 14px;
  background-image: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/arrow_right_og.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
}

.custom-decoration {
  display: inline-block;
  width: 9px;
  height: 1px;
  transform: rotate(180deg);
  background: #d29c09;
  margin-right: 8px;
}

.font-style-1 {
  color: #333;
  font-feature-settings: "pwid" on;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.36px;
  display: block;
}

.font-style-2 {
  color: #333;
  font-feature-settings: "pwid" on;
  font-size: max(0.87rem, 14px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.56px;
  display: block;
}

/* Footer */
.footer a {
  zoom: 1;
  outline: 0;
  color: #000000;
  text-decoration: none;
}

.footer img {
  width: 100%;
  outline: 0;
  border: 0;
  border-style: none;
}

footer .footer__logo {
  width: 10rem;
  margin: 0 auto;
  display: block;
}

footer .footer-service__title {
  text-align: center;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  font-weight: 600;
  color: #333;
}

footer .footer-flex__wrap {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.5rem;
  position: relative;
  gap: 2rem;
}

footer .footer-flex__wrap .footer-gnav {
  flex: 1;
  min-width: 0;
}

footer .footer-service__inner {
  padding-top: 3rem;
  padding-bottom: 3.5rem;
}

footer .footer-section__service {
  background-color: #f7f7f7;
}

/* フッター情報セクション */
footer .footer-section__info {
  background-color: #fff;
  padding-top: 3.125rem;
  padding-bottom: 4.375rem;
}

footer .footer-info__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 6.25rem;
  flex-wrap: wrap;
}

footer .footer-info__left {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
}

footer .footer-info__logo {
  margin-bottom: 1.5rem;
  order: 0;
}

footer .footer-info__logo a {
  display: inline-block;
}

footer .footer-info__logo svg {
  width: 291px;
  height: auto;
  display: block;
}

footer .footer-info__sns {
  display: flex;
  gap: 1rem;
  margin-bottom: 4.8125rem;
  order: 0;
}

footer .footer-sns__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  transition: opacity 0.3s;
}

footer .footer-sns__link:hover {
  opacity: 0.7;
}

footer .footer-sns__link svg,
footer .footer-sns__link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

footer .footer-info__copyright {
  color: #555;
  font-size: 0.875rem;
  line-height: 1.5;
  order: 5;
}

footer .footer-info__center {
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
}

footer .footer-info__center .other-link-group ul {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

footer .footer-info__center .other-link-group ul li a {
  color: #636363;
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 2.14286;
  transition: color 0.3s;
}

footer .footer-info__center .other-link-group ul li a:hover {
  color: #003fab;
}

footer .footer-info__right {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
}

footer .footer-contact-button {
  display: inline-flex;
  padding: 0 24px;
  justify-content: center;
  align-items: center;
  width: 200px;
  min-height: 40px;
  border-radius: 4px;
  border: 1px solid #003fab;
  background: #fff;
  color: #003fab;
  font-feature-settings: "pwid" on;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

footer .footer-contact-button:hover {
  background: #f4faff;
  color: #003fab;
  transition: background 0.2s;
}

/* SP表示 */
@media (max-width: 960px) {
  footer .footer-section__info {
    padding: 2rem 0;
  }

  footer .footer-info__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.7rem;
    text-align: left;
    padding: 0 20px;
  }

  footer .footer-info__left {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    order: 1;
  }

  footer .footer-info__logo {
    display: block;
    order: 0;
  }

  footer .footer-info__logo svg {
    width: 180px;
  }

  footer .footer-info__sns {
    display: flex;
    justify-content: flex-start;
    order: 0;
    margin-bottom: 0;
  }

  footer .footer-info__copyright {
    text-align: center;
    width: 100%;
    margin-top: 0;
    order: 4;
    font-size: 13px;
  }

  footer .footer-info__center {
    width: 100%;
    order: 2;
    justify-content: flex-start;
  }

  footer .footer-info__center .other-link-group ul {
    align-items: flex-start;
  }

  footer .footer-info__center .other-link-group ul li a {
    font-size: 14px;
  }

  footer .footer-info__right {
    width: 100%;
    justify-content: center;
    order: 3;
  }

  footer .footer-contact-button {
    width: 266px;
    height: 50px;
    font-size: 14px;
  }

  footer .footer-service__inner {
    padding-left: 20px;
    padding-right: 20px;
  }

  footer .footer-flex__wrap {
    flex-direction: column;
    gap: 2rem;
    padding: 0 20px;
  }

  footer .footer-flex__wrap .footer-gnav {
    width: 100%;
  }
}

footer .footer-section__other-link {
  background-color: #a3a3a3;
}

footer .footer-section__other .footer-other__inner::before {
  position: absolute;
  content: "";
  background: url(https://www.skillupai.com/wp-content/themes/skillupai/assets/img/common/msk-logo.png) center / cover no-repeat;
  display: block;
  width: 20.375rem;
  height: 21.5rem;
  top: 14%;
  z-index: -1;
  left: 5%;
}

footer .footer-other__inner {
  position: relative;
  padding-top: 3.2rem;
  padding-bottom: 3.2rem;
}

footer .footer__logo.other {
  width: 18.75rem;
}

footer .footer-other__title {
  text-align: center;
  font-size: 1rem;
  letter-spacing: 0.02em;
  margin-top: 1rem;
  font-weight: 600;
  color: #fff;
}

footer .footer-other__title a {
  color: #fff;
}

a.sns__link {
  display: flex;
  align-items: center;
  color: #000000;
  font-size: max(0.87rem, 14px);
  line-height: 1.8;
  gap: 0.5rem;
  justify-content: center;
  font-weight: 600;
  letter-spacing: 0.02em;
}

footer .footer-group__title {
  text-align: center;
  font-size: max(0.87rem, 14px);
  line-height: 1.8;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.flex-sns-groupe {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 0.5rem;
}

.catch-copy__heading__primary {
  will-change: transform;
  display: inline-block;
}

.other-link-group ul {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.other-link-group ul li {
  position: relative;
}

.other-link-group ul li a::before {
  content: "";
  display: block;
  width: 2px;
  height: 1rem;
  background-color: #fff;
  position: relative;
  top: 0.1rem;
  left: -0.5rem;
}

.other-link-group ul li:first-of-type a:before {
  content: none;
}

.flex-sns,
.sns-group {
  margin-top: 1.4rem;
}

.other-link-group {
}

.other-link-group ul li a {
  color: #fff;
  font-size: max(0.87rem, 12px);
  line-height: 1.8;
  font-weight: 300;
  letter-spacing: 0.02em;
  position: relative;
  display: flex;
  align-items: center;
}

svg.i-twitter {
  width: 1.25rem;
}

svg.i-facebook {
  width: 1.286rem;
}

svg.i-youtube {
  width: 1.45rem;
}

svg.i-linkedin {
  width: 1.267rem;
}

footer .copyright {
  font-size: max(0.875rem, 13px);
  letter-spacing: 0.02em;
  font-weight: 300;
  text-align: center;
  background: #d29c07;
  color: #fff;
  height: 42px;
  display: flex;
  justify-content: center;
  align-items: center;
}

footer .footer-gnav .gnav__item {
  font-weight: 500;
  color: #333;
  font-size: max(0.5rem, 12px);
  margin-bottom: 1.3rem;
  letter-spacing: 0.01em;
  line-height: 1.8;
}

footer .footer-gnav .gnav__item a {
  font-weight: 500;
  color: #333;
  font-size: max(0.87rem, 14px);
  line-height: 1.8;
  display: flex;
  align-items: center;
  letter-spacing: 0.02em;
}

.list-line {
  position: relative;
  display: flex;
  align-items: center;
}

.gnav__list__sub.other-ptn li {
  gap: 0.55rem;
}

.gnav__list__sub.other-ptn li a.gnav__link {
  position: relative;
  left: 1.6rem;
}

.list-line::before {
  content: "";
  display: block;
  width: 1rem;
  height: 2px;
  background-color: #d29c07;
}

footer .footer-gnav .gnav__item a svg {
  width: 1rem;
  margin-right: 0.6rem;
}

.gnav__list__sub {
  margin-bottom: 0.8rem;
}

/* HOME */

.hero__mv {
  position: relative;
  width: 100%;
  /* aspect-ratio: 18/11; */
  aspect-ratio: 209/82;
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/hero-mv02.png") center / cover no-repeat;
}

.hero__ttl {
  position: absolute;
  /* top: 50%;
  left: 50%; */
  top: 64%;
  left: 52%;
  -ms-transform: translate(-86%, -105%);
  -webkit-transform: translate(-86%, -105%);
  transform: translate(-86%, -105%);
  margin: 0;
  padding: 0;
}

.hero__ttl svg {
  /* width: 43.6112vw; */
  width: 50.833vw;
}

main#main-content .hero__ttl img {
  /* width: 43.6112vw; */
  width: 50.833vw;
}

.section-home_news {
  margin-top: -14rem;
}

.section-home_our-services {
  padding-top: 7rem;
}

.section-home_news .section__inner {
  padding-top: 4rem;
  padding-bottom: 2.1rem;
}

.home-news__content .flex {
  align-items: end;
  gap: 0.8rem;
  overflow: hidden;
}

.home-news__content h2 {
  line-height: 0.8;
  margin-bottom: 0;
}

.home-news__content h2,
.home-news__content h3 {
  translate: none !important;
  rotate: none !important;
  scale: none !important;
  opacity: 1 !important;
  visibility: inherit !important;
  transform: translate(0px, 0px) !important;
}

.section-home_our-services,
.section-home_news {
  position: relative;
  overflow: hidden;
}

.section-home_news::before {
  position: absolute;
  content: "";
  display: block;
  background-color: #f9f9f9;
  width: 93.056%;
  height: 100%;
  border-radius: 5.625rem 0rem 0rem 5.625rem;
  right: 0;
}

.section-home_our-services::before {
  position: absolute;
  content: "";
  display: block;
  background-color: #f9f9f9;
  width: 93.056%;
  height: 100%;
  border-radius: 0rem 5.625rem 5.625rem 0rem;
}

.our-services__content .flex {
  position: relative;
}

.section-home_our-services .section__inner {
  padding-top: 6.6rem;
  padding-bottom: 8.5rem;
}

.our-services__content .left {
  width: 44.898%;
  overflow: hidden;
}

.our-services__content .left .text {
  font-weight: 500;
}

.our-services__content .right {
  width: 74.49%;
  position: absolute;
  left: 51.4%;
  top: -10.4rem;
  right: 0;
}

.our-services__content .left .text {
  margin-top: 1.5rem;
}

.sml-height {
  height: 1.5rem;
}

.our-services__case {
  margin-left: auto;
  margin-right: auto;
  border-radius: 0rem 1rem 0rem 1rem;
  margin-top: 9rem;
}

.box-parent {
  width: 100%;
  height: auto;
  display: flex;
  box-sizing: border-box;
  flex-wrap: wrap;
  margin-top: 4.8rem;
  justify-content: space-between;
}

.box-parent::after {
  content: "";
  display: block;
  width: 31.633%;
}

.our-services__case .box-child {
  width: 100%;
}

.box-child {
  width: 31.633%;
  height: auto;
  display: flex;
  padding: 0px;
  box-sizing: border-box;
  position: relative;
}

.box-child-bk {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 2rem 1.93rem;
  padding-bottom: 2.5rem;
  border-radius: 0rem 1rem 0rem 1rem;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.08);
}

.box-child-title {
  position: relative;
  width: 100%;
  max-width: 16.25rem;
  margin: 0 auto;
  text-align: center;
  padding-top: 0.3rem;
  padding-bottom: 0.3254rem;
  margin-top: 1rem;
  z-index: 1;
}

/*
.box-child-title::before{
    transform: skewX(-25deg);
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
    z-index: -1;
}*/

.our-services__case .box-child .box-child-bk {
  padding-left: 0;
  padding-right: 0;
}

.our-services__case .box-child .box-child-text {
  padding-left: 6.407rem;
  padding-right: 6.406rem;
}

.box-child-text p {
  letter-spacing: 0.02em;
  line-height: 1.8;
  font-weight: 600;
  color: #333;
  font-size: max(0.87rem, 14px);
  /*margin-top: 1rem;*/
  margin-top: 0.65rem;
}

.box-child img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.box-child-text {
  width: 100%;
  flex-grow: 1;
  box-sizing: border-box;
}

/*.box-child .link-txt {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #0E3467;
    width: 9.75rem;
    height: 2rem;
    color: #fff;
    margin: 0 auto;
	margin-top: 1.5rem;
    border-radius: 20rem;
}*/

.box-child .link-txt {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #0e3467;
  width: 10.75rem;
  height: 2.7rem;
  color: #fff;
  margin: 0 auto;
  margin-top: 1.5rem;
  border-radius: 20rem;
}

.box-child a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
}

.box-child-bk:hover {
  opacity: 0.8;
}

.box-child-bk:hover .link-txt.yellow {
  background-color: #d6b14a;
}

.box-child-bk:hover .link-txt.green {
  background-color: #079ba1;
}

.box-child-bk:hover .link-txt.blue {
  background-color: #40a6e9;
}

.box-child-bk:hover .link-txt.purple {
  background-color: #5660c9;
}

.dli-mail {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  position: relative;
  width: 0.72rem;
  height: 0.46rem;
  border: 0.11rem solid currentColor;
  border-radius: 0.1em;
  box-sizing: content-box;
  overflow: hidden;
  margin-left: 0.4rem;
  margin-top: 0.1rem;
}

.header-nav-item-link svg#_x32_ {
  margin-left: 0;
  margin-right: 0.4rem;
  width: 0.75rem;
}

path.st0 {
  stroke-width: 2rem;
  stroke: #333;
}

.header-nav-item-link svg#i-mail path {
  stroke-width: 0.5rem;
  stroke: #333;
}

.header-nav-item-link svg#i-mail {
  height: 1.2rem;
  width: 0.86rem;
  margin-left: 0;
  margin-right: 0.4rem;
}

.header .header-nav-item-link.external-link {
  display: flex;
  align-items: center;
  color: #003fab;
  font-weight: 600;
  text-decoration: none;
}

.header .header-nav-item-link.external-link:hover {
  color: #001f70;
}

.header .header-nav-item-link.external-link svg {
  fill: currentColor;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  margin-left: 0.25rem;
}

.flex-sns-groupe {
  gap: 2.5rem;
  margin-top: 1rem;
}

.flex-sns,
.sns-group {
  margin-top: 2rem;
}

.dli-mail::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 0.45rem;
  height: 0.45rem;
  border: 0.11rem solid currentColor;
  border-top-color: transparent;
  border-right-color: transparent;
  border-radius: 0 0 0 0.1em;
  box-sizing: content-box;
  transform: translate(-50%, -50%) rotate(-45deg) skew(10deg, 10deg);
}

.icon-bk {
  width: 5rem;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20rem;
  margin: 0 auto;
  margin-top: -4.7rem;
}

.box-child-title p {
  /*font-size: 1.125rem;*/
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #fff;
}

.box-child-title.bk-yellow p {
  color: #d6b14a;
}

.box-child-title.bk-green p {
  color: #079ba1;
}

.box-child-title.bk-blue p {
  color: #40a6e9;
}

.box-child-title.bk-purple p {
  color: #5660c9;
}

.box-child.blue {
  border-radius: 0rem 1rem 0rem 1rem;
}

.box-child.green {
  border-radius: 0rem 1rem 0rem 1rem;
}

.box-child.yellow {
  border-radius: 0rem 1rem 0rem 1rem;
}

.box-child.purple {
  border-radius: 0rem 1rem 0rem 1rem;
}

.bk-blue::before {
  background-color: #40a6e9;
}

.bk-green::before {
  background-color: #049ba0;
}

.bk-yellow::before {
  background-color: #d6b14a;
}

.bk-purple::before {
  background-color: #5660c9;
}

.icon-bk.blue {
  background-color: #40a6e9;
}

.icon-bk.green {
  background-color: #049ba0;
}

.icon-bk.yellow {
  background-color: #d6b14a;
}

.icon-bk.purple {
  background-color: #5660c9;
}

.icon-bk.blue svg {
  width: 2.875rem;
}

.icon-bk.green svg {
  width: 3.0625rem;
}

.icon-bk.yellow svg {
  width: 2.98rem;
}

.icon-bk.purple svg {
  width: 2.4378rem;
}

@media screen and (min-width: 768px) and (max-width: calc(1008px - 0.2px)) {
  .header-nav-item-link.button.demo-button {
    min-width: 100px;
    padding-inline: 5px;
  }

  .header-nav-item-link.button.request-button {
    min-width: 70px;
    padding-inline: 5px;
  }

  .header-nav-item-link.button.contact-button {
    min-width: 80px;
    padding-inline: 5px;
  }

  .header-nav-item:not(:first-child) {
    margin-left: 0.9rem;
  }

  .header-nav-item-link {
    font-size: max(0.875rem, 10px);
    letter-spacing: 0em;
  }

  .header.change-color .header-inner {
    padding: 1rem 1rem;
  }

  .dli-mail::before {
    height: 0.65rem;
  }

  a.header-nav-item-link.btn-demo,
  a.header-nav-item-link.btn-person,
  a.header-nav-item-link.btn-corporation,
  a.header-nav-item-link.btn-individual {
    width: 7.75rem;
  }

  .footer-gnav .gnav__item a {
    font-size: max(0.87rem, 10px);
  }

  .header-title svg {
    width: 10.75rem;
  }

  .slick__inner {
    width: min(100%, 51.8rem);
  }

  .section-home_news .section__inner {
    max-width: 50.25rem;
  }

  .our-services__content .right {
    width: 50.49%;
  }
}

@media screen and (max-width: calc(768px - 0.2px)) {
  .header-title.logo svg {
    /* width: 111px;
    height: 27px; */
    width: 120px;
    height: 18px;
  }

  .header-nav-item {
    width: 100%;
  }

  .header-nav-item-link svg#i-mail {
    height: 1.2rem;
    width: 1.2rem;
    margin-right: 0.8rem;
  }

  .header-nav-item-link svg#_x32_ {
    margin-right: 0.8rem;
    width: 1.2rem;
  }

  .header-nav-item-link svg#i-mail path {
    stroke-width: 0.8rem;
  }

  .header-nav .dropdown,
  #corporate,
  #individual,
  #resources {
    display: none;
  }

  .header-nav .dropdown.expanded,
  #corporate.expanded,
  #individual.expanded,
  #resources.expanded {
    display: block;
  }

  .section__inner {
    margin: 0 auto;
    max-width: 100%;
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .header.change-color .header-inner {
    padding-top: 1rem;
    padding-bottom: 1rem;
    /* padding-left: 3.3rem; */
    padding-left: 1.2rem;
    transition: 0.3s;
    background: #fff;
    justify-content: space-between;
    display: flex;
    align-items: center;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
  }

  .dli-mail {
    width: 1rem;
    height: 0.76rem;
    margin-left: 0.8rem;
    border: 0.15rem solid currentColor;
  }

  .dli-mail::before {
    width: 0.67rem;
    height: 0.7rem;
    border: 0.15rem solid currentColor;
  }

  .header-nav-item-link svg {
    width: 1.2rem;
    margin-left: 0.8rem;
  }

  .header-title.logo {
    z-index: 2;
  }

  .outer-menu {
    position: relative;
    width: 100%;
  }

  .outer-menu::before {
    content: "";
    display: block;
    width: 90%;
    height: 6rem;
    position: fixed;
    z-index: 1;
    background: #fff;
    border-radius: 0 0 20px 20px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
  }

  .outer-menu .checkbox-toggle {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 2;
    cursor: pointer;
    width: 5rem;
    height: 5rem;
    opacity: 0;
    transform: translateY(-50%);
  }

  .outer-menu .hamburger {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;
    width: 5rem;
    height: 5rem;
    padding: 0.5em 1em;
    border-radius: 0 0.12em 0.12em 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
  }

  .outer-menu .checkbox-toggle:checked + .hamburger > div {
    transform: rotate(135deg);
  }

  .outer-menu .checkbox-toggle:checked + .hamburger > div:before,
  .outer-menu .checkbox-toggle:checked + .hamburger > div:after {
    top: 0;
    transform: rotate(90deg);
  }

  .outer-menu .checkbox-toggle:checked + .hamburger > div:after {
    opacity: 0;
  }

  .outer-menu .checkbox-toggle:checked ~ .menu {
    pointer-events: auto;
    visibility: visible;
  }

  .outer-menu .checkbox-toggle:checked ~ .menu > div {
    opacity: 1;
    transition-duration: 0.75s;
  }

  .outer-menu .checkbox-toggle:checked ~ .menu > div > div {
    opacity: 1;
    transition: opacity 0.4s ease 0.4s;
  }

  .outer-menu .checkbox-toggle:hover + .hamburger {
  }

  .outer-menu .checkbox-toggle:checked:hover + .hamburger > div {
    transform: rotate(225deg);
  }

  .outer-menu .hamburger > div {
    position: relative;
    flex: none;
    width: 100%;
    height: 2px;
    background: #333333;
    transition: all 0.4s ease;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .outer-menu .hamburger > div:before,
  .outer-menu .hamburger > div:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -8px;
    left: 0;
    width: 100%;
    height: 2px;
    background: inherit;
    transition: all 0.4s ease;
  }

  .outer-menu .hamburger > div:after {
    top: 8px;
  }

  .outer-menu .menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    visibility: hidden;
    overflow-y: auto;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    outline: 1px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .outer-menu .menu > div {
    width: 100%;
    height: 100%;
    color: #fefefe;
    background: rgba(255, 255, 255, 1);
    transition: all 0.4s ease;
    flex: none;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    overflow-y: auto;
  }

  .outer-menu .menu > div > div {
    text-align: left;

    opacity: 0;
    transition: opacity 0.4s ease;
    overflow-y: auto;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: left;
  }

  .outer-menu .menu > div > div > ul {
    list-style: none;
    padding: 0;
    padding-top: 8rem;
    margin: 0;
    display: block;
    width: 100%;
  }

  .header-nav-item:not(:first-child) {
    margin-left: 0rem;
  }

  .outer-menu .menu > div > div > ul > li {
    padding: 2rem 4rem;
    padding-right: 0;
    display: block;
  }

  .outer-menu .menu > div > div > ul > li > a {
    position: relative;
    cursor: pointer;
    font-size: 1.2rem;
    transition: color 0.4s ease;
  }

  .outer-menu .menu > div > div > ul > li > a:hover {
    opacity: 0.8;
  }

  .outer-menu .menu > div > div > ul > li > a:hover:after {
    width: 100%;
  }

  .outer-menu ul.header-nav-list ul.flex li.header-nav-item {
    width: 100%;
  }

  .outer-menu ul.header-nav-list ul.toggle {
    padding: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    position: relative;
    box-sizing: border-box;
  }

  .outer-menu ul.header-nav-list ul.toggle::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 86.67%;
    height: 1px;
    /* background-color: #929192; */
    background-color: #e6e6e6;
  }

  .sub-menu-corporate,
  .sub-menu-individual,
  .sub-menu-resources,
  .sub-menu-hrd,
  .sub-menu-genai,
  .sub-menu-industry,
  .sub-menu-aidev {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1 0 0;
  }

  .sub-menu-corporate .header-nav-item,
  .sub-menu-individual .header-nav-item,
  .sub-menu-resources .header-nav-item,
  .sub-menu-hrd .header-nav-item,
  .sub-menu-genai .header-nav-item,
  .sub-menu-industry .header-nav-item,
  .sub-menu-aidev .header-nav-item {
    display: flex;
    width: 100%;
    height: auto;
    padding: 1.5rem 2.5rem 1rem;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }

  .sub-menu-corporate .sp-header-nav-item-link,
  .sub-menu-individual .sp-header-nav-item-link,
  .sub-menu-resources .sp-header-nav-item-link,
  .sub-menu-hrd .sp-header-nav-item-link,
  .sub-menu-genai .sp-header-nav-item-link,
  .sub-menu-industry .sp-header-nav-item-link,
  .sub-menu-aidev .sp-header-nav-item-link {
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 0.56px;
    position: relative;
    /* font-weight: 700; */

    font-weight: 400;
    color: #000;
  }

  .sub-menu-corporate .item-1 .sp-header-nav-item-link,
  .sub-menu-individual .item-1 .sp-header-nav-item-link,
  .sub-menu-resources .item-1 .sp-header-nav-item-link,
  .sub-menu-hrd .item-1 .sp-header-nav-item-link,
  .sub-menu-genai .item-1 .sp-header-nav-item-link,
  .sub-menu-aidev .item-1 .sp-header-nav-item-link {
    color: #d29c09;
    background: #f8f8f8;
  }

  .sub-menu-corporate .item-2,
  .sub-menu-individual .item-2,
  .sub-menu-resources .item-2 {
    margin-top: -15px;
  }
}

  .sub-menu-corporate .item-2 .sp-header-nav-item-link,
  .sub-menu-individual .item-2 .sp-header-nav-item-link,
  .sub-menu-resources .item-2 .sp-header-nav-item-link,
  .sub-menu-hrd .item-2 .sp-header-nav-item-link,
  .sub-menu-genai .item-2 .sp-header-nav-item-link,
  .sub-menu-industry .item-2 .sp-header-nav-item-link,
  .sub-menu-aidev .item-2 .sp-header-nav-item-link {
    color: #333;
    line-height: 1;
  }

.sub-menu-corporate .sp-header-nav-item-link .small-font,
.sub-menu-individual .sp-header-nav-item-link .small-font,
.sub-menu-resources .sp-header-nav-item-link .small-font,
.sub-menu-hrd .sp-header-nav-item-link .small-font,
.sub-menu-genai .sp-header-nav-item-link .small-font,
.sub-menu-aidev .sp-header-nav-item-link .small-font {
  font-size: 9px;
  line-height: 1.2;
}

.sub-menu-corporate .item-2 .sp-header-nav-item-link::after,
.sub-menu-individual .item-2 .sp-header-nav-item-link::after,
.sub-menu-resources .item-2 .sp-header-nav-item-link::after,
.sub-menu-hrd .item-2 .sp-header-nav-item-link::after,
.sub-menu-genai .item-2 .sp-header-nav-item-link::after,
.sub-menu-aidev .item-2 .sp-header-nav-item-link::after {
  content: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/arrow_right_og-sp2.svg");
  display: inline-block;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
}

.sub-menu-individual .item-2 .sp-header-nav-item-link.no-arrow::after {
  display: none;
}

.sp-header-nav-item-link.external-link {
  display: flex;
  align-items: center;
  gap: 4px;
}

.sp-header-nav-item-link.external-link svg {
  flex-shrink: 0;
  margin-left: 4px;
}

.sp-header-nav-item-link.external-link::after {
  display: none;
}

.sub-menu-resources .item-2 .sp-header-nav-item-link.external-link::after {
  display: none;
}

.sub-menu-corporate .item-3,
.sub-menu-individual .item-3,
.sub-menu-resources .item-3 {
  margin-top: -15px;
}

.sub-menu-corporate .item-3 .sp-header-nav-item-link,
.sub-menu-individual .item-3 .sp-header-nav-item-link,
.sub-menu-resources .item-3 .sp-header-nav-item-link,
.sub-menu-hrd .item-3 .sp-header-nav-item-link,
.sub-menu-genai .item-3 .sp-header-nav-item-link,
.sub-menu-aidev .item-3 .sp-header-nav-item-link {
  color: #333;
  font-size: 12px;
  letter-spacing: 0.48px;
  padding-left: 70px;
}

.sub-menu-corporate .item-3 .sp-header-nav-item-link::after,
.sub-menu-individual .item-3 .sp-header-nav-item-link::after,
.sub-menu-resources .item-3 .sp-header-nav-item-link::after,
.sub-menu-hrd .item-3 .sp-header-nav-item-link::after,
.sub-menu-genai .item-3 .sp-header-nav-item-link::after,
.sub-menu-aidev .item-3 .sp-header-nav-item-link::after {
  content: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/arrow_right_og-sp3.svg");
  display: inline-block;
  position: absolute;
  left: 4rem;
  top: 50%;
  transform: translateY(-50%);
}

.outer-menu .sp-menu-single {
  padding: 2rem !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 2rem;
  position: relative;
  box-sizing: border-box;
  border-bottom: none !important;
}

.outer-menu .sp-menu-single::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 86.67%;
  height: 1px;
  /* background-color: #929192; */
  background-color: #e6e6e6;
}

.outer-menu .sp-menu-single .sp-header-nav-item-link {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
  text-decoration: none;
  font-size: 16px;
  letter-spacing: 0.64px;
  /* color: #333; */
  /* font-weight: 700; */

  color: #000;
  font-weight: 400;
}

.outer-menu ul.header-nav-list ul.flex {
  padding: 3rem 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2.6rem;
}

.sp-header-nav-item-link {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
  text-decoration: none;
  font-size: 16px;
  letter-spacing: 0.64px;
  color: #000;
  font-weight: 400;
}

.sub-menu-corporate,
.sub-menu-individual,
.sub-menu-resources,
.sub-menu-hrd,
.sub-menu-genai,
.sub-menu-industry,
.sub-menu-aidev {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.75s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.75s;
}

.sub-menu-corporate.expanded,
.sub-menu-individual.expanded,
.sub-menu-resources.expanded,
.sub-menu-hrd.expanded,
.sub-menu-genai.expanded,
.sub-menu-industry.expanded,
.sub-menu-aidev.expanded {
  max-height: 250px;
  opacity: 1;
  transition: max-height 0.75s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.75s;
}

.sub-menu-resources.expanded {
  margin-top: 1.5rem;
}

.sp-header-nav-item-link.toggle-dropdown-corporate::after,
.sp-header-nav-item-link.toggle-dropdown-individual::after,
.sp-header-nav-item-link.toggle-dropdown-resources::after,
.sp-header-nav-item-link.toggle-dropdown-hrd::after,
.sp-header-nav-item-link.toggle-dropdown-genai::after,
.sp-header-nav-item-link.toggle-dropdown-industry::after,
.sp-header-nav-item-link.toggle-dropdown-aidev::after {
  content: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/toggle_plus_icon.svg");
  display: inline-block;
  position: absolute;
  right: 2.5rem;
  top: 50%;
  transform: translateY(-50%);
}

.sp-header-nav-item-link.toggle-dropdown-corporate.active::after,
.sp-header-nav-item-link.toggle-dropdown-individual.active::after,
.sp-header-nav-item-link.toggle-dropdown-resources.active::after,
.sp-header-nav-item-link.toggle-dropdown-hrd.active::after,
.sp-header-nav-item-link.toggle-dropdown-genai.active::after,
.sp-header-nav-item-link.toggle-dropdown-industry.active::after,
.sp-header-nav-item-link.toggle-dropdown-aidev.active::after {
  content: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/toggle_minus_icon.svg");
}

a.header-nav-item-link.btn-demo,
a.header-nav-item-link.btn-person,
a.header-nav-item-link.btn-corporation,
a.header-nav-item-link.btn-individual {
  width: 100%;
  height: 5.5rem;
}

a.sns__link,
.footer-group__title,
.footer-gnav .gnav__item {
  font-size: 13px;
}

.footer-service__title {
  font-size: 20px;
}

.footer-gnav .gnav__item a {
  font-size: 14px;
}

.gnav__list__sub.other-ptn li a.gnav__link {
  left: 0;
}

.footer-flex__wrap {
  flex-wrap: wrap;
  padding-left: 2rem;
  padding-right: 2rem;
}

.other-link-group ul li a {
  font-size: 1rem;
}

.home-news-content time {
  font-size: 1.2rem;
}

.home-news-content .news-title {
  font-size: 1.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}

.slick__inner {
  padding: 0 4.2rem;
}

.slick__prev {
  margin-left: -2rem;
}

.slick__next {
  right: calc((100vw - 100%) + (-0.6rem));
}

.section-home_news::before {
  width: 98.056%;
}

.section-home_news .btn-primary {
  padding-top: 4rem;
}

.slick__image {
  width: 28rem;
  height: 34rem;
}

.header.change-color .header-inner {
  /* max-width: 90%; */
}

/*SP*/
@media screen and (max-width: calc(576px - 0.2px)) {
  .hero__mv {
    position: relative;
    width: 100vw;
    height: 103vw;
    aspect-ratio: 278/121;
    background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/hero-mv-sp.png") center center/cover no-repeat;
    overflow: hidden;
    left: 50%;
    transform: translateX(-50%);
  }

  body,
  html {
    overflow-x: hidden;
  }

  .hero__ttl {
    -ms-transform: translate(-50%, -40%);
    -webkit-transform: translate(-50%, -40%);
    transform: translate(-50%, -40%);
    width: 90vw;
    top: 50%;
    left: 52%;
  }

  main#main-content .hero__ttl img {
    max-width: max-content;
    width: 100%;
  }

  .our-services__content .left {
    width: 100%;
  }

  .our-services__content .flex {
    position: relative;
    flex-wrap: wrap-reverse;
    gap: 1.5rem;
  }

  .our-services__content .right {
    width: 100%;
    position: relative;
    left: 0;
    top: 0;
    right: 0;
  }

  .section-home_our-services .section__inner {
    padding-top: 4.6rem;
    padding-bottom: 8.5rem;
    padding-left: 3rem;
    padding-right: 4rem;
  }

  .box-child-text p {
    font-size: 1.2rem;
  }

  .icon-bk {
    width: 6rem;
    height: 6rem;
  }

  .icon-bk.blue svg {
    width: 3.2rem;
  }

  .icon-bk.green svg {
    width: 3.2rem;
  }

  .icon-bk.yellow svg {
    width: 3.2rem;
  }

  .icon-bk.purple svg {
    width: 3.2rem;
  }

  .btn-primary .link {
    width: 23rem;
    height: 4.2rem;
    font-size: 1.2rem;
  }

  .btn-primary .link .svg-arrow-back {
    width: 0.7rem;
    margin-left: 6rem;
    margin-right: 2rem;
  }

  .svg-arrow-back {
    width: 0.54rem;
    margin-left: 2rem;
    margin-right: 2rem;
  }

  .section-home_news::before,
  .section-home_our-services::before {
    width: 96.056%;
  }

  .catch-copy__heading__primary {
    font-size: 3.8rem;
  }

  .catch-copy__heading__secondary {
    font-size: 1.6rem;
  }

  .text {
    font-size: 1.2rem;
  }

  .our-services__case .box-child .box-child-title p {
    font-size: 1.8rem;
  }

  .box-child-title {
    max-width: 100%;
  }

  .our-services__case .box-child .box-child-text {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .box-child {
    width: 100%;
  }

  .box-parent {
    width: 100%;
    margin-top: 4.8rem;
    gap: 4.8rem;
  }

  .box-child .link-txt {
    width: 18rem;
    height: 4.2rem;
    font-size: 1.2rem;
    margin-top: 1.5rem;
    border-radius: 20rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  .box-child-title p {
    font-size: 1.8rem;
  }

  .footer-gnav {
    width: 100%;
  }

  .other-link-group ul {
    display: flex;
    justify-content: left;
    gap: 1rem 4rem;
    flex-wrap: wrap;
  }

  .other-link-group ul li a::before {
    content: none;
  }

  .other-link-group ul li a::after {
    content: "";
    display: block;
    width: 2px;
    height: 1rem;
    background-color: #fff;
    position: relative;
    top: 0.1rem;
    left: 1rem;
  }

  .other-link-group ul li:last-child a::after {
    content: none;
  }

  .footer-other__inner {
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .other-link-group ul {
    gap: 1rem 2rem;
    flex-wrap: wrap;
  }

  .footer-flex__wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 2.5rem;
    padding-left: 4rem;
    padding-right: 4rem;
  }

  svg.i-youtube {
    width: 2.2rem;
  }

  svg.i-facebook {
    width: 2rem;
  }

  svg.i-facebook {
    width: 2rem;
  }

  svg.i-linkedin {
    width: 2.2rem;
  }

  svg.i-twitter {
    width: 2rem;
  }
}

.section-home_hero {
  position: relative;
  overflow: hidden;
  margin-top: -80px;
}

.hero-swiper {
  position: relative;
}

.hero-swiper .swiper-slide {
  position: relative;
}

.hero__mv {
  position: relative;
  width: 100%;
  aspect-ratio: 209/82;
}

.hero__mv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.hero__ttl {
  position: absolute;
  top: 64%;
  left: 48%;
  transform: translate(-86%, -105%);
  margin: 0;
  padding: 0;
  pointer-events: none;
  /* クリックを背面へ */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.hero__text {
  max-width: 640px;
  height: auto;
}

.hero__logo {
  max-width: 300px;
  height: auto;
}

.hero__logo02 {
  max-width: 266px;
  height: auto;
}

.section-home_hero {
  position: relative;
}

.section-home_hero .swiper-horizontal > .hero-pagination,
.section-home_hero
  .hero-pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
  position: absolute;
  top: auto !important;
  bottom: 28px !important;
  left: 50% !important;
  transform: translateX(-50%);
  width: auto !important;
  display: flex;
  gap: 20px;
  z-index: 10;
}

.section-home_hero .hero-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  border-radius: 9999px;
  background: #fff;
  opacity: 1;
  margin: 0;
}

.section-home_hero .hero-pagination .swiper-pagination-bullet-active {
  background: #ccc;
}

@media (max-width: 576px) {
  .hero__mv {
    height: 120vw;
    aspect-ratio: 278/121;
  }

  .hero__ttl {
    transform: translate(-50%, -40%);
    width: 90vw;
    top: 30%;
    left: 52%;
  }

  .hero__logo {
    max-width: 156px;
  }

  .hero__logo02 {
    max-width: 160px;
  }
}

/* Newsセクション新デザイン */
.section-home_news-v2 {
  background: #fff;
  padding: 48px 0 40px 0;
}

.section__inner-v2 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.news-flex-v2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.news-title-block-v2 {
  min-width: 240px;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  justify-content: center;
}

.news-main-title-v2 {
  color: #1a1a1a;
  text-align: left;
  font-feature-settings: "pwid" on;
  font-size: 3.125rem;
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
}

.news-btn-wrap-v2 {
  margin: 0;
}

.news-btn-v2 {
  display: flex;
  width: 160px;
  height: 36px;
  justify-content: center;
  align-items: center;
  padding: 0 8px;
  border-radius: 4px;
  border: 1px solid #003fab;
  background: #fff;
  color: #003fab;
  font-feature-settings: "paid" on;
  font-size: 12px;
  font-weight: 700;
  line-height: 120%;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
  position: relative;
}

.news-btn-v2::after {
  content: "";
  display: inline-block;
  width: 6.5px;
  height: 11.1px;
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/arrow_right_bl.svg") no-repeat center/contain;
  margin-left: 8px;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.news-btn-v2:hover,
.news-btn-v2:focus {
  background: #f4faff;
  transition: background 0.2s;
}

.news-list-block-v2 {
  flex: 1;
}

.news-item-v2 {
  display: flex;
  flex-direction: column;
  padding: 0.75rem 0;
  border-bottom: 1px solid #b3b3b3;
}

.news-item-v2 a {
  display: flex;
  align-items: center;
  /* 上下中央揃え */
  gap: 0.75rem;
  /* 各要素間の間隔 */
  text-decoration: none;
}

.news-item-v2:last-child {
  border-bottom: none;
}

.news-meta-v2 {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.news-date-v2 {
  color: #1a1a1a;
  font-feature-settings: "paid" on;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  flex: 0 0 auto;
}

.news-label-v2 {
  display: inline-flex;
  padding: 2px 8px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border: 1px solid #d6a920;
  background: #fefdf8;
  color: #bb9104;
  font-feature-settings: "pwid" on;
  font-size: 0.875rem;
  line-height: 1.2;
  margin-left: 0;
  white-space: nowrap;
  flex: 0 0 auto;
}

.news-text-v2 {
  color: #1a1a1a;
  font-feature-settings: "paid" on;
  font-size: 0.875rem;
  line-height: 1.4;
  margin: 0;
  overflow-wrap: anywhere;
  flex: 1;
}

/* SP */
@media (max-width: 768px) {
  .section-home_news-v2 {
    padding: 28px 0 28px 0;
  }

  .news-flex-v2 {
    flex-direction: column;
    gap: 8px;
  }

  .news-title-block-v2 {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    width: 100%;
    min-width: 0;
    text-align: left;
  }

  .news-main-title-v2 {
    font-size: 3rem;
    margin: 0;
    flex-shrink: 0;
  }

  .news-btn-wrap-v2 {
    margin: 0;
    flex-shrink: 0;
    font-size: 1.2rem;
  }

  .news-btn-v2 {
    width: 132px;
  }

  .news-item-v2 {
    padding: 1.2rem 0;
  }

  .news-meta-v2 {
    gap: 1.2rem;
  }

  .news-date-v2 {
    min-width: 60px;
    font-size: 1.2rem;
  }

  .news-label-v2 {
    font-size: 1.2rem;
  }

  .news-text-v2 {
    font-size: 1.4rem;
  }
}

/* サービスセクション全体 */
/* .section-home_services {
  padding-bottom: 80px;
  background: linear-gradient(
    to bottom,
    #fff 0%,
    #fff 18%,
    #f5f5f5 18%,
    #f5f5f5 100%
  );
}

.section-home_services .section__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.services-flex {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}

.services-block {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 12px 0 rgba(204, 204, 204, 0.4);
  display: flex;
  flex-direction: column;
  align-items: center;
  display: flex;
  width: 588px;
  padding: 40px 0 32px 0;
  gap: 28px;
}

.services-block--yellow {
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_card_service_yellow.jpg") no-repeat center
    center/cover;
}

.services-block--blue {
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_card_service_blue.jpg") no-repeat center
    center/cover;
}

.services-title {
  color: #1a1a1a;
  text-align: center;
  font-feature-settings: "pwid" on;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 20px;
  margin-bottom: 20px;
}

.services-desc {
  color: #1a1a1a;
  font-feature-settings: "pwid" on;
  font-size: 1rem;
  line-height: 1.6;
}

.services-list {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

.services-item {
  position: relative;
  width: 160px;
  height: 160px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.services-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 8px;
  box-shadow: 0 8px 12px 0 rgba(204, 204, 204, 0.4);
}

.services-item span {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  font-size: 1rem;
  line-height: 1.4;
  text-align: center;
  z-index: 2;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 0 6px #000;
  pointer-events: none;
}

.services-btn {
  width: 240px;
  height: 56px;
  font-size: 1rem;
}

@media (max-width: 768px) {
  .section-home_services .section__inner {
    padding: 0 20px;
  }

  .services-flex {
    flex-direction: column;
    gap: 20px;
  }

  .services-title {
    font-size: 3rem;
  }

  .services-desc {
    font-size: 1.6rem;
  }

  .services-block {
    max-width: 100%;
    padding: 40px 20px;
  }

  .services-list {
    gap: 16px;
  }

  .services-item {
    width: 310px;
    height: 80px;
  }

  .services-item span {
    position: absolute;
    left: 20px;
    right: auto;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    font-size: 1.6rem;
    text-align: left;
    z-index: 2;
    color: #fff;
    font-weight: 700;
    text-shadow: 0 0 6px #000;
    pointer-events: none;
  }

  .services-btn {
    width: 310px;
    height: 56px;
    font-size: 1.6rem;
  }
} */

/* 戦略 */
.home-strategy {
  width: 100%;
  margin: 50px 0 0 0;
  padding: 0;
  display: flex;
  justify-content: center;
}

.home-strategy__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  max-width: 1200px;
  width: 100%;
  /* gap: 40px; */
  padding: 48px 0 0 0;
}

.home-strategy__left {
  flex: 1 1 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.home-strategy__title {
  color: #000;
  font-family: Inter;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: left;
}

.home-strategy__lead {
  color: #000;
  font-weight: 400;
  line-height: 32px;
  margin-top: 35px;
}

.home-strategy__lead-main {
  font-size: 1.75rem;
}

.home-strategy__lead-sub {
  font-size: 1.375rem;
}

.home-strategy__desc {
  color: #000;
  font-size: 1rem;
  line-height: 2;
  margin-top: 40px;
}

.home-strategy__btn {
  display: flex;
  width: 238px;
  height: 40px;
  padding: 0 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  border-radius: 3px;
  border: 1px solid #003faa;
  color: #003faa;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 2;
  margin-top: 25px;
}

.home-strategy__btn.sp-only {
  display: none;
}

.home-strategy__right {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 320px;
}

.home-strategy__img {
  max-width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 768px) {
  .home-strategy {
    margin: 56px 0 0 0;
    padding: 0;
    display: flex;
    justify-content: center;
  }

  .home-strategy__inner {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0 20px;
    gap: 0;
  }

  .home-strategy__left,
  .home-strategy__right {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    display: block;
    flex: none;
  }

  .home-strategy__title {
    text-align: left;
    font-size: 1.8rem;
  }

  .home-strategy__lead {
    margin-top: 28px;
    text-align: left;
  }

  .home-strategy__lead-main {
    font-size: 2.4rem;
    line-height: 1.4;
  }

  .home-strategy__lead-sub {
    font-size: 2rem;
    line-height: 1.5;
  }

  .home-strategy__desc {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-top: 28px;
    text-align: left;
  }

  .home-strategy__btn.pc-only {
    display: none;
  }

  .home-strategy__btn.sp-only {
    width: 100%;
    max-width: 310px;
    height: 56px;
    font-size: 1.6rem;
    margin: 32px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .home-strategy__right {
    justify-content: center;
    align-items: center;
    margin-top: 40px;
  }

  .home-strategy__img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
  }
}

/* HOME / Services */
.section-home_services {
  padding: 40px 0 80px;
  background: linear-gradient(0deg, #e1eef7 0%, #fff 100%);
}

.section-home_services .section__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.services-grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.svc-card {
  --svc-cols: 2;
  /* デフォルト2列 */
  display: flex;
  flex-direction: column;
  gap: 28px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  padding: 40px 20px 20px 20px;
}

/* 列数は属性で制御（1枚目=3列、2枚目=2列など） */
.svc-card[data-cols="1"] {
  --svc-cols: 1;
}

.svc-card[data-cols="2"] {
  --svc-cols: 2;
}

.svc-card[data-cols="3"] {
  --svc-cols: 3;
}

.svc-card__title {
  color: #1a1a1a;
  display: flex;
  align-items: center;
  text-align: left;
  font-feature-settings: "pwid" on;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  margin-left: 20px;
}

.svc-card__icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  transition: background 0.2s ease;
  margin-left: 12px;
}

.svc-card__desc {
  color: #000;
  font-feature-settings: "pwid" on;
  font-size: 1rem;
  line-height: 1.6;
  margin-left: 20px;
  margin-top: 28px;
}

.svc-card__links {
  display: grid;
  grid-template-columns: repeat(var(--svc-cols), 1fr);
  gap: 12px;
}

.svc-link {
  position: relative;
  display: flex;
  height: 140px;
  padding: 8px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  flex: 1 0 0;
  border-radius: 8px;
  border: 1px solid #e6e6e6;
  background: #fff;
}

.svc-link:hover {
  box-shadow: 0 2px 4px 0 rgba(204, 204, 204, 0.2);
}

.svc-link::after {
  content: "";
  position: absolute;
  top: 82%;
  right: 16.5px;
  transform: translateY(-50%);
  width: 6.5px;
  height: 11px;
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/arrow_right_bl.svg") no-repeat center / contain;
}

.svc-link img {
  display: flex;
  height: 80px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  align-self: stretch;
  border-radius: 4px;
}

.svc-link__label {
  color: #1a1a1a;
  font-feature-settings: "paid" on;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}

@media (min-width: 1024px) {
  .services-grid {
    flex-direction: row;
    gap: 24px;
  }

  .svc-card {
    flex: 1 1 calc(50% - 12px);
  }
}

@media (max-width: 768px) {
  .svc-card {
    /* padding: 20px; */
  }

  .svc-card__links {
    grid-template-columns: 1fr;
  }

  .svc-card__title {
    font-size: 2.4rem;
    margin: 0;
  }

  .svc-card__desc {
    font-size: 1.6rem;
    margin-left: 0;
    margin-top: 28px;
  }

  .svc-link img {
    aspect-ratio: 31/8;
  }

  .svc-link__label {
    font-size: 1.6rem;
  }
}

/* TOPICS */
.section-home_topics {
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_primary_left.png") left bottom no-repeat,
    url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_primary_right.png") right top no-repeat;
  background-color: #003fab;
  background-size: 750px 450px, 750px 450px;
  overflow: hidden;
  padding: 56px 0;
}

.topics__inner {
  max-width: 980px;
  margin: 0 auto;
}

.topics__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  color: #fff;
  font-feature-settings: "pwid" on;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
}

.topics__title-line {
  display: inline-block;
  width: 403px;
  height: 1px;
  background: #fff;
}

.topics-list {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}

.topics-item {
  width: 480px;
  height: 100px;
  border-radius: 12px;
  background: #fff;
  display: flex;
  align-items: center;
  position: relative;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  padding-left: 24px;
  margin: 0 auto;
  overflow: hidden;
}

.topics-item--competition {
  background: #fff url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_bnr_service_compe.png") right center
    no-repeat;
  background-size: contain;
}

.topics-item--copilot {
  background: #fff url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_bnr_service_copilot.png") right center
    no-repeat;
  background-size: contain;
}

.topics-item__text {
  color: #1a1a1a;
  font-feature-settings: "pwid" on;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 100%;
  z-index: 1;
}

.topics-item__arrow {
  margin-left: auto;
  margin-right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 24px;
  height: 24px;
  gap: 4px;
  aspect-ratio: 1/1;
  border-radius: 4px;
  background: #003fab;
}

.topics-item__arrow::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/icon_arrow_right.svg") no-repeat center/contain;
  transition: transform 0.2s;
}

.topics-item:hover .topics-item__arrow::after {
  transform: translateX(2px);
}

@media (max-width: 768px) {
  .section-home_topics {
    background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_primary_left_sp.png") left bottom no-repeat,
      url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_primary_right_sp.png") right top no-repeat;
    background-size: 333px 200px, 333px 200px;
    background-color: #003fab;
    padding: 32px 20px 56px;
  }

  .topics-item--competition {
    background: #fff url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_bnr_service_compe_sp.png") right center
      no-repeat;
    background-size: contain;
  }

  .topics-item--copilot {
    background: #fff url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_bnr_service_copilot_sp.png") right
      center no-repeat;
    background-size: contain;
  }

  .topics__title {
    font-size: 3rem;
  }

  .topics-list {
    flex-direction: column;
    gap: 20px;
    align-items: center;
    margin-top: 32px;
  }

  .topics-item__text {
    font-size: 2.2rem;
  }

  .topics-item {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .topics-item__arrow {
    display: none;
  }
}

/* 導入実績 */
.section-home_case-study {
  padding: 80px 0;
}

.section-home_case-study .case-study-title.pc {
  display: flex !important;
}

.case-study-title {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-feature-settings: "pwid" on;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  position: relative;
}

.case-study-title::before {
  content: "";
  display: inline-block;
  width: 36px;
  height: 66px;
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/case-study-leaf-left.svg") no-repeat center/contain;
  margin-right: 32px;
}

.case-study-title::after {
  content: "";
  display: inline-block;
  width: 36px;
  height: 66px;
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/case-study-leaf-right.svg") no-repeat center/contain;
  margin-left: 32px;
}

.case-study-title__num {
  font-size: 3.125rem;
  margin-left: 12px;
}

.case-study-title__sub {
  /* font-size: 2.625rem; */
  margin-left: 4px;
}

@media screen and (max-width: 768px) {
  .section-home_case-study .case-study-title.pc {
    display: none !important;
  }

  .case-study-title.sp {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    position: relative;
    background: #fff;
    gap: 32px;
  }

  .case-study-title::before {
    content: none;
  }

  .case-study-title::after {
    content: none;
  }

  .case-study-title__leaf {
    display: inline-block;
    width: 36px;
    height: 66px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex-shrink: 0;
  }

  .case-study-title__leaf--left {
    background-image: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/case-study-leaf-left.svg");
  }

  .case-study-title__leaf--right {
    background-image: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/case-study-leaf-right.svg");
  }

  .case-study-title__main-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 0.1em;
  }

  .case-study-title__main {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.2;
  }

  .case-study-title__num-wrap {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    justify-content: center;
    gap: 0.3em;
  }

  .case-study-title__num {
    font-size: 3.8rem;
    margin-left: 0;
    line-height: 1;
  }

  .case-study-title__sub {
    /* font-size: 3.2rem; */
    margin-left: 0;
    line-height: 1;
  }
}

/* 企業ロゴスライダー */
.logo-slider-area {
  margin-top: 56px;
}

.section-home_case-study .loopSlide {
  height: 200px;
  overflow: hidden;
  display: flex;
}

.section-home_case-study .loopSlide img {
  height: 100%;
  width: auto !important;
  max-width: none;
  flex: 0 0 auto;
  display: block;
}

.loopSlide img:first-child {
  -webkit-animation: slide1 60s -30s linear infinite;
  animation: slide1 60s -30s linear infinite;
}

.loopSlide img:last-child {
  -webkit-animation: slide2 60s linear infinite;
  animation: slide2 60s linear infinite;
}

@-webkit-keyframes slide1 {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes slide1 {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }

  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@-webkit-keyframes slide2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}

@keyframes slide2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}

@media screen and (max-width: 834px) {
  .loopSlide {
    width: 100vw;
    height: 120px;
  }
}

/* 導入事例カードセクション */
.section-home_case-cards {
  background: #fff;
  padding-top: 48px;
}

.case-cards__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.case-cards-list-wrap {
  display: flex;
  padding: 32px;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 12px 0 rgba(204, 204, 204, 0.4);
}

.case-cards-list {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  align-items: stretch;
}

.case-card {
  display: flex;
  width: 356px;
  min-height: 416px;
  flex-direction: column;
  align-items: flex-end;
}

.case-card__img-wrap {
  width: 356px;
  height: 240px;
  border-radius: 8px;
  background: #b2b2b2;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.case-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.case-card__img-wrap {
  position: relative;
  width: 360px;
  height: 240px;
  background: #f5f5f5;
  border-radius: 8px 8px 0 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.case-card__logo-space {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 120px;
  height: 80px;
  background: #fff;
  border-radius: 8px 0 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 8px;
}

.case-card__logo-img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: auto;
}

.case-card__body {
  padding-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.case-card__company {
  color: #1a1a1a;
  font-feature-settings: "pwid" on;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
}

.case-card__desc {
  color: #1a1a1a;
  font-feature-settings: "pwid" on;
  font-size: 1rem;
  line-height: 1.6;
}

.case-card__link {
  text-decoration: none;
  margin-top: auto;
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  transition: color 0.2s;
  position: relative;
  color: #003fab;
  font-feature-settings: "pwid" on;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.case-card__link::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: -8px;
  height: 1px;
  background: #b3b3b3;
}

.case-card__link::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/arrow_right_primary.svg") no-repeat center/contain;
  margin-left: 4px;
}

.case-cards__btn-wrap {
  display: flex;
  justify-content: center;
}

.case-cards__btn {
  text-decoration: none;
  position: relative;
  display: flex;
  width: 340px;
  height: 64px;
  padding: 0 16px;
  justify-content: center;
  align-items: center;
  border-radius: 12px;
  background: #003fab;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.15);
  color: #fff;
  font-feature-settings: "pwid" on;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.case-cards__btn::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 15px;
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/arrow_right_wh.svg") no-repeat center/contain;
  margin-left: 8px;
  position: absolute;
  right: 27px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

@media screen and (min-width: 769px) and (max-width: 1199px) {
  .case-cards-list-wrap {
    padding: 24px 8px;
    gap: 24px;
    border-radius: 8px;
  }

  .case-cards-list {
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .case-card {
    width: 48%;
    min-width: 320px;
    max-width: 400px;
    margin-bottom: 24px;
  }

  .case-card__img-wrap {
    width: 100%;
    height: 180px;
  }
}

@media (max-width: 768px) {
  .case-cards-list-wrap {
    padding: 32px 20px;
    border-radius: 0;
    box-shadow: none;
  }

  .case-card__img-wrap {
    width: 350px;
    height: 240px;
  }

  .section-home_case-cards {
    padding-top: 56px;
  }

  .case-cards-list {
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }

  .case-card {
    width: 100%;
    max-width: 350px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 12px 0 rgba(204, 204, 204, 0.4);
  }

  .case-card__body {
    gap: 8px;
    padding: 16px;
  }

  .case-card__company {
    font-size: 1.4rem;
    line-height: 1.6;
  }

  .case-card__desc {
    font-size: 1.6rem;
  }

  .case-card__link-text {
    color: transparent;
  }

  .case-card__link {
    color: transparent;
  }

  .case-card__link::before {
    display: none;
  }

  .case-card__link::after {
    width: 18px;
    height: 18px;
  }

  .case-cards__btn {
    font-size: 2rem;
  }
}

/* 無料セミナー */
.section-home_seminar {
  background: linear-gradient(270deg, #e1eef7 0%, #fff 100%);
  padding: 64px 0 80px 0;
}

.seminar__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.seminar__title {
  color: #1a1a1a;
  text-align: center;
  font-feature-settings: "pwid" on;
  font-size: 3.125rem;
  font-weight: 500;
  line-height: 1.4;
  position: relative;
}

.seminar__title-line {
  display: flex;
  width: 56px;
  height: 4px;
  align-items: flex-start;
  margin: 40px auto 0 auto;
  gap: 4px;
  border-radius: 9999px;
  background: linear-gradient(90deg, #003fab 0%, #4b81c8 100%);
}

.seminar-cards-list {
  display: flex;
  gap: 28px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 96px;
}

.seminar-card {
  background: #fff;
  overflow: hidden;
  width: 380px;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 12px 0 rgba(204, 204, 204, 0.4);
  position: relative;
}

.seminar-card__img-wrap {
  position: relative;
  width: 100%;
  height: 186px;
  background: #f5f5f5;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.seminar-card__img {
  width: 100%;
  height: 100%;
  /* object-fit: contain; */
  object-fit: cover;
  display: block;
  background: #f5f5f5;
}

.seminar-card__body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.seminar-card__label {
  display: inline-flex;
  padding: 2px 12px;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  background: #003fab;
  color: #fff;
  font-feature-settings: "pwid" on;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  width: auto;
  min-width: 0;
  max-width: max-content;
}

.seminar-card__label--ended {
  background: #666;
}

.seminar-card__label--archive {
  background: #d29c08;
}

.seminar-card__title {
  color: #1a1a1a;
  font-feature-settings: "pwid" on;
  font-size: 1rem;
  font-weight: 700;
  line-height: 160%;
  margin-top: 8px;
  margin-bottom: 16px;
}

.seminar-card__info {
  gap: 8px;
  display: flex;
  flex-direction: column;
}

.seminar-card__info-row {
  display: flex;
  gap: 12px;
  font-size: 0.98rem;
}

.seminar-card__info-label {
  color: #4d4d4d;
  font-feature-settings: "pwid" on;
  font-size: 0.75rem;
  line-height: 1.2;
  display: flex;
  width: 72px;
  padding: 2px 8px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  align-self: stretch;
  background: #e6e6e6;
}

.seminar-card__info-value {
  color: #1a1a1a;
  font-feature-settings: "pwid" on;
  font-size: 0.875rem;
  line-height: 1.4;
}

.seminar-card__info-row--deadline {
  align-items: flex-start;
}

.seminar-card__info-label--deadline {
  display: flex;
  width: 72px;
  padding: 2px 8px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  align-self: stretch;
  background: #e1eef7;
  color: #4b81c8;
  font-feature-settings: "pwid" on;
  font-size: 0.75rem;
  line-height: 1.2;
}

.seminar-card__deadline-main {
  color: #1a1a1a;
  font-feature-settings: "pwid" on;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
}

.seminar-card__deadline-note {
  display: block;
  color: #4b81c8;
  font-feature-settings: "pwid" on;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 8px;
}

.seminar__btn-wrap {
  margin-top: 56px;
}

@media (max-width: 1024px) {
  .seminar-cards-list {
    gap: 28px;
  }

  .seminar-card {
    width: 100%;
    max-width: 400px;
  }
}

@media (max-width: 768px) {
  .section-home_seminar {
    padding: 120px 0 80px 0;
  }

  .seminar__inner {
    max-width: 100%;
    padding: 0 20px;
  }

  .seminar-cards-list {
    flex-direction: column;
    align-items: center;
    gap: 28px;
  }

  .seminar-card {
    width: 100%;
    max-width: 400px;
  }

  .seminar__title {
    font-size: 3.8rem;
  }

  .seminar__title-line {
    width: 28px;
    margin: 12px auto 0 auto;
  }

  .seminar-card__label {
    font-size: 1.2rem;
  }

  .seminar-card__title {
    font-size: 1.6rem;
  }

  .seminar-card__info-label {
    font-size: 1.2rem;
    width: 72px;
    padding: 4.5px;
  }

  .seminar-card__info-value {
    font-size: 1.4rem;
  }

  .seminar-card__deadline-main {
    font-size: 1.4rem;
  }

  .seminar-card__deadline-note {
    font-size: 1.2rem;
    font-weight: 400;
  }
}

/* バナーセクション */
.section-home_banner {
  width: 100%;
  background: transparent;
  display: flex;
  justify-content: center;
  margin-bottom: 56px;
}

.home-banner__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.home-banner__link {
  display: flex;
  padding: 80px 100px;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
}

.home-banner__img {
  border-radius: 12px;
}

@media (max-width: 768px) {
  .home-banner__link {
    padding: 40px 20px;
  }
}

/* CTAセクション */
.section-home_cta {
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_primary_left.png") left bottom no-repeat,
    url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_primary_right.png") right top no-repeat;
  background-color: #003fab;
  background-size: 750px 450px, 750px 450px;
  overflow: visible;
  display: flex;
  justify-content: center;
  position: relative;
}

.home-cta__inner {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  padding: 0 16px 56px;
  position: relative;
  z-index: 1;
}

.home-cta-cards {
  display: flex;
  gap: 40px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: -56px;
  z-index: 2;
  position: relative;
}

.home-cta-card {
  display: flex;
  width: 480px;
  min-height: 420px;
  padding: 40px 0 28px 0;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  border-radius: 12px;
  background: #fff;
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.15);
}

.home-cta-card__img-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 28px;
  margin-bottom: 28px;
}

.home-cta-card__img {
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(41, 73, 178, 0.06);
}

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

.home-cta-card__desc {
  color: #1a1a1a;
  text-align: center;
  font-feature-settings: "pwid" on;
  font-size: 1rem;
  line-height: 1.6;
}

.home-cta-card__btn {
  width: 380px;
}

.home-cta-card__btn--outline {
  background: #fff;
  color: #003fab;
  border: 1px solid #003fab;
}

.home-cta-card__btn--outline::after {
  background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/svg/arrow_right_bl.svg") no-repeat center/contain;
}

@media (max-width: 768px) {
  .section-home_cta {
    background: url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_primary_left_sp.png") left bottom no-repeat,
      url("https://www.skillupai.com/wp-content/themes/skillupai/assets/img/home/bg_primary_right_sp.png") right top no-repeat;
    background-size: 333px 200px, 333px 200px;
    background-color: #003fab;
    padding: 0 0 56px 0;
  }

  .home-cta__inner {
    max-width: 100%;
    padding: 0 20px 56px;
  }

  .home-cta-cards {
    gap: 24px;
    margin-top: -40px;
  }

  .home-cta-card {
    width: 100%;
    max-width: 400px;
    min-height: auto;
    padding: 32px 0 24px 0;
    gap: 16px;
  }

  .home-cta-card__img-wrap {
    margin-top: 16px;
    margin-bottom: 16px;
  }

  .home-cta-card__desc {
    font-size: 1.6rem;
  }

  .home-cta-card__btn {
    width: 300px;
    height: 56px;
    font-size: 1.6rem;
  }
}

/* フッター */
/* footer.footer {
  background: #f7f7f7;
  padding: 0;
  border-top: none;
}

.footer__inner {
  max-width: 1360px;
  margin: 0 auto;
  padding: 24px 20px 0;
  background: #fff;
}

.footer__logo-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 12px 0;
  border-bottom: 1px solid #b3b3b3;
}

.footer .footer__logo {
  width: 160px;
  height: auto;
  display: block;
  margin: 0;
}

.footer .footer__links {
  width: 100%;
  padding: 12px 0 0 0;
}

.footer .footer__links ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0 32px;
}

.footer .footer__links ul li {
  position: relative;
}

.footer .footer__links ul li:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 12px;
  border-radius: 9999px;
  background: #b3b3b3;
  margin: 0 12px;
  vertical-align: middle;
}

.footer .footer__links ul li a {
  color: #1a1a1a;
  font-feature-settings: "pwid" on;
  font-size: 0.875rem;
  line-height: 1.4;
ｍｍ}

.footer .footer__links ul li a:hover {
  color: #003fab;
}

.footer .footer__copyright {
  text-align: center;
  padding: 40px 0 32px 0;
  color: #4d4d4d;
  font-feature-settings: "pwid" on;
  font-size: 0.75rem;
  line-height: 1.2;
} */

/* @media (max-width: 768px) {
  .footer__inner {
    padding: 40px 0 0 0;
  }

  .footer__logo-wrap {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
  }

  .footer__logo-wrap {
    border-bottom: none;
    padding-bottom: 28px;
  }

  .footer__links ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 16px 0;
    gap: 12px;
  }

  .footer__links ul li {
    margin: 0;
    padding: 0;
    text-align: center;
    width: 100%;
  }

  .footer .footer__links ul li a {
    display: inline-block;
    font-size: 1.2rem;
  }

  .footer .footer__links ul li:not(:last-child)::after {
    display: none;
  }

  .footer .footer__copyright {
    padding: 56px 0 40px 0;
    font-size: 1.2rem;
  }
} */

/*202510TOP要素追加井上*/

.fv-textarea {
  width: 472px;
  padding: 20px 30px;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.15);
  position: absolute;
  bottom: 10%;
  right: 12%;
  z-index: 999;
}

.fv-textarea-item {
  display: flex;
  gap: 15px;
}

.fv-textarea-item-left {
  flex: 1;
}

.fv-textarea-item-ttl {
  font-size: 12px;
  font-weight: 500;
  color: #003fab;
  margin-top: 2px;
}

.fv-textarea-item-text {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
}

.fv-textarea-item-text a {
  color: #1a1a1a;
}
.fv-textarea-item-text a:hover {
  opacity: 0.8;
}

.fv-textarea-item-right {
  width: 170px;
}

@media (max-width: 1024px) {
  .fv-textarea {
    width: 360px;
    right: 3%;
  }

  .fv-textarea-item {
    gap: 5px;
  }

  .fv-textarea-item-ttl {
    font-size: 12px;
  }

  .fv-textarea-item-right {
    width: 130px;
  }
}

@media (max-width: 576px) {
  .fv-textarea {
    width: 95%;
    position: absolute;
    bottom: 17%;
    padding: 20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }

  .fv-textarea-item {
    width: auto;
    border: none;
    padding: 0;
  }

  .fv-textarea-item-ttl {
    font-size: 11px;
  }

  .fv-textarea-item-text {
    font-size: 12px;
  }

  .fv-textarea-item-right {
    width: 130px;
  }

  .section-home_hero {
    margin-top: 0;
  }
}

/* ---- 新デザイン（旧 index-202608.css） ---- */

:root {
      --gold: #d29c09;
      --gold-light: #e3b552;
      --gold-pale: rgba(210,156,9,0.12);
      --dark: #1a1a1a;
      --dark-2: #111111;
      --text: #444444;
      --text-light: #777777;
      --white: #ffffff;
      --bg-gray: #f8f8f5;
      --max-w: 1200px;
      --section-py: 100px;
      --radius: 8px;
      --shadow: 0 4px 24px rgba(0,0,0,0.08);
      --transition: 0.3s ease;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Noto Sans JP', sans-serif;
      color: var(--text);
      line-height: 1.75;
      background: var(--white);
    }
    img { max-width: 100%; height: auto; display: block; }
    a { color: inherit; text-decoration: none; }
.fade-up {
      opacity: 0;
      transform: translateY(40px);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }
    .fade-up.visible { opacity: 1; transform: translateY(0); }

    .fade-left {
      opacity: 0;
      transform: translateX(-40px);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }
    .fade-left.visible { opacity: 1; transform: translateX(0); }

    .fade-right {
      opacity: 0;
      transform: translateX(40px);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }
    .fade-right.visible { opacity: 1; transform: translateX(0); }

    .delay-1 { transition-delay: 0.1s; }
    .delay-2 { transition-delay: 0.2s; }
    .delay-3 { transition-delay: 0.3s; }
    .delay-4 { transition-delay: 0.4s; }
.section {
      padding: var(--section-py) 20px;
    }
    .section--gray {
      background: var(--bg-gray);
    }
    .inner {
      max-width: var(--max-w);
      margin: 0 auto;
    }
    .section-label {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 11px;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--text-light);
      margin-bottom: 12px;
    }
    .section-title {
      font-size: clamp(28px, 3vw, 42px);
      font-weight: 700;
      line-height: 1.3;
      margin-bottom: 20px;
      color: var(--dark);
    }
    .section--dark .section-title { color: var(--white); }
    .section-desc {
      font-size: 16px;
      color: var(--text-light);
      max-width: 800px;
      line-height: 1.9;
      margin: 0 auto;
      text-align: center;
    }
    .section--dark .section-desc { color: rgba(255,255,255,0.7); }

#hero {
      position: relative;
      width: 100%;
      height: 100vh;
      min-height: 600px;
      overflow: hidden;
      margin-top: 0;
    }
    .hero-slides {
      position: absolute;
      inset: 0;
    }
    .hero-slide {
      position: absolute;
      inset: 0;
      opacity: 0;
      transition: opacity 1.2s ease;
    }
    .hero-slide.active { opacity: 1; }
    .hero-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
    .hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.32) 40%, rgba(0,0,0,0.28) 70%, rgba(0,0,0,0.32) 100%);
    }

    .hero-wm-cover {
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 80% 60% at 65% 50%, rgba(0,0,0,0.18) 0%, transparent 100%);
      pointer-events: none;
    }
    .hero-content {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 0 40px;
      padding-top: 60px;
    }
    .hero-title {
      font-size: clamp(30px, 4.2vw, 56px);
      font-weight: 700;
      color: var(--white);
      line-height: 1.4;
      margin-bottom: 24px;
      max-width: none;
    }
    .hero-title span {
      color: #ffffff;
    }
    .hero-subtitle {
      font-size: clamp(13px, 1.4vw, 17px);
      color: rgba(255,255,255,0.85);
      margin-bottom: 48px;
      white-space: nowrap;
      line-height: 1.9;
    }
    .hero-btns {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
      justify-content: center;
    }
    .btn-hero {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      font-weight: 700;
      padding: 16px 80px;
      border-radius: 4px;
      transition: all var(--transition);
    }
    .btn-hero--primary {
      background: linear-gradient(135deg, #003fab 0%, #2b7fff 100%);
      color: #ffffff;
    }
    .btn-hero--primary:hover {
      background: linear-gradient(135deg, #002d8a 0%, #1a6be0 100%);
      transform: translateY(-2px);
    }

    .hero-dots {
      position: absolute;
      bottom: 40px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 8px;
    }
    .hero-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: rgba(255,255,255,0.4);
      cursor: pointer;
      transition: all var(--transition);
      border: none;
    }
    .hero-dot.active {
      background: #ffffff;
      width: 24px;
      border-radius: 4px;
    }

    .hero-banner {
      position: absolute;
      bottom: 32px;
      right: 40px;
      width: 360px;
      background: rgba(255,255,255,0.85);
      border-radius: 6px;
      box-shadow: 0 4px 24px rgba(0,0,0,0.22);
      overflow: hidden;
      z-index: 10;
      backdrop-filter: blur(4px);
    }
    .hero-banner-link {
      display: flex;
      align-items: stretch;
      text-decoration: none;
      transition: background var(--transition);
    }
    .hero-banner-link:hover { background: #fff; }
    .hero-banner-body {
      flex: 1;
      padding: 14px 16px;
    }
    .hero-banner-cat {
      display: inline-block;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.06em;
      color: #003fab;
      margin-bottom: 7px;
    }
    .hero-banner-title {
      font-size: 12.5px;
      font-weight: 600;
      line-height: 1.55;
      color: var(--dark);
    }
    .hero-banner-thumb {
      width: 100px;
      flex-shrink: 0;
      align-self: stretch;
      overflow: hidden;
      padding: 8px 12px 8px 0;
    }
    .hero-banner-thumb img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
      border-radius: 4px;
    }
#news {
      background: var(--white);
      padding: 56px 20px;
    }
    .news-inner {
      max-width: var(--max-w);
      margin: 0 auto;
    }
    .news-inner-header {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      margin-bottom: 28px;
    }
    .news-inner-header__title {
      font-family: 'Fjalla One', sans-serif;
      font-size: 36px;
      color: var(--dark);
      line-height: 1;
    }
    .news-all-link {
      font-size: 12px;
      font-weight: 700;
      color: #003fab;
      display: flex;
      align-items: center;
      gap: 6px;
      text-decoration: none;
      transition: gap var(--transition);
    }
    .news-all-link:hover { gap: 10px; }
    .news-cards {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }
    .news-card {
      background: var(--white);
      border-radius: var(--radius);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      text-decoration: none;
      color: inherit;
      transition: box-shadow var(--transition), transform var(--transition);
      border: 1px solid rgba(0,0,0,0.08);
    }
    .news-card:hover {
      box-shadow: 0 6px 24px rgba(0,0,0,0.09);
      transform: translateY(-3px);
    }
    .news-card__img {
      width: 100%;
      aspect-ratio: 16/9;
      background: #e8e8e8;
      display: block;
      object-fit: cover;
    }
    .news-card__body {
      padding: 20px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      flex: 1;
    }
    .news-card__meta {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .news-card__date {
      font-size: 11px;
      color: var(--text-light);
      font-family: 'Noto Sans JP', sans-serif;
      letter-spacing: 0.05em;
    }
    .news-card__cat {
      font-size: 10px;
      font-weight: 700;
      color: var(--text-light);
      background: #f0f0f0;
      padding: 1px 8px;
    }
    .news-card__title {
      font-size: 14px;
      font-weight: 600;
      color: var(--dark);
      line-height: 1.65;
      flex: 1;
    }
#feature {
      padding: var(--section-py) 20px;
    }
    .feature-inner {
      max-width: var(--max-w);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center;
    }
    .feature-title {
      font-size: clamp(26px, 3vw, 40px);
      font-weight: 700;
      line-height: 1.3;
      color: var(--dark);
      margin-bottom: 24px;
    }
    .feature-text {
      font-size: 15px;
      color: var(--text-light);
      line-height: 2;
      margin-bottom: 36px;
    }
    .feature-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 14px;
      font-weight: 700;
      color: #003fab;
      border-bottom: 1px solid #003fab;
      padding-bottom: 2px;
      transition: gap var(--transition);
    }
    .feature-link:hover { gap: 14px; }
    .feature-image {
      border-radius: 12px;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .feature-image img {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 12px;
    }
#achievements {
      padding: 0;
      background: var(--white);
      overflow: hidden;
      border-top: 1px solid rgba(0,0,0,0.06);
      border-bottom: 1px solid rgba(0,0,0,0.06);
    }
    .achievements-inner {
      max-width: var(--max-w);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 240px 1fr;
      min-height: 200px;
    }
    .achievements-label-box {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 28px 32px;
      border-right: 1px solid rgba(0,0,0,0.06);
    }
    .achievements-num {
      font-family: 'Fjalla One', sans-serif;
      font-size: 36px;
      color: var(--dark);
      line-height: 1;
      margin-bottom: 4px;
      display: flex;
      align-items: baseline;
      gap: 1px;
    }
    .achievements-num__main {
      font-size: 1.2em;
    }
    .achievements-num__small {
      font-size: 0.65em;
    }
    .achievements-num-label {
      font-size: 22px;
      font-weight: 700;
      color: var(--dark);
      letter-spacing: 0.05em;
    }
    .logo-slider-wrap {
      overflow: hidden;
      mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 0;
      padding: 16px 0;
    }
    .logo-slider-row {
      height: 200px;
      background-image: url('https://www.skillupai.com/assets/images/202608/logo-area.png');
      background-repeat: repeat-x;
      background-size: auto 184px;
      background-position: 0 center;
    }
    .logo-slider-row:nth-child(1) { animation: logoScroll 35s linear infinite; }
    .logo-slider-row:nth-child(2) { animation: logoScrollReverse 35s linear infinite; }
    @keyframes logoScroll {
      from { background-position-x: 0; }
      to { background-position-x: -2000px; }
    }
    @keyframes logoScrollReverse {
      from { background-position-x: 0; }
      to { background-position-x: 2000px; }
    }
#services {
      padding: var(--section-py) 20px var(--section-py);
      background: var(--white);
    }

    .sv-bg {
      position: absolute;
      inset: 0;
      background-size: cover;
      background-position: center;
      opacity: 0;
      transition: opacity 0.65s ease;
    }
    .sv-bg.active { opacity: 1; }
    .sv-title.active .sv-title__num { color: var(--gold-light); }
    .sv-title.active .sv-title__dot { opacity: 1; }
    .sv-title.active .sv-title__text,
    .sv-title:hover .sv-title__text { color: var(--white); }
    .sv-title.active .sv-title__text { font-size: clamp(26px, 3.2vw, 44px); }
    .sv-title.active .sv-title__desc {
      color: rgba(255,255,255,0.65);
      max-height: 60px;
      margin-top: 6px;
    }
    .sv-title.active .sv-title__arrow { opacity: 1; }
#services {
      padding: var(--section-py) 20px;
      background: var(--white);
    }
    #training {
      padding: var(--section-py) 20px 20px;
    }
    #retention {
      padding: 20px 20px var(--section-py);
    }
    .training-header {
      max-width: var(--max-w);
      margin: 0 auto 56px;
      text-align: center;
    }

    .training-group {
      max-width: var(--max-w);
      margin: 0 auto;
    }
    .training-group + .training-group {
      margin-top: 64px;
    }
    .training-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }
    .training-grid--three {
      grid-template-columns: repeat(3, 1fr);
      max-width: 895px;
      margin: 0 auto;
    }
    .training-card {
      background: var(--white);
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: var(--shadow);
      transition: transform var(--transition), box-shadow var(--transition);
      display: flex;
      flex-direction: column;
      text-decoration: none;
      color: inherit;
    }
    .training-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 12px 40px rgba(0,0,0,0.12);
    }
    .training-card__img {
      width: 100%;
      aspect-ratio: 16/10;
      object-fit: cover;
      display: block;
    }
    .training-card__body {
      padding: 20px;
      flex: 1;
    }
    .training-card__title {
      font-size: 15px;
      font-weight: 700;
      color: var(--dark);
      line-height: 1.4;
      margin-bottom: 8px;
    }
    .training-card__text {
      font-size: 13px;
      color: var(--dark);
      line-height: 1.8;
    }
    .training-card--dark .training-card__title { color: var(--white); }
    .training-card--dark .training-card__text { color: rgba(255,255,255,0.6); }
#why {
      padding: var(--section-py) 20px;
      background: linear-gradient(135deg, #003fab 0%, #0055d4 55%, #1a7fff 100%);
    }
    .why-header {
      max-width: var(--max-w);
      margin: 0 auto 72px;
      text-align: center;
    }
    .why-header .section-label {
      display: block;
      text-align: center;
      margin-bottom: 16px;
    }
    .why-header .section-title {
      color: var(--white);
    }

    .why-metrics {
      max-width: var(--max-w);
      margin: 0 auto 64px;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1px;
      background: rgba(255,255,255,0.1);
    }
    .why-metric {
      padding: 40px 24px;
      background: rgba(0,0,0,0.2);
      text-align: center;
    }
    .why-metric__num {
      font-family: 'Fjalla One', sans-serif;
      font-size: clamp(32px, 3.5vw, 52px);
      background: linear-gradient(135deg, #fff0a0 0%, #e3b552 50%, #a87200 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      line-height: 1;
      margin-bottom: 8px;
    }
    .why-metric__label {
      font-size: 13px;
      color: rgba(255,255,255,0.6);
      line-height: 1.5;
    }
    .why-metric__note {
      display: block;
      margin-top: 6px;
      font-size: 10px;
      color: rgba(255,255,255,0.35);
      line-height: 1.6;
    }

    .why-points {
      max-width: var(--max-w);
      margin: 0 auto 56px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }
    .why-point {
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 12px;
      overflow: hidden;
      text-align: left;
    }
    .why-point__img {
      width: 100%;
      aspect-ratio: 840 / 460;
      object-fit: cover;
      display: block;
    }
    .why-point__body {
      padding: 28px 28px 32px;
    }
    .why-point__num {
      font-family: 'Fjalla One', sans-serif;
      font-size: 28px;
      color: rgba(255,255,255,0.35);
      line-height: 1;
      margin-bottom: 12px;
    }
    .why-point__title {
      font-size: 16px;
      font-weight: 700;
      color: var(--white);
      line-height: 1.6;
      margin-bottom: 12px;
    }
    .why-point__text {
      font-size: 13px;
      line-height: 1.85;
      color: rgba(255,255,255,0.7);
    }

    .why-certs {
      max-width: var(--max-w);
      margin: 0 auto 56px;
      display: flex;
      gap: 16px;
      justify-content: center;
      flex-wrap: wrap;
    }
    .why-cert {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: clamp(18px, 1.8vw, 24px);
      font-weight: 700;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 12px;
      padding: 32px 40px;
      color: rgba(255,255,255,0.95);
      line-height: 1.6;
      flex: 1;
      min-width: 300px;
      justify-content: center;
      text-align: center;
    }

    .why-industries {
      max-width: var(--max-w);
      margin: 0 auto;
      text-align: center;
    }
    .why-industries__label {
      font-size: 11px;
      letter-spacing: 0.12em;
      color: rgba(255,255,255,0.45);
      text-transform: uppercase;
      margin-bottom: 20px;
    }
    .why-industry-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: center;
    }
    .why-industry-tag {
      font-size: 13px;
      color: rgba(255,255,255,0.75);
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 100px;
      padding: 6px 16px;
    }
#cta {
      padding: var(--section-py) 20px;
      background: var(--white);
    }
    .cta-inner {
      max-width: var(--max-w);
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
    }
    .cta-card {
      position: relative;
      border-radius: 12px;
      overflow: hidden;
      min-height: 280px;
      display: flex;
      align-items: flex-end;
    }
    .cta-card__bg {
      position: absolute;
      inset: 0;
    }
    .cta-card__bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .cta-card__overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
    }
    .cta-card__body {
      position: relative;
      padding: 36px;
      width: 100%;
    }
    .cta-card__label {
      font-size: 11px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--gold-light);
      margin-bottom: 10px;
    }
    .cta-card__title {
      font-size: 22px;
      font-weight: 700;
      color: var(--white);
      margin-bottom: 20px;
    }
    .btn-cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      font-weight: 700;
      padding: 12px 28px;
      border-radius: 4px;
      background: var(--white);
      color: var(--dark);
      transition: all var(--transition);
    }
    .btn-cta:hover {
      background: var(--gold);
      color: var(--white);
    }
#success {
      padding: var(--section-py) 20px;
      background: var(--bg-gray);
    }
    .success-header {
      max-width: var(--max-w);
      margin: 0 auto 56px;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
    }
    .success-link-all {
      font-size: 13px;
      font-weight: 700;
      color: #003fab;
      display: flex;
      align-items: center;
      gap: 6px;
      border-bottom: 1px solid #003fab;
      padding-bottom: 2px;
      transition: gap var(--transition);
    }
    .success-link-all:hover { gap: 12px; }
    .success-grid {
      max-width: var(--max-w);
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }
    .success-card {
      background: var(--white);
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: var(--shadow);
      transition: transform var(--transition);
    }
    .success-card:hover { transform: translateY(-4px); }
    .success-card__img {
      width: 100%;
      aspect-ratio: 16/9;
      object-fit: cover;
    }
    .success-card__body {
      padding: 24px;
      text-align: center;
    }
    .success-card__logo {
      height: 50px;
      width: auto;
      margin-top: 8px;
      margin-bottom: 20px;
    }
    .success-card__company {
      font-size: 16px;
      color: var(--dark);
      font-weight: 700;
      border-top: 1px solid #e5e7eb;
      padding-top: 16px;
      margin-bottom: 10px;
    }
    .success-card__title {
      font-size: 12px;
      font-weight: 600;
      color: var(--text-light);
      line-height: 1.5;
    }
#events {
      padding: var(--section-py) 20px;
      background: var(--white);
    }
    .events-header {
      max-width: var(--max-w);
      margin: 0 auto 48px;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
    }

    .seminar-grid {
      max-width: var(--max-w);
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
    }
    .seminar-card {
      background: var(--white);
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: var(--shadow);
      transition: transform var(--transition), box-shadow var(--transition);
      display: flex;
      flex-direction: column;
      text-decoration: none;
      color: inherit;
    }
    .seminar-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 12px 40px rgba(0,0,0,0.12);
    }
    .seminar-card__img {
      width: 100%;
      height: auto;
      aspect-ratio: 1920 / 940;
      object-fit: cover;
      display: block;
    }
    .seminar-card__body {
      padding: 20px;
      flex: 1;
      display: flex;
      flex-direction: column;
    }
    .seminar-card__status {
      display: inline-block;
      font-size: 11px;
      font-weight: 700;
      padding: 3px 10px;
      border-radius: 2px;
      margin-bottom: 12px;
      align-self: flex-start;
    }
    .seminar-card__status--open {
      background: #003fab;
      color: #ffffff;
    }
    .seminar-card__status--closed {
      background: rgba(0,0,0,0.06);
      color: var(--text-light);
    }
    .seminar-card__title {
      font-size: 14px;
      font-weight: 700;
      color: var(--dark);
      line-height: 1.55;
      margin-bottom: 14px;
    }
    .seminar-card__meta {
      margin-top: auto;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .seminar-card__meta-item {
      display: flex;
      gap: 8px;
      font-size: 12px;
      color: var(--text);
    }
    .seminar-card__meta-label {
      color: var(--text-light);
      flex-shrink: 0;
      min-width: 56px;
    }
#personal {
      padding: var(--section-py) 20px;
    }
    .personal-banner {
      display: block;
      max-width: var(--max-w);
      margin: 0 auto;
      border-radius: var(--radius);
      overflow: hidden;
    }
    .personal-banner img {
      width: 100%;
      height: auto;
      display: block;
    }

@media (max-width: 1024px) {
      .feature-inner { grid-template-columns: 1fr; gap: 48px; }
      .services-tabs { width: 320px; }
      .why-metrics { grid-template-columns: repeat(2, 1fr); }
      .why-points { grid-template-columns: 1fr; }
      .training-grid { grid-template-columns: repeat(2, 1fr); }
      .hero-dots { display: none; }
    }

    @media (max-width: 768px) {
      :root { --section-py: 64px; }
      .header-nav { display: none; }
      .header-hamburger { display: flex; position: fixed; top: 10px; right: 16px; z-index: 1100; }

      .news-cards { grid-template-columns: 1fr; }
      .news-card__meta { flex-direction: column; align-items: flex-start; gap: 3px; }

      .achievements-inner { grid-template-columns: 1fr; }
      .achievements-label-box { border-right: none; border-bottom: 1px solid rgba(0,0,0,0.06); padding: 20px 24px; }

      #retention .training-card { grid-column: auto !important; }
      #setup-platform .training-card { grid-column: auto !important; }
      .hero-content { padding: 0 24px; padding-top: 60px; }
      .hero-subtitle { white-space: normal; }
      .hero-dots { display: none; }
      .hero-banner { right: 50%; transform: translateX(50%); width: calc(100% - 32px); max-width: 360px; }
      .cta-inner { grid-template-columns: 1fr; }
      .success-grid { grid-template-columns: 1fr; }
      .training-grid { grid-template-columns: 1fr; }
      .success-header, .events-header { flex-direction: column; align-items: flex-start; gap: 16px; }
      .why-metrics { grid-template-columns: repeat(2, 1fr); }
      .seminar-grid { grid-template-columns: 1fr; }
    }
