@charset "utf-8";

/* ==============================
入学案内
================================= */

.admission-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--header-height) var(--contentPadding) 40px;
  width: 100%;
  box-sizing: border-box;
  gap: 30px;
  margin: 0 auto;
}

.admission-info_title {
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
  margin-top: 40px;
}

/*----------pc 769px----------*/
@media (min-width: 769px) {
.admission-info {
  padding: var(--header-height) var(--contentPadding) 40px;
  max-width: 1140px;
  gap: 80px;
}
}


/* ------ページ内リンクボタン用------ */
.flow-nav {
  display: flex;
  height: 60px;
  justify-content: space-between;
  align-self: stretch;
  border-right: 2px solid #000;
  border-left: 2px solid #000;
  background: #EAEAEA;
}
.flow-nav__box {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center; /* ← 縦中央 */
  align-items: center;     /* ← 横中央 */
  padding-top: 5px;
  padding-bottom: 20px; /* ▼と重ならない余白 */
  width: 100%;
  height: 100%;
  border-right: 1px solid #000;
}
.flow-nav__box::after {
  content: "▼";
  position: absolute;   /* ← 追加 */
  bottom: 5px;          /* 内側下から5px */
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.2rem;
  color: var(--primary-darkred, #C8161D);
}
.flow-nav__title {
  color: var(--primary-black, #333a3a);
  text-align: center;
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 700;
  line-height: 120%; /* 15.6px */
}

/*----------pc 769px----------*/
@media (min-width: 769px) {
.flow-nav__title {
  font-size: 1.6rem;
}
}


/* ------お問合せから入学までの流れ------ */
.admission-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  align-self: stretch;
}
.admission-flow_title {
  display: flex;
  height: 40px;
  padding: 0 15px;
  align-items: center;
  align-self: stretch;
  color: var(--white, #FFF);
  background-color: var(--primary-darkred, #C8161D);
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
}
.flow__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 25px;
  align-self: stretch;
}
.flow-step {
  position: relative;
  display: flex;
  padding: 20px;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
  border-radius: 20px;
  border: 2px solid var(--primary-orange, #FF9D00);
  background: var(--white, #FFF);
}
.flow-step::after {
  content: "▼";
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2rem;
  color: var(--primary-orange, #FF9D00);
}
.flow-step__label {
  display: flex;
  flex-shrink: 0;
  width: 140px;
  height: 30px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--white, #FFF);
  border-radius: 15px;
  background: var(--primary-orange, #FF9D00);
  text-align: center;
  font-family: Inter;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */

}
.flow-step__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
}
.flow-step__title {
  color: var(--primary-black, #333a3a);
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
}
.flow-step__title span {
  font-size: 1.6rem;
}
.flow-step__text {
  color: var(--primary-black, #333a3a);
  font-family: "Noto Sans JP";
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 21px */
}
.flow__start {
  color: var(--primary-darkred, #C8161D);
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
}
/*----------pc 769px----------*/
@media (min-width: 769px) {
  .admission-flow_title {
    height: 60px;
    font-size: 2.4rem;
  }
  .flow__list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    align-self: stretch;
  }
  .flow-step {
    flex-direction: row;
    gap: 20px;
  }
  .flow-step__title {
    font-size: 2.4rem;
  }
  .flow-step__title span {
    font-size: 2.4rem;
  }
  .flow-step__text {
    font-size: 1.6rem;
  }
  .flow__start {
    font-size: 4rem;
  }
}


/* ------年間スケジュール------ */

.schedule {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  align-self: stretch;
}
.schedule__title {
  display: flex;
  height: 40px;
  padding: 0 15px;
  align-items: center;
  align-self: stretch;
  color: var(--white, #FFF);
  background-color: var(--primary-darkred, #C8161D);
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
}
.schedule__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 25px;
  align-self: stretch;
}
.schedule-period {
  position: relative;
  display: flex;
  padding: 20px;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
  border-radius: 20px;
  border: 2px solid var(--primary-blue, #003d79);
  background: var(--white, #FFF);
}
.schedule-period::after {
  content: "▼";
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2rem;
  color: var(--primary-blue, #003d79)
}
.schedule-period__label {
  display: flex;
  flex-shrink: 0;
  width: 140px;
  height: 30px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--white, #FFF);
  border-radius: 15px;
  background: var(--primary-blue, #003d79);
  text-align: center;
  font-family: Inter;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */

}
.schedule-period__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 10px;
}
.schedule-period__title {
  color: var(--primary-black, #333a3a);
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
}
.schedule-period__description {
  color: var(--primary-black, #333a3a);
  font-family: "Noto Sans JP";
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 21px */
}
.schedule-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
}
.schedule-block__title {
  display: flex;
  padding: 0 20px;
  align-items: flex-start;
  align-self: stretch;
  border-bottom: 1px solid var(--red, #C8161D);
  border-left: 5px solid var(--red, #C8161D);
  color: var(--primary-black, #333a3a);
  font-family: "Noto Sans JP";
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 21px */
}
.schedule-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
}
.schedule-list__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
}
.schedule-list__date {
  flex-shrink: 0;
  padding: 1px 20px;
  align-items: center;
  color: var(--white, #FFF);
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 150%; /* 21px */
  background: #0A761E;
  border-radius: 5px;
}
.schedule-list__text {
  color: var(--primary-black, #333a3a);
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 21px */
}
.schedule-course {
  display: flex;
  gap: 5px;
  flex-direction: column;
  align-items: flex-start;
}
.schedule-course__title {
  color: var(--white, #FFF);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 150%; /* 21px */
  padding: 1px 20px;
  background: var(--red, #C8161D);
  border-radius: 5px;

}
.schedule-course__title span {
  margin-left: 5px;
  font-weight: 400;
  font-size: 1.2rem;
}
.schedule-course__text {
  color: var(--primary-black, #333a3a);
  font-family: "Noto Sans JP";
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 21px */
}

/*----------pc 769px----------*/
@media (min-width: 769px) {
.schedule__title {
  height: 60px;
  font-size: 2.4rem; 
}
.schedule-period {
  flex-direction: row;
  gap: 20px;
}

.schedule-period__content {
  gap: 15px;
}
.schedule-period__title {
  font-size: 2.4rem;
}
.schedule-period__description {
  font-size: 1.6rem;
}
.schedule-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
}
.schedule-block__title {
  font-size: 2rem;
}
.schedule-list__date {
  width: 110px;
  font-size: 1.6rem;
}
.schedule-list__text {
  font-size: 1.6rem;
}
.schedule-course__title {
font-size: 1.6rem;
}
.schedule-course__title span {
  margin-left: 5px;
  font-weight: 400;
  font-size: 1.4rem;
}
.schedule-course__text {
  font-size: 1.6rem;
}
}



/* ------学費------ */
.tuition {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  align-self: stretch;
}

.tuition-title {
  display: flex;
  height: 40px;
  padding: 0 15px;
  align-items: center;
  align-self: stretch;
  color: var(--white, #FFF);
  background-color: var(--primary-darkred, #C8161D);
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 30px */
}
.tuition__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
}
.tuition-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.8rem;
  font-weight: 700;
  background: #fff;
}

/* 共通セル */
.tuition-table th,
.tuition-table td {
  border: 1px solid #000;
  padding: 10px;
  text-align: left;
  vertical-align: middle;
}

/* thead */
.tuition-table thead {
  background-color: #003d79;
}

.tuition-table thead th {
  color: #fff;
  font-weight: 700;
  text-align: center;
}

/* tbody */
.tuition-table tbody {
  background-color: #fff;
}

/* 注釈 */
.tuition-table .note {
  font-size: 1.6rem;
  font-weight: 700;
}

/* 金額 */
.tuition-table .price {
  font-weight: 700;
}


/* テーブル下注釈 */
.tuition-notes {
  font-size: 1.4rem;
  font-weight: 700;
}
.tuition-notes ul li::before {
  content: "•";
  font-weight: 700;
  margin-right: 2px;
}
.tuition-notes ul li span {
  font-weight: 400;
  padding-left: 1.4rem;
}
/* 税込み表示 */
.tuition-table .tax {
  font-size: 1.6rem;
}
.scholarship {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  align-self: stretch;
}
.scholarship__title {
  display: flex;
  padding: 1px 10px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #0A761E;
  color: var(--white, #FFF);
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 150%; /* 21px */
  border-radius: 5px;
}
.scholarship__text {
  font-size: 1.4rem;
}

/*----------pc 769px----------*/
@media (min-width: 769px) {
  .tuition-title {
    height: 60px;
    font-size: 2.4rem;
  }
  .tuition-notes {
    font-size: 1.6rem;
  }
  .tuition-notes ul li::before {
    content: "•";
    font-weight: 700;
    margin-right: 3px;
  }
  .tuition-notes ul li span {
    padding-left: 1.6rem;
  }
}