/* GX検定スケジュールカード */
.gx-wrapper .gx-top .top-schedule .panel-area .panel {
  display: none;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.gx-wrapper .gx-top .top-schedule .panel-area .panel.active {
  display: block;
}

.gx-wrapper .gx-top .top-schedule .panel-area .panel .image {
  display: none;
}

.gx-wrapper .gx-top .top-schedule .panel-area .panel .text-container {
  display: none;
}

.gx-wrapper .gx-top .top-schedule .tab-container {
  overflow: visible;
}

.gx-wrapper .gx-top .top-schedule .tab-area {
  z-index: 20;
}

.gx-wrapper .gx-top .top-schedule .tab-area .tab {
  z-index: 30;
}

.gx-wrapper .gx-top .top-schedule .tab-area .tab::before {
  z-index: 29;
}

.gx-wrapper .gx-top .top-schedule .panel-area {
  position: relative;
  z-index: 1;
}

.gx-wrapper .gx-top .top-schedule .slider-container .slide-image {
  display: none;
}

.gx-wrapper .gx-top .top-schedule .slider-container .text-container {
  display: none;
}

.c-gxScheduleCard {
  opacity: 0;
  transition: opacity 0.2s ease;
}

.c-gxScheduleCard.is-ready {
  opacity: 1;
}

.c-gxScheduleCard__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 24px;

  border: 4px solid var(--gx-schedule-outline-color, var(--gx-schedule-color, #1b7c3b));
  border-radius: 8px;
  background: #fff;
  overflow: visible;
  width: 100%;
}

.c-gxScheduleCard__head {
  position: relative;
  display: flex;
  max-width: 1103px;
  align-items: flex-start;
  gap: 68px;
  padding: 0;
  border-bottom: none;
  width: 100%;
}

.c-gxScheduleCard__titleBox {
  display: flex;
  width: 256px;
  padding: 32px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  align-self: stretch;

  background: var(--gx-schedule-title-bg, #d0e7d3);
  border-radius: 0;
  text-align: center;
  box-sizing: border-box;
}

.c-gxScheduleCard--advanced {
  --gx-schedule-color: #015389;
  --gx-schedule-title-bg: #d5f0ff;
  --gx-schedule-divider-color: #d5f0ff;
  --gx-schedule-application-bg: #f5fcff;
  --gx-schedule-button-bg: #015389;
  --gx-schedule-button-bg-hover: #013a5f;
}

.c-gxScheduleCard--specialist {
  --gx-schedule-color: #8f2f7b;
  --gx-schedule-title-bg: #f1d6ec;
  --gx-schedule-divider-color: #f1d6ec;
  --gx-schedule-label-bg: #69225a;
  --gx-schedule-application-bg: #fffafe;
  --gx-schedule-button-bg: #8f2f7b;
  --gx-schedule-button-bg-hover: #69225a;
}

.c-gxScheduleCard--biz {
  --gx-schedule-color: #00bdd7;
  --gx-schedule-title-bg: #cafaf7;
  --gx-schedule-divider-color: #cafaf7;
  --gx-schedule-label-color: #0094a8;
  --gx-schedule-link-color: #0094a8;
  --gx-schedule-undecided-color: #0094a8;
  --gx-schedule-button-bg: #00bdd7;
  --gx-schedule-button-bg-hover: #00616e;
}

.c-gxScheduleCard__levelLabel {
  color: #242424;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  margin: 0;
}

.c-gxScheduleCard__roundTitle {
  font-size: 24px;
  font-weight: 900;
  line-height: 1.5;
  margin: 0;
  color: var(--gx-schedule-color, #1b7c3b);
}

.c-gxScheduleCard__head--undecided {
  align-items: stretch;
  gap: 68px;
}

.c-gxScheduleCard__levelBadge {
  display: flex;
  width: 256px;
  padding: 32px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  align-self: stretch;
  background: var(--gx-schedule-title-bg, #d0e7d3);
  box-sizing: border-box;
}

.c-gxScheduleCard__undecidedTitle {
  display: flex;
  align-items: center;
  flex: 1 0 0;
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  font-feature-settings: "pwid";
  color: var(--gx-schedule-undecided-color, var(--gx-schedule-color, #1b7c3b));
}

.c-gxScheduleCard__dates {
  display: flex;
  padding-top: 12px;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  flex: 1 0 0;
}

.c-gxScheduleCard__dateRow {
  display: flex;
  padding-left: 12px;
  align-items: flex-start;
  gap: 24px;
  align-self: stretch;
}

.c-gxScheduleCard__dateRow--exam .c-gxScheduleCard__dateValue {
  flex: 1 1 auto;
  min-width: 0;
}

.c-gxScheduleCard__examPeriod {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.c-gxScheduleCard__dateBlock {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.c-gxScheduleCard__dateYear {
  color: #242424;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  font-feature-settings: "pwid";
}

.c-gxScheduleCard__dateMain {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.c-gxScheduleCard__dateMeta {
  display: flex;
  padding-bottom: 4px;
  align-items: center;
  gap: 8px;
}

.c-gxScheduleCard__dateDay {
  color: #242424;
  font-size: 40px;
  font-weight: 900;
  line-height: 1;
  font-feature-settings: "pwid";
}

.c-gxScheduleCard__dateWeekday {
  display: flex;
  width: 20px;
  height: 20px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  box-sizing: border-box;
  border: 1px solid #696969;
  color: #242424;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  font-feature-settings: "pwid";
}

.c-gxScheduleCard__dateTime {
  color: #242424;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  font-feature-settings: "pwid";
}

.c-gxScheduleCard__dateSep {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  align-self: stretch;
  width: 28px;
  padding: 4px 0;
  box-sizing: border-box;
  flex-shrink: 0;
  color: #242424;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}

.c-gxScheduleCard__dateRow--application {
  padding: 12px;
  align-items: center;
  background: var(--gx-schedule-application-bg, #f4f9f5);
  border-radius: 0;
}

.c-gxScheduleCard__dateRow--application .c-gxScheduleCard__dateValue {
  color: #242424;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  font-feature-settings: "pwid";
}

.c-gxScheduleCard__dateLabel {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
  padding: 4px 12px;
  background: var(--gx-schedule-label-bg, var(--gx-schedule-color, #1b7c3b));
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  font-feature-settings: "pwid";
  text-align: center;
  border-radius: 0;
}

.c-gxScheduleCard__dateValue {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.c-gxScheduleCard__badge {
  position: absolute;
  right: -0.5px;
  top: -25px;
  width: 73px;
  height: 109px;
  aspect-ratio: 73 / 109;
  flex-shrink: 0;
}

.c-gxScheduleCard__badge img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c-gxScheduleCard__content {
  display: flex;
  padding: 8px 20px;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  align-self: stretch;
  width: 100%;
  box-sizing: border-box;
}

.c-gxScheduleCard__body {
  padding: 0;
  width: 100%;
}

.c-gxScheduleCard__detailsGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 32px;
}

.c-gxScheduleCard__details {
  margin: 0;
}

.c-gxScheduleCard__detailRow {
  display: flex;
  padding: 8px 0;
  align-items: center;
  gap: 12px;
  align-self: stretch;
  border-bottom: 1px solid var(--gx-schedule-divider-color, #d0e7d3);
  margin: 0;
}

.c-gxScheduleCard__details:first-child .c-gxScheduleCard__detailRow:last-child {
  border-bottom: none;
}

.c-gxScheduleCard__detailRow dt {
  flex: 0 0 100px;
  width: 100px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  font-feature-settings: "pwid";
  color: var(--gx-schedule-label-color, var(--gx-schedule-color, #1b7c3b));
  margin: 0;
}

.c-gxScheduleCard__detailRow dd {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  color: #242424;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  font-feature-settings: "pwid";
  margin: 0;
}

.c-gxScheduleCard__valueLine {
  flex: 1 0 0;
}

.c-gxScheduleCard__valueParen {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  font-feature-settings: "pwid";
  color: #242424;
}

.c-gxScheduleCard__valueLink {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  font-feature-settings: "pwid";
  color: var(--gx-schedule-link-color, var(--gx-schedule-label-color, var(--gx-schedule-color, #1b7c3b)));
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-underline-position: from-font;
}

.c-gxScheduleCard__detailRow dd a {
  color: var(--gx-schedule-link-color, var(--gx-schedule-label-color, var(--gx-schedule-color, #1b7c3b)));
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-underline-position: from-font;
}

.c-gxScheduleCard__detailRow dd a:hover,
.c-gxScheduleCard__valueLink:hover {
  opacity: 0.85;
}

.c-gxScheduleCard__note {
  display: block;
  margin: 0;
  color: var(--gx-schedule-color, #1b7c3b);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  font-feature-settings: "pwid";
}

.c-gxScheduleCard__actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0;
  width: 100%;
  gap: 0;
}

.c-gxScheduleCard__button a {
  position: relative;
  display: flex;
  width: 448px;
  height: 60px;
  padding: 0 20px;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  border-radius: 9999px;
  background: var(--gx-schedule-button-bg, var(--gx-schedule-color, #1b7c3b));
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.4px;
  font-feature-settings: "pwid";
  text-decoration: none;
  transition: all 0.3s ease-out;
}

.c-gxScheduleCard__buttonLabel--detail {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.c-gxScheduleCard__buttonLabel--detail > span {
  white-space: nowrap;
}

.c-gxScheduleCard__button .icon {
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.3s ease-out;
}

@media (hover: hover) {
  .c-gxScheduleCard__button a:hover {
    background: var(--gx-schedule-button-bg-hover, var(--gx-schedule-button-bg, var(--gx-schedule-color, #1b7c3b)));
  }

  .c-gxScheduleCard__button a:hover .icon {
    transform: translateX(4px);
  }
}

.c-gxScheduleCard__button .icon img {
  display: block;
  width: 24px;
  height: 24px;
}

/* タブレット幅: PCレイアウト維持しつつ日付エリアを調整 */
@media (max-width: 1100px) {
  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__head {
    gap: 32px;
    padding-right: 80px;
    box-sizing: border-box;
  }

  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__titleBox {
    width: 200px;
    padding: 24px 16px;
  }

  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__roundTitle {
    font-size: 20px;
  }

  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__dateRow {
    gap: 16px;
  }

  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__dateDay {
    font-size: 32px;
  }

  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__dateTime {
    font-size: 16px;
  }

  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__dateSep {
    width: 20px;
    font-size: 22px;
  }

  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__dateRow--application .c-gxScheduleCard__dateValue {
    font-size: 16px;
  }
}

@media (max-width: 960px) {
  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__head {
    gap: 24px;
    padding-right: 72px;
  }

  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__titleBox {
    width: 168px;
    padding: 20px 12px;
  }

  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__examPeriod {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__dateSep {
    align-self: flex-start;
    width: auto;
    height: auto;
    padding: 0;
    font-size: 18px;
    line-height: 1;
  }

  .c-gxScheduleCard:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__detailsGrid {
    gap: 0 20px;
  }
}

.c-gxScheduleCard--basic {
  --gx-schedule-color: #1b7c3b;
  --gx-schedule-title-bg: #d0e7d3;
  --gx-schedule-outline-color: #65A078;
  --gx-schedule-divider-color: #d0e7d3;
  --gx-schedule-application-bg: #f4f9f5;
  --gx-schedule-button-bg: #1b7c3b;
  --gx-schedule-button-bg-hover: #135629;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__inner {
  display: flex;
  padding: 16px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  align-self: stretch;
  box-sizing: border-box;
  border: none;
  outline: 2px solid var(--gx-schedule-outline-color, var(--gx-schedule-color, #1b7c3b));
  outline-offset: 0;
  border-radius: 8px;
  overflow: visible;
  height: auto;
  min-height: 0;
  background-clip: padding-box;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  width: 100%;
  padding: 0;
  gap: 20px;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__head--undecided {
  gap: 20px;
  padding: 0;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__levelBadge {
  display: flex;
  width: 100%;
  padding: 8px 20px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  box-sizing: border-box;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__undecidedTitle {
  justify-content: center;
  align-self: stretch;
  padding: 0;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
  font-feature-settings: "pwid";
}

.c-gxScheduleCard--sp .c-gxScheduleCard__titleBox {
  display: flex;
  width: 100%;
  margin-bottom: 0;
  padding: 8px 20px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  gap: 4px;
  text-align: center;
  box-sizing: border-box;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__levelLabel {
  color: #242424;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  font-feature-settings: "pwid";
}

.c-gxScheduleCard--sp .c-gxScheduleCard__roundTitle {
  color: var(--gx-schedule-color, #1b7c3b);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
  font-feature-settings: "pwid";
}

.c-gxScheduleCard--sp .c-gxScheduleCard__dates {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-self: stretch;
  width: 100%;
  padding: 0;
  gap: 20px;
  box-sizing: border-box;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__dateRow {
  flex-direction: column;
  align-self: stretch;
  gap: 8px;
  padding: 0;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__dateRow--exam {
  align-items: flex-start;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__dateRow--exam .c-gxScheduleCard__dateLabel,
.c-gxScheduleCard--sp .c-gxScheduleCard__dateRow--application .c-gxScheduleCard__dateLabel {
  display: flex;
  padding: 4px 12px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  font-feature-settings: "pwid";
}

.c-gxScheduleCard--sp .c-gxScheduleCard__dateRow--exam .c-gxScheduleCard__dateValue {
  align-self: stretch;
  width: 100%;
  padding: 0;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__examPeriodSp {
  display: flex;
  padding: 0 12px;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  box-sizing: border-box;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__examDateLine {
  margin: 0;
  line-height: 1;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__examDateDay,
.c-gxScheduleCard--sp .c-gxScheduleCard__examDateMeta {
  color: #242424;
  font-weight: 700;
  line-height: 1;
  font-feature-settings: "pwid";
}

.c-gxScheduleCard--sp .c-gxScheduleCard__examDateDay {
  font-size: 24px;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__examDateMeta {
  font-size: 18px;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__dateRow--application {
  display: flex;
  width: 100%;
  padding: 0;
  margin: 0;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
  background: transparent;
  box-sizing: border-box;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__dateRow--application .c-gxScheduleCard__dateValue {
  padding: 0 0 0 12px;
  color: #242424;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  font-feature-settings: "pwid";
  text-align: left;
  align-self: stretch;
  width: 100%;
  box-sizing: border-box;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__dateValue {
  font-size: 14px;
  text-align: center;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  width: 100%;
  padding: 0;
  gap: 20px;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__body {
  align-self: stretch;
  width: 100%;
  padding: 0;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__actions {
  align-self: stretch;
  width: 100%;
  padding: 0;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__detailsGrid {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 0;
  width: 100%;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__details {
  display: flex;
  padding: 0 12px;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  align-self: stretch;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__detailRow {
  display: flex;
  padding: 8px 0;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 4px;
  align-self: stretch;
  width: 100%;
  box-sizing: border-box;
  border-bottom: 1px solid var(--gx-schedule-divider-color, #d0e7d3);
}

.c-gxScheduleCard--sp .c-gxScheduleCard__detailRow dt {
  flex: 0 0 auto;
  width: auto;
  font-size: 14px;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__detailRow dd {
  color: #242424;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 150%;
  font-feature-settings: "pwid" on;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__note {
  font-size: 10px;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__button {
  display: flex;
  align-self: stretch;
  width: 100%;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__button a {
  position: relative;
  display: flex;
  height: 40px;
  max-width: 400px;
  width: 100%;
  padding: 12px 16px;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  box-sizing: border-box;
  border-radius: 9999px;
  background: var(--gx-schedule-button-bg, var(--gx-schedule-color, #1b7c3b));
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.32px;
  font-feature-settings: "pwid" on;
  text-decoration: none;
  transition: all 0.3s ease-out;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__button .icon {
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease-out;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__button .icon img {
  width: 16px;
  height: 16px;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__details .c-gxScheduleCard__detailRow:last-child {
  border-bottom: none;
}

.gx-wrapper .gx-top .top-schedule .top-schedule-wrapper.is-sp {
  --gx-schedule-sp-padding-top: 20px;
  --gx-schedule-sp-padding-right: 44px;
  --gx-schedule-sp-padding-bottom: 51px;
  --gx-schedule-sp-padding-left: 46px;
  --gx-schedule-sp-slide-width: calc(
    100vw - var(--gx-schedule-sp-padding-left) - var(--gx-schedule-sp-padding-right)
  );

  padding: var(--gx-schedule-sp-padding-top) 0 var(--gx-schedule-sp-padding-bottom);
  box-sizing: border-box;
}

.gx-wrapper .gx-top .top-schedule .top-schedule-wrapper.is-sp .slider-container {
  position: relative;
  overflow: visible;
}

.gx-wrapper .gx-top .top-schedule .top-schedule-wrapper.is-sp .slider-container.top-schedule-swiper,
.gx-wrapper .gx-top .top-schedule .top-schedule-wrapper.is-sp .slider-container.top-schedule-swiper.swiper {
  height: auto;
  min-height: 0;
  overflow: visible;
}

.gx-wrapper .gx-top .top-schedule .top-schedule-wrapper.is-sp .slider-container .swiper-wrapper {
  align-items: stretch;
  height: auto !important;
}

.gx-wrapper .gx-top .top-schedule .top-schedule-wrapper.is-sp .slider-container .item.swiper-slide {
  width: var(--gx-schedule-sp-slide-width);
  height: auto;
  border: none;
  border-radius: 0;
  padding: 0;
  background: transparent;
  row-gap: 0;
  box-sizing: border-box;
  overflow: visible;
}

.gx-wrapper .gx-top .top-schedule .top-schedule-wrapper.is-sp .slider-container .item .c-gxScheduleCard {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  box-sizing: border-box;
}

.c-gxScheduleCard--sp .c-gxScheduleCard__round,
.c-gxScheduleCard--sp .c-gxScheduleCard__undecided {
  width: 100%;
}

.gx-wrapper .gx-top .top-schedule .top-schedule-wrapper.is-sp .slider-container .button-container {
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.gx-wrapper .gx-top .top-schedule .top-schedule-wrapper.is-sp .slider-container .button-container .top-schedule-prev-button,
.gx-wrapper .gx-top .top-schedule .top-schedule-wrapper.is-sp .slider-container .button-container .top-schedule-next-button {
  pointer-events: auto;
}

.gx-wrapper .gx-top .top-schedule .slider-container .item {
  height: auto;
  border: none;
  padding-top: 0;
  background: transparent;
  row-gap: 0;
  align-self: stretch;
}

.gx-wrapper .gx-top .top-schedule .slider-container .item .c-gxScheduleCard {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  width: 100%;
  margin: 0 8px;
  box-sizing: border-box;
}

@media (max-width: 751px) {
  .gx-wrapper .gx-top .top-schedule .inner {
    padding-block: 0;
  }
}

/* 下層ページ c-cta01 / c-cta02 */
.gx-wrapper :is(.gx-basic, .gx-advanced, .gx-specialist, .gx-biz) :is(.c-cta01__scheduleCard, .c-cta02__scheduleCard) {
  width: 100%;
}

.gx-wrapper :is(.gx-basic, .gx-advanced, .gx-specialist, .gx-biz) :is(.c-cta01, .c-cta02) .card {
  padding: min(20px, 1.3888888889vw);
}

.gx-wrapper :is(.gx-basic, .gx-advanced, .gx-specialist, .gx-biz) :is(.c-cta01, .c-cta02) .card .c-gxScheduleCard {
  width: 100%;
}

/* 下層：団体申込リンク */
.c-gxScheduleCard--sub:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__actions {
  position: relative;
  display: flex;
  flex-direction: row;
  padding-top: 12px;
  justify-content: center;
  align-items: center;
  gap: 0;
  align-self: stretch;
}

.c-gxScheduleCard--sub:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__button--apply {
  flex: 0 0 auto;
}

.c-gxScheduleCard--sub:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__groupLink {
  position: absolute;
  left: calc(50% + 224px + 20px);
  top: 12px;
  bottom: 0;
  display: flex;
  align-items: center;
  margin: 0;
}

.c-gxScheduleCard--sub:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__groupLink a {
  display: inline-flex;
  align-items: center;
  color: var(--gx-schedule-link-color, var(--gx-schedule-color, #1b7c3b));
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  font-feature-settings: "pwid";
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.c-gxScheduleCard--sub:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__groupLink .icon {
  display: flex;
  width: 24px;
  height: 24px;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

.c-gxScheduleCard--sub:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__groupLink .icon img {
  display: block;
  width: 24px;
  height: 24px;
}

.c-gxScheduleCard--basic .c-gxScheduleCard__groupLink .icon img {
  filter: invert(41%) sepia(13%) saturate(2153%) hue-rotate(87deg)
    brightness(90%) contrast(97%);
}

.c-gxScheduleCard--advanced .c-gxScheduleCard__groupLink .icon img {
  filter: invert(23%) sepia(87%) saturate(1475%) hue-rotate(182deg)
    brightness(85%) contrast(99%);
}

.c-gxScheduleCard--specialist .c-gxScheduleCard__groupLink .icon img {
  filter: invert(21%) sepia(34%) saturate(3500%) hue-rotate(284deg)
    brightness(100%) contrast(86%);
}

.c-gxScheduleCard--biz .c-gxScheduleCard__groupLink .icon img {
  filter: invert(48%) sepia(48%) saturate(7318%) hue-rotate(163deg)
    brightness(94%) contrast(101%);
}

@media (hover: hover) {
  .c-gxScheduleCard--sub:not(.c-gxScheduleCard--sp) .c-gxScheduleCard__groupLink a:hover,
  .c-gxScheduleCard--sub.c-gxScheduleCard--sp .c-gxScheduleCard__groupLink a:hover {
    opacity: 0.85;
  }
}

.c-gxScheduleCard--sub.c-gxScheduleCard--sp .c-gxScheduleCard__actions {
  align-items: stretch;
  gap: 20px;
}

.c-gxScheduleCard--sub.c-gxScheduleCard--sp .c-gxScheduleCard__groupLink {
  margin: 0;
  text-align: right;
}

.c-gxScheduleCard--sub.c-gxScheduleCard--sp .c-gxScheduleCard__groupLink a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--gx-schedule-button-bg, var(--gx-schedule-color, #1b7c3b));
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  font-feature-settings: "pwid";
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.c-gxScheduleCard--sub.c-gxScheduleCard--sp .c-gxScheduleCard__groupLink .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.c-gxScheduleCard--sub.c-gxScheduleCard--sp .c-gxScheduleCard__groupLink .icon img {
  display: block;
  width: 16px;
  height: 16px;
}

@media (max-width: 751px) {
  .gx-wrapper :is(.gx-basic, .gx-advanced, .gx-specialist, .gx-biz) :is(.c-cta01, .c-cta02) .card {
    padding: 0;
    overflow: hidden;
  }
}

/* 申込ページ 左カラム：スケジュールカード */
.gx-wrapper #content-wrapper.gx-apply .aside-card {
  border: none;
  border-radius: 0;
  padding: 0;
  background: transparent;
}

.gx-wrapper #content-wrapper.gx-apply.basic .aside-card dl,
.gx-wrapper #content-wrapper.gx-apply.advanced .aside-card dl,
.gx-wrapper #content-wrapper.gx-apply.specialist .aside-card dl,
.gx-wrapper #content-wrapper.gx-apply.biz .aside-card dl {
  border-top: none;
}

.gx-wrapper #content-wrapper.gx-apply .c-apply__scheduleCard,
.gx-wrapper #content-wrapper.gx-apply .c-apply__scheduleCard .c-gxScheduleCard {
  width: 100%;
}

.c-gxScheduleCard--apply .c-gxScheduleCard__levelLabel,
.c-gxScheduleCard--apply .c-gxScheduleCard__roundTitle,
.c-gxScheduleCard--apply .c-gxScheduleCard__dateRow--exam .c-gxScheduleCard__dateLabel,
.c-gxScheduleCard--apply .c-gxScheduleCard__dateRow--application .c-gxScheduleCard__dateLabel,
.c-gxScheduleCard--apply .c-gxScheduleCard__examDateDay,
.c-gxScheduleCard--apply .c-gxScheduleCard__examDateMeta,
.c-gxScheduleCard--apply .c-gxScheduleCard__dateRow--application .c-gxScheduleCard__dateValue,
.c-gxScheduleCard--apply .c-gxScheduleCard__note {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "pwid" on;
}

.c-gxScheduleCard--apply .c-gxScheduleCard__levelLabel {
  margin: 0;
  line-height: 100%;
}

.c-gxScheduleCard--apply .c-gxScheduleCard__roundTitle {
  margin: 0;
  line-height: 150%;
}

.c-gxScheduleCard--apply .c-gxScheduleCard__dateRow--exam .c-gxScheduleCard__dateLabel,
.c-gxScheduleCard--apply .c-gxScheduleCard__dateRow--application .c-gxScheduleCard__dateLabel {
  line-height: 100%;
}

.c-gxScheduleCard--apply .c-gxScheduleCard__examDateDay,
.c-gxScheduleCard--apply .c-gxScheduleCard__examDateMeta,
.c-gxScheduleCard--apply .c-gxScheduleCard__dateRow--application .c-gxScheduleCard__dateValue {
  line-height: 100%;
}

.gx-wrapper #content-wrapper.gx-apply .aside-card .c-gxScheduleCard__detailRow dt,
.gx-wrapper #content-wrapper.gx-apply .aside-card .c-gxScheduleCard__detailRow dd {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "pwid" on;
}

.gx-wrapper #content-wrapper.gx-apply .aside-card .c-gxScheduleCard__detailRow dt {
  align-self: stretch;
  flex: 0 0 auto;
  width: auto;
  margin: 0;
  color: var(--gx-schedule-color, #1b7c3b);
  font-size: 12px;
  font-weight: 700;
  line-height: 140%;
}

.gx-wrapper #content-wrapper.gx-apply .aside-card .c-gxScheduleCard__detailRow dd {
  align-self: stretch;
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  margin: 0;
  color: #242424;
  font-size: 14px;
  font-weight: 400;
  line-height: 150%;
}

.c-gxScheduleCard--apply .c-gxScheduleCard__note {
  font-size: 10px;
  line-height: 120%;
}

@media (max-width: 751px) {
  .gx-wrapper #content-wrapper.gx-apply section.content-aside,
  .gx-wrapper #content-wrapper.gx-apply section.content-main {
    margin-top: 0;
    margin-bottom: 2rem;
  }
}
