@charset "UTF-8";
#body_course_basic {
  --courseColor:var(--courseBasicColor);
}

#body_course_master {
  --courseColor:var(--courseMasterColor);
}

#body_course_global {
  --courseColor:var(--courseGlobalColor);
}

#body_course_director {
  --courseColor:var(--courseDirectorColor);
}

.text_wrap {
  border-left-color: var(--courseColor);
}

details.faq .qa_a,
details.faq .qa_q {
  color: var(--courseColor);
}

.columns.archives_menu {
  --columnColumnGap:calc( var(--space4) * 1.5 );
  --columnRowGap:calc( var(--space4) * 1.5 );
}

.archives.archives_lecture {
  --columnColumnGap:var(--space4);
}
.archives.archives_lecture .archive .photo {
  aspect-ratio: 1/1;
}
.archives.archives_lecture .archive .info {
  grid-gap: var(--space1);
}
.archives.archives_lecture .archive .info .part {
  margin-bottom: 0;
  font-size: var(--fontSize_ss);
}
.archives .archive .andmore {
  aspect-ratio: 1/1;
}

.scroller_wrap .scroller .archives.archives_lecture {
  --columnColumnGap:var(--space3) !important;
}
.scroller_wrap .scroller .archives.archives_lecture .archive {
  min-width: 190px !important;
  max-width: 190px !important;
}

.boxes.boxes_features {
  display: flex;
  flex-direction: column;
  grid-gap: var(--space5) var(--space4);
}
.boxes.boxes_features .box {
  position: relative;
}
.boxes.boxes_features .box .head {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}
@media (max-width: 767px) {
  .boxes.boxes_features .box:not(:last-child)::before {
    width: 100%;
    height: 1px;
    background: var(--colorBlack);
    position: absolute;
    left: 0;
    top: calc(100% + var(--space5) / 2);
    content: "";
  }
}
@media (min-width: 768px) {
  .boxes.boxes_features {
    flex-direction: row;
    align-items: stretch;
  }
  .boxes.boxes_features .box {
    box-sizing: border-box;
    padding-top: var(--space2);
    padding-bottom: var(--space1);
    padding-left: var(--space3);
    border-left: 1px solid var(--colorBlack);
  }
}
@media (min-width: 1280px) {
  .boxes.boxes_features .box {
    padding-left: var(--space4);
  }
}

table.outline tr {
  border-bottom-color: var(--colorBlack);
}
table.outline tr th, table.outline tr td {
  padding: var(--space2);
}
table.outline tr th {
  width: 60px;
  position: relative;
}
table.outline tr th::after {
  width: 100%;
  height: 2px;
  background: var(--colorBlack);
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
}
table.outline tr a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  grid-gap: var(--space1);
}
table.outline ul li {
  padding-left: var(--space2);
  position: relative;
}
table.outline ul li:not(:last-child) {
  margin-bottom: var(--space1);
}
table.outline ul li::before {
  width: 1rem;
  height: 1rem;
  display: iniline-flex;
  align-items: center;
  justify-content: center;
  content: "●";
  color: var(--courseColor);
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 521px) {
  table.outline tr th {
    width: 160px;
  }
}

.interview_title_wrap {
  display: flex;
  flex-direction: column;
  grid-gap: var(--space4);
}
.interview_title_wrap .interview_information {
  display: flex;
  flex-direction: column;
  grid-gap: var(--space2);
}
.interview_title_wrap .interview_information .categories {
  --textColor: var(--textColor);
  --bgColor: transparent;
  --h:auto;
}
.interview_title_wrap .interview_information .categories .btn .a {
  background: none;
  border: 0px;
  padding: 0;
  border-radius: 0;
}
.interview_title_wrap .interview_information .date {
  margin-top: var(--space4);
}
@media (min-width: 768px) {
  .interview_title_wrap {
    flex-direction: row;
  }
  .interview_title_wrap .interview_information {
    min-width: 320px;
    align-items: flex-end;
  }
  .interview_title_wrap .interview_information .name_wrap {
    text-align: right;
    font-size: var(--fontSize_s);
  }
  .interview_title_wrap .interview_information .name_wrap .name {
    font-size: var(--fontSize_ll);
    font-family: "Montserrat", "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 800;
    font-style: normal;
  }
}

.boxes.schedule {
  padding: var(--space4) 0;
  border-top: 1px solid var(--colorBlack);
  border-bottom: 1px solid var(--colorBlack);
  --columnGap:calc( var(--space4) * 1.5 );
  display: flex;
  flex-direction: column;
  grid-gap: var(--columnGap);
}
.boxes.schedule .box {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  grid-gap: var(--space1);
  position: relative;
}
.boxes.schedule .box:not(:last-child)::after {
  width: 8px;
  height: 8px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: var(--tertiaryColor);
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: calc(100% + (var(--columnGap) + 8px) / 2);
}
.boxes.schedule .box .inner {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
  font-size: var(--fontSize_l);
}
@media (min-width: 768px) {
  .boxes.schedule {
    flex-direction: row;
    padding-bottom: var(--space5);
  }
  .boxes.schedule .box {
    width: auto;
    flex: 1;
  }
  .boxes.schedule .box .inner {
    writing-mode: vertical-rl;
  }
  .boxes.schedule .box .inner .combine {
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
  }
  .boxes.schedule .box .period {
    position: absolute;
    top: calc(100% + var(--space2));
  }
  .boxes.schedule .box.box_entry .period {
    width: 200%;
    left: 0;
  }
  .boxes.schedule .box:not(:last-child)::after {
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    left: calc(100% + (var(--columnGap) + 8px) / 2);
    right: auto;
    top: 0;
    bottom: 0;
  }
}

.block_comingsoon {
  margin-bottom: 50vh;
}
.block_comingsoon .body {
  min-height: 20svh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.block_comingsoon .body::before {
  content: "coming soon...";
  font-size: 3rem;
  color: var(--tertiaryColor);
  font-family: "helvetica-neue-lt-pro-cond", sans-serif;
  font-weight: 700;
  font-style: normal;
}
@media (min-width: 768px) {
  .block_comingsoon .body::before {
    font-size: 4rem;
  }
}

.block_course_method .sub_block {
  background: var(--colorGray);
  box-sizing: border-box;
  padding: var(--space3) var(--space2);
}
.block_course_method .sub_block .head {
  margin-bottom: var(--space3);
}
.block_course_method .sub_block .head .flex .helvetica.h4 {
  font-size: 1.5rem;
}
.block_course_method .sub_block .picture {
  max-width: 1262px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .block_course_method .sub_block {
    padding: var(--space4);
  }
}