@charset "UTF-8";
:root {
  --cnt-width: 520px;
  --cnt-width2: 1000px;
}

@media (min-width: 769px) {
  :root {
    --cnt-width: 1000px;
  }
}
.o-stepArea {
  padding-top: 48px;
  padding-bottom: 0;
}

@media (min-width: 769px) {
  .o-stepArea {
    padding-top: 80px;
  }
}
.o-stepArea .m-stepArea-title {
  margin: 0 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 26px;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
  margin: auto;
  max-width: 520px;
}

@media (min-width: 769px) {
  .o-stepArea .m-stepArea-title {
    max-width: 100%;
    gap: 12px;
  }
}
.o-stepArea .m-stepArea-title .m-stepArea-title-sub-wrap {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  max-width: 100%;
  margin: auto;
}

@media (min-width: 769px) {
  .o-stepArea .m-stepArea-title .m-stepArea-title-sub-wrap {
    flex-direction: row;
    justify-content: center;
    max-width: 100%;
    gap: 8px;
  }
}
.o-stepArea .m-stepArea-title .a-stepArea-title-sub {
  display: flex;
  height: 40px;
  gap: 4px;
  padding: 0px 4px 0px 8px;
  justify-content: center;
  align-items: center;
  border: 2px solid var(--key_red, #df0012);
  background: var(--key_red, #df0012);
  color: var(--key_white, #fff);
  text-align: center;
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 28.8px */
}

@media (min-width: 769px) {
  .o-stepArea .m-stepArea-title .a-stepArea-title-sub {
    width: 320px;
    height: 34px;
  }
}
.o-stepArea .m-stepArea-title .a-stepArea-title-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  gap: 24px;
  position: relative;
  z-index: 2;
}

.o-stepArea .m-stepArea-title .a-stepArea-title {
  flex-shrink: 0;
  position: relative;
  overflow: visible;
  width: 100%;
  max-width: 343px;
  height: auto;
}

@media (min-width: 769px) {
  .o-stepArea .m-stepArea-title .a-stepArea-title {
    width: 100%;
    max-width: 904px;
    margin: auto;
  }
}
.o-stepArea .m-stepArea-title .a-stepArea-title-text {
  color: var(--keyblack, #222222);
  font-size: 24px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
  text-align: center;
}

@media (min-width: 769px) {
  .o-stepArea .m-stepArea-title .a-stepArea-title-text {
    text-align: center;
    font-size: 22px;
  }
}
.o-stepArea .m-stepArea-title .a-stepArea-title-catch {
  width: 100%;
  max-width: 326px;
  margin: auto;
  margin-top: 6px;
  position: relative;
  z-index: 1;
}

.o-stepArea .m-stepArea-title .a-stepArea-title-catch::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -11px;
  margin: auto;
  width: 92px;
  height: 66px;
  background: #dfdfdf;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  z-index: -1;
}
@media (min-width: 769px) {
  .o-stepArea .m-stepArea-title .a-stepArea-title-catch::before {
    width: 230px;
    height: 162px;
    top: -94px;
  }
}

@media (min-width: 769px) {
  .o-stepArea .m-stepArea-title .a-stepArea-title-catch {
    max-width: 474px;
  }
}
.o-stepArea .a-stepArea-text {
  padding-top: 48px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.o-stepArea .a-stepArea-text p {
  text-align: center;
  font-size: 21px;
  font-weight: 600;
  line-height: 140%;
}

.o-stepArea .a-stepArea-text img {
  width: 36px;
  margin: auto;
}

@media (min-width: 769px) {
  .o-stepArea .a-stepArea-text {
    padding-top: 56px;
  }
  .o-stepArea .a-stepArea-text p {
    font-size: 32px;
  }
}
.o-eduPath {
  background: var(--key_red, #df0012);
  position: relative;
  padding-top: 64px;
  padding-bottom: 120px;
}

.o-eduPath::after {
  background: var(--keygrayf1f1f1, #f1f1f1);
}

.o-eduPath .a-section-heading {
  line-height: 0.9;
}

.o-eduPath .a-btn-link-wrap {
  margin-top: 48px;
  max-width: 316px;
}

@media (min-width: 769px) {
  .o-eduPath {
    padding-bottom: 200px;
  }
  .o-eduPath .a-btn-link-wrap {
    margin-top: 56px;
    max-width: 420px;
  }
}
.o-eduPath .head-catch {
  width: 100%;
  max-width: 340px;
  position: relative;
  margin: 32px auto 0;
}

@media (min-width: 769px) {
  .o-eduPath .head-catch {
    margin-top: 40px;
    max-width: 540px;
  }
}
.o-eduPath .head-catch .txt {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 106px;
  position: relative;
}

@media (min-width: 769px) {
  .o-eduPath .head-catch .txt {
    width: 144px;
  }
}
.o-eduPath .head-catch .div {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 15px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}

@media (min-width: 769px) {
  .o-eduPath .head-catch .div {
    font-size: 20px;
  }
}
.o-eduPath .head-catch .icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  position: relative;
  overflow: visible;
}

@media (min-width: 769px) {
  .o-eduPath .head-catch .icon {
    width: 30px;
    height: 30px;
  }
}
.o-eduPath .o-eduPath-card-wrap {
  max-width: var(--cnt-width);
  margin: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 48px;
}

@media (min-width: 769px) {
  .o-eduPath .o-eduPath-card-wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 56px;
  }
}
.o-eduPath .m-eduPath-card {
  cursor: pointer;
  background: var(--key_white, #ffffff);
  border-radius: 8px;
  display: flex;
  flex-direction: row;
  gap: 0px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}

.o-eduPath .m-eduPath-card:nth-child(2n) {
  flex-direction: row-reverse;
}

@media (min-width: 769px) {
  .o-eduPath .m-eduPath-card:nth-child(2n) {
    flex-direction: row;
  }
}
.o-eduPath .m-eduPath-card .card-img {
  flex-shrink: 0;
  width: 41.1764705882%;
  position: relative;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (min-width: 769px) {
  .o-eduPath .m-eduPath-card .card-img {
    width: 49.1803278689%;
  }
}
.o-eduPath .m-eduPath-card .txt {
  padding: 0px 16px 2px 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex: 1;
  position: relative;
}

@media (min-width: 769px) {
  .o-eduPath .m-eduPath-card .txt {
    padding: 0px 20px 2px 20px;
    align-items: flex-start;
  }
}
.o-eduPath .m-eduPath-card .div {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}

@media (min-width: 769px) {
  .o-eduPath .m-eduPath-card .div {
    font-size: 20px;
  }
}
.o-eduPath .m-eduPath-card .btn-open {
  border-radius: 16px;
  display: flex;
  flex-direction: row;
  gap: 0px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  position: absolute;
  right: 8px;
  bottom: 8px;
  overflow: visible;
  border-radius: 16px;
  background: var(--key_red, #df0012);
}

.o-eduPath .m-eduPath-card .btn-open img {
  width: 12px;
  height: 12px;
}

.m-eduPath-modal {
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.m-eduPath-modal .card-img img {
  border-radius: 0.5rem;
}
.m-eduPath-modal .a-btn-cv-wrap {
  max-width: 428px;
  margin: 4px auto auto;
}

@media (min-width: 769px) {
  .m-eduPath-modal {
    padding: 48px;
    flex-direction: row;
  }
  .m-eduPath-modal .a-btn-cv-wrap {
    margin-top: 0;
    margin-right: 0;
  }
  .m-eduPath-modal .card-img {
    flex: 0 0 45%;
  }
}
.m-eduPath-modal .txtwrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.m-eduPath-modal .a-eduPath-modal-heading {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 22px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .m-eduPath-modal .a-eduPath-modal-heading {
    text-align: left;
  }
}
.m-eduPath-modal .m-eduPath-modal-description .-note {
  font-size: 0.75rem;
  margin-top: 8px;
}

.m-eduPath-modal .m-eduPath-modal-description .-heading {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .m-eduPath-modal .m-eduPath-modal-description .-heading {
    text-align: left;
  }
}
.m-eduPath-modal .m-eduPath-modal-description .-heading + .-text {
  margin-top: 12px;
}

.m-eduPath-modal .m-eduPath-modal-description .-text {
  text-align: left;
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 200%;
}

.m-eduPath-modal .m-eduPath-modal-description .-text + .-heading {
  margin-top: 20px;
}

.m-eduPath-modal .m-eduPath-modal-description .-text + .-text {
  margin-top: 1em;
}

.o-interview {
  background: var(--keygrayf1f1f1, #f1f1f1);
  position: relative;
  padding-top: 64px;
  padding-bottom: 120px;
}

@media (min-width: 769px) {
  .o-interview {
    padding-top: 48px;
    padding-bottom: 200px;
  }
}
.o-interview::after {
  background: var(--key_red, #df0012);
}

.o-interview .a-section-heading {
  color: var(--key_red, #df0012);
}

.o-interview .a-section-subheading {
  color: var(--keyblack, #222222);
}

.o-interview .o-interview-card-wrap {
  max-width: var(--cnt-width);
  margin: auto;
  margin-top: 48px;
  gap: 16px;
  justify-content: center;
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 769px) {
  .o-interview .o-interview-card-wrap {
    grid-template-columns: repeat(2, minmax(0, 360px));
    gap: 24px;
  }
}
.o-interview .m-interview-card {
  background: var(--key_white, #ffffff);
  border-radius: 8px;
  display: flex;
  gap: 0px;
  flex: 1;
  position: relative;
  overflow: hidden;
}

.o-interview .m-interview-card .card-img {
  flex-shrink: 0;
  width: 32.3529411765%;
  position: relative;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (min-width: 769px) {
  .o-interview .m-interview-card .card-img {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .o-interview .m-interview-card {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
}
.o-interview .m-interview-card .txt {
  padding: 14px 14px 24px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: auto;
  align-items: flex-end;
  justify-content: flex-start;
  position: relative;
}

@media (min-width: 769px) {
  .o-interview .m-interview-card .txt {
    align-self: stretch;
    flex-shrink: 0;
    padding: 20px;
  }
}
.o-interview .m-interview-card .div {
  color: var(--key_red, #df0012);
  text-align: left;
  font-size: 16px;
  line-height: 150%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-interview .m-interview-card .div {
    font-size: 20px;
  }
}
.o-interview .m-interview-card .div2 {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 13px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-interview .m-interview-card .div2 {
    font-size: 15px;
  }
}
.o-interview .m-interview-card .btn-open {
  border-radius: 16px;
  display: flex;
  flex-direction: row;
  gap: 0px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  position: absolute;
  right: 8px;
  bottom: 8px;
  overflow: visible;
  border-radius: 16px;
  background: var(--key_red, #df0012);
}

.o-interview .m-interview-card .btn-open img {
  width: 12px;
}

.o-interview .m-interview-modal {
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  justify-content: flex-start;
  align-items: center;
}

@media (min-width: 769px) {
  .o-interview .m-interview-modal {
    padding: 48px;
    gap: 40px;
    flex-direction: row;
    align-items: flex-start;
  }
}
.o-interview .m-interview-modal .card-img {
  display: block;
  max-width: 240px;
  margin: 0 auto;
}

@media (min-width: 769px) {
  .o-interview .m-interview-modal .card-img {
    max-width: 320px;
    align-self: stretch;
    flex-shrink: 0;
  }
}
.o-interview .m-interview-modal .textwrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  justify-content: flex-start;
}

@media (min-width: 769px) {
  .o-interview .m-interview-modal .textwrap {
    padding-top: 16px;
  }
}
.o-interview .m-interview-modal .a-interview-modal-heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-interview .m-interview-modal .a-interview-modal-heading .-title {
  color: var(--key_red, #df0012);
  text-align: center;
  font-size: 22px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-interview .m-interview-modal .a-interview-modal-heading .-title {
    text-align: left;
    font-size: 24px;
  }
}
.o-interview .m-interview-modal .a-interview-modal-heading .-job {
  color: var(--key_black, #222);
  font-feature-settings: "liga" off, "clig" off;
  font-size: 15px;
  font-style: normal;
  font-weight: 300;
  line-height: 200%;
}

@media (min-width: 769px) {
  .o-interview .m-interview-modal .a-interview-modal-heading .-job {
    text-align: left;
  }
}
.o-interview .m-interview-modal .a-interview-modal-heading .-name {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 18px;
  line-height: 140%;
  letter-spacing: -0.011em;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-interview .m-interview-modal .a-interview-modal-heading .-name {
    text-align: left;
  }
}
.o-interview .m-interview-modal .m-interview-modal-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-interview .m-interview-modal .m-interview-modal-list li {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-interview .m-interview-modal .a-interview-modal-list-heading {
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 16px;
  line-height: 160%;
  font-weight: 600;
  position: relative;
  flex: 1;
}

.o-interview .m-interview-modal .a-interview-modal-list-heading::before {
  content: "";
  background: var(--key_red, #df0012);
  flex-shrink: 0;
  width: 14px;
  height: 3px;
  position: relative;
  margin-top: calc(0.5em + 3px);
}

.o-interview .m-interview-modal .a-interview-modal-list-text {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 15px;
  line-height: 200%;
  position: relative;
  align-self: stretch;
}

.o-interview .m-interview-modal .a-interview-modal-list-text .-em {
  font-weight: bold;
}

.o-interview .m-interview-modal .a-interview-modal-testimonial {
  background: var(--keygrayf1f1f1, #f1f1f1);
  padding: 20px 18px 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-interview .m-interview-modal .-heading {
  background: var(--key_white, #ffffff);
  padding: 0px 8px 0px 8px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  height: 32px;
  position: relative;
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  flex: 1;
}

@media (min-width: 769px) {
  .o-interview .m-interview-modal .-heading {
    text-align: left;
    justify-content: flex-start;
  }
}
.o-interview .m-interview-modal .-text {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 15px;
  line-height: 180%;
  position: relative;
  align-self: stretch;
}

.o-school {
  background: var(--key_red, #df0012);
  position: relative;
  padding-top: 80px;
  padding-bottom: 104px;
}
.o-school::after {
  background: var(--key_white, #fff);
}

@media (min-width: 769px) {
  .o-school {
    padding-top: 72px;
    padding-bottom: 200px;
  }
}
.o-school .a-section-heading {
  color: var(--key_white, #ffffff);
}

.o-school .a-section-subheading {
  color: var(--key_white, #ffffff);
}

.o-school .o-school-card-wrap {
  max-width: var(--cnt-width);
  margin: auto;
  margin-top: 48px;
  gap: 20px;
  justify-content: center;
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 769px) {
  .o-school .o-school-card-wrap {
    grid-template-columns: repeat(2, minmax(0, 420px));
    gap: 24px;
  }
}
.o-school .m-school-card {
  cursor: pointer;
  background: var(--key_white, #ffffff);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: 0px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  min-height: 200px;
  position: relative;
  overflow: hidden;
}

@media (min-width: 769px) {
  .o-school .m-school-card:nth-child(odd):last-child {
    justify-self: center;
    grid-column: 1/-1;
    width: calc(50% - 12px);
    max-width: 420px;
  }
}
.o-school .m-school-card .-img {
  display: block;
  width: 100%;
}

.o-school .m-school-card .-text {
  padding: 1.125rem 2.5rem 1.125rem 1.125rem;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .o-school .m-school-card .-text {
    padding: 1.25rem 1.125rem 1.125rem 1.125rem;
  }
}

.o-school .m-school-card .-label {
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-school .m-school-card .-tag {
  background: var(--key_red, #df0012);
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 80px;
  height: 24px;
  position: relative;
  color: var(--key_white, #ffffff);
  text-align: center;
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  line-height: 90%;
  font-weight: 700;
  position: relative;
  transform-origin: 0 0;
  transform: rotate(0deg) scale(1, 1);
}

@media (min-width: 769px) {
  .o-school .m-school-card .-tag {
    font-size: 18px;
  }
}
.o-school .m-school-card .-desc {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 14px;
  line-height: 130%;
  font-weight: 600;
  position: relative;
}

.o-school .m-school-card .-name {
  color: var(--key_red, #df0012);
  text-align: left;
  font-size: 22px;
  line-height: 120%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

.o-school .m-school-card .btn-open {
  border-radius: 16px;
  display: flex;
  flex-direction: row;
  gap: 0px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  position: absolute;
  right: 8px;
  bottom: 8px;
  overflow: visible;
  background: var(--key_red, #df0012);
}

.o-school .m-school-card .btn-open img {
  width: 12px;
}

.o-school .m-cv-content {
  margin-top: 46px;
}

@media (min-width: 769px) {
  .o-school .m-cv-content {
    margin-top: 80px;
  }
}
.o-tvcm {
  background: var(--key_white, #ffffff);
  position: relative;
  padding-top: 80px;
  padding-bottom: 88px;
}

@media (min-width: 769px) {
  .o-tvcm {
    padding-top: 72px;
  }
}
.o-tvcm .a-section-heading {
  color: var(--key_red, #df0012);
}

.o-tvcm .a-section-subheading {
  color: var(--keyblack, #222222);
}

.o-tvcm .o-tvcm-content {
  max-width: var(--cnt-width);
  margin: auto;
  margin-top: 48px;
}

.o-tvcm .o-tvcm-content .movie {
  width: 100%;
  aspect-ratio: 16/9;
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  max-width: 720px;
  margin: auto;
}

.o-tvcm .o-tvcm-content .movie-inner {
  display: block;
  width: 100%;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}

.o-tvcm .o-tvcm-content .thumb {
  width: 100%;
  max-width: 100%;
}

.o-tvcm .o-tvcm-content .movie-player {
  position: relative;
  z-index: 10;
}

.o-about {
  position: relative;
  padding-top: 64px;
  padding-bottom: 72px;
}
.o-about .date {
  text-align: right;
  font-size: 0.75rem;
  line-height: 160%;
  font-weight: 300;
  margin-top: 10px;
}

.o-about-intro .logo-vantan {
  width: 132px;
  margin: auto;
}
.o-about-intro .o-about-intro-text {
  margin-top: 16px;
  font-size: 1.125rem;
  line-height: 180%;
  font-weight: 600;
}
@media (min-width: 769px) {
  .o-about-intro .o-about-intro-text {
    text-align: center;
  }
}

.o-about .a-section-heading {
  color: var(--keyblack, #222222);
}

@media (min-width: 769px) {
  .o-about {
    padding-top: 72px;
    padding-bottom: 88px;
  }
  .o-about .a-section-heading {
    color: var(--key_red, #df0012);
  }
}
.o-about .o-about-content {
  max-width: var(--cnt-width);
  margin: auto;
  margin-top: 48px;
}

.o-about .m-about-h3 {
  margin-top: 48px;
  text-align: center;
  font-size: 19px;
  line-height: 160%;
  font-weight: 600;
  position: relative;
}

.o-about .m-about-text {
  margin-top: 16px;
  color: var(--key_white, #fff);
  font-feature-settings: "liga" off, "clig" off;
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 200%; /* 32px */
}

@media (min-width: 769px) {
  .o-about .m-about-text {
    margin-top: 10px;
    text-align: center;
  }
}
.o-about .list-infographic {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(2, minmax(152px, 1fr));
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

@media (min-width: 769px) {
  .o-about .list-infographic {
    grid-template-columns: repeat(3, minmax(152px, 1fr));
    gap: 20px 17px;
  }
}
.o-about .list-infographic .li-card-vantan {
  background: var(--key_red, #df0012);
  border-radius: 0.5rem;
  padding: 0.5rem 0.625rem 1rem 0.625rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
  height: 100%;
}

@media (min-width: 769px) {
  .o-about .list-infographic .li-card-vantan {
    flex-direction: row;
    gap: 16px;
    padding: 10px 18px 6px;
  }
}
.o-about .list-infographic .icon {
  display: flex;
  flex-direction: column;
  gap: 0px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 104px;
  height: 104px;
  position: relative;
  overflow: visible;
}

@media (min-width: 769px) {
  .o-about .list-infographic .icon {
    width: 112px;
    height: 104px;
  }
}
.o-about .list-infographic .txt {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .o-about .list-infographic .txt {
    justify-content: center;
  }
}

.o-about .list-infographic .txt2 {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-about .list-infographic .div {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
@media (min-width: 769px) {
  .o-about .list-infographic .div {
    text-align: left;
  }
}

.o-about .list-infographic .label {
  display: flex;
  flex-direction: row;
  gap: 2px;
  align-items: baseline;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  color: var(--key_white, #ffffff);
  text-align: center;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 32px;
  line-height: 1;
  font-weight: 700;
  position: relative;
}

@media (min-width: 769px) {
  .o-about .list-infographic .label {
    font-size: 38px;
    text-align: left;
    justify-content: flex-start;
  }
}
.o-about .list-infographic .inr {
  font-size: 18px;
}

.o-about .list-infographic .date {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 12px;
  line-height: 160%;
  font-weight: 300;
  position: relative;
  align-self: stretch;
}

.o-about .o-about-employment {
  margin: auto;
  max-width: 520px;
  border-radius: 16px;
  border-style: solid;
  border-color: var(--key_white, #ffffff);
  border-width: 2px;
  padding: 32px 16px 32px 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  flex-shrink: 0;
  position: relative;
  margin-top: 64px;
}

@media (min-width: 769px) {
  .o-about .o-about-employment {
    max-width: 764px;
    padding: 40px 48px;
    gap: 32px;
    margin-top: 88px;
  }
}
.o-about .o-about-employment .head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

@media (min-width: 769px) {
  .o-about .o-about-employment .head {
    gap: 16px;
  }
}
.o-about .o-about-employment .div {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 32px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-about .o-about-employment .div {
    font-size: 40px;
  }
}
.o-about .o-about-employment .div2 {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 16px;
  line-height: 180%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

.o-about .o-about-employment .block2 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-about .o-about-employment .div3 {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 24px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

.o-about .o-about-employment .-small {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
  vertical-align: top;
}

.o-about .o-about-employment .list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
  width: 100%;
}

.o-about .o-about-employment .frame-899 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  position: relative;
  width: 100%;
}

@media (min-width: 769px) {
  .o-about .o-about-employment .frame-899 {
    gap: 24px;
  }
}
.o-about .o-about-employment .li-card-vantan {
  background: var(--key_white, #ffffff);
  border-radius: 8px;
  padding: 16px 10px 14px 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}

.o-about .o-about-employment .li-card-vantan .-note {
  font-size: 10px;
  color: var(--keyblack, #222222);
  padding-left: 1em;
  text-indent: -1em;
}

@media (min-width: 769px) {
  .o-about .o-about-employment .li-card-vantan {
    padding: 20px 20px 16px 20px;
  }
}
.o-about .o-about-employment .txt {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  position: relative;
}

.o-about .o-about-employment .label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}

.o-about .o-about-employment .div4 {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 18px;
  line-height: 100%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

.o-about .o-about-employment .-data {
  color: var(--key_red, #df0012);
  text-align: center;
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: baseline;
  justify-content: center;
}

.o-about .o-about-employment .-num {
  color: var(--key_red, #df0012);
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 40px;
  line-height: 100%;
  letter-spacing: 0.5px;
  font-weight: 700;
}

@media (min-width: 769px) {
  .o-about .o-about-employment .-num {
    font-size: 48px;
  }
}
.o-about .o-about-employment .-unit {
  color: var(--key_red, #df0012);
  font-size: 24px;
  line-height: 100%;
  letter-spacing: 0.5px;
  font-weight: 400;
}

@media (min-width: 769px) {
  .o-about .o-about-employment .-unit {
    font-size: 32px;
  }
}
.o-about .o-about-employment .-note {
  color: var(--key_white, #ffffff);
  text-align: left;
  font-size: 12px;
  line-height: 160%;
  font-weight: 300;
  position: relative;
}

.o-features {
  background: var(--key_red, #df0012);
  position: relative;
  padding-top: 64px;
  padding-bottom: 88px;
}

@media (min-width: 769px) {
  .o-features {
    padding-top: 88px;
  }
}
.o-features .a-section-heading {
  color: var(--key_white, #ffffff);
}

.o-features .a-section-subheading {
  color: var(--key_white, #ffffff);
}

.o-features .o-features-card-wrap {
  max-width: var(--cnt-width);
  margin: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 48px;
}

@media (min-width: 769px) {
  .o-features .o-features-card-wrap {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}
.o-block-kadokawa {
  background: var(--vga-style-keygrayf1f1f1, #f1f1f1);
  border-radius: 16px;
  padding: 32px 20px 32px 20px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  flex-shrink: 0;
  max-width: var(--cnt-width);
  margin: auto;
  position: relative;
  margin-top: 48px;
}

@media (min-width: 769px) {
  .o-block-kadokawa {
    max-width: 880px;
    padding: 72px 40px;
    gap: 20px;
  }
}
.o-block-kadokawa .logo-kadokawa {
  flex-shrink: 0;
  width: 257.39px;
  position: relative;
  overflow: visible;
}

@media (min-width: 769px) {
  .o-block-kadokawa .logo-kadokawa {
    width: 343px;
  }
}
.o-block-kadokawa .kadokawa {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 19px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-block-kadokawa .kadokawa {
    font-size: 26px;
    margin-top: 8px;
  }
}
.o-block-kadokawa .kadokawa-it-web {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 15px;
  line-height: 200%;
  font-weight: 300;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-block-kadokawa .kadokawa-it-web {
    text-align: center;
  }
}
.o-block-kadokawa-message {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

@media (min-width: 769px) {
  .o-block-kadokawa-message {
    margin: auto;
    margin-top: 20px;
    max-width: 840px;
  }
}
.o-block-kadokawa-message .-heading {
  background: var(--key_red, #df0012);
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 19px;
  line-height: 160%;
  font-weight: 600;
  position: relative;
}

@media (min-width: 769px) {
  .o-block-kadokawa-message .-heading {
    height: 40px;
  }
}
.o-block-kadokawa-message .-profile {
  border-style: solid;
  border-color: var(--key_red, #df0012);
  border-width: 0px 0px 1px 0px;
  padding: 0px 0px 24px 0px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

@media (min-width: 769px) {
  .o-block-kadokawa-message .-profile {
    flex-direction: row;
    justify-content: center;
    gap: 40px;
  }
}
.o-block-kadokawa-message .-profile-img {
  flex-shrink: 0;
  width: 220px;
  height: 160px;
  position: relative;
  -o-object-fit: cover;
  object-fit: cover;
}

.o-block-kadokawa-message .-detail {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: flex-start;
  align-items: center;
  flex-shrink: 0;
  position: relative;
}

@media (min-width: 769px) {
  .o-block-kadokawa-message .-detail {
    align-items: flex-start;
  }
}
.o-block-kadokawa-message .-name {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}

@media (min-width: 769px) {
  .o-block-kadokawa-message .-name {
    text-align: left;
  }
}
.o-block-kadokawa-message .-position {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 12px;
  line-height: 160%;
  position: relative;
}

@media (min-width: 769px) {
  .o-block-kadokawa-message .-position {
    text-align: left;
  }
}
.o-block-kadokawa-message .-description {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 15px;
  line-height: 200%;
  position: relative;
  align-self: stretch;
}

.o-voice {
  background: var(--key_red, #df0012);
  position: relative;
}
.o-voice::after {
  display: none;
}

.o-voice .o-interview-card-wrap {
  max-width: var(--cnt-width);
  margin: auto;
  margin-top: 32px;
  gap: 16px;
  justify-content: center;
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 769px) {
  .o-voice .o-interview-card-wrap {
    grid-template-columns: repeat(2, minmax(0, 360px));
    gap: 24px;
  }
}
.o-voice .m-interview-card {
  background: var(--key_white);
  border-radius: 8px;
  display: flex;
  gap: 0px;
  flex: 1;
  position: relative;
  overflow: hidden;
}

.o-voice .m-interview-card .card-img {
  flex-shrink: 0;
  width: 32.3529411765%;
  position: relative;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (min-width: 769px) {
  .o-voice .m-interview-card .card-img {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .o-voice .m-interview-card {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
}
.o-voice .m-interview-card .txt {
  padding: 10px 14px;
  padding-right: 32px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: auto;
  align-items: flex-end;
  justify-content: center;
  position: relative;
}

@media (min-width: 769px) {
  .o-voice .m-interview-card .txt {
    align-self: stretch;
    flex-shrink: 0;
    padding: 20px;
  }
}
.o-voice .m-interview-card .div {
  color: var(--key_red, #df0012);
  text-align: left;
  font-size: 18px;
  line-height: 150%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-voice .m-interview-card .div {
    font-size: 20px;
  }
}
.o-voice .m-interview-card .div2 {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 12px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-voice .m-interview-card .div2 {
    font-size: 15px;
  }
}
.o-voice .m-interview-card .btn-open {
  border-radius: 16px;
  display: flex;
  flex-direction: row;
  gap: 0px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  position: absolute;
  right: 8px;
  bottom: 8px;
  overflow: visible;
  border-radius: 16px;
  background: var(--key_red, #df0012);
}

.o-voice .m-interview-card .btn-open img {
  width: 12px;
}

.o-voice .m-interview-modal {
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  justify-content: flex-start;
  align-items: center;
}

@media (min-width: 769px) {
  .o-voice .m-interview-modal {
    padding: 48px;
    gap: 40px;
    flex-direction: row;
    align-items: flex-start;
  }
}
.o-voice .m-interview-modal .card-img {
  display: block;
  max-width: 240px;
  margin: 0 auto;
}

@media (min-width: 769px) {
  .o-voice .m-interview-modal .card-img {
    max-width: 320px;
    align-self: stretch;
    flex-shrink: 0;
  }
}
.o-voice .m-interview-modal .textwrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  justify-content: flex-start;
}

@media (min-width: 769px) {
  .o-voice .m-interview-modal .textwrap {
    padding-top: 16px;
  }
}
.o-voice .m-interview-modal .a-interview-modal-heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-voice .m-interview-modal .a-interview-modal-heading .-title {
  color: var(--key_red, #df0012);
  text-align: center;
  font-size: 22px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-voice .m-interview-modal .a-interview-modal-heading .-title {
    text-align: left;
    font-size: 24px;
  }
}
.o-voice .m-interview-modal .a-interview-modal-heading .-name {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 18px;
  line-height: 140%;
  letter-spacing: -0.011em;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-voice .m-interview-modal .a-interview-modal-heading .-name {
    text-align: left;
  }
}
.o-voice .m-interview-modal .m-interview-modal-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-voice .m-interview-modal .m-interview-modal-list li {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-voice .m-interview-modal .a-interview-modal-list-heading {
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 16px;
  line-height: 160%;
  font-weight: 600;
  position: relative;
  flex: 1;
}

.o-voice .m-interview-modal .a-interview-modal-list-heading::before {
  content: "";
  background: var(--key_red, #df0012);
  flex-shrink: 0;
  width: 14px;
  height: 3px;
  position: relative;
  margin-top: calc(0.5em + 3px);
}

.o-voice .m-interview-modal .a-interview-modal-list-text {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 15px;
  line-height: 200%;
  position: relative;
  align-self: stretch;
}

.o-voice .m-interview-modal .a-interview-modal-list-text .-em {
  font-weight: bold;
}

.o-voice .m-interview-modal .a-interview-modal-testimonial {
  background: var(--keygrayf1f1f1, #f1f1f1);
  padding: 20px 18px 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-voice .m-interview-modal .-heading {
  background: var(--key_white, #ffffff);
  padding: 0px 8px 0px 8px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  height: 32px;
  position: relative;
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  flex: 1;
}

@media (min-width: 769px) {
  .o-voice .m-interview-modal .-heading {
    text-align: left;
    justify-content: flex-start;
  }
}
.o-voice .m-interview-modal .-text {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 15px;
  line-height: 180%;
  position: relative;
  align-self: stretch;
}

.o-schoolInfo {
  position: relative;
  padding-top: 88px;
  padding-bottom: 80px;
}

.type-slider .o-schoolInfo {
  background: var(--key_gray_f1f1f1, #f1f1f1);
}

@media (min-width: 769px) {
  .o-schoolInfo {
    padding-top: 64px;
    padding-bottom: 200px;
  }
}
.o-schoolInfo::after {
  background: var(--key_red, #df0012);
}

.o-schoolInfo .a-section-heading {
  color: var(--key_red, #df0012);
}

.o-schoolInfo .a-section-subheading {
  color: var(--keyblack, #222222);
}

.o-schoolInfo .o-schoolInfo-intro {
  margin-top: 48px;
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 30px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-schoolInfo .o-schoolInfo-intro {
    font-size: 36px;
  }
  .o-schoolInfo .o-schoolInfo-intro .-sub {
    font-size: 28px;
  }
}
.o-schoolInfo .o-schoolInfo-card-wrap {
  max-width: var(--cnt-width);
  margin: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  margin-top: 48px;
  min-height: 700px;
}

@media (min-width: 769px) {
  .o-schoolInfo .o-schoolInfo-card-wrap {
    grid-template-columns: repeat(3, 1fr);
    gap: 48px 38px;
  }
}
.o-schoolInfo .m-schoolInfo-card {
  background: var(--key_white, #ffffff);
  border-style: solid;
  border-color: var(--key_red, #df0012);
  border-width: 3px 0px 0px 0px;
  padding: 40px 0px 0px 0px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

@media (min-width: 769px) {
  .o-schoolInfo .m-schoolInfo-card {
    padding-top: 0;
    display: block;
  }
}
.o-schoolInfo .m-schoolInfo-card .area-school {
  display: grid;
  grid-template-columns: repeat(5, auto);
  gap: 8px;
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
  line-height: 120%;
  width: 100%;
  justify-content: flex-start;
}

.o-schoolInfo .m-schoolInfo-card .area-school div:nth-child(n+2) {
  padding-left: 8px;
  border-left: solid 1px var(--keyblack, #222222);
}

.o-schoolInfo .m-schoolInfo-card .slide-item-ttl {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-schoolInfo .m-schoolInfo-card .slide-item-ttl img {
  width: 100%;
  margin: auto;
}

@media (min-width: 769px) {
  .o-schoolInfo .m-schoolInfo-card .slide-item-ttl {
    height: 88px;
  }
}
.o-schoolInfo .m-schoolInfo-card .m-schoolInfo-card-detail {
  background: var(--key_white, #ffffff);
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

@media (min-width: 769px) {
  .o-schoolInfo .m-schoolInfo-card .m-schoolInfo-card-detail {
    margin-top: 24px;
  }
}
.o-schoolInfo .m-schoolInfo-card .head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-schoolInfo .m-schoolInfo-card .ttl {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-schoolInfo .m-schoolInfo-card .div {
  color: var(--key_red, #df0012);
  text-align: left;
  font-size: 20px;
  line-height: 120%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

@media (min-width: 769px) {
  .o-schoolInfo .m-schoolInfo-card .div {
    font-size: 18px;
  }
}
.o-schoolInfo .m-schoolInfo-card .text {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 16px;
  line-height: 160%;
  font-weight: 300;
  position: relative;
  align-self: stretch;
}

.o-schoolInfo .m-schoolInfo-card .field {
  background: var(--keygrayf1f1f1, #f1f1f1);
  border-radius: 6px;
  padding: 12px 12px 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-schoolInfo .m-schoolInfo-card .field-label {
  color: var(--key_red, #df0012);
  text-align: left;
  font-size: 18px;
  line-height: 120%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

@media (min-width: 769px) {
  .o-schoolInfo .m-schoolInfo-card .field-label {
    font-size: 16px;
  }
}
.o-schoolInfo .m-schoolInfo-card .cg-e {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 15px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}

.o-schoolInfo .m-schoolInfo-card .link-school {
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-content: flex-start;
  position: relative;
}

.o-schoolInfo .m-schoolInfo-card .li-link-btn {
  text-decoration: none;
  border-style: solid;
  border-color: var(--keyblack, #222222);
  border-width: 1px;
  padding: 1px 8px 0px 8px;
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 166px;
  height: 38px;
  position: relative;
}

@media (min-width: 769px) {
  .o-schoolInfo .m-schoolInfo-card .li-link-btn {
    width: 150px;
  }
}
.o-schoolInfo .m-schoolInfo-card .div3 {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 15px;
  line-height: 120%;
  font-weight: 600;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.o-schoolInfo .m-schoolInfo-card .icon {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 14px;
  height: auto;
  position: relative;
  overflow: visible;
}

.o-schoolInfo .logo-vantan-game-academy {
  max-width: 258.92px;
}

.o-schoolInfo .logo-kadokawa-anime-academy {
  max-width: 340px;
}

.o-schoolInfo .logo-kadokawa-manga-academy {
  max-width: 340px;
}

.o-schoolInfo .logo-vantan-design-institute {
  max-width: 323px;
}

.o-schoolInfo .logo-vantan-art-academy {
  max-width: 250px;
}

.o-schoolInfo .logo-vantan-venus-academy {
  max-width: 271px;
}

.o-schoolInfo .logo-vantan-beauty-university {
  max-width: 252px;
}

.o-schoolInfo .logo-vantan-lecole {
  max-width: 190px;
}

.o-schoolInfo .logo-vantan-culinary-academy {
  max-width: 333px;
}

.o-schoolInfo .logo-kadokawa-it-academy {
  max-width: 332px;
}

.o-schoolInfo .logo-vantan-creator-academy {
  max-width: 232px;
}

.o-schoolInfo .logo-vantan-music-academy {
  max-width: 265px;
}

@media (min-width: 769px) {
  .o-schoolInfo .logo-vantan-game-academy {
    max-width: 238px;
  }
  .o-schoolInfo .logo-kadokawa-anime-academy {
    max-width: 295px;
  }
  .o-schoolInfo .logo-kadokawa-manga-academy {
    max-width: 290px;
  }
  .o-schoolInfo .logo-vantan-design-institute {
    max-width: 277px;
  }
  .o-schoolInfo .logo-vantan-art-academy {
    max-width: 227px;
  }
  .o-schoolInfo .logo-vantan-venus-academy {
    max-width: 238px;
  }
  .o-schoolInfo .logo-vantan-beauty-university {
    max-width: 223px;
  }
  .o-schoolInfo .logo-vantan-lecole {
    max-width: 181px;
  }
  .o-schoolInfo .logo-vantan-culinary-academy {
    max-width: 300px;
  }
  .o-schoolInfo .logo-kadokawa-it-academy {
    max-width: 304px;
  }
  .o-schoolInfo .logo-vantan-creator-academy {
    max-width: 213px;
  }
  .o-schoolInfo .logo-vantan-music-academy {
    max-width: 248px;
  }
}
.o-cvArea {
  position: relative;
  padding-top: 48px;
  padding-bottom: 56px;
}
.o-cvArea .a-btn-cv {
  border-color: #df0012;
}
.o-cvArea .a-btn-cv-text {
  font-size: 20px;
  padding-right: 32px;
}
@media (min-width: 769px) {
  .o-cvArea .a-btn-cv-text {
    padding-right: 36px;
    font-size: 26px;
  }
}
.o-cvArea .a-btn-cv-arrow {
  right: 16px;
  width: 34px;
  height: 34px;
}
@media (min-width: 769px) {
  .o-cvArea .a-btn-cv-arrow {
    right: 24px;
    width: 40px;
    height: 40px;
  }
}
.o-cvArea .a-btn-cv-arrow::before {
  width: 11px;
  height: 14px;
}

@media (min-width: 769px) {
  .o-cvArea {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}
.o-cvArea .m-cv-text {
  font-size: 26px;
  color: var(--keyblack, #222222);
}
.o-cvArea .m-cv-text .-large {
  font-size: 30px;
  color: #df0012;
}
@media (min-width: 769px) {
  .o-cvArea .m-cv-text {
    font-size: 30px;
  }
  .o-cvArea .m-cv-text .-large {
    font-size: 38px;
  }
}

.o-schoolInfo-filter {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.o-schoolInfo-filter .block-genre {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

@media (min-width: 769px) {
  .o-schoolInfo-filter .block-genre {
    gap: 16px;
  }
}
.o-schoolInfo-filter .ttl-label {
  background: var(--keyblack, #222222);
  padding: 0px 8px 2px 8px;
  display: flex;
  flex-direction: row;
  gap: 0px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 240px;
  min-height: 30px;
  position: relative;
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 16px;
  line-height: 120%;
  font-weight: 600;
  position: relative;
  flex: 1;
}

.o-schoolInfo-filter .list {
  display: grid;
  flex-direction: row;
  gap: 4px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  grid-template-columns: repeat(3, 1fr);
}

@media (min-width: 769px) {
  .o-schoolInfo-filter .list {
    gap: 6px;
    grid-template-columns: repeat(5, 1fr);
  }
}
.o-schoolInfo-filter .card-genre {
  cursor: pointer;
  border-radius: 4px;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-height: 44px;
  position: relative;
  text-align: center;
  font-size: 14px;
  line-height: 120%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
  border-radius: 4px;
  border: 2px solid var(--key_red, #df0012);
  background: var(--key_white, #ffffff);
  color: var(--key_red, #df0012);
}

.o-schoolInfo-filter .card-genre.is-active {
  background: var(--key_red, #df0012);
  color: var(--key_white, #ffffff);
  opacity: 1;
}

@media (min-width: 769px) {
  .o-schoolInfo-filter .card-genre {
    font-size: 15px;
    min-height: 38px;
  }
}
.o-access {
  background: var(--key_white, #ffffff);
  position: relative;
  padding-top: 88px;
  padding-bottom: 80px;
}

@media (min-width: 769px) {
  .o-access {
    padding-top: 72px;
    padding-bottom: 120px;
  }
}
.o-access .a-section-heading {
  color: var(--key_red, #df0012);
}

.o-access .a-section-subheading {
  color: var(--keyblack, #222222);
}

.o-access .o-access_heads {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin-top: 40px;
}

@media (min-width: 769px) {
  .o-access .o-access_heads {
    gap: 6px;
    grid-template-columns: repeat(5, minmax(0, 176px));
    justify-content: center;
  }
}
.o-access .o-access_head {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px;
  height: 40px;
  border-radius: 4px;
  border: 2px solid var(--key_red, #df0012);
  background: var(--key_white, #fff);
  color: var(--key_red, #df0012);
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 120%; /* 16.8px */
  letter-spacing: 2.8px;
}

.o-access .o-access_head.is-active {
  color: var(--key_white, #fff);
  background: var(--key_red, #df0012);
}

@media (min-width: 769px) {
  .o-access .o-access_head {
    font-size: 15px;
  }
}
.o-access .o-access_list-wrap {
  margin-top: 40px;
  min-height: 350px;
}

.o-access .m-access_list {
  display: none;
  opacity: 0;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 48px 38px;
}

.o-access .m-access_list.is-active {
  display: flex;
  opacity: 1;
  animation: fadeIn 0.3s ease-in 0s forwards;
}

@media (min-width: 769px) {
  .o-access .m-access_list {
    flex-direction: row;
    justify-content: flex-start;
  }
}
.o-access .m-access_school {
  border-style: solid;
  border-color: var(--keygray888888, #888888);
  border-width: 1px 0px 0px 0px;
  padding: 22px 2px 0px 2px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  position: relative;
}

@media (min-width: 769px) {
  .o-access .m-access_school {
    max-width: 308px;
    flex: 1 0 33%;
  }
}
.o-access .m-access_school .detail {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}

.o-access .m-access_school .head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
}

.o-access .m-access_school .-name {
  color: var(--key_red, #df0012);
  text-align: center;
  font-size: 21px;
  line-height: 120%;
  font-weight: 600;
  position: relative;
  align-items: center;
  justify-content: center;
}

.o-access .m-access_school .-address {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 15px;
  line-height: 160%;
  font-weight: 400;
  position: relative;
}

.o-access .m-access_school .btn-map {
  background: var(--color-keywhite, #ffffff);
  border-radius: 20px;
  border-style: solid;
  border-color: var(--key_red, #df0012);
  border-width: 1px;
  padding: 0px 8px 0px 8px;
  display: flex;
  flex-direction: row;
  gap: 4px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 180px;
  height: 38px;
  position: relative;
  text-decoration: none;
}

.o-access .m-access_school .-map {
  color: var(--color-key_red, #d8040f);
  text-align: center;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 120%;
  font-weight: 700;
  position: relative;
}

.o-access .m-access_school .icon-pin {
  display: flex;
  flex-direction: column;
  gap: 0px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  position: relative;
  overflow: visible;
}

.o-access .m-access_school .link-school {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
  width: 100%;
}

.o-access .m-access_school .li-school-name {
  background: var(--keygrayf1f1f1, #f1f1f1);
  padding: 11px 8px 10px 8px;
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 13px;
  line-height: 120%;
  font-weight: 600;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.o-access .m-access_school .li-school-name::before {
  content: "";
  background: var(--key_red, #df0012);
  border-radius: 50%;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  position: relative;
} 
/* スライダー非活性時 */
.swiper:not(.swiper-initialized) {
  padding: 0;
}
.swiper:not(.swiper-initialized) .swiper-button-prev,
.swiper:not(.swiper-initialized) .swiper-button-next {
  display: none;
}
.swiper:not(.swiper-initialized) .swiper-wrapper:not(.block_support_inner) {
  display: flex;
}

.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 0;
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "";
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/icon_feature01_prev.svg);
}
@media (min-width: 769px) {
  .swiper-button-prev:after,
  .swiper-rtl .swiper-button-next:after {
    width: 56px;
    height: 56px;
  }
}

.swiper-button-next, .swiper-button-prev {
  width: 40px;
  height: 40px;
  cursor: pointer;
  top: 328px;
}
@media (min-width: 769px) {
  .swiper-button-next, .swiper-button-prev {
    width: 56px;
    height: 56px;
    top: 406px;
  }
}

.swiper-button-next {
  right: -30px;
}
@media (min-width: 769px) {
  .swiper-button-next {
    right: -76px;
  }
}

.swiper-button-prev {
  left: -30px;
}
@media (min-width: 769px) {
  .swiper-button-prev {
    left: -76px;
  }
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "";
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/icon_feature01_next.svg);
}
@media (min-width: 769px) {
  .swiper-button-next:after,
  .swiper-rtl .swiper-button-prev:after {
    width: 56px;
    height: 56px;
  }
}

.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  margin: 0 7px;
  background: #CACACA;
  opacity: 1;
}
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active {
  background: #DF0012;
}

.m-feature-swiper-wrap {
  width: 100%;
  position: relative;
}

.swiper {
  width: 100%;
  padding-bottom: 24px;
}
@media (min-width: 769px) {
  .swiper {
    padding-bottom: 40px;
  }
}

.swiper-pagination {
  position: relative;
}

@media (max-width: 767.98px) {
  .m-feature-block .p-swiper-card-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
}
.o-message {
  background: var(--key_red, #df0012);
  position: relative;
  padding-top: 80px;
  padding-bottom: 120px;
}
.o-message::after {
  background: var(--key_white, #ffffff);
}
@media (min-width: 769px) {
  .o-message {
    padding-top: 72px;
    padding-bottom: 200px;
  }
}
.o-message .a-section-heading,
.o-message .a-section-subheading {
  color: var(--key_white, #ffffff);
}
.o-message .o-message-content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: flex-start;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  margin: auto;
}
@media (min-width: 769px) {
  .o-message .o-message-content {
    flex-direction: row;
    gap: 56px;
    max-width: 1000px;
  }
}
.o-message .o-message-img {
  border-radius: 1rem;
  flex-shrink: 0;
  position: relative;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  max-width: 504px;
  margin: auto;
}
@media (min-width: 769px) {
  .o-message .o-message-img {
    flex: 1 1 50%;
  }
}
.o-message .o-message-textbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .o-message .o-message-textbox {
    margin-top: 52px;
    max-width: 440px;
    align-items: flex-start;
  }
}
.o-message .o-message-heading {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
  text-align: center;
  font-size: 28px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}
@media (min-width: 769px) {
  .o-message .o-message-heading {
    font-size: 2.5rem;
    text-align: left;
  }
}
.o-message .o-message-catch {
  margin-top: 16px;
  background: var(--keyblack, #222222);
  border-radius: 0.25rem;
  display: flex;
  flex-direction: row;
  gap: 0.625rem;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 2.5rem;
  min-height: 2.5rem;
  position: relative;
  color: #ffffff;
  text-align: center;
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  flex: 1;
}
.o-message .o-message-text {
  text-align: left;
  font-size: 1rem;
  line-height: 160%;
  font-weight: 400;
  position: relative;
  margin-top: 1rem;
}
@media (min-width: 769px) {
  .o-message .o-message-text {
    font-size: 20px;
    font-weight: 600;
    margin-top: 2rem;
  }
}
.o-message .m-btn-more {
  margin-top: 16px;
  background: var(--keyred, #df0012);
  border-radius: 1.5rem;
  padding: 0rem 3rem 0rem 1.25rem;
  display: flex;
  flex-direction: row;
  gap: 0rem;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  height: 2.5rem;
  min-width: 222px;
  position: relative;
  overflow: hidden;
}
@media (min-width: 769px) {
  .o-message .m-btn-more {
    align-self: flex-end;
    margin-top: 2rem;
  }
}
.o-message .m-btn-label {
  color: #ffffff;
  text-align: left;
  font-size: 0.875rem;
  font-weight: 600;
  position: relative;
}
.o-message .m-btn-open {
  border-radius: 1rem;
  display: flex;
  flex-direction: row;
  gap: 0rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.375rem;
  height: 1.375rem;
  position: absolute;
  right: 0.5625rem;
  top: 50%;
  translate: 0 -50%;
  overflow: visible;
  aspect-ratio: 1;
  background: var(--key_white, #ffffff);
}
.o-message .m-btn-open img {
  width: 12px;
  height: 12px;
  -o-object-fit: contain;
     object-fit: contain;
}

.o-partnership {
  position: relative;
  padding-top: 80px;
  padding-bottom: 88px;
}
@media (min-width: 769px) {
  .o-partnership {
    padding-top: 72px;
    padding-bottom: 88px;
  }
}
.o-partnership .a-section-heading {
  color: var(--key_red, #df0012);
  font-size: 4rem;
}
@media (min-width: 769px) {
  .o-partnership .a-section-heading {
    font-size: 5rem;
  }
}
.o-partnership .a-section-subheading {
  color: var(--keyblack, #222222);
}
.o-partnership .o-partnership-content {
  margin: auto;
  max-width: 1000%;
}
.o-partnership .o-partnership-img img {
  border-radius: 1rem;
}
.o-partnership .o-partnership-sub {
  margin-top: 24px;
  font-size: 20px;
  line-height: 140%;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-align: center;
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-sub {
    font-size: 1.75rem;
    margin-top: 48px;
  }
}
.o-partnership .o-partnership-heading {
  color: var(--key_red, #df0012);
  text-align: center;
  font-size: 30px;
  line-height: 140%;
  font-weight: 600;
}
.o-partnership .o-partnership-heading .-em {
  font-size: 50px;
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-heading {
    font-size: 2.875rem;
  }
  .o-partnership .o-partnership-heading .-em {
    font-size: 2.875rem;
  }
}
.o-partnership .o-partnership-intro {
  margin: auto;
  max-width: 720px;
  margin-top: 24px;
  background: linear-gradient(to left, #df0012, #df0012);
  border-radius: 0.5rem;
  padding: 1.5rem 1.125rem 1.5rem 1.125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-intro {
    margin-top: 28px;
    padding: 1.75rem 1.5rem 1.25rem 1.5rem;
  }
}
.o-partnership .o-partnership-intro-catch {
  background: var(--keyblack, #222222);
  border-radius: 0.25rem;
  padding: 0.5rem;
  display: flex;
  flex-direction: row;
  gap: 0.625rem;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  min-height: 2.5rem;
  position: relative;
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 15px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-intro-catch {
    padding: 0.375rem;
    font-size: 1.25rem;
  }
}
.o-partnership .o-partnership-intro-sub {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 22px;
  line-height: 140%;
  font-weight: 600;
  margin-top: 16px;
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-intro-sub {
    font-size: 2rem;
    margin-top: 20px;
  }
}
.o-partnership .o-partnership-intro-ttl {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 3.5rem;
  line-height: 140%;
  font-weight: 600;
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-intro-ttl {
    font-size: 3.5rem;
  }
}
.o-partnership .o-partnership-intro-note {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 0.8125rem;
  line-height: 100%;
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-intro-note {
    font-size: 0.8125rem;
    text-align: right;
    width: 100%;
  }
}
.o-partnership .o-partnership-block-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-block-wrap {
    flex-direction: row;
  }
}
.o-partnership .o-partnership-block-wrap.-wide {
  margin-top: -0.5rem;
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-block-wrap.-wide .o-partnership-block {
    text-align: center;
    width: 100%;
    max-width: 1000px;
  }
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-block-wrap.-wide .o-partnership-block-text {
    text-align: center;
  }
}
.o-partnership .o-partnership-block {
  border-radius: 0.625rem;
  border-style: solid;
  border-color: var(--key_red, #df0012);
  border-width: 0.0625rem;
  padding: 24px 18px 20px;
  gap: 12px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-block {
    gap: 1rem;
    padding: 2rem;
  }
  .o-partnership .o-partnership-block:nth-child(1) {
    width: 56.2%;
    max-width: 562px;
  }
  .o-partnership .o-partnership-block:nth-child(2) {
    width: 41.4%;
    max-width: 414;
  }
}
.o-partnership .o-partnership-block-heading {
  color: var(--key_red, #df0012);
  text-align: center;
  font-size: 22px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}
.o-partnership .o-partnership-block-text {
  color: var(--keyblack000, #000000);
  text-align: left;
  font-size: 1rem;
  line-height: 200%;
  font-weight: 300;
  position: relative;
}
.o-partnership .o-partnership-card-wrap {
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-card-wrap {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.o-partnership .m-partnership-card {
  background: var(--keygrayf1f1f1, #f1f1f1);
  border-radius: 0.25rem;
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
@media (min-width: 769px) {
  .o-partnership .m-partnership-card {
    flex: 1 1 calc(50% - 8px);
    margin: 0 auto;
  }
}
.o-partnership .m-partnership-card-heading {
  background: var(--keyblack, #222222);
  padding: 0.25rem 0.5rem 0.25rem 0.5rem;
  display: flex;
  flex-direction: row;
  gap: 0rem;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 1.125rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  flex: 0;
}
.o-partnership .m-partnership-card-text {
  padding: 1.125rem 1.25rem 1.125rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.o-partnership .m-partnership-card-text p {
  color: var(--keyblack000, #000000);
  text-align: left;
  font-size: 0.9375rem;
  line-height: 180%;
  font-weight: 400;
  position: relative;
  align-self: stretch;
}
.o-partnership .m-partnership-card-text .m-partnership-card-note {
  font-size: 0.75rem;
  line-height: 160%;
}
.o-partnership .o-partnership-card-note {
  text-align: left;
  font-size: 0.75rem;
  line-height: 160%;
  margin-top: 8px;
}
@media (min-width: 769px) {
  .o-partnership .o-partnership-card-note {
    text-align: right;
  }
}

.o-feature {
  background: var(--key_red, #df0012);
  position: relative;
  padding-top: 80px;
  padding-bottom: 88px;
}
@media (min-width: 769px) {
  .o-feature {
    padding-top: 72px;
    padding-bottom: 88px;
  }
}
.o-feature .a-section-heading,
.o-feature .a-section-subheading {
  color: var(--key_white, #ffffff);
}
.o-feature .a-section-heading {
  font-size: 4.375rem;
}
@media (min-width: 769px) {
  .o-feature .a-section-heading {
    font-size: 5rem;
  }
}
.o-feature .m-feature-intro {
  margin-top: 48px;
}
.o-feature .m-feature-intro-heading {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 1.75rem;
  line-height: 140%;
  font-weight: 700;
}
@media (min-width: 769px) {
  .o-feature .m-feature-intro-heading {
    font-size: 2rem;
  }
}
.o-feature .m-feature-intro-text {
  color: var(--key_white, #ffffff);
  text-align: left;
  font-size: 1.125rem;
  line-height: 180%;
  font-weight: 600;
  margin-top: 16px;
}
@media (min-width: 769px) {
  .o-feature .m-feature-intro-text {
    text-align: center;
    margin-top: 12px;
  }
}
.o-feature .m-feature-intro-img {
  display: block;
  margin-top: 32px;
}
@media (min-width: 769px) {
  .o-feature .m-feature-intro-img {
    margin-top: 48px;
  }
}
.o-feature .m-feature-block {
  margin-top: 48px;
  background: var(--key_white, #ffffff);
  border-radius: 1rem;
  padding: 2.5rem 1.125rem 2.5rem 1.125rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
.o-feature .m-feature-block + .m-feature-block {
  margin-top: 32px;
}
@media (min-width: 769px) {
  .o-feature .m-feature-block {
    padding: 3.5rem 3rem 3.5rem 3rem;
    gap: 3rem;
  }
}
.o-feature .m-feature-block .a-section-heading {
  font-size: 2.875rem;
  color: var(--key_red, #df0012);
}
@media (min-width: 769px) {
  .o-feature .m-feature-block .a-section-heading {
    font-size: 3.25rem;
  }
}
.o-feature .m-feature-block .a-section-subheading {
  margin-top: 8px;
  font-size: 1.25rem;
  color: var(--keyblack, #222222);
}
@media (min-width: 769px) {
  .o-feature .m-feature-block .a-section-subheading {
    font-size: 1.5rem;
  }
}
.o-feature .m-feature-block .a-section-text {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 1rem;
  line-height: 200%;
  margin-top: 20px;
}
@media (min-width: 769px) {
  .o-feature .m-feature-block .a-section-text {
    text-align: center;
    margin-top: 24px;
  }
}

.m-profile-card {
  box-sizing: border-box;
  background: var(--key_white, #ffffff);
  border-radius: 1rem;
  border-style: solid;
  border-color: var(--key_red, #df0012);
  border-width: 0.0625rem;
  padding: 1.5rem 1.125rem 1.5rem 1.125rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .m-profile-card {
    max-width: 442px;
    padding: 2.5rem 1.375rem 2.5rem 1.375rem;
  }
}

.m-profile {
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .m-profile {
    gap: 1.5rem;
    align-items: stretch;
  }
}
.m-profile .m-profile-img {
  flex-shrink: 0;
  width: 5.5rem;
  height: 5.5rem;
  position: relative;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 769px) {
  .m-profile .m-profile-img {
    width: 10rem;
    height: 10rem;
  }
}
.m-profile .m-profile-textbox {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  justify-content: flex-start;
  flex: 1;
  position: relative;
}
@media (min-width: 769px) {
  .m-profile .m-profile-textbox {
    justify-content: space-between;
  }
}
.m-profile .m-profile-job {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 0.875rem;
  line-height: 160%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
.m-profile .m-profile-name {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.m-profile .-kanji {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 1.375rem;
  line-height: 120%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
.m-profile .-kana {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 0.8125rem;
  line-height: 120%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
.m-profile .-note {
  text-align: right;
  font-size: 0.75rem;
  line-height: 120%;
  margin-top: 8px;
}

.m-profile-detail {
  margin-top: 16px;
}
.m-profile-detail .m-profile-heading {
  color: var(--key_red, #df0012);
  text-align: left;
  font-size: 1.125rem;
  line-height: 140%;
  font-weight: 700;
}
@media (min-width: 769px) {
  .m-profile-detail .m-profile-heading {
    font-size: 1.375rem;
  }
}
.m-profile-detail .m-profile-text {
  font-size: 0.875rem;
  line-height: 180%;
  margin-top: 16px;
}
.m-profile-detail .m-profile-text .-em {
  font-weight: 600;
  font-size: 1.125rem;
}
@media (min-width: 769px) {
  .m-profile-detail .m-profile-text {
    font-size: 0.9375rem;
    margin-top: 24px;
  }
  .m-profile-detail .m-profile-text .-em {
    font-size: 1.125rem;
  }
}

.m-profile-detail-img {
  margin-top: 16px;
}
@media (min-width: 769px) {
  .m-profile-detail-img {
    margin-top: 24px;
  }
}

.m-feature-case {
  background: var(--keygrayf1f1f1, #f1f1f1);
  border-radius: 0.75rem;
  position: relative;
  overflow: hidden;
}
.m-feature-case .m-feature-case-ttl {
  background: var(--key_red, #df0012);
  border-style: solid;
  border-color: var(--key_red, #df0012);
  padding: 1rem;
  gap: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-shrink: 0;
}
@media (min-width: 769px) {
  .m-feature-case .m-feature-case-ttl {
    align-items: center;
    justify-content: flex-start;
    padding: 0rem 1.5rem 0rem 1.5rem;
    gap: 1.25rem;
    flex-direction: row;
    border-width: 0.0625rem;
    height: 4rem;
  }
}
.m-feature-case .-num {
  border-style: solid;
  border-color: var(--key_white, #ffffff);
  border-width: 0rem 0rem 0.125rem 0rem;
  padding-bottom: 4px;
  display: flex;
  flex-direction: row;
  gap: 0rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--key_white, #ffffff);
  text-align: center;
  font-family: "Outfit", sans-serif;
  font-size: 1.375rem;
  line-height: 100%;
  letter-spacing: -0.02em;
  font-weight: 700;
  position: relative;
}
@media (min-width: 769px) {
  .m-feature-case .-num {
    padding: 0rem 1.5rem 0rem 0rem;
    border-width: 0rem 0.125rem 0rem 0rem;
  }
}
.m-feature-case .-text {
  color: var(--key_white, #ffffff);
  text-align: center;
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  font-size: 22px;
  line-height: 140%;
  font-weight: 600;
}
@media (min-width: 769px) {
  .m-feature-case .-text {
    flex-direction: row;
    text-align: left;
  }
}
.m-feature-case .-text .sub {
  font-size: 18px;
}
.m-feature-case .m-feature-detail {
  padding: 1.5rem 1rem 1.5rem 1rem;
}
@media (min-width: 769px) {
  .m-feature-case .m-feature-detail {
    padding: 2rem 1.5rem 2.5rem 1.5rem;
  }
}

.m-feature-img img {
  border-radius: 0.75rem;
}
@media (min-width: 769px) {
  .m-feature-img img {
    border-radius: 1rem;
  }
}

.m-feature-mv-block .m-feature-mv-block-heading {
  color: var(--key_red, #df0012);
  text-align: center;
  font-size: 1.625rem;
  line-height: 120%;
  font-weight: 700;
  position: relative;
  align-self: stretch;
}
.m-feature-mv-block .m-feature-mv-block-img {
  margin-top: 24px;
  display: block;
}
@media (min-width: 769px) {
  .m-feature-mv-block .m-feature-mv-block-img {
    margin-top: 48px;
  }
}

.m-feature-mv-card-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 20px;
}
@media (min-width: 769px) {
  .m-feature-mv-card-wrap {
    flex-direction: row;
    gap: 26px 24px;
  }
}

.m-feature-mv-card {
  background: var(--key_white, #ffffff);
  border-style: solid;
  border-color: var(--key_red, #df0012);
  border-width: 0.0625rem;
  border-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
@media (min-width: 769px) {
  .m-feature-mv-card {
    border-radius: 1rem;
    flex: 0 0 calc(50% - 12px);
  }
}
.m-feature-mv-card .m-feature-mv-card-img img {
  -o-object-fit: cover;
     object-fit: cover;
}
.m-feature-mv-card .m-feature-mv-card__ttl {
  background: var(--key_red, #df0012);
  padding: 0rem 1rem 0rem 1rem;
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  height: 2.5rem;
  position: relative;
}
.m-feature-mv-card .m-feature-mv-card__number {
  border-style: solid;
  border-color: var(--key_white, #ffffff);
  border-width: 0rem 0.0625rem 0rem 0rem;
  padding: 0rem 0.75rem 0rem 0rem;
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}
.m-feature-mv-card .m-feature-mv-card___01 {
  color: #ffffff;
  text-align: left;
  font-size: 1.1875rem;
  line-height: 120%;
  font-weight: 600;
  position: relative;
}
@media (min-width: 769px) {
  .m-feature-mv-card .m-feature-mv-card___01 {
    font-size: 1.3125rem;
  }
}
.m-feature-mv-card .m-feature-mv-card__txt {
  padding: 0rem 0rem 0.0625rem 0rem;
  display: flex;
  flex-direction: row;
  gap: 0.625rem;
  align-items: center;
  justify-content: center;
  flex: 1;
  position: relative;
}
.m-feature-mv-card .m-feature-mv-card__div {
  color: var(--key_white, #ffffff);
  text-align: left;
  font-size: 1.125rem;
  line-height: 120%;
  font-weight: 600;
  position: relative;
  flex: 1;
}
@media (min-width: 769px) {
  .m-feature-mv-card .m-feature-mv-card__div {
    font-size: 1.25rem;
  }
}
.m-feature-mv-card .m-feature-mv-card__detail {
  padding: 1.125rem;
  gap: 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .m-feature-mv-card .m-feature-mv-card__detail {
    gap: 0.625rem;
    padding: 1.375rem;
  }
}
.m-feature-mv-card .m-feature-mv-card__ttl-school {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.m-feature-mv-card .m-feature-mv-card__tag-school {
  background: var(--keyblack, #222222);
  padding: 0rem 0.5rem 0rem 0.5rem;
  display: flex;
  flex-direction: row;
  gap: 0rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 1.5rem;
  position: relative;
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: 600;
  position: relative;
}
.m-feature-mv-card .m-feature-mv-card__div3 {
  color: var(--key_red, #df0012);
  text-align: left;
  font-size: 1.25rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
@media (min-width: 769px) {
  .m-feature-mv-card .m-feature-mv-card__div3 {
    font-size: 1.375rem;
  }
}
.m-feature-mv-card .m-feature-mv-card__div4 {
  color: #000000;
  text-align: left;
  font-size: 0.9375rem;
  line-height: 180%;
  font-weight: 400;
  position: relative;
  align-self: stretch;
}

.o-benefits {
  background: var(--key_red, #df0012);
  position: relative;
  padding-top: 80px;
  padding-bottom: 88px;
}
@media (min-width: 769px) {
  .o-benefits {
    padding-top: 72px;
    padding-bottom: 88px;
  }
}
.o-benefits .a-section-heading,
.o-benefits .a-section-subheading {
  color: var(--key_white, #ffffff);
}
.o-benefits .a-section-heading {
  margin-top: 48px;
}
@media (min-width: 769px) {
  .o-benefits .a-section-heading {
    margin-top: 80px;
  }
}

.o-benefits-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
.o-benefits-block .o-benefits-block__heading {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  width: 100%;
  position: relative;
}
.o-benefits-block .o-benefits-block__catch {
  width: 100%;
  background: var(--keyblack, #222222);
  border-radius: 0.25rem;
  padding: 0.125rem 1rem 0.25rem 1rem;
  display: flex;
  flex-direction: row;
  gap: 0.625rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 2.5rem;
  position: relative;
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 1.375rem;
  line-height: 120%;
  font-weight: 700;
  position: relative;
  flex: 1;
}
@media (min-width: 769px) {
  .o-benefits-block .o-benefits-block__catch {
    width: auto;
    font-size: 1.75rem;
    display: inline-flex;
    padding: 0.625rem 1.5rem 0.75rem 1.5rem;
    height: 3.5rem;
  }
}
.o-benefits-block .o-benefits-block__div {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 2rem;
  line-height: 140%;
  font-weight: 700;
  position: relative;
  align-self: stretch;
}
@media (min-width: 769px) {
  .o-benefits-block .o-benefits-block__div {
    font-size: 2.875rem;
  }
}
.o-benefits-block .o-benefits-block__image {
  margin-top: 40px;
}
.o-benefits-block .o-benefits-block__image img {
  border-radius: 1rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 769px) {
  .o-benefits-block .o-benefits-block__image {
    margin-top: 48px;
  }
}

.o-benefits-block-content {
  margin-top: 48px;
  border-radius: 0.75rem;
  border-style: solid;
  border-color: var(--key_white, #ffffff);
  border-width: 0.125rem;
  padding: 0.5rem 1rem 0.75rem 1rem;
  display: flex;
  flex-direction: row;
  gap: 0.625rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .o-benefits-block-content {
    display: inline-flex;
    border-radius: 0.5rem;
    margin-top: 80px;
    padding: 1.25rem 1.5rem 1.375rem 1.5rem;
  }
}
.o-benefits-block-content .o-benefits-block-content-heading {
  color: var(--key_white, #ffffff);
  text-align: center;
  position: relative;
  flex: 1;
  font-size: 24px;
  line-height: 140%;
  font-weight: 700;
}
@media (min-width: 769px) {
  .o-benefits-block-content .o-benefits-block-content-heading {
    font-size: 1.75rem;
  }
}
.o-benefits-block-content .-num {
  font-size: 26px;
}
@media (min-width: 769px) {
  .o-benefits-block-content .-num {
    font-size: 1.75rem;
  }
}

.o-benefits-block-content-text {
  margin-top: 24px;
  color: var(--key_white, #ffffff);
  text-align: left;
  font-size: 1.125rem;
  line-height: 180%;
  font-weight: 600;
}
@media (min-width: 769px) {
  .o-benefits-block-content-text {
    margin-top: 32px;
    font-size: 1.375rem;
  }
}

.o-benefits-card-wrap {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex-wrap: wrap;
}
@media (min-width: 769px) {
  .o-benefits-card-wrap {
    flex-direction: row;
    justify-content: center;
  }
}

.m-benefits-card {
  background: var(--key_white, #ffffff);
  border-radius: 0.5rem;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}
@media (min-width: 769px) {
  .m-benefits-card {
    max-width: 316px;
  }
}

.m-benefits-card-heading {
  color: var(--key_red, #df0012);
  text-align: center;
  font-size: 1.375rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
}

.m-benefits-card-text {
  color: #000000;
  text-align: left;
  font-size: 0.9375rem;
  line-height: 200%;
  font-weight: 300;
  position: relative;
  align-self: stretch;
}

.o-anshin {
  padding-top: 80px;
  padding-bottom: 120px;
}
@media (min-width: 769px) {
  .o-anshin {
    padding-top: 72px;
    padding-bottom: 200px;
  }
}
.o-anshin::after {
  background: var(--key_red, #df0012);
}

.m-anshin-img {
  display: block;
}
.o-anshin-content + .m-anshin-img {
  margin-top: 48px;
}
@media (min-width: 769px) {
  .o-anshin-content + .m-anshin-img {
    margin-top: 80px;
  }
}
.m-anshin-img img {
  border-radius: 1rem;
  -o-object-fit: cover;
     object-fit: cover;
}

.o-anshin__text {
  font-size: 1.125rem;
  line-height: 180%;
  font-weight: 600;
}
.o-anshin-content {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .o-anshin-content {
    margin-top: 48px;
    gap: 1.5rem;
  }
  .o-anshin-content:nth-child(n+4) {
    gap: 0.5em;
  }
}
.o-anshin-content .o-anshin__div {
  color: var(--key_red, #df0012);
  text-align: center;
  font-size: 1.875rem;
  line-height: 140%;
  font-weight: 700;
  position: relative;
  align-self: stretch;
}
@media (min-width: 769px) {
  .o-anshin-content .o-anshin__div {
    font-size: 2rem;
  }
}
.o-anshin-content .o-anshin__list-course {
  border-style: solid;
  border-color: var(--keygraycacaca, #cacaca);
  border-width: 0rem 0rem 0.0625rem 0rem;
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  flex-shrink: 0;
  max-width: 50rem;
  position: relative;
}
@media (min-width: 769px) {
  .o-anshin-content .o-anshin__list-course {
    max-width: 880px;
    margin: auto;
  }
}
.o-anshin-content .o-anshin__li-worries {
  width: 100%;
  border-style: solid;
  border-color: var(--keygraycacaca, #cacaca);
  border-width: 0.0625rem 0rem 0rem 0rem;
  padding: 0.5rem 0.25rem 0.5rem 0.25rem;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  min-height: 4rem;
  position: relative;
  overflow: hidden;
  padding-left: 30px;
}
.o-anshin-content .o-anshin__li-worries::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 18px;
  height: 18px;
  left: 4px;
  margin: auto;
  background: url(../img/icon_check_red.svg);
}
.o-anshin-content .o-anshin__icon-check {
  border-radius: 0.5625rem;
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  position: relative;
  overflow: visible;
  aspect-ratio: 1;
}
.o-anshin-content .o-anshin__div2 {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 1.125rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  flex: 1;
}
.o-anshin-content .o-anshin__box-btm {
  border-radius: 0rem;
  flex-shrink: 0;
  width: 2.5rem;
  height: 1.75rem;
  position: relative;
  overflow: visible;
}
.o-anshin-content .o-anshin___1 {
  color: var(--keyblack, #222222);
  text-align: center;
  position: relative;
  align-self: stretch;
}
.o-anshin-content ._1-span {
  font-size: 22px;
  line-height: 160%;
  font-weight: 700;
}
.o-anshin-content ._1-span2 {
  font-size: 24px;
  line-height: 160%;
  font-weight: 700;
}
.o-anshin-content .-note {
  width: 100%;
  text-align: right;
  font-size: 0.875rem;
  line-height: 140%;
  font-weight: 600;
}
@media (min-width: 769px) {
  .o-anshin-content .-note {
    margin-top: 8px;
  }
}

.o-anshin__card-wrap {
  margin-top: 8px;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .o-anshin__card-wrap {
    margin-top: 24px;
    gap: 1rem;
    justify-content: center;
  }
}
.o-anshin__card-wrap .o-anshin__card {
  background: var(--keygrayf1f1f1, #f1f1f1);
  border-radius: 0.25rem;
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  width: calc(50% - 4px);
  position: relative;
  overflow: hidden;
}
@media (min-width: 769px) {
  .o-anshin__card-wrap .o-anshin__card {
    max-width: 282px;
  }
}
.o-anshin__card-wrap .m-anshin__card-ttl {
  background: var(--keyblack, #222222);
  padding: 0.0625rem 0.3rem 0rem;
  display: flex;
  flex-direction: row;
  gap: 0.25rem;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  height: 2rem;
  position: relative;
}
@media (min-width: 769px) {
  .o-anshin__card-wrap .m-anshin__card-ttl {
    height: 40px;
  }
}
.o-anshin__card-wrap .m-anshin__card-div {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 14px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  white-space: nowrap;
}
@media (min-width: 769px) {
  .o-anshin__card-wrap .m-anshin__card-div {
    font-size: 1.25rem;
  }
}
.o-anshin__card-wrap .m-anshin__card-div2 {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 0.75rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  white-space: nowrap;
}
@media (min-width: 769px) {
  .o-anshin__card-wrap .m-anshin__card-div2 {
    font-size: 0.875rem;
  }
}
.o-anshin__card-wrap .m-anshin__card-detail {
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .o-anshin__card-wrap .m-anshin__card-detail {
    padding: 1.125rem 1.25rem 1.125rem 1.25rem;
  }
}
.o-anshin__card-wrap .m-anshin__card-num {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 1.125rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
@media (min-width: 769px) {
  .o-anshin__card-wrap .m-anshin__card-num {
    font-size: 1.25rem;
  }
}

.o-reasons {
  background: var(--key_red, #df0012);
  position: relative;
  padding-top: 80px;
  padding-bottom: 120px;
}
.o-reasons::after {
  background: var(--key_white, #ffffff);
}
@media (min-width: 769px) {
  .o-reasons {
    padding-top: 72px;
    padding-bottom: 200px;
  }
}
.o-reasons .l-section-inner {
  width: 100%;
}
.o-reasons .a-section-heading,
.o-reasons .a-section-subheading {
  color: var(--key_white, #ffffff);
}
.o-reasons .m-reasons-intro-heading {
  color: #ffffff;
  text-align: center;
  font-size: 1.5rem;
  line-height: 140%;
  font-weight: 600;
  margin-top: 48px;
  display: block;
}

.o-reasons__li-card {
  display: flex;
  flex-direction: column;
  gap: 1.625rem;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  margin-top: 40px;
}
@media (min-width: 769px) {
  .o-reasons__li-card {
    flex-direction: row;
    justify-content: center;
  }
}

.m-reasons__li-card-3-reasons {
  background: var(--key_white, #ffffff);
  border-radius: 1rem;
  padding: 1rem 1.5rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  flex: 1;
}
@media (min-width: 769px) {
  .m-reasons__li-card-3-reasons {
    padding: 40px 24px 32px 24px;
  }
}

.m-reasons__image img {
  flex-shrink: 0;
  width: 10rem;
  height: 8.625rem;
  position: relative;
  -o-object-fit: cover;
     object-fit: cover;
}

.m-reasons___100 {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 1.25rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 769px) {
  .m-reasons___100 {
    height: 84px;
  }
}

.m-reasons___01 {
  color: var(--key_red, #df0012);
  text-align: left;
  font-family: "Outfit", sans-serif;
  font-size: 2.5rem;
  line-height: 90%;
  letter-spacing: -0.02em;
  font-weight: 700;
  position: absolute;
  left: 1.25rem;
  top: 1.25rem;
  transform-origin: 0 0;
  transform: rotate(0deg) scale(1, 1);
}

.m-reason-note {
  color: var(--key_white, #ffffff);
  text-align: left;
  font-size: 0.875rem;
  line-height: 180%;
  font-weight: 400;
  margin-top: 40px;
}

.o-career {
  position: relative;
  padding-top: 80px;
  padding-bottom: 88px;
}
.o-career::after {
  background: var(--key_red, #df0012);
}
@media (min-width: 769px) {
  .o-career {
    padding-top: 72px;
    padding-bottom: 200px;
  }
}
.o-career .a-section-heading {
  color: var(--key_red, #df0012);
}
.o-career .a-section-subheading {
  color: var(--keyblack, #222222);
}
.o-career .o-career-image {
  display: block;
  margin-top: 48px;
}
.o-career .o-career-image img {
  border-radius: 1rem;
}

.o-career-detail {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  margin-top: 32px;
}
@media (min-width: 769px) {
  .o-career-detail {
    margin-top: 40px;
  }
}

.o-career-detail__heading {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}

.o-career-detail__div {
  color: var(--key_red, #df0012);
  text-align: center;
  font-size: 1.375rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
@media (min-width: 769px) {
  .o-career-detail__div {
    font-size: 1.5rem;
  }
}

.o-career-detail___15 {
  color: var(--key_red, #df0012);
  text-align: center;
  font-size: 1.625rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
@media (min-width: 769px) {
  .o-career-detail___15 {
    font-size: 2rem;
  }
}

.o-career-detail__div2 {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 1rem;
  line-height: 2.0625rem;
  letter-spacing: 0.04125rem;
  font-weight: 400;
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media (min-width: 769px) {
  .o-career-detail__div2 {
    justify-content: center;
    text-align: center;
  }
}

.target-audience {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  align-items: center;
  justify-content: flex-start;
  flex: 1;
  position: relative;
  margin-top: 32px;
}
@media (min-width: 769px) {
  .target-audience {
    margin-top: 40px;
  }
}

.target-audience__ttl-sub {
  background: var(--keyblack, #222222);
  padding: 0rem 1.5rem 0rem 1.5rem;
  display: inline-flex;
  flex-direction: row;
  gap: 0rem;
  align-items: center;
  justify-content: center;
  height: 2.5rem;
  position: relative;
}

.target-audience__div {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 1.25rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}

.target-audience__list-audience {
  display: flex;
  flex-direction: row;
  gap: 0.375rem;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .target-audience__list-audience {
    gap: 7px;
  }
}

.target-audience__li-target-audience {
  background: var(--key_white, #ffffff);
  border-radius: 0.25rem;
  border-style: solid;
  border-color: var(--key_red, #df0012);
  border-width: 0.0625rem;
  padding: 0rem 0.5rem 0rem 0.5rem;
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-height: 3rem;
  flex: 0 0 calc(50% - 3px);
  position: relative;
}
@media (min-width: 769px) {
  .target-audience__li-target-audience {
    width: 100%;
    max-width: 244px;
    flex: 0 0 calc(25% - 1.75px);
  }
}

.target-audience__div2 {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 1rem;
  line-height: 120%;
  font-weight: 600;
  position: relative;
  flex: 1;
}

.o-graduate {
  background: var(--key_red, #df0012);
  position: relative;
  padding-top: 80px;
  padding-bottom: 120px;
}
.o-graduate::after {
  background: var(--key_white, #ffffff);
}
@media (min-width: 769px) {
  .o-graduate {
    padding-top: 72px;
    padding-bottom: 200px;
  }
}
.o-graduate .a-section-heading,
.o-graduate .a-section-subheading {
  color: var(--key_white, #ffffff);
}
.o-graduate .ttl {
  margin-top: 48px;
}
.o-graduate .ttl__div {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 1.375rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 769px) {
  .o-graduate .ttl__div {
    font-size: 1.5rem;
  }
}
.o-graduate .ttl__div2 {
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 2.125rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 769px) {
  .o-graduate .ttl__div2 {
    font-size: 2.5rem;
  }
}
.o-graduate .o-accordion-wrap {
  margin-top: 32px;
}
.o-graduate .o-interview-card-wrap {
  max-width: var(--cnt-width);
  margin: auto;
  margin-top: 48px;
  gap: 16px;
  justify-content: center;
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 769px) {
  .o-graduate .o-interview-card-wrap {
    grid-template-columns: repeat(2, minmax(0, 360px));
    gap: 24px;
  }
}
.o-graduate .m-interview-card {
  background: var(--key_gray_f1f1f1, #fff);
  border-radius: 8px;
  display: flex;
  gap: 0px;
  flex: 1;
  position: relative;
  overflow: hidden;
}
.o-graduate .m-interview-card .card-img {
  flex-shrink: 0;
  width: 32.3529411765%;
  position: relative;
  -o-object-fit: cover;
  object-fit: cover;
}
@media (min-width: 769px) {
  .o-graduate .m-interview-card .card-img {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .o-graduate .m-interview-card {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
}
.o-graduate .m-interview-card .txt {
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: auto;
  align-items: flex-end;
  justify-content: flex-start;
  position: relative;
}
@media (min-width: 769px) {
  .o-graduate .m-interview-card .txt {
    align-self: stretch;
    flex-shrink: 0;
    padding: 20px;
  }
}
.o-graduate .m-interview-card .div {
  color: var(--key_red, #df0012);
  text-align: left;
  font-size: 14px;
  line-height: 150%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
@media (min-width: 769px) {
  .o-graduate .m-interview-card .div {
    font-size: 20px;
  }
}
.o-graduate .m-interview-card .div2 {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 13px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
@media (min-width: 769px) {
  .o-graduate .m-interview-card .div2 {
    font-size: 15px;
  }
}
.o-graduate .m-interview-card .btn-open {
  border-radius: 16px;
  display: flex;
  flex-direction: row;
  gap: 0px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  position: absolute;
  right: 8px;
  bottom: 8px;
  overflow: visible;
  border-radius: 16px;
  background: var(--key_red, #df0012);
}
.o-graduate .m-interview-card .btn-open img {
  width: 12px;
}
.o-graduate .m-interview-modal {
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  justify-content: flex-start;
  align-items: center;
}
@media (min-width: 769px) {
  .o-graduate .m-interview-modal {
    padding: 48px;
    gap: 40px;
    flex-direction: row;
    align-items: flex-start;
  }
}
.o-graduate .m-interview-modal .card-img {
  display: block;
  max-width: 240px;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .o-graduate .m-interview-modal .card-img {
    max-width: 320px;
    align-self: stretch;
    flex-shrink: 0;
  }
}
.o-graduate .m-interview-modal .textwrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  justify-content: flex-start;
}
@media (min-width: 769px) {
  .o-graduate .m-interview-modal .textwrap {
    padding-top: 16px;
  }
}
.o-graduate .m-interview-modal .a-interview-modal-heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.o-graduate .m-interview-modal .a-interview-modal-heading .-title {
  color: var(--key_red, #df0012);
  text-align: center;
  font-size: 22px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
@media (min-width: 769px) {
  .o-graduate .m-interview-modal .a-interview-modal-heading .-title {
    text-align: left;
    font-size: 24px;
  }
}
.o-graduate .m-interview-modal .a-interview-modal-heading .-name {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 18px;
  line-height: 140%;
  letter-spacing: -0.011em;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
@media (min-width: 769px) {
  .o-graduate .m-interview-modal .a-interview-modal-heading .-name {
    text-align: left;
  }
}
.o-graduate .m-interview-modal .m-interview-modal-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.o-graduate .m-interview-modal .m-interview-modal-list li {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.o-graduate .m-interview-modal .a-interview-modal-list-heading {
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 16px;
  line-height: 160%;
  font-weight: 600;
  position: relative;
  flex: 1;
}
.o-graduate .m-interview-modal .a-interview-modal-list-heading::before {
  content: "";
  background: var(--key_red, #df0012);
  flex-shrink: 0;
  width: 14px;
  height: 3px;
  position: relative;
  margin-top: calc(0.5em + 3px);
}
.o-graduate .m-interview-modal .a-interview-modal-list-text {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 15px;
  line-height: 200%;
  position: relative;
  align-self: stretch;
}
.o-graduate .m-interview-modal .a-interview-modal-list-text .-em {
  font-weight: bold;
}
.o-graduate .m-interview-modal .a-interview-modal-testimonial {
  background: var(--keygrayf1f1f1, #f1f1f1);
  padding: 20px 18px 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.o-graduate .m-interview-modal .-heading {
  background: var(--key_white, #ffffff);
  padding: 0px 8px 0px 8px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  height: 32px;
  position: relative;
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  flex: 1;
}
@media (min-width: 769px) {
  .o-graduate .m-interview-modal .-heading {
    text-align: left;
    justify-content: flex-start;
  }
}
.o-graduate .m-interview-modal .-text {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 15px;
  line-height: 180%;
  position: relative;
  align-self: stretch;
}

.o-equipment {
  position: relative;
  padding-top: 80px;
  padding-bottom: 88px;
}
@media (min-width: 769px) {
  .o-equipment {
    padding-top: 72px;
    padding-bottom: 88px;
  }
}
.o-equipment .a-section-heading {
  color: var(--key_red, #df0012);
}
.o-equipment .a-section-subheading {
  color: var(--keyblack, #222222);
}
.o-equipment .o-equipment-block {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: flex-start;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  margin-top: 48px;
}
@media (min-width: 769px) {
  .o-equipment .o-equipment-block {
    flex-direction: row;
    align-items: center;
    gap: 3.5rem;
    justify-content: flex-start;
  }
}
.o-equipment .o-equipment-block__image {
  display: block;
  max-width: 490px;
}
.o-equipment .o-equipment-block__image img {
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1rem;
}
.o-equipment .o-equipment-block__detail {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
  justify-content: flex-start;
  flex: 1;
  position: relative;
}
.o-equipment .o-equipment-block__heading {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.o-equipment .o-equipment-block__div {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 1.5rem;
  line-height: 140%;
  letter-spacing: 0.04125rem;
  font-weight: 600;
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.o-equipment .o-equipment-block__div2 {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 2rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.o-equipment .o-equipment-block__mac {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 1rem;
  line-height: 200%;
  font-weight: 400;
  position: relative;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.m-interview-modal .card-img img {
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
}

/* 色差分をループで生成 */
.o-tab-contents-wrap {
  padding-bottom: 72px;
}
.o-tab-contents-wrap .l-section-inner {
  padding: 0;
}
@media (min-width: 769px) {
  .o-tab-contents-wrap {
    padding-bottom: 88px;
  }
}

.o-tab-container {
  max-width: 600px;
  margin: 0 auto;
}

/* タブボタンのスタイル */
.o-tab-buttons {
  display: flex;
  gap: 6px;
  justify-content: center;
  align-items: flex-end;
}

.m-tab-button {
  flex: 1 1 50%;
  max-width: 502px;
  border-radius: 8px 8px 0px 0px;
  border-style: solid;
  border-color: var(--key_gray, #f1f1f1);
  border-width: 3px 3px 0px 3px;
  height: 88px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  line-height: 120%;
  font-weight: 600;
  text-align: center;
}
.m-tab-button[data-id=lesson-school] {
  border-color: var(--key_red, #df0012);
  color: var(--key_red, #df0012);
}
.m-tab-button[data-id=lesson-school].js-active {
  background: var(--key_red, #df0012);
}
.m-tab-button[data-id=career-school] {
  border-color: var(--key_blue, #1d4c9d);
  color: var(--key_blue, #1d4c9d);
}
.m-tab-button[data-id=career-school].js-active {
  background: var(--key_blue, #1d4c9d);
}
.m-tab-button[data-id=career-school] {
  font-size: 16px;
}
@media (min-width: 769px) {
  .m-tab-button {
    height: 80px;
    font-size: 28px;
    line-height: 1.4;
  }
  .m-tab-button[data-id=career-school] {
    font-size: 22px;
  }
}
.m-tab-button.js-active {
  height: 104px;
  color: var(--key_white, #fff);
}
@media (min-width: 769px) {
  .m-tab-button.js-active {
    height: 100px;
  }
}

/* コンテンツのスタイル */
.l-tab-content {
  width: 100%;
  max-width: 1090px;
  margin: auto;
  display: none; /* 初期状態ではすべてのコンテンツを非表示に */
  border-style: solid;
  border-color: var(--key_gray, #f1f1f1);
  border-width: 5px;
  padding-top: 24px;
  border-radius: 0px 0px 16px 16px;
  overflow: hidden;
  /* アクティブなコンテンツのスタイル */
}
.l-tab-content.js-active {
  display: block; /* activeクラスが付いたものだけ表示 */
}
@media (min-width: 769px) {
  .l-tab-content {
    padding-top: 88px;
    border-radius: 16px;
  }
}

.card-course {
  padding: 32px 18px 32px 18px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
@media (min-width: 769px) {
  .card-course {
    gap: 20px;
    max-width: 800px;
    padding: 48px 40px;
    margin: auto;
    border-radius: 18px;
  }
}
.card-course .ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.card-course ._0 {
  color: var(--keywhite, #ffffff);
  text-align: center;
  position: relative;
  align-self: stretch;
}
.card-course ._0-span {
  font-size: 36px;
  line-height: 140%;
}
@media (min-width: 769px) {
  .card-course ._0-span {
    font-size: 44px;
  }
}
.card-course ._0-span2 {
  font-size: 40px;
  line-height: 140%;
  font-weight: 600;
}
@media (min-width: 769px) {
  .card-course ._0-span2 {
    font-size: 48px;
  }
}
.card-course .-price {
  color: var(--keywhite, #ffffff);
  font-size: 34px;
  line-height: 140%;
  font-weight: 600;
  text-align: center;
}
@media (min-width: 769px) {
  .card-course .-price {
    font-size: 42px;
  }
}
.card-course .-unit {
  position: relative;
  font-size: 22px;
}
.card-course .-unit sub {
  font-size: 0.6em;
  vertical-align: text-top;
}
@media (min-width: 769px) {
  .card-course .-unit {
    font-size: 32px;
  }
}
.card-course .sub {
  color: var(--keywhite, #ffffff);
  text-align: center;
  font-size: 20px;
  line-height: 140%;
  font-weight: 600;
  width: 100%;
}
@media (min-width: 769px) {
  .card-course .sub {
    font-size: 20px;
  }
}
.card-course .catch {
  background: var(--keyblack, #222222);
  border-radius: 6px;
  padding: 12px 16px 12px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  min-height: 50px;
  position: relative;
}
.card-course .catch .-small {
  color: var(--keywhite, #ffffff);
  font-size: 18px;
}
.card-course .div {
  color: var(--keywhite, #ffffff);
  text-align: center;
  font-size: 24px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card-course .ttl2 {
  display: flex;
  flex-direction: column;
  gap: 0px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.card-course .-note {
  color: var(--keywhite, #ffffff);
  text-align: left;
  font-size: 11px;
  line-height: 160%;
}
@media (min-width: 769px) {
  .card-course .-note {
    font-size: 12px;
  }
}
.card-course .-note ul {
  list-style: none;
  margin-top: 8px;
  padding-left: 14px;
}
.card-course .-note li {
  color: var(--keywhite, #ffffff);
  text-align: left;
  font-size: 11px;
  line-height: 160%;
  position: relative;
  padding-left: 10px;
}
.card-course .-note li::before {
  content: "";
  display: block;
  position: absolute;
  background: var(--keywhite, #ffffff);
  border-radius: 50%;
  width: 6px;
  height: 6px;
  top: 7px;
  left: 0;
}
.card-course .-note li + li {
  margin-top: 3px;
}
@media (min-width: 769px) {
  .card-course .-note li + li {
    margin-top: 8px;
  }
}
.card-course .-indent {
  position: relative;
  padding-left: calc(1em + 4px);
}
.card-course .-indent span {
  position: absolute;
  left: 0;
  display: inline-block;
  margin-right: 4px;
}
.card-course .-indent .-rec {
  margin-top: 5px;
  background: var(--keywhite, #ffffff);
  width: 8px;
  height: 8px;
}

.l-tab-section {
  position: relative;
}
.l-tab-section.-wht-red, .l-tab-section.-red-wht {
  padding-top: 31px;
}
@media (min-width: 769px) {
  .l-tab-section.-wht-red, .l-tab-section.-red-wht {
    padding-top: 110px;
  }
}
.l-tab-section.-wht-red::before, .l-tab-section.-red-wht::before {
  top: -1px;
  clip-path: polygon(100% 0, 0 0, 0 100%);
}
.l-tab-section.-wht-red::after, .l-tab-section.-red-wht::after {
  top: auto;
  bottom: -1px;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.l-tab-section.-wht-red::before, .l-tab-section.-wht-red::after, .l-tab-section.-red-wht::before, .l-tab-section.-red-wht::after {
  content: "";
  position: absolute;
  width: 102%;
  height: 32px;
  left: -1%;
  right: 0;
  z-index: 1;
}
@media (min-width: 769px) {
  .l-tab-section.-wht-red::before, .l-tab-section.-wht-red::after, .l-tab-section.-red-wht::before, .l-tab-section.-red-wht::after {
    height: 110px;
  }
}

.l-tab-section-inner {
  padding-block: 3rem;
  padding-inline: 1rem;
}
@media (min-width: 769px) {
  .l-tab-section-inner {
    padding-block: 4rem;
    padding-inline: 3rem;
  }
  .l-tab-section:last-child .l-tab-section-inner {
    padding-bottom: 4.5rem;
  }
}

.m-tab-section-img img {
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 14px;
  width: 100%;
}

.l-tab-1-block {
  display: flex;
  flex-direction: column;
  gap: 48px;
  align-items: flex-start;
  justify-content: flex-start;
}

.l-tab-2-block {
  display: flex;
  flex-direction: column;
  gap: 48px 40px;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
  position: relative;
}
@media (min-width: 769px) {
  .l-tab-2-block {
    max-width: 100%;
    flex-direction: row;
    justify-content: center;
  }
}
.l-tab-2-block .img-block img {
  border-radius: 16px;
  aspect-ratio: 334/240;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 769px) {
  .l-tab-2-block .img-block {
    width: 100%;
    flex: auto;
    max-width: 482px;
  }
  .l-tab-2-block .img-block img {
    aspect-ratio: 482/366;
  }
}
.l-tab-2-block .block-item {
  flex: 0 1 50%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.l-tab-2-block .block-item img {
  border-radius: 16px;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-tab-2-block .block-item p {
  text-align: left;
  font-size: 16px;
  line-height: 200%;
}
@media (min-width: 769px) {
  .l-tab-2-block .block-item {
    gap: 24px;
  }
}

.l-tab-3-block {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
  position: relative;
}
.l-tab-3-block img {
  -o-object-fit: cover;
     object-fit: cover;
}
.l-tab-3-block > * {
  flex: 0 1 33.3333%;
}
@media (min-width: 769px) {
  .l-tab-3-block {
    max-width: 100%;
    flex-direction: row;
    justify-content: center;
  }
}

.a-tab-section-heading .-title {
  display: block;
  color: var(--keyred, #df0012);
  text-align: center;
  font-size: 34px;
  line-height: 140%;
  font-weight: 600;
}

.a-tab-section-sub {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 20px;
  line-height: 180%;
  font-weight: 600;
}
@media (min-width: 769px) {
  .a-tab-section-sub {
    font-size: 26px;
  }
}

.a-tab-section-intro {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 18px;
  line-height: 180%;
  font-weight: 600;
}
@media (min-width: 769px) {
  .a-tab-section-intro {
    margin-top: -8px;
  }
}

.m-tab-section-content {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: 32px;
}
.m-tab-section-content .-intro {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 16px;
  line-height: 200%;
}
@media (min-width: 769px) {
  .m-tab-section-content {
    gap: 48px;
    margin-top: 48px;
  }
  .m-tab-section-content .-intro {
    text-align: center;
  }
}

/* o-tab-intro */
@media (min-width: 769px) {
  .o-tab-intro .l-tab-section-inner {
    padding-bottom: 64px;
    padding-top: 56px;
  }
}
.o-tab-intro .a-tab-section-heading .-title {
  font-size: 32px;
}
@media (min-width: 769px) {
  .o-tab-intro .a-tab-section-heading .-title {
    font-size: 48px;
  }
}
.audience-info {
  width: 100%;
  background: var(--keyred, #df0012);
  display: flex;
  border-radius: 1rem;
  padding: 2rem 1.125rem;
  gap: 1rem;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  margin-inline: auto;
}
@media (min-width: 769px) {
  .audience-info {
    gap: 1.75rem;
    padding: 48px 40px;
  }
  .l-tab-2-block .audience-info {
    padding: 48px 20px 32px 20px;
  }
}
.audience-info .audience-info__clm {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .audience-info .audience-info__clm {
    flex-direction: row;
    align-items: flex-start;
    gap: 2.75rem;
  }
}
.audience-info .audience-info__target-audience {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  justify-content: flex-start;
  flex: 1;
  position: relative;
  width: 100%;
  max-width: 360px;
}
@media (min-width: 769px) {
  .audience-info .audience-info__target-audience {
    gap: 1.75rem;
    max-width: 440px;
  }
}
.audience-info .audience-info__ttl-sub {
  background: var(--keyblack, #222222);
  padding: 0.375rem;
  display: flex;
  flex-direction: row;
  gap: 0rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 100%;
  max-width: 22.5rem;
  margin: 0 auto;
  position: relative;
  color: var(--keywhite, #ffffff);
  text-align: center;
  font-size: 1.25rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}
.audience-info * + .audience-info__ttl-sub {
  margin-top: 1rem;
}
@media (min-width: 769px) {
  .audience-info * + .audience-info__ttl-sub {
    margin-top: -4px;
  }
}
.audience-info .audience-info__lists {
  width: 100%;
  padding: 0;
}
.audience-info .audience-info__lists ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  list-style: none;
}
@media (min-width: 769px) {
  .audience-info .audience-info__lists ul {
    gap: 8px;
  }
}
.audience-info .audience-info__lists li {
  position: relative;
  color: var(--keyblack, #222222);
  font-size: 15px;
  line-height: 120%;
  font-weight: 600;
  max-width: 220px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1 0 calc(50% - 3px);
  background: var(--keywhite, #ffffff);
  border-radius: 4px;
  padding: 6px 8px 6px 8px;
  min-height: 40px;
}
.audience-info .audience-info__lists li::before {
  content: "#";
  color: var(--keyred, #df0012);
  font-size: 15px;
  line-height: 120%;
  font-weight: 600;
}
@media (min-width: 769px) {
  .audience-info .audience-info__lists li {
    flex: 1 0 calc(50% - 4px);
  }
}
.audience-info .audience-info__lists .-etc {
  margin-top: 8px;
  color: var(--keyblack, #222222);
  text-align: right;
  font-size: 15px;
  line-height: 120%;
  font-weight: 600;
  position: relative;
}
@media (min-width: 769px) {
  .audience-info .audience-info__lists .-etc {
    color: var(--keywhite, #ffffff);
    margin-top: 16px;
  }
}
.audience-info .audience-info__clm-applicable {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  justify-content: flex-start;
  flex: 1;
  position: relative;
  width: 100%;
  max-width: 360px;
}
@media (min-width: 769px) {
  .audience-info .audience-info__clm-applicable {
    gap: 1.75rem;
    max-width: 100%;
  }
}
.audience-info .audience-info__list-course {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  row-gap: 0rem;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  align-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.audience-info .audience-info__li-target {
  border-style: solid;
  border-color: var(--keywhite, #ffffff);
  border-width: 0rem 0rem 0.0625rem 0rem;
  padding: 1rem 0.25rem;
  gap: 0.5rem;
  padding-left: 33px;
  width: 100%;
  max-width: 360px;
  position: relative;
  color: var(--keywhite, #ffffff);
  text-align: left;
  font-size: 1.125rem;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}
.audience-info .audience-info__li-target:first-child {
  border-top-width: 0.0625rem;
}
@media (min-width: 769px) {
  .audience-info .audience-info__li-target {
    padding-left: 25px;
    min-height: 4.75rem;
    max-width: 285px;
    display: flex;
    align-items: center;
  }
  .audience-info .audience-info__li-target:nth-child(2), .audience-info .audience-info__li-target:nth-child(3) {
    border-top-width: 0.0625rem;
  }
}
.audience-info .audience-info__li-target::before {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 12px;
  content: "";
  display: block;
  width: 0.8125rem;
  height: 0.8125rem;
  background-image: url(../img/icon_check.svg);
}
@media (min-width: 769px) {
  .audience-info .audience-info__li-target::before {
    left: 4px;
  }
}
.audience-info .audience-info__icon-check2 {
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  max-width: 0.8125rem;
  height: 0.8125rem;
  position: relative;
  overflow: visible;
  aspect-ratio: 1;
}
.audience-info .audience-info__icon-check3 {
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  max-width: 0.8125rem;
  height: 0.8125rem;
  position: relative;
  overflow: visible;
  aspect-ratio: 1;
}
.audience-info .audience-info__li-target2 {
  border-style: solid;
  border-color: var(--keywhite, #ffffff);
  border-width: 0.0625rem 0rem 0.0625rem 0rem;
  padding: 0.5rem 0.25rem 0.5rem 0.25rem;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  max-width: 18rem;
  min-height: 4.75rem;
  position: relative;
  overflow: hidden;
}
.audience-info .audience-info__icon-check4 {
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  max-width: 0.8125rem;
  height: 0.8125rem;
  position: relative;
  overflow: visible;
  aspect-ratio: 1;
}
.audience-info .audience-info__icon-check5 {
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  max-width: 0.8125rem;
  height: 0.8125rem;
  position: relative;
  overflow: visible;
  aspect-ratio: 1;
}
.audience-info .audience-info__icon-check6 {
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  max-width: 0.8125rem;
  height: 0.8125rem;
  position: relative;
  overflow: visible;
  aspect-ratio: 1;
}

.o-tab-intro-1 .l-tab-section-inner {
  padding-bottom: 0;
}
@media (min-width: 769px) {
  .o-tab-intro-1 .l-tab-section-inner {
    padding-top: 56px;
  }
}
.o-tab-intro-1 .-img {
  display: block;
  width: 100%;
  max-width: 298px;
  margin: auto;
}
@media (min-width: 769px) {
  .o-tab-intro-1 .-img {
    max-width: 100%;
  }
}
.o-tab-intro-1 .a-btn-ghost {
  background: var(--keywhite, #ffffff);
}
@media (min-width: 769px) {
  .o-tab-intro-1 .a-btn-ghost {
    height: 72px;
  }
  .o-tab-intro-1 .a-btn-ghost .a-btn-cv-arrow {
    width: 34px;
    height: 34px;
    right: 16px;
  }
}
.o-tab-intro-1 .a-btn-cv-wrap {
  max-width: 560px;
}
@media (min-width: 769px) {
  .o-tab-intro-1 .a-btn-cv-wrap .a-btn-cv-text {
    font-size: 22px;
  }
}

.o-tab-intro-block {
  border-radius: 16px;
  padding: 26px 18px 26px 18px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  background-image: url(../img/bg_intoro.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 16px;
}
@media (min-width: 769px) {
  .o-tab-intro-block {
    border-radius: 20px;
    padding: 46px 40px 42px 40px;
    gap: 32px;
    background-image: url(../img/bg_intoro_pc.jpg);
  }
}
.o-tab-intro-block .-ttl {
  background: var(--keyblack, #222222);
  border-radius: 8px;
  padding: 8px 6px 8px 6px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  position: relative;
  color: var(--keywhite, #ffffff);
  text-align: center;
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}
@media (min-width: 769px) {
  .o-tab-intro-block .-ttl {
    font-size: 22px;
    padding: 10px 20px 10px 20px;
  }
}
.o-tab-intro-block .btn-career-small {
  background: var(--keywhite, #ffffff);
  border-radius: 50px;
  border-style: solid;
  border-color: var(--keyred, #df0012);
  border-width: 3px;
  padding: 9px 56px 8px 30px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex-shrink: 0;
  height: 64px;
  max-width: 320px;
  position: relative;
}
.o-tab-intro-block .div3 {
  color: var(--keyred, #df0012);
  text-align: center;
  font-family: "HiraginoKakuGothicPro-W6", sans-serif;
  font-size: 18px;
  line-height: 130%;
  font-weight: 400;
  position: relative;
  flex: 1;
}

/* o-tab-cv */
.o-tab-cv .l-tab-section-inner {
  padding-bottom: 0;
}
.o-tab-cv .o-tab-cv-heading {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 20px;
  line-height: 130%;
  font-weight: 600;
}
.o-tab-cv .a-btn-cv-wrap {
  margin-top: 16px;
  max-width: 340px;
}
@media (min-width: 769px) {
  .o-tab-cv .l-tab-section-inner {
    padding-bottom: 40px;
  }
  .o-tab-cv .o-tab-cv-heading {
    font-size: 32px;
  }
  .o-tab-cv .a-btn-cv-wrap {
    margin-top: 24px;
  }
  .o-tab-cv .a-btn-ghost {
    height: 72px;
  }
  .o-tab-cv .a-btn-cv-text {
    font-size: 20px;
  }
  .o-tab-cv .a-btn-cv-arrow {
    width: 34px;
    height: 34px;
    right: 16px;
  }
}

/* o-tab-feature */
.o-tab-feature::after {
  display: none;
}
.o-tab-feature .-note {
  color: var(--keywhite, #ffffff);
  text-align: left;
  font-size: 11px;
  line-height: 160%;
  margin-top: 32px;
}
@media (min-width: 769px) {
  .o-tab-feature .-note {
    font-size: 12px;
  }
}
.o-tab-feature .-note ul {
  list-style: none;
  margin-top: 8px;
  padding-left: 14px;
}
.o-tab-feature .-note li {
  color: var(--keywhite, #ffffff);
  text-align: left;
  font-size: 11px;
  line-height: 160%;
  position: relative;
  padding-left: 10px;
}
.o-tab-feature .-note li::before {
  content: "";
  display: block;
  position: absolute;
  background: var(--keywhite, #ffffff);
  border-radius: 50%;
  width: 6px;
  height: 6px;
  top: 7px;
  left: 0;
}
.o-tab-feature .-note li + li {
  margin-top: 3px;
}
@media (min-width: 769px) {
  .o-tab-feature .-note li + li {
    margin-top: 8px;
  }
}
.o-tab-feature .-indent {
  position: relative;
  padding-left: calc(1em + 4px);
}
.o-tab-feature .-indent + .-indent {
  margin-top: 6px;
}
.o-tab-feature .-indent span {
  position: absolute;
  left: 0;
  display: inline-block;
  margin-right: 4px;
}
.o-tab-feature .-indent .-rec {
  margin-top: 5px;
  background: var(--keywhite, #ffffff);
  width: 8px;
  height: 8px;
}

.a-tab-feature-heading {
  display: flex;
  justify-content: center;
  color: var(--keywhite, #ffffff);
  text-align: center;
  font-size: 34px;
  line-height: 140%;
  font-weight: 600;
}
.a-tab-feature-heading.-small {
  font-size: 26px;
}
@media (min-width: 769px) {
  .a-tab-feature-heading {
    font-size: 48px;
    line-height: 120%;
  }
  .a-tab-feature-heading.-small {
    font-size: 48px;
    line-height: 140%;
  }
}

.m-tab-feature-block {
  margin-top: 48px;
  background: var(--keywhite, #ffffff);
  border-radius: 16px;
  padding: 32px 18px 32px 18px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
  justify-content: flex-start;
}
@media (min-width: 769px) {
  .m-tab-feature-block {
    padding: 56px 40px 56px 40px;
  }
}

.a-tab-feature-block-heading {
  width: 100%;
  padding-top: 6px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: center;
}
.a-tab-feature-block-heading .-num {
  color: var(--keyblack, #222222);
  font-size: 18px;
  line-height: 120%;
  font-weight: 600;
}
.a-tab-feature-block-heading .-title {
  color: var(--keyred, #df0012);
  font-size: 27px;
  line-height: 140%;
  font-weight: 600;
}
@media (min-width: 769px) {
  .a-tab-feature-block-heading {
    padding-top: 0;
    gap: 8px;
  }
  .a-tab-feature-block-heading .-num {
    font-size: 20px;
  }
  .a-tab-feature-block-heading .-title {
    font-size: 40px;
  }
}

.a-tab-feature-block-sub-heading {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 22px;
  line-height: 160%;
  font-weight: 600;
  position: relative;
}
@media (min-width: 769px) {
  .a-tab-feature-block-sub-heading {
    font-size: 32px;
  }
}

.a-tab-feature-img-radius img {
  border-radius: 10px;
}

.m-tab-feature-block-content {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 769px) {
  .m-tab-feature-block-content {
    gap: 48px;
  }
}
.m-tab-feature-block-content .-intro .-text {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 16px;
  line-height: 200%;
  font-weight: 300;
}
@media (min-width: 769px) {
  .m-tab-feature-block-content .-intro .-text {
    text-align: center;
  }
}
.m-tab-feature-block-content .-intro * + .-text {
  margin-top: 6px;
}
@media (min-width: 769px) {
  .m-tab-feature-block-content .-intro * + .-text {
    margin-top: 8px;
  }
}

/* feature 01 */
.m-tab-feature-flex {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 769px) {
  .m-tab-feature-flex {
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 48px 40px;
  }
}

.m-tab-feature-flex-item {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.m-tab-feature-flex-item:not(:last-child) {
  padding-bottom: 24px;
  border-style: dashed;
  border-color: var(--keygray888888, #888888);
  border-width: 0px 0px 1px 0px;
}
@media (min-width: 769px) {
  .m-tab-feature-flex-item {
    max-width: calc(50% - 20px);
    flex: 1 1 calc(50% - 20px);
    gap: 36px;
  }
  .m-tab-feature-flex-item:not(:last-child) {
    padding-bottom: 0;
    border: none;
  }
}
.m-tab-feature-flex-item .-ttl {
  background: var(--keyblack, #222222);
  border-radius: 6px;
  padding: 8px 12px 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  position: relative;
  color: var(--keywhite, #ffffff);
  text-align: center;
  font-size: 20px;
  line-height: 140%;
  font-weight: 600;
}
@media (min-width: 769px) {
  .m-tab-feature-flex-item .-ttl {
    font-size: 21px;
  }
}
.m-tab-feature-flex-item .-list {
  list-style: none;
}
@media (min-width: 769px) {
  .m-tab-feature-flex-item .-list {
    margin-top: -12px;
  }
}
.m-tab-feature-flex-item .-list li {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 16px;
  line-height: 160%;
  font-weight: 600;
  position: relative;
  padding-left: 10px;
}
@media (min-width: 769px) {
  .m-tab-feature-flex-item .-list li {
    font-size: 17px;
  }
}
.m-tab-feature-flex-item .-list li::before {
  content: "";
  position: absolute;
  top: 0.6875em;
  left: 0;
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--keyblack, #222222);
}
.m-tab-feature-flex-item .-list li + li {
  margin-top: 6px;
}
.m-tab-feature-flex-item .-note {
  text-align: right;
  font-size: 12px;
  line-height: 120%;
  margin-top: -16px;
}

.o-tab-problem .l-tab-section-inner {
  padding-top: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}
@media (min-width: 769px) {
  .o-tab-problem .l-tab-section-inner {
    gap: 48px;
  }
}
.o-tab-problem .m-tab-section-img {
  position: relative;
}
.o-tab-problem .m-tab-problem-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}
@media (min-width: 769px) {
  .o-tab-problem .m-tab-problem-content {
    gap: 24px;
  }
}
.o-tab-problem .a-tab-section-heading .-title {
  font-size: 30px;
  line-height: 140%;
  font-weight: 700;
}
@media (min-width: 769px) {
  .o-tab-problem .a-tab-section-heading .-title {
    font-size: 32px;
  }
}
.o-tab-problem .list-course {
  border-style: solid;
  border-color: var(--keygraycacaca, #cacaca);
  border-width: 0px 0px 1px 0px;
  width: 100%;
  max-width: 880px;
  position: relative;
  list-style: none;
}
.o-tab-problem .list-course li {
  display: flex;
  align-items: center;
  position: relative;
  border-style: solid;
  border-color: var(--keygraycacaca, #cacaca);
  border-width: 1px 0px 0px 0px;
  padding: 8px 4px;
  padding-left: 30px;
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  min-height: 64px;
}
.o-tab-problem .list-course li::before {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 4px;
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-image: url(../img/icon_check_red.svg);
}
.o-tab-problem .box-btm {
  border-radius: 0px;
  flex-shrink: 0;
  width: 40px;
  height: 28px;
  position: relative;
  overflow: visible;
}
.o-tab-problem .m-tab-problem-text {
  color: var(--keyblack, #222222);
  text-align: center;
  position: relative;
  align-self: stretch;
  font-size: 22px;
  line-height: 160%;
  font-weight: 600;
}
.o-tab-problem .m-tab-problem-text .-large {
  font-size: 24px;
  font-weight: 600;
}
@media (min-width: 769px) {
  .o-tab-problem .m-tab-problem-text {
    font-size: 26px;
  }
  .o-tab-problem .m-tab-problem-text .-large {
    font-size: 30px;
  }
}

.o-tab-fees .l-tab-section-inner {
  padding-top: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}
@media (min-width: 769px) {
  .o-tab-fees .l-tab-section-inner {
    gap: 48px;
  }
}
.o-tab-fees .m-tab-section-img {
  position: relative;
}
.o-tab-fees .m-tab-fees-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}
@media (min-width: 769px) {
  .o-tab-fees .m-tab-fees-content {
    gap: 32px;
  }
}
.o-tab-fees .m-tab-fees-content .a-btn-cv-wrap {
  margin-top: 16px;
  max-width: 360px;
}
@media (min-width: 769px) {
  .o-tab-fees .m-tab-fees-content .a-btn-cv-wrap {
    margin-top: 16px;
  }
}
.o-tab-fees .m-tab-fees-content .a-btn-cv {
  background: var(--keyred, #df0012);
  border-color: var(--keyred, #df0012);
  height: 64px;
}
.o-tab-fees .m-tab-fees-content .a-btn-cv .a-btn-cv-text {
  font-size: 22px;
  line-height: 130%;
  padding-right: 26px;
}
.o-tab-fees .m-tab-fees-content .a-btn-cv .a-btn-cv-text span {
  font-size: 18px;
}
.o-tab-fees .m-tab-fees-content .a-btn-cv .a-btn-cv-arrow {
  width: 30px;
  height: 30px;
}
.o-tab-fees .m-tab-fees-content .a-btn-cv .a-btn-cv-arrow::before {
  margin-left: 4px;
  width: 10px;
  height: 14px;
}
@media (min-width: 769px) {
  .o-tab-fees .m-tab-fees-content .a-btn-cv {
    height: 72px;
  }
  .o-tab-fees .m-tab-fees-content .a-btn-cv .a-btn-cv-arrow {
    right: 20px;
    width: 34px;
    height: 34px;
  }
}
.o-tab-fees .a-tab-section-heading .-title {
  font-size: 30px;
  line-height: 140%;
  font-weight: 700;
}
@media (min-width: 769px) {
  .o-tab-fees .a-tab-section-heading .-title {
    font-size: 32px;
  }
}
@media (min-width: 769px) {
  .o-tab-fees .a-tab-section-intro {
    margin-top: -24px;
  }
}
.o-tab-fees .o-fees-card-wrap {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
}
@media (min-width: 769px) {
  .o-tab-fees .o-fees-card-wrap {
    gap: 16px;
    justify-content: center;
    max-width: 580px;
  }
}
.o-tab-fees .m-fees-card {
  background: var(--keygrayf1f1f1, #f1f1f1);
  border-radius: 0.25rem;
  display: flex;
  flex-direction: column;
  gap: 0rem;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  flex: 0 0 calc(50% - 4px);
}
@media (min-width: 769px) {
  .o-tab-fees .m-fees-card {
    max-width: 282px;
    flex: 0 0 282px;
  }
}
.o-tab-fees .m-fees-card-heading {
  background: var(--keyblack, #222222);
  padding: 0;
  height: 32px;
  display: flex;
  flex-direction: row;
  gap: 4px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  color: var(--key_white, #ffffff);
  text-align: center;
  font-size: 15px;
  line-height: 140%;
  font-weight: 600;
}
.o-tab-fees .m-fees-card-heading span {
  font-size: 11px;
  font-weight: 300;
}
@media (min-width: 769px) {
  .o-tab-fees .m-fees-card-heading {
    height: 40px;
    font-size: 20px;
  }
  .o-tab-fees .m-fees-card-heading span {
    font-size: 14px;
  }
}
.o-tab-fees .m-fees-card-text {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.o-tab-fees .m-fees-card-text p {
  color: var(--keyblack000, #000000);
  text-align: left;
  font-size: 18px;
  line-height: 140%;
  font-weight: 600;
  text-align: center;
}
.o-tab-fees .m-fees-card-text .m-fees-card-note {
  font-size: 0.75rem;
  line-height: 160%;
}
@media (min-width: 769px) {
  .o-tab-fees .m-fees-card-text {
    padding: 18px;
  }
  .o-tab-fees .m-fees-card-text p {
    font-size: 20px;
  }
  .o-tab-fees .m-fees-card-text .m-fees-card-note {
    font-size: 14px;
    margin-top: -16px;
  }
}
.o-tab-fees .o-fees-card-note {
  width: 100%;
  text-align: right;
  font-size: 14px;
  line-height: 140%;
  font-weight: 600;
  max-width: 580px;
}
@media (min-width: 769px) {
  .o-tab-fees .o-fees-card-note {
    text-align: right;
    margin: auto;
  }
}

.o-tag-access {
  padding-bottom: 31px;
}
@media (min-width: 769px) {
  .o-tag-access {
    padding-bottom: 110px;
  }
}
#career-school .o-tag-access {
  padding-bottom: 0;
}
#career-school .o-tag-access::after {
  display: none;
}
@media (min-width: 769px) {
  #career-school .o-tag-access {
    padding-bottom: 0;
  }
}
.o-tag-access::after {
  top: auto;
  bottom: -1px;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.o-tag-access::after {
  content: "";
  position: absolute;
  width: 102%;
  height: 32px;
  left: -1%;
  right: 0;
  z-index: 1;
}
@media (min-width: 769px) {
  .o-tag-access::after {
    height: 110px;
  }
}
.o-tag-access .l-tab-2-block {
  gap: 32px 48px;
}
.o-tag-access .l-tab-2-block .block-item + .block-item {
  padding-top: 32px;
  border-style: dashed;
  border-color: var(--keygray888888, #888888);
  border-width: 1px 0 0px 0px;
}
@media (min-width: 769px) {
  .o-tag-access .l-tab-2-block .block-item + .block-item {
    padding-top: 0;
    border: none;
  }
}
.o-tag-access .m-tag-access-heading {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .o-tag-access .m-tag-access-heading {
    gap: 24px;
  }
}
.o-tag-access .catch {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .o-tag-access .catch {
    gap: 16px;
  }
}
.o-tag-access .div {
  color: var(--keyblack, #222222);
  text-align: center;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  font-size: 20px;
}
@media (min-width: 769px) {
  .o-tag-access .div {
    font-size: 24px;
  }
}
.o-tag-access ._0 {
  color: var(--keyred, #df0012);
  text-align: center;
  line-height: 140%;
  font-weight: 600;
  font-size: 28px;
}
.o-tag-access ._0 span {
  font-size: 20px;
}
@media (min-width: 769px) {
  .o-tag-access ._0 {
    font-size: 32px;
  }
  .o-tag-access ._0 span {
    font-size: 32px;
  }
}
.o-tag-access .catch-02 {
  background: var(--keyblack, #222222);
  border-radius: 6px;
  padding: 12px 16px 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 0px;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex-shrink: 0;
  max-width: 400px;
  position: relative;
  overflow: hidden;
}
.o-tag-access .div2 {
  color: var(--keywhite, #ffffff);
  text-align: center;
  font-size: 22px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
@media (min-width: 769px) {
  .o-tag-access .div2 {
    font-size: 24px;
  }
}
.o-tag-access .div3 {
  color: var(--keyred, #df0012);
  text-align: center;
  font-size: 34px;
  line-height: 120%;
  font-weight: 600;
  position: relative;
}
@media (min-width: 769px) {
  .o-tag-access .div3 {
    font-size: 48px;
  }
}
.o-tag-access .m-tag-access-item {
  gap: 0;
}
.o-tag-access .m-tag-access-item .-textbox {
  margin-top: -16px;
  padding: 0 6px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.o-tag-access .m-tag-access-item .box {
  background: var(--keywhite, #ffffff);
  border-radius: 6px;
  border-style: solid;
  border-color: var(--keyred, #df0012);
  border-width: 2px;
  display: flex;
  flex-direction: column;
  gap: 0px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 290px;
  height: 42px;
  position: relative;
  margin: auto;
  color: var(--keyred, #df0012);
  text-align: center;
  font-size: 22px;
  line-height: 140%;
  letter-spacing: 0.06em;
  font-weight: 600;
  position: relative;
  align-self: stretch;
}
.o-tag-access .m-tag-access-item .access {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.o-tag-access .m-tag-access-item .access ul {
  list-style: none;
}
.o-tag-access .m-tag-access-item .access li {
  position: relative;
  text-align: left;
  font-size: 15px;
  line-height: 160%;
  font-weight: 400;
  padding-left: 10px;
}
.o-tag-access .m-tag-access-item .access li::before {
  content: "";
  display: block;
  position: absolute;
  top: 9px;
  left: 0;
  background: var(--keyblack, #222222);
  border-radius: 50%;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
}
.o-tag-access .m-tag-access-item .access li + li {
  margin-top: 6px;
}
.o-tag-access .m-tag-access-item .-heading {
  color: var(--keyred, #df0012);
  text-align: center;
  font-size: 22px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}
.o-tag-access .m-tag-access-item .-address {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 15px;
  line-height: 160%;
  font-weight: 600;
}
.o-tag-access .m-btn-wrap {
  max-width: 220px;
  margin: auto;
}

.o-card-feature-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 32px;
}
@media (min-width: 769px) {
  .o-card-feature-wrap {
    margin-top: 48px;
    gap: 24px;
    flex-direction: row;
    justify-content: center;
  }
}

.m-card-feature {
  background: var(--keywhite, #ffffff);
  border-radius: 14px;
  padding: 22px 20px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}
@media (min-width: 769px) {
  .m-card-feature {
    max-width: 312px;
    flex: 0 0 calc(33.3333% - 16px);
    padding: 24px 20px;
  }
}
.m-card-feature .-heading {
  color: var(--keyred, #df0012);
  text-align: center;
  font-size: 22px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}
.m-card-feature .detail {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.m-card-feature .-img img {
  border-radius: 6px;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-card-feature .-text {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 15px;
  line-height: 200%;
  font-weight: 300;
  position: relative;
  align-self: stretch;
}

.m-card-feature-2 {
  background: var(--keywhite, #ffffff);
  border-radius: 14px;
  padding: 16px 24px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}
@media (min-width: 769px) {
  .m-card-feature-2 {
    max-width: 312px;
    gap: 24px;
    flex: 0 0 calc(33.3333% - 16px);
    padding: 24px 20px;
  }
}
.m-card-feature-2 .-num {
  font-family: "Outfit", sans-serif;
  color: var(--keyred, #df0012);
  text-align: center;
  font-size: 40px;
  line-height: 90%;
  letter-spacing: -0.02em;
  font-weight: 600;
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1;
}
.m-card-feature-2 .detail {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: stretch;
  flex-shrink: 0;
  position: relative;
}
.m-card-feature-2 .-img {
  max-width: 160px;
  margin: auto;
}
.m-card-feature-2 .-img img {
  -o-object-fit: cover;
     object-fit: cover;
}
.m-card-feature-2 .-text {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 20px;
  line-height: 140%;
  font-weight: 600;
  width: 100%;
}
.m-card-feature-2 .-text sub {
  bottom: -5px;
  font-size: 50%;
  vertical-align: text-top;
}

.o-tab-plan .l-tab-section-inner {
  padding-top: 0;
}
.o-tab-plan .a-tab-section-heading .-title {
  font-size: 30px;
}
@media (min-width: 769px) {
  .o-tab-plan .a-tab-section-heading .-title {
    font-size: 32px;
  }
}
.o-tab-plan .m-tab-feature-flex-item {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 32px auto 0;
}
@media (min-width: 769px) {
  .o-tab-plan .m-tab-feature-flex-item {
    max-width: 800px;
    gap: 40px;
  }
}
.o-tab-plan .m-tab-feature-flex-item .-ttl {
  background: var(--keyblack, #222222);
  border-radius: 6px;
  padding: 8px 12px 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  position: relative;
  color: var(--keywhite, #ffffff);
  text-align: center;
  font-size: 20px;
  line-height: 140%;
  font-weight: 600;
}
@media (min-width: 769px) {
  .o-tab-plan .m-tab-feature-flex-item .-ttl {
    font-size: 21px;
  }
}
.o-tab-plan .m-tab-feature-flex-item .-text {
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 20px;
  line-height: 160%;
  font-weight: 600;
  margin-top: -8px;
}
@media (min-width: 769px) {
  .o-tab-plan .m-tab-feature-flex-item .-text {
    font-size: 26px;
  }
}
.o-tab-plan .m-tab-feature-flex-item .-note {
  text-align: right;
  font-size: 12px;
  line-height: 120%;
  margin-top: -16px;
}

.o-tab-work h3 {
  color: var(--keyred, #df0012);
  text-align: center;
  font-size: 24px;
  line-height: 140%;
  font-weight: 600;
  margin-top: 16px;
}
@media (min-width: 769px) {
  .o-tab-work h3 {
    margin-top: 8px;
    font-size: 26px;
  }
  .o-tab-work h3 + p {
    margin-top: -16px;
  }
}
.o-tab-work .audience-info__lists {
  background: var(--keywhite, #ffffff);
  border-radius: 6px;
  padding: 24px 18px 24px 18px;
  border-radius: 14px;
  border-style: solid;
  border-color: var(--keyred, #df0012);
  border-width: 2px;
  margin-top: 16px;
}
@media (min-width: 769px) {
  .o-tab-work .audience-info__lists {
    border-radius: 6px;
    padding: 18px 16px 16px 16px;
    margin-top: 8px;
  }
}
.o-tab-work .audience-info__lists ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  list-style: none;
}
.o-tab-work .audience-info__lists li {
  position: relative;
  color: var(--keyblack, #222222);
  font-size: 15px;
  line-height: 120%;
  font-weight: 600;
  max-width: 220px;
}
.o-tab-work .audience-info__lists li::before {
  content: "#";
  color: var(--keyred, #df0012);
  font-size: 15px;
  line-height: 120%;
  font-weight: 600;
}
.o-tab-work .audience-info__lists .-etc {
  margin-top: 8px;
  color: var(--keyblack, #222222);
  text-align: right;
  font-size: 15px;
  line-height: 120%;
  font-weight: 600;
  position: relative;
}
.o-facilities .l-tab-2-block .img-block {
  flex: 0 0 auto;
  max-width: 540px;
}
.o-facilities .l-tab-2-block .img-block img {
  aspect-ratio: 334/224;
}
@media (min-width: 769px) {
  .o-facilities .l-tab-2-block .img-block {
    flex: 0 0 50%;
  }
  .o-facilities .l-tab-2-block .img-block img {
    aspect-ratio: 540/320;
  }
}
.o-facilities .detail {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .o-facilities .detail {
    flex: 1 0 0;
  }
}
.o-facilities .ttl {
  width: 100%;
  padding: 6px 0px 0px 0px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  justify-content: flex-start;
  flex-shrink: 0;
  position: relative;
}
.o-facilities .div {
  width: 100%;
  color: var(--keyblack, #222222);
  text-align: center;
  font-size: 20px;
  line-height: 120%;
  font-weight: 600;
  position: relative;
}
@media (min-width: 769px) {
  .o-facilities .div {
    font-size: 24px;
    text-align: left;
  }
}
.o-facilities .div2 {
  width: 100%;
  color: var(--keyred, #df0012);
  text-align: center;
  font-size: 28px;
  line-height: 140%;
  font-weight: 600;
  position: relative;
}
@media (min-width: 769px) {
  .o-facilities .div2 {
    font-size: 32px;
    text-align: left;
  }
}
.o-facilities .-text {
  color: var(--keyblack, #222222);
  text-align: left;
  font-size: 16px;
  line-height: 200%;
}

#lesson-school {
  border-color: var(--key_red, #df0012);
}
#lesson-school .m-tab-heading {
  background: var(--key_red, #df0012);
}
#lesson-school .o-img-sct.-wht-red::after {
  background: var(--key_red, #df0012);
}
#lesson-school .o-tab-feature {
  background: var(--key_red, #df0012);
}
#lesson-school .l-tab-section.-red-wht::before {
  background: var(--key_red, #df0012);
}
#lesson-school .l-tab-section.-red-wht::after {
  background: var(--key_white, #ffffff);
}
#lesson-school .l-tab-section.-wht-red::before {
  background: var(--key_white, #ffffff);
}
#lesson-school .l-tab-section.-wht-red::after {
  background: var(--key_red, #df0012);
}
#lesson-school .o-tag-access::after {
  background: var(--key_red, #df0012);
}
#lesson-school .card-course {
  background: var(--key_red, #df0012);
}
#lesson-school .o-voice {
  background: var(--key_red, #df0012);
}

#career-school {
  border-color: var(--key_blue, #1d4c9d);
}
#career-school .m-tab-heading {
  background: var(--key_blue, #1d4c9d);
}
#career-school .o-img-sct.-wht-red::after {
  background: var(--key_blue, #1d4c9d);
}
#career-school .o-tab-feature {
  background: var(--key_blue, #1d4c9d);
}
#career-school .l-tab-section.-red-wht::before {
  background: var(--key_blue, #1d4c9d);
}
#career-school .l-tab-section.-red-wht::after {
  background: var(--key_white, #ffffff);
}
#career-school .l-tab-section.-wht-red::before {
  background: var(--key_white, #ffffff);
}
#career-school .l-tab-section.-wht-red::after {
  background: var(--key_blue, #1d4c9d);
}
#career-school .o-tag-access::after {
  background: var(--key_blue, #1d4c9d);
}
#career-school .card-course {
  background: var(--key_blue, #1d4c9d);
}
#career-school .o-voice {
  background: var(--key_blue, #1d4c9d);
}

.link-career-lessons {
  display: none !important;
}/*# sourceMappingURL=style.css.map */