@charset "utf-8";

:root {
  --color-main: #222222;
  --color-brand_purple: #551B48;
  --color-skyblue: #3FB0CC;
  --color-orange: #F58200;
  --color-olive: #A79137;
  --color-green: #85BD02;
  --color-gray: #F5F5F5;
  --color-navy: #242B78;
  --color-turquoise: #00AFCC;
  --font-sans: "Noto Sans JP", sans-serif;
}

/* ----- curriculum ----- */

main.curriculum section.inner_mv {
  background-image: url(../images/_school/curriculum/bg_mv_curriculum.jpg);
}

main.curriculum section.curriculum_lead p.curriculum_lead {
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}

main.curriculum section.curriculum_lead p.curriculum_highlight {
  margin-top: min(4rem, 40px);
  font-size: min(2.5rem, 25px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

main.curriculum section.curriculum_lead p.curriculum_highlight span {
  color: var(--color-brand_purple);
}

main.curriculum section.curriculum_lead div.img_area {
  margin: min(4rem, 40px) auto 0;
  width: min(64rem, 640px);
}

main.curriculum section.curriculum_lead p.curriculum_txt {
  margin: min(4rem, 40px) auto 0;
  width: min(75rem, 750px);
  line-height: 2.0;
  font-size: min(1.6rem, 16px);
}

main.curriculum section.curriculum_lead h2.curriculum_ttl {
  margin-top: min(8rem, 80px);
  font-size: min(2.5rem, 25px);
  font-weight: 700;
  text-align: center;
}

main.curriculum section.curriculum_lead div.curriculum_wrap {
  margin: min(4rem, 40px) auto 0;
  width: min(95rem, 950px);
  display: flex;
  align-items: end;
  gap: 0;
}

main.curriculum section.curriculum_lead div.curriculum_wrap div.authority_image {
  width: min(31rem, 310px);
  margin-left: max(-3rem, -30px);
  box-shadow:  0 0 min(1.5rem, 15px) rgba(0, 0, 0, 0.16);
  padding: min(3rem, 30px);
  background-color: #fff;
}

main.curriculum section.curriculum_lead div.curriculum_wrap div.authority_image p.curriculum_name {
  margin-top: min(1rem, 10px);
  font-size: min(1.2rem, 12px);
  line-height: 1.6;
}

main.curriculum section.curriculum_lead div.curriculum_wrap div.authority_image p.curriculum_name span {
  display: block;
  margin-top: min(1.5rem, 15px);
  font-size: min(2rem, 20px);
  font-weight: 700;
}

main.curriculum section.curriculum_lead div.curriculum_wrap p.common_txt {
  width: min(67rem, 670px);
  padding: min(4rem, 40px) min(8rem, 80px) min(4rem, 40px) min(4rem, 40px);
  background-color: #F5F5F5;
  margin-bottom: min(10rem, 100px);
}

@media (max-width: 799px) {
  main.curriculum section.inner_mv {
    background-image: url(../images/_school/curriculum/bg_mv_curriculum.jpg);
  }
  
  main.curriculum section.curriculum_lead p.curriculum_lead {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: justify;
  }
  
  main.curriculum section.curriculum_lead p.curriculum_highlight {
    margin-top: 4rem;
    font-size: 2.2rem;
    text-align: center;
    line-height: 1.6;
  }
  
  main.curriculum section.curriculum_lead div.img_area {
    margin: 4rem auto 0;
    width: 100%;
  }
  
  main.curriculum section.curriculum_lead p.curriculum_txt {
    margin: 2rem auto 0;
    width: 100%;
    font-size: 1.4rem;
  }
  
  main.curriculum section.curriculum_lead h2.curriculum_ttl {
    margin-top: 4rem;
    font-size: 2rem;
    text-align: center;
    line-height: 1.4;
  }
  
  main.curriculum section.curriculum_lead div.curriculum_wrap {
    margin: 2rem auto 0;
    width: 100%;
    flex-direction: column;
    align-items: start;
    gap: 0;
  }
  
  main.curriculum section.curriculum_lead div.curriculum_wrap div.authority_image {
    width: 75%;
    margin: -3rem auto 0;
    margin-left: auto;
    box-shadow:  0 0 1.5rem rgba(0, 0, 0, 0.16);
    padding: 2rem;
  }
  
  main.curriculum section.curriculum_lead div.curriculum_wrap div.authority_image p.curriculum_name {
    margin-top: 1rem;
    font-size: 1.0rem;
  }
  
  main.curriculum section.curriculum_lead div.curriculum_wrap div.authority_image p.curriculum_name span {
    margin-top: 1.5rem;
    font-size: 1.6rem;
  }
  
  main.curriculum section.curriculum_lead div.curriculum_wrap p.common_txt {
    width: 100%;
    padding: 4rem 2rem;
    margin-bottom: 0;
  }
}

main.curriculum section.committee h3.curriculum_ttl {
  margin-top: min(4rem, 40px);
  font-size: min(2rem, 20px);
  font-weight: 700;
}

main.curriculum section.committee div.committee_wrap {
  margin-top: min(2rem, 20px);
  background-color: #fff;
  padding: min(4rem, 40px) min(2rem, 20px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(6.0rem, 60px) min(2.0rem, 20px);
}

main.curriculum section.committee div.committee_wrap ul.committee_list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

main.curriculum section.committee div.committee_wrap ul.committee_list h4.committee_ttl {
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  padding: min(.4rem, 4px) 0 min(.4rem, 4px) min(1rem, 10px);
  border-left: min(0.3rem, 3px) solid var(--color-brand_purple);
  margin-bottom: min(1.5rem, 15px);
}

main.curriculum section.committee div.committee_wrap ul.committee_list li.committee_item {
  padding: min(1.6rem, 16px) 0;
  border-bottom: min(0.1rem, 1px) solid var(--color-gray);
  display: flex;
  align-items: start;
  gap: 0;
}

main.curriculum section.committee div.committee_wrap ul.committee_list li.committee_item div.committee_name {
  width: min(18rem, 180px);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
}

main.curriculum section.committee div.committee_wrap ul.committee_list li.committee_item div.committee_position {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: min(1rem, 10px);
  letter-spacing: 0.05em;
}

main.curriculum section.committee div.committee_wrap ul.committee_list li.committee_item div.committee_position div.committee_position_item {
  font-size: min(1.2rem, 12px);
  font-weight: 400;
}

@media (max-width: 799px) {
  main.curriculum section.committee h3.curriculum_ttl {
    margin-top: 4rem;
    font-size: 1.6rem;
    line-height: 1.2;
  }
  
  main.curriculum section.committee div.committee_wrap {
    margin-top: 2rem;
    padding: 4rem 2rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
  
  main.curriculum section.committee div.committee_wrap ul.committee_list h4.committee_ttl {
    font-size: 1.4rem;
    padding: .4rem 0 .4rem 1rem;
    border-left: min(0.3rem, 3px) solid var(--color-brand_purple);
    margin-bottom: min(1.5rem, 15px);
  }
  
  main.curriculum section.committee div.committee_wrap ul.committee_list li.committee_item {
    padding: 1.0rem 0;
    border-bottom: 0.1rem solid var(--color-gray);
    flex-direction: column;
    align-items: start;
    gap: 1rem;
  }
  
  main.curriculum section.committee div.committee_wrap ul.committee_list li.committee_item div.committee_name {
    width: 100%;
    font-size: 1.4rem;
    font-weight: 700;
  }
  
  main.curriculum section.committee div.committee_wrap ul.committee_list li.committee_item div.committee_position {
    flex: none;
    width: 100%;
    gap: 0.4rem;
    letter-spacing: 0.05em;
  }
  
  main.curriculum section.committee div.committee_wrap ul.committee_list li.committee_item div.committee_position div.committee_position_item {
    font-size: 1.1rem;
    font-weight: 400;
  }
}

main.curriculum section.courses div.container {
  padding-bottom: 0;
}

main.curriculum section.courses div.courses_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, auto);
  gap: min(2rem, 20px);
}

main.curriculum section.courses div.courses_wrap a.course_item:nth-of-type(1) {
  grid-row: span 2;
}

main.curriculum section.courses div.course_point_area {
  margin-top: min(4rem, 40px);
  padding: min(4rem, 40px) min(2rem, 20px);
  background-color: var(--color-gray);
}

main.curriculum section.courses div.course_point_area h3.course_point_ttl {
  font-size: min(2rem, 20px);
  font-weight: 700;
}

main.curriculum section.courses div.course_point_area div.course_point_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(1rem, 10px);
}

main.curriculum section.courses div.course_point_area div.course_point_wrap h4.course_point_ttl {
  font-size: min(1.8rem, 18px);
  padding: min(0.4rem, 4px) 0 min(0.4rem, 4px) min(1rem, 10px);
  border-left: min(0.3rem, 3px) solid var(--color-brand_purple);
  font-weight: 700;
}

main.curriculum section.courses div.course_point_area div.course_point_wrap p.common_txt {
  margin-top: min(2rem, 20px);
  text-align: left;
  line-height: 1.6;
  letter-spacing: 0em;
}

main.curriculum section.courses div.course_point_area div.course_point_note_area {
  margin-top: min(2rem, 20px);
  display: flex;
  flex-direction: column;
  gap: min(1rem, 10px);
}

main.curriculum section.courses div.course_point_area div.course_point_note_area p.course_point_note {
  font-size: min(1.2rem, 12px);
  font-weight: 400;
}

@media (max-width: 799px) {
  main.curriculum section.courses div.courses_wrap {
    margin-top: 2.4rem;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: auto;
    gap: 1rem;
  }
  
  main.curriculum section.courses div.courses_wrap a.course_item:nth-of-type(1) {
    grid-row: span 1;
  }
  
  main.curriculum section.courses div.course_point_area {
    margin-top: 4rem;
    padding: 4rem 2rem;
  }
  
  main.curriculum section.courses div.course_point_area h3.course_point_ttl {
    font-size: 1.8rem;
  }
  
  main.curriculum section.courses div.course_point_area div.course_point_wrap {
    margin-top: 2rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 4rem;
  }
  
  main.curriculum section.courses div.course_point_area div.course_point_wrap h4.course_point_ttl {
    font-size: 1.6rem;
    padding: .2rem 0 .2rem .5rem;
    border-left: .2rem solid var(--color-brand_purple);
  }
  
  main.curriculum section.courses div.course_point_area div.course_point_wrap p.common_txt {
    margin-top: 2rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
  
  main.curriculum section.courses div.course_point_area div.course_point_note_area {
    margin-top: 4rem;
    gap: 0.8rem;
  }
  
  main.curriculum section.courses div.course_point_area div.course_point_note_area p.course_point_note {
    font-size: 1.2rem;
    line-height: 1.4;
  }
}

main.curriculum section.license div.license_wrap {
  margin-top: min(2rem, 20px);
  display: grid;
  grid-template-columns: 55% 1fr;
  align-items: center;
  gap: min(4rem, 40px);
}

main.curriculum section.license div.license_wrap div.img_area p.license_note {
  padding-top: min(2rem, 20px);
  border-top: min(0.1rem, 1px) solid var(--color-gray);
  font-size: min(1.2rem, 12px);
}

main.curriculum section.license div.license_wrap div.txt_area p.license_txt {
  font-size: min(1.6rem, 16px);
  line-height: 1.8;
}

main.curriculum section.license div.license_wrap div.txt_area a.common_link {
  margin-left: 0;
}

@media (max-width: 799px) {
  main.curriculum section.license div.license_wrap {
    margin-top: 2rem;
    grid-template-columns: repeat(1, 1fr);
    align-items: center;
    gap: 2rem;
  }
  
  main.curriculum section.license div.license_wrap div.img_area p.license_note {
    padding-top: 1rem;
    border-top: .1rem solid var(--color-gray);
    font-size: 1.2rem;
  }
  
  main.curriculum section.license div.license_wrap div.txt_area p.license_txt {
    font-size: 1.4rem;
    line-height: 1.8;
  }
  
  main.curriculum section.license div.license_wrap div.txt_area a.common_link {
    margin-left: auto;
  }
}

/* ----- qualification ----- */

main.qualification section.inner_mv {
  background-image: url(../images/_school/_qualification/bg_mv_pc.jpg);
}

main.qualification h2.inner_h2_s {
  margin-top: min(4rem, 40px);
}

@media (max-width: 799px) {
  main.qualification h2.inner_h2_s {
    margin-top: 4rem;
  }  
}

main.qualification section.qualification {
  position:relative;
		z-index:0;
}

main.qualification section.qualification table.qualification_table {
  margin-top: min(8rem, 80px);
  width: 100%;
}

main.qualification section.qualification table.qualification_table th, 
main.qualification section.qualification table.qualification_table td {
  height: min(5rem, 50px);
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  text-align: center;
  border: min(0.1rem, 1px) solid #D9D9D9;
}

main.qualification section.qualification table.qualification_table tr:first-child th {
  width: calc(100% / 3);
}

main.qualification section.qualification table.qualification_table tr:not(:nth-of-type(1)) th {
  color: var(--color-brand_purple);
  position: relative;
}

main.qualification section.qualification table.qualification_table tr:not(:nth-of-type(1)) th::before {
  content: "";
  display: block;
  position: absolute;
  width: min(1rem, 10px);
  height: 100%;
  background-color: var(--color-brand_purple);
  top: 0;
  left: 0;
}

main.qualification section.qualification table.qualification_table tr:nth-of-type(3) th {
  color: var(--color-skyblue);
}

main.qualification section.qualification table.qualification_table tr:nth-of-type(3) th::before {
  background-color: var(--color-skyblue);
}

main.qualification section.qualification table.qualification_table tr:nth-of-type(4) th {
  color: var(--color-olive);
}

main.qualification section.qualification table.qualification_table tr:nth-of-type(4) th::before {
  background-color: var(--color-olive);
}

main.qualification section.qualification table.qualification_table tr:nth-of-type(5) th {
  color: var(--color-orange);
}

main.qualification section.qualification table.qualification_table tr:nth-of-type(5) th::before {
  background-color: var(--color-orange);
}

main.qualification section.qualification div.qualification_wrap {
  margin-top: min(2.4rem, 24px);
  width: 100%;
  height: min(13rem, 130px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(6rem, 60px);
		background-color: #fff;
}

main.qualification section.qualification div.qualification_wrap a.common_link {
margin:0;
}

main.qualification section.qualification div.qualification_wrap div.logo_area {
  width: min(32rem, 320px);
}

main.qualification section.qualification .qualification_benefit_item {
	padding: min(4rem, 40px);
	background-color: #fff;
	margin-top:min(4rem, 40px);
}
main.qualification section.qualification .qualification_benefit_item .qualification_benefit_item_ttl_set {
	position:relative;
}
main.qualification section.qualification .qualification_benefit_item .qualification_benefit_item_ttl_set .num_set {
	width: min(9rem, 90px);
	height: min(9rem, 90px);
	border-radius: 999px;
	border: 1px solid #222;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	position: absolute;
	left: min(-2.5rem, -25px);
	background-color: #fff;
	transform: translateY(-60%);
	}
main.qualification section.qualification .qualification_benefit_item .qualification_benefit_item_ttl_set div.tokuten {
	font-size: min(1.4rem, 14px);
	border-bottom: 1px solid #222;
	padding-bottom: min(0.5rem, 5px);
	display:inline-block;
}
main.qualification section.qualification .qualification_benefit_item .qualification_benefit_item_ttl_set div.num {
	font-size: min(3.6rem, 36px);
}
main.qualification section.qualification .qualification_benefit_item .qualification_benefit_item_ttl_set h3.qualification_benefit_item_ttl {
	padding-left: min(8rem, 80px);
	font-size: min(2rem, 20px);
}

main.qualification section.qualification .qualification_benefit_item .common_txt {
	margin-top: min(4rem, 40px);
}

@media (max-width: 799px) {
main.qualification section.qualification .qualification_benefit_item {
	padding: 2rem;
	margin-top:2rem;
}
main.qualification section.qualification .qualification_benefit_item .qualification_benefit_item_ttl_set {
	position:relative;
}
main.qualification section.qualification .qualification_benefit_item .qualification_benefit_item_ttl_set .num_set {
	width: 6rem;
	height: 6rem;
	left: -1rem;
	top: -2.5rem;
	}
main.qualification section.qualification .qualification_benefit_item .qualification_benefit_item_ttl_set div.tokuten {
	font-size: 1rem;
	padding-bottom: 0.2rem;
}
main.qualification section.qualification .qualification_benefit_item .qualification_benefit_item_ttl_set div.num {
	font-size: 2.5rem;
}
main.qualification section.qualification .qualification_benefit_item .qualification_benefit_item_ttl_set h3.qualification_benefit_item_ttl {
	padding-left: 6rem;
	font-size: 1.8rem;
}

main.qualification section.qualification .qualification_benefit_item .common_txt {
	margin-top: 2rem;
}
}

main.qualification section.qualification ul.movie_list {
		/*margin-top: min(2rem, 20px);*/
  width: calc(100% - min(1.0rem, 10px));
  padding: min(3.0rem, 30px) min(2rem, 20px);
  background: var(--color-gray);
  display: flex;
  flex-direction: column;
  gap: min(1.6rem, 16px);
  position: relative;
  z-index: auto;
}

main.qualification section.qualification ul.movie_list::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: min(0.1rem, 1px) solid var(--color-brand_purple);
  top: 0;
  left: 0;
  transform: translate(min(1.0rem, 10px), min(1.0rem, 10px));
  position: absolute;
  z-index: -9999;
}

main.qualification section.qualification ul.movie_list li.movie_item {
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: min(1rem, 10px);
  position: relative;
  z-index: 1;
		}

main.qualification section.qualification ul.movie_list li.movie_item::before {
  content: "";
  background-image: url(../images/_school/branding/icon_checkMark.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(2.4rem, 24px);
  height: min(2.0rem, 20px);
}

@media (max-width: 799px) {
    main.qualification section.qualification ul.movie_list {
        margin-top: 2rem;
        width: calc(100% - 1rem);
        padding: 3rem 2rem;
        gap: 1rem;
    }
				main.qualification section.qualification ul.movie_list::after {
        border: 0.1rem solid var(--color-brand_purple);
        transform: translate(1rem, 1rem);
    }
				main.qualification section.qualification ul.movie_list li.movie_item {
        font-size: 1.4rem;
        line-height: 1.2;
        gap: 1rem;
    }
				main.qualification section.qualification ul.movie_list li.movie_item::before {
        width: 2rem;
        height: 2rem;
        flex-shrink: 0;
    }
}

main.qualification section.qualification div.license_wrap {
  margin-top: min(6rem, 60px);
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: min(3rem, 30px) min(2rem, 20px);
  justify-content: center;
}

main.qualification section.qualification div.license_wrap div.license_item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  grid-column: span 2;
  gap: 0;
  background-color: #fff;
  box-shadow: 0 0 min(1.6rem, 16px) rgba(0, 0, 0, 0.16);
  padding: min(3rem, 30px);
  border-top: min(1rem, 5px) solid #707070;
		position: relative;

}
main.qualification section.qualification div.license_item .img_area {
}

main.qualification section.qualification div.license_item .img_area img {
}

main.qualification section.qualification div.license_item .open_badge {
width: min(10rem, 100px);
margin:0 auto;
margin-top: min(1.6rem, 16px);
position: absolute;
transform: translate(10%, -30%);
right:0;
}

main.qualification section.qualification div.license_wrap div.license_item:nth-of-type(2) {
  border-top-color: var(--color-orange);
}

main.qualification section.qualification div.license_wrap div.license_item:nth-of-type(3) {
  border-top-color: var(--color-olive);
}

main.qualification section.qualification div.license_wrap div.license_item p.license_item_title {
	font-size: min(1.8rem, 18px);
	text-align: left;
	color: #707070;
}

main.qualification section.qualification div.license_wrap div.license_item:nth-of-type(2) p.license_item_title {
  color: var(--color-orange);
}

main.qualification section.qualification div.license_wrap div.license_item:nth-of-type(3) p.license_item_title {
  color: var(--color-olive);
}


main.qualification section.qualification div.license_wrap02 {
  margin-top: min(6rem, 60px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(3rem, 30px) min(2rem, 20px);
  justify-content: center;
}

main.qualification section.qualification div.license_wrap02 div.license_item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  grid-column: span 2;
  gap: 0;
  background-color: #fff;
  box-shadow: 0 0 min(1.6rem, 16px) rgba(0, 0, 0, 0.16);
  padding: min(3rem, 30px);
  border-top: min(1rem, 5px) solid #707070;
		position: relative;
}

main.qualification section.qualification div.license_wrap02 div.license_item:nth-of-type(1) {
  border-top-color: var(--color-skyblue);
  grid-column: 1 / 2;
}

main.qualification section.qualification div.license_wrap02 div.license_item:nth-of-type(2) {
  border-top-color: var(--color-brand_purple);
  grid-column: 2 / 2;
}

main.qualification section.qualification div.license_wrap02 div.license_item p.license_item_title {
	font-size: min(1.8rem, 18px);
	text-align: left;
	color: #707070;
}

main.qualification section.qualification div.license_wrap02 div.license_item:nth-of-type(1) p.license_item_title {
  color: var(--color-skyblue);
}

main.qualification section.qualification div.license_wrap02 div.license_item:nth-of-type(2) p.license_item_title {
  color: var(--color-brand_purple);
}



main.qualification section.qualification div.license_wrap div.license_item p.license_item_title span {
	display: block;
	margin-top: min(0.8rem, 8px);
	font-size: min(1.4rem, 14px);
	font-weight: 400;
	text-align: left;
}

main.qualification section.qualification div.license_wrap div.license_item div.img_area {
  margin-top: min(2rem, 20px);
  width: 100%;
}

@media (max-width: 799px) {
  main.qualification section.qualification table.qualification_table {
    margin-top: 4rem;
  }
  
  main.qualification section.qualification table.qualification_table th, 
  main.qualification section.qualification table.qualification_table td {
    height: 5rem;
    font-size: 1.1rem;
    border: 0.1rem solid #D9D9D9;
    letter-spacing: .0em;
  }

  main.qualification section.qualification table.qualification_table tr:first-child th, 
  main.qualification section.qualification table.qualification_table tr:first-child td {
    height: 3rem;
  }
  
  main.qualification section.qualification table.qualification_table tr:first-child th {
    width: calc(100% / 3);
  }
  
  main.qualification section.qualification table.qualification_table tr:not(:nth-of-type(1)) th::before {
    width: 0.4rem;
  }
  
  main.qualification section.qualification div.qualification_wrap {
    margin-top: 2.4rem;
    height: auto;
    padding: 4rem 2rem;
    flex-direction: column;
    gap: 2rem;
  }
  
  main.qualification section.qualification div.qualification_wrap div.logo_area {
    width: 100%;
  }
  
  main.qualification section.qualification ul.movie_list {
    padding: 3rem 2rem;
    border-radius: .8rem;
    font-size: 1.4rem;
    gap: 1.4rem;
  }
  
  main.qualification section.qualification ul.movie_list li {
    line-height: 1.4;
    padding-left: .5em;
    text-indent: -.5em;
  }

  main.qualification section.qualification div.license_wrap {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
  
  main.qualification section.qualification div.license_wrap div.license_item {
    grid-column: span 1;
    box-shadow: 0 0 .8rem rgba(0, 0, 0, 0.16);
    padding: 2rem;
    border-top: .5rem solid #707070;
  }
		
		  main.qualification section.qualification div.license_wrap02 {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
		
		  main.qualification section.qualification div.license_wrap02 div.license_item {
    grid-column: span 1;
    box-shadow: 0 0 .8rem rgba(0, 0, 0, 0.16);
    padding: 3rem;
    border-top: .5rem solid #707070;
  }
  
  main.qualification section.qualification div.license_wrap02 div.license_item:nth-of-type(2) {
    grid-column: 1 / 1;
  }
  
  main.qualification section.qualification div.license_wrap02 div.license_item:nth-of-type(3) {
    grid-column: 1 / 1;
  }
  
  main.qualification section.qualification div.license_wrap div.license_item p.license_item_title {
	font-size: 2rem;
	line-height: 1.2;
	text-align: left;
  }
  
  main.qualification section.qualification div.license_wrap div.license_item p.license_item_title span {
    margin-top: .8rem;
    font-size: 1.2rem;
  }
  
  main.qualification section.qualification div.license_wrap div.license_item div.img_area {
    margin-top: 2rem;
    width: 100%;
  }
}

/* ----- seminar ----- */

main.seminar section.seminar div.container {
  padding-bottom: 0;
}

main.seminar section.inner_mv {
  background-image: url(../images/_school/_seminar/bg_mv_pc.jpg);
}

main.seminar h2.inner_h2_s {
  margin-top: min(4rem, 40px);
}

@media (max-width: 799px) {
  main.seminar h2.inner_h2_s {
    margin-top: 4rem;
  }  
}

main.seminar section.seminar div.inner_wrap p.common_txt strong {
  display: block;
  font-size: min(3rem, 30px);
  font-weight: 500;
  margin-bottom: min(2rem, 20px);
  line-height: 1.4;
}

main.seminar section.seminar_nav div.container {
  padding: 0 20px;
}

main.seminar section.seminar_nav nav.seminar_nav {
  margin-top: min(4.0rem, 40px);
}

main.seminar section.seminar_nav nav.seminar_nav ul.seminar_nav_ul {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: min(1rem, 10px);
}

main.seminar section.seminar_nav nav.seminar_nav ul.seminar_nav_ul li.seminar_nav_li {
  width: 100%;
  height: min(5.0rem, 50px);
  background-color: #DEDEDE;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  position: relative;
  cursor: pointer;
  transition: all .8s;
}

main.seminar section.seminar_nav nav.seminar_nav ul.seminar_nav_ul li.seminar_nav_li::after {
  content: '';
  display: block;
  position: absolute;
  background-image: url(../images/icon_arrow_right_black.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(.6rem, 6px);
  height: min(1.2rem, 12px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-250%);
  transition: all .8s;
}

main.seminar section.seminar_nav nav.seminar_nav ul.seminar_nav_ul li.seminar_nav_li.active {
  background-color: var(--color-brand_purple);
  color: #fff;
  pointer-events: none;
}

main.seminar section.seminar_nav nav.seminar_nav ul.seminar_nav_ul li.seminar_nav_li.active::after {
  background-image: url(../images/icon_arrow_right_white.png);
}




main.seminar section.schedule div.seminar_wrap {
  display: flex;
  flex-direction: column;
  gap: min(80px, 80px);
  position: absolute;
  top: -999999px;
  opacity: 0;
  pointer-events: none;
  transition: all .8s;
}

main.seminar section.schedule div.seminar_wrap.active {
  position: static;
  opacity: 1;
  pointer-events: auto;
}

main.seminar section.schedule div.seminar_wrap div.seminar_ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl p.seminar_ttl_txt {
  font-size: min(2.0rem, 20px);
  display: flex;
  align-items: center;
  gap: min(1.0rem, 10px);
}

main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl p.seminar_ttl_txt.trial {
    color: var(--color-green);
}

main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl p.seminar_ttl_txt.basic {
    color: var(--color-orange);
}

main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl p.seminar_ttl_txt.advance {
  color: var(--color-olive);
}

main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl p.seminar_ttl_txt {
  color: var(--color-main);
}

main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl p.seminar_ttl_txt span {
  font-size: min(2.0rem, 20px);
  color: #fff;
  width: min(5.4rem, 54px);
  height: min(5.4rem, 54px);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: var(--color-green);
}

main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl p.seminar_ttl_txt.trial span {
  background-color: var(--color-green);
}

main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl p.seminar_ttl_txt.basic span {
  background-color: var(--color-orange);
}

main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl p.seminar_ttl_txt.advance span {
  background-color: var(--color-olive);
}



main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl p.seminar_ttl_txt span:empty {
  display: none;
}

main.seminar section.schedule div.seminar_wrap div.seminar_box:nth-of-type(2) div.seminar_ttl p.seminar_ttl_txt span {
  background-color: var(--color-orange);
}

main.seminar section.schedule div.seminar_wrap div.seminar_box:nth-of-type(3) div.seminar_ttl p.seminar_ttl_txt span {
  background-color: var(--color-olive);
}

main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl a.common_link {
  width: min(14rem, 140px);
  height: min(4rem, 40px);
  font-size: min(1.4rem, 14px);
  padding: 0;
}

main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl a.common_link::after {
  transform: translateX(-100%);
}

@media (max-width: 799px) {
  
  main.seminar section.seminar div.inner_wrap p.common_txt strong {
    font-size: 2.4rem;
    margin-bottom: 2rem;
    line-height: 1.4;
  }
  
  main.seminar section.seminar nav.seminar_nav {
    margin-top: 4.0rem;
  }
  
  main.seminar section.seminar_nav nav.seminar_nav ul.seminar_nav_ul {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.4rem;
  }
  
  main.seminar section.seminar_nav nav.seminar_nav ul.seminar_nav_ul li.seminar_nav_li {
    width: 100%;
    height: 3.5rem;
    font-size: 1.2rem;
    line-height: 1.2;
    padding: 0 0.4rem;
  }
  
  main.seminar section.seminar_nav nav.seminar_nav ul.seminar_nav_ul li.seminar_nav_li::after {
    content: none;
  }
  
  main.seminar section.seminar_nav nav.seminar_nav ul.seminar_nav_ul li.seminar_nav_li.active::after {
    content: none;
  }
  
  main.seminar section.schedule div.container {
    padding: 4rem 2rem;
  }

  main.seminar section.schedule div.seminar_wrap {
    display: flex;
    flex-direction: column;
    gap: 4rem;
  }
  
  main.seminar section.schedule div.seminar_wrap div.seminar_ttl {
    flex-direction: column;
    justify-content: start;
    align-items: start;
  }
  
  main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl p.seminar_ttl_txt {
    font-size: 1.4rem;
    gap: .8rem;
  }
  
  main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl p.seminar_ttl_txt span {
    font-size: 1.4rem;
    width: 4rem;
    height: 4rem;
    flex-shrink: 0;
  }
  
  main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl a.common_link {
    width: 12rem;
    height: 3rem;
    font-size: 1.2rem;
    margin-left: auto;
  }
  
  main.seminar section.schedule div.seminar_wrap div.seminar_box div.seminar_ttl a.common_link::after {
    width: 0.6rem;
    height: 1.2rem;
    transform: translateX(-100%);
  }
}

/* ----- */

main.seminar table.school_table {
	margin-top: min(2rem, 20px);
	width: 100%;
	border-collapse: collapse;
	border: min(0.1rem, 1px) solid #EBEBEB;
	background-color: #fff;
}

main.seminar table.school_table thead tr th {
	background-color: #fff;
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  padding: min(1rem, 10px) min(2rem, 20px);
  height: min(3.5rem, 35px);
  width: 20%;
  border-right: min(0.1rem, 1px) solid #EBEBEB;
}

main.seminar table.school_table thead tr th:nth-of-type(2) {
}
main.seminar table.school_table thead tr th:nth-of-type(3) {
}

main.seminar table.school_table thead tr th:last-of-type {
  border-right: none;
}

main.seminar table.school_table tbody tr td {
  height: min(6.5rem, 65px);
  border-top: min(0.1rem, 1px) solid #EBEBEB;
  border-right: min(0.1rem, 1px) solid #EBEBEB;
  padding: min(1rem, 10px) min(2rem, 20px);
  font-size: min(1.4rem, 14px);
  font-weight: 400;
  text-align: left;
}

/*
main.seminar table.school_table tbody tr:last-of-type td {
  border-top: none;
}
*/

main.seminartable.school_table tbody tr:first-of-type td {
  border-top: min(0.1rem, 1px) solid #EBEBEB;
}

main.seminar table.school_table tbody tr td:last-of-type {
  border-right: none;
}

main.seminar table.school_table tbody tr td div.td_wrap {
  display: block;
  align-items: center;
  gap: min(1rem, 10px);
}

main.seminar table.school_table tbody tr td div.td_wrap div {
  display: flex;
}

main.seminar table.school_table tbody tr td:last-of-type div.td_wrap {
  margin: 0 auto;
  width: 100%;
}

main.seminar table.school_table tbody tr td div.td_wrap div.megaphone {
	width: min(2rem, 20px);
	flex-shrink: 0;
	display: inline-flex;
	margin-right: 5px;
}

main.seminar table.school_table tbody tr td div.td_wrap div.state {
	width: 100%;
	height: min(2rem, 20px);
	padding: 0 min(0.5rem, 5px);
	font-size: min(1rem, 10px);
	font-weight: 400;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	background-color: #fff;
	color: #E10E1C;
	border: 2px solid #E10E1C;
	margin-bottom: 5px;
}

/*
main.seminar table.school_table tbody tr td div.td_wrap div.state.left {
	background-color: #fff;
  color: #E10E1C;
}

main.seminar table.school_table tbody tr td div.td_wrap div.state.fill {
  background-color: #fff;
  color: #E10E1C;
}

main.seminar table.school_table tbody tr td div.td_wrap div.state.closed {
  background-color: #fff;
  color: #E10E1C;
}
*/

main.seminar table.school_table tbody tr td div.td_wrap div.image {
  width: min(5rem, 50px);
		display: inline-block;
		margin-right: 5px;
}

main.seminar table.school_table tbody tr td div.td_wrap div.date {
  font-size: min(1.4rem, 14px);
  font-weight: 400;
		line-height: 1.4;
}

main.seminar table.school_table tbody tr td a.link_app {
	background-color: #E10E1C;
	font-size: min(1.3rem, 13px);
	font-weight: 500;
	width: 100%;
	height: auto;
	padding: min(1rem, 10px) min(1.5rem, 15px);
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	/*	border:2px solid var(--color-brand_purple);*/
	white-space: nowrap;
	margin: 0 auto;
}

main.seminar table.school_table tbody tr td a.link_app::after {
	width: min(.8rem, 8px);
	height: min(.8rem, 8px);
}

@media (max-width: 799px) {
  main.seminar table.school_table {
    margin-top: 2rem;
    border: .1rem solid #EBEBEB;
  }

  main.seminar table.school_table thead {
    display: none;
  }
		
  main.seminar table.school_table thead tr th {
    font-size: 1.4rem;
    padding: 0.5rem 1rem;
    height: 3rem;
    width: 100%;
    border-right: .1rem solid #EBEBEB;
				display: block;
  }
  
  main.seminar table.school_table thead tr th:nth-of-type(2) {
    width: 100%;
  }
  
  main.seminar table.school_table thead tr th:last-of-type {
    width: 100%;
  }
  
  main.seminar table.school_table tbody tr td {
    height: auto;
    border-top: .1rem solid #EBEBEB;
    border-right: 0;
    padding: 1rem;
    font-size: 1.4rem;
    line-height: 1.2;
    width: 100%;
				display: block;
  }

  main.seminar table.school_table tbody tr:first-of-type td {
    border-top: .1rem solid #EBEBEB;
  }
		
		main.seminar table.school_table tbody tr td:first-child {
    background-color: #DEDEDE;
  }
  
  main.seminar table.school_table tbody tr td div.td_wrap {
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem;
  }
  
  main.seminar table.school_table tbody tr td:last-of-type div.td_wrap {
    flex-direction: column;
  }
		
		main.seminar table.school_table tbody tr td div.td_wrap div {
  display: inline;
}
  
  main.seminar table.school_table tbody tr td div.td_wrap div.megaphone {
    width: 1.5rem;
  }
  
  main.seminar table.school_table tbody tr td div.td_wrap div.state {
	height: 2rem;
	padding: 0 .5rem;
	font-size: 0.9rem;
	margin-right: 0.5rem;
	margin-bottom: 0;
  }
  
  main.seminar table.school_table tbody tr td div.td_wrap div.image {
    width: 3.2rem;
  }
  
  main.seminar table.school_table tbody tr td div.td_wrap div.date {
    font-size: 1.4rem;
    line-height: 1.2;
  }
		
		main.seminar table.school_table tbody tr td a.link_app {
				font-size: 1.4rem;
				width:50%;
				padding: 1rem 0.5rem;
				text-align: center;
  }
}

main.seminar a.seminar_link {
    margin-top: min(2rem, 20px);
    font-size: min(1.4rem, 14px);
    font-weight: 500;
    width: min(13rem, 130px);
    height: min(3.5rem, 35px);
    padding: 0 min(1rem, 10px);
    background-color: #fff;
    border: min(0.1rem, 1px) solid var(--color-main);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
main.seminar a.seminar_link::after {
    content: "";
    background-image: url(../images/about/member/icon_arrow_member.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: min(.8rem, 8px);
    height: min(.8rem, 8px);
}
@media (max-width: 799px) {
		main.seminar a.seminar_link  {
						margin: 2rem 0 0 auto;
						font-size: 1.2rem;
						width: 11rem;
						height: 3rem;
						padding: 0 1rem;
						border: 0.1rem solid var(--color-main);
		}
		main.member section.member_area div.member_info div.txt_area a.member_link::after {
				width: 0.8rem;
				height: 0.8rem;
}
}

/* ----- */

/* ----- main.course ----- */

main.course p.school_txt {
  margin-top: min(1rem, 10px);
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  line-height: 1.6;
}

main.course p.school_txt a {
  color: var(--color-brand_purple);
  text-decoration: underline;
  font-weight: 600;
}

@media (max-width: 799px) {
  main.course p.school_txt {
    margin-top: 1rem;
    font-size: 1.3rem;
    line-height: 1.4;
  }
}

main.course section.course_mv div.container {
  position: relative;
  height: 100%;
}

main.course section.course_lead div.left, 
main.course section.course_lead div.right {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 7;
  gap: 0;
}

main.course section.course_lead p.common_txt span {
  display: block;
  font-size: min(2rem, 20px);
  font-weight: 500;
  margin-bottom: min(1rem, 10px);
}

main.course section.about div.inner_wrap {
  background-color: #fff;
  align-items: stretch;
  border-radius: min(1.5rem, 15px) 0 0 min(1.5rem, 15px);
}

main.course h2.course_h2 {
  font-size: min(3.0rem, 30px);
  line-height: 1.4;
}

main.course h2.course_h2_s {
  font-size: min(2.5rem, 25px);
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: min(1rem, 10px);
}

main.course h2.course_h2_s div.course_note {
  display: inline-block;
  width: fit-content;
  height: min(2.8rem, 28px);
  padding: 0 min(1.5rem, 15px);
  background-color: #85BD02;
  color: #fff;
  font-size: min(1.4rem, 14px);
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
}

main.course h3.course_h3 {
  margin-top: min(4rem, 40px);
  font-size: min(2.0rem, 20px);
}

main.course h4.course_h4 {
  margin-top: min(4rem, 40px);
  font-size: min(1.6rem, 16px);
 
 
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: min(.5rem, 5px);
}

main.course h4.course_h4::before {
  content: '';
  width: min(1.5rem, 15px);
  height: min(.2rem, 2px);
  background-color: var(--color-brand_purple);
}

main.course a.course_link {
  margin: min(10rem, 100px) auto 0;
  display: block;
  width: min(80rem, 800px);
  height: min(10rem, 100px);
  background-color: var(--color-brand_purple);
  color: #fff;
  font-size: min(3.2rem, 32px);
  border-radius: 99px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-indent: 3em;
  position: relative;
}

main.course a.course_link::before,
main.course a.course_link::after {
  content: ''; 
  display: block;
  position: absolute;
  background-image: url(../images/icon_course_free.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(12.5rem, 125px);
  height: min(12.5rem, 125px);
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  transform: translateX(40%);
}

main.course a.course_link::after {
  background-image: url(../images/icon_arrow_right_white_circle.png);
  width: min(3.4rem, 34px);
  height: min(3.4rem, 34px);
  left: auto;
  right: 0;
  transform: translateX(-100%);
}

/* ----- */

main.course section.course_link div.course_link_area01 {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: min(2rem, 20px) min(1rem, 10px);
}

main.course section.course_link div.course_link_area01 a.course_link_item {
  grid-column: span 2;
}

main.course section.course_link div.course_link_area01 a.course_link_item:nth-of-type(1), 
main.course section.course_link div.course_link_area01 a.course_link_item:nth-of-type(2) {
  grid-column: span 3;
}

main.course section.course_link div.course_link_area01 a.course_link_item.course_link_item-1col{
	grid-column:span 6;
}
main.course section.course_link div.course_link_area02 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2rem, 20px) min(1rem, 10px);
}

main.course section.course_link div.course_link_area02 a.course_link_item:not(:nth-of-type(2)):not(:nth-of-type(3)):not(:nth-of-type(4)) {
  grid-column: span 3;
}

main.course section.course_link div.course_link_area03 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2rem, 20px) min(1rem, 10px);
}

main.course section.course_link div.course_link_area03 a.course_link_item:not(:nth-of-type(1)):not(:nth-of-type(2)):not(:nth-of-type(3)) {
  grid-column: span 3;
}

@media (max-width: 799px) {
  main.course section.course_link div.course_link_area01 {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
  
  main.course section.course_link div.course_link_area01 a.course_link_item {
    grid-column: span 1;
  }
  
  main.course section.course_link div.course_link_area01 a.course_link_item:nth-of-type(1), 
  main.course section.course_link div.course_link_area01 a.course_link_item:nth-of-type(2) {
    grid-column: span 1;
  }
  main.course section.course_link div.course_link_area01 a.course_link_item.course_link_item-1col{
    grid-column: span 1;
  }
  main.course section.course_link div.course_link_area02 {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
  
  main.course section.course_link div.course_link_area02 a.course_link_item:not(:nth-of-type(2)):not(:nth-of-type(3)):not(:nth-of-type(4)) {
    grid-column: span 1;
  }

  main.course section.course_link div.course_link_area03 {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
  
  main.course section.course_link div.course_link_area03 a.course_link_item:not(:nth-of-type(1)):not(:nth-of-type(2)):not(:nth-of-type(3)) {
    grid-column: span 1;
  }
}

/* ----- */

main.course section.course_overview h2.course_h2_s:not(:first-of-type) {
  margin-top: min(10rem, 100px);
}

main.course section.course_overview div.overview_wrap {
  margin-top: min(4rem, 40px);
  padding: min(4rem, 40px);
  background-color: #fff;
}

  main.course section.course_overview div.overview_wrap div.price_wrap {
  display: flex;
  flex-direction: column;
  gap: min(2rem, 20px);
}

main.course section.course_overview div.overview_wrap div.price_wrap div.price_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: min(1rem, 10px);
}

main.course section.course_overview div.overview_wrap div.price_wrap div.price_item:first-of-type {
  padding-bottom: min(2rem, 20px);
  border-bottom: min(0.1rem, 1px) solid #EBEBEB;
}

main.course section.course_overview div.overview_wrap div.price_wrap div.price_item:not(:last-of-type) {
  padding-bottom: min(2rem, 20px);
  border-bottom: min(0.1rem, 1px) solid #EBEBEB;
}

main.course section.course_overview div.overview_wrap div.price_wrap div.price_item:nth-last-of-type(2) {
  border-bottom: min(0.1rem, 1px) solid var(--color-main);
}


main.course section.course_overview div.overview_wrap div.price_wrap div.price_item div.price_ttl {
  font-size: min(1.6rem, 16px);
  font-weight: 400;
}

main.course section.course_overview div.overview_wrap div.price_wrap div.price_item div.price_txt {
  font-size: min(1.6rem, 16px);
  font-weight: 600;
}

main.course section.course_overview div.overview_wrap div.price_wrap div.price_item div.price_txt strong {
  font-size: min(3.2rem, 32px);
  font-weight: 600;
  letter-spacing: 0em;
}

main.course section.course_overview div.overview_wrap div.price_wrap {
  display: flex;
  flex-direction: column;
  gap: min(2rem, 20px);
}

main.course section.course_overview div.overview_wrap div.price_wrap div.price_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: min(1rem, 10px);
}

main.course section.course_overview div.overview_wrap div.price_wrap div.price_item:first-of-type {
  padding-bottom: min(2rem, 20px);
  border-bottom: min(0.1rem, 1px) solid #EBEBEB;
}

main.course section.course_overview div.overview_wrap div.price_wrap div.price_item:not(:last-of-type) {
  padding-bottom: min(2rem, 20px);
  border-bottom: min(0.1rem, 1px) solid #EBEBEB;
}

main.course section.course_overview div.overview_wrap div.price_wrap div.price_item:nth-last-of-type(2) {
  border-bottom: min(0.1rem, 1px) solid var(--color-main);
}


main.course section.course_overview div.overview_wrap div.price_wrap div.price_item div.price_ttl {
  font-size: min(1.6rem, 16px);
  font-weight: 400;
}

main.course section.course_overview div.overview_wrap div.price_wrap div.price_item div.price_txt {
  font-size: min(1.6rem, 16px);
  font-weight: 600;
}

main.course section.course_overview div.overview_wrap div.price_wrap div.price_item div.price_txt strong {
  font-size: min(3.2rem, 32px);
  font-weight: 600;
  letter-spacing: 0em;
}

main.course section.course_overview div.overview_img {
  margin-top: min(4rem, 40px);
}

main.course section.course_overview div.overview_wrap p.common_txt strong {
  display: block;
  margin-bottom: min(1rem, 10px);
}

main.course section.course_overview div.overview_wrap div.curriculum_ul_wrap {
  margin-top: min(2rem, 20px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(2rem, 20px);
}

main.course section.course_overview div.overview_wrap div.curriculum_ul_wrap.curriculum_ul_wrap_02 {
  grid-template-columns: repeat(1, 1fr);
}

main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item {
  border-bottom: min(0.1rem, 1px) solid #EBEBEB;
  display: flex;
  align-items: stretch;
  gap: min(1rem, 10px);
}

main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item:nth-of-type(1) {
  font-size: min(1.8rem, 18px);
  font-weight: 500;
  margin-bottom: min(1.6rem, 16px);
  border: none;
  display: flex;
  flex-direction: column;
  gap: min(1.0rem, 10px);
}

main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item:nth-of-type(1) i{
  all: unset;
  display: block;
  font-size: min(1.6rem, 16px);
  font-weight: 400;
}

main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:first-of-type {
  width: min(6rem, 60px); 
  color: #fff;
  font-size: min(2.5rem, 25px);
  border-bottom: min(0.1rem, 1px) solid #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:last-of-type {
  font-size: min(1.8rem, 18px);
  line-height: 1.2;
  padding: min(2.0rem, 20px) 0;
}

main.course section.course_overview div.overview_wrap div.curriculum_ul_wrap_02 ul.curriculum_ul li.curriculum_item span:last-of-type {
  line-height: 1.8;
  font-weight: 400;
}

main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:last-of-type ul.curriculum_ul_s {
  margin-top: min(.8rem, 8px);
  margin-left: 1em;
  display: flex;
  flex-direction: column;
  gap: min(0.8rem, 8px);
  font-weight: 400;
}

main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item small {
  display: block;
  width: 100%;
  padding: min(2rem, 20px) 0;
  text-align: center;
  font-size: min(1.8rem, 18px);
  font-weight: 400;
}

main.course section.course_overview div.overview_wrap div.curriculum_img {
  margin-top: min(4rem, 40px);
}

main.course section.course_overview div.overview_wrap div.curriculum_wrap {
  margin-top: min(2rem, 20px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3rem, 30px) min(2rem, 20px);
}

main.course section.course_overview div.overview_wrap div.curriculum_wrap div.curriculum_item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}

main.course section.course_overview div.overview_wrap div.curriculum_wrap p.trial_txt {
  margin-top: min(1rem, 10px);
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  line-height: 1.6;
}

@media (max-width: 799px) {
  main.course section.course_overview div.overview_wrap div.curriculum_wrap p.trial_txt {
    margin-top: 0.5rem;
    font-size: 1.3rem;
    line-height: 1.4;
  }
}

main.course section.course_overview p.common_txt a {
/*  display: block;*/
  margin-top: min(1.0rem, 10px);
  text-decoration: underline;
}

main.course section.course_overview a.schedule_btn {
  margin: min(6rem, 60px) auto 0;
  width: min(34rem, 340px);
  height: min(6.8rem, 68px);
  font-size: min(1.8rem, 18px);
  border-radius: 99px;
  border: min(0.1rem, 1px) solid var(--color-main);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

main.course section.course_overview a.schedule_btn::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../images/icon_arrow_right_black.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(0.8rem, 8px);
  height: min(1.6rem, 16px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-300%);
}

main.course section.course_overview p.table_title {
  margin-top: min(6rem, 60px);
  width: 100%;
  height: min(6rem, 60px);
  color: #fff;
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: min(1.5rem, 15px) min(1.5rem, 15px) 0 0;
}

main.course section.course_overview table.schedule_table {
  width: 100%;
}

main.course section.course_overview table.schedule_table thead th {
  width: 25%;
  font-size: min(1.6rem, 16px);
  height: min(4rem, 40px);
  background-color: #ccc;
  color: #fff;
  border: min(0.1rem, 1px) solid #fff;
}

main.course section.course_overview table.schedule_table tbody tr td {
  height: min(9rem, 90px);
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  border: min(0.1rem, 1px) solid #ccc;
  text-align: center;
  line-height: 1.4;
		padding:min(1rem, 10px);
}

main.course section.course_overview table.schedule_table tbody tr td:first-of-type strong {
  font-size: min(1.6rem, 16px);
  font-weight: 500;
}

main.course section.course_overview table.schedule_table tbody tr td:nth-of-type(3) {
  margin-left: -1px;
  margin-right: -1px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(0.8rem, 8px);
}

main.course section.course_overview table.schedule_table tbody tr td:nth-of-type(3) span {
  width: min(5rem, 50px);
  height: min(5rem, 50px);
  border-radius: 50%;
  flex-shrink: 0;
}

main.course section.course_overview table.schedule_table tbody tr td:nth-of-type(3) span img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

main.course section.course_overview table.schedule_table tbody tr td:last-of-type {
  position: relative;
}

main.course section.course_overview table.schedule_table tbody tr td:last-of-type a {
  margin: 0 auto;
  width: min(16rem, 160px);
  height: min(4rem, 40px);
  font-size: min(1.6rem, 16px);
  border-radius: 99px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

main.course section.course_overview table.schedule_table tbody tr td:last-of-type a::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../images/icon_arrow_right_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(0.8rem, 8px);
  height: min(1.6rem, 16px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-150%);
}

main.course section.course_overview table.schedule_table tbody tr td:last-of-type small {
  position: absolute;
  width: min(2.4rem, 24px);
  height: min(2.4rem, 24px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-50%);
}

main.course section.course_overview p.table_note {
  margin-top: min(1rem, 10px);
  margin-left: auto;
  width: fit-content;
  font-size: min(1.2rem, 12px);
  display: flex;
  align-items: center;
  gap: min(.8rem, 8px);
}

main.course section.course_overview p.table_note::before {
  content: "";
  background-image: url(../images/icon_reward.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(2.4rem, 24px);
  height: min(2.4rem, 24px);
}

@media (max-width: 799px) {
  main.course h2.course_h2 {
    font-size: 2.0rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
  }
  
  main.course h2.course_h2_s {
    font-size: 1.8rem;
    line-height: 1.4;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
  }

  main.course h2.course_h2_s div.course_note {
    height: 2rem;
    padding: 0 1rem;
    font-size: 1.2rem;
  }
  
  main.course h3.course_h3 {
    margin-top: 4rem;
    font-size: 1.6rem;
    line-height: 1.2;
  }
  
  main.course h4.course_h4 {
    margin-top: 2rem;
    font-size: 1.8rem;
  }

  main.course h4.course_h4 {
    margin-top: 4rem;
    font-size: 1.4rem;
    gap: 0.5rem;
  }
  
  main.course h4.course_h4::before {
    width: 1rem;
    height: 0.2rem;
  }
  
  main.course a.course_link {
    margin: 4rem auto 0;
    width: 100%;
    height: 6rem;
    font-size: 1.8rem;
    text-indent: 1.4em;
    text-align: center;
    line-height: 1.2;
  }
  
  main.course a.course_link::before,
  main.course a.course_link::after {
    width: 6rem;
    height: 6rem;
    transform: translateX(0%);
  }
  
  main.course a.course_link::after {
    width: 2.4rem;
    height: 2.4rem;
    transform: translateX(-50%);
  }

  main.course section.course_overview div.overview_wrap {
    margin-top: 2rem;
    padding: 4rem 2rem;
  }

  main.course section.course_overview div.overview_wrap div.price_wrap {
    gap: 1.5rem;
  }

  main.course section.course_overview div.overview_wrap div.price_wrap div.price_item {
    gap: 0.5rem;
  }

  main.course section.course_overview div.overview_wrap div.price_wrap div.price_item:first-of-type {
    padding-bottom: 1.5rem;
    border-bottom: 0.1rem solid #EBEBEB;
  }

  main.course section.course_overview div.overview_wrap div.price_wrap div.price_item:not(:last-of-type) {
    padding-bottom: 1.5rem;
    border-bottom: 0.1rem solid #EBEBEB;
  }

  main.course section.course_overview div.overview_wrap div.price_wrap div.price_item:nth-last-of-type(2) {
    border-bottom: 0.1rem solid var(--color-main);
  }

  main.course section.course_overview div.overview_wrap div.price_wrap div.price_item div.price_ttl {
    font-size: 1.3rem;
    line-height: 1.2;
    letter-spacing: 0em;
  }

  main.course section.course_overview div.overview_wrap div.price_wrap div.price_item div.price_txt {
    font-size: 1.3rem;
    flex-shrink: 0;
  }

  main.course section.course_overview div.overview_wrap div.price_wrap div.price_item div.price_txt strong {
    font-size: 2.4rem;
  }
  
  /* ----- */

  main.course.under section.course_overview h2.course_h2_s:not(:first-of-type) {
    margin-top: 4rem;
  }

  main.course section.course_overview div.overview_wrap div.curriculum_ul_wrap {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
  
  main.course section.course_overview div.overview_wrap div.curriculum_ul_wrap.curriculum_ul_wrap_02 {
    grid-template-columns: repeat(1, 1fr);
  }
  
  main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item {
    border-bottom: .1rem solid #EBEBEB;
    gap: 0.8rem;
  }
  
  main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item:nth-of-type(1) {
    font-size: 1.8rem;
    margin-bottom: 0.8rem;
    gap: 0.8rem;
  }
  
  main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item:nth-of-type(1) i{
    font-size: 1.4rem;
    line-height: 1.2;
  }
  
  main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:first-of-type {
    width: 3rem;
    font-size: 1.6rem;
    border-bottom: .1rem solid #fff;
  }
  
  main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:last-of-type {
    font-size: 1.4rem;
    line-height: 1.2;
    padding: 1.6rem 0;
  }
  
  main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:last-of-type ul.curriculum_ul_s {
    margin-top: 0.8rem;
    margin-left: .5em;
    gap: 0.8rem;
    font-size: 1.3rem;
  }
  
  main.course section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item small {
    padding: 1.6rem 0;
    text-align: center;
    font-size: 1.4rem;
  }
  
  /* ----- */

  main.course section.course_overview div.overview_wrap div.curriculum_img {
    margin-top: 2rem;
  }
  
  main.course section.course_overview div.overview_wrap div.curriculum_wrap {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
  
  main.course section.course_overview div.overview_wrap div.curriculum_wrap div.curriculum_item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 0;
  }
  
  main.course section.course_overview div.overview_wrap div.curriculum_wrap p.common_txt {
    margin: 1rem auto 0;
    width: 95%;
  }
  
  main.course section.course_overview p.common_txt a {
    margin-top: .8rem;
    width: 100%;
    overflow-wrap: break-word;
    line-height: 1.2;
  }
  
  main.course section.course_overview a.schedule_btn {
    margin: 4rem auto 0;
    width: 100%;
    height: 5rem;
    font-size: 1.4rem;
    border: .1rem solid var(--color-main);
  }
  
  main.course section.course_overview a.schedule_btn::after {
    width: .6rem;
    height: 1.2rem;
    transform: translateX(-300%);
  }
  
  main.course section.course_overview p.table_title {
    margin-top: 4rem;
    width: 100%;
    height: auto;
    padding: 1.4rem 0;
    font-size: 2.4rem;
    border-radius: .8rem .8rem 0 0;
    text-align: center;
  }
  
  main.course section.course_overview p.table_title span {
    display: block;
    margin-top: 0.4rem;
    font-size: 1.2rem;
    line-height: 1.6;
  }

  main.course section.course_overview table.schedule_table tbody tr {
    border: .2rem solid #EBEBEB;
  }

  main.course section.course_overview table.schedule_table tbody tr td {
    display: block;
    height: auto;
    padding: 1rem 0;
    font-size: 1.4rem;
    border: none;
    text-align: center;
    line-height: 1.4;
  }
  
  main.course section.course_overview table.schedule_table tbody tr td:nth-of-type(3), 
  main.course section.course_overview table.schedule_table tbody tr td:nth-of-type(4) {
    padding-top: 0;
  }

  main.course section.course_overview table.schedule_table tbody tr td:first-of-type {
    background-color: #F5F5F5;
  }

  main.course section.course_overview table.schedule_table tbody tr td:first-of-type strong {
    font-size: 2.4rem;
  }
  
  main.course section.course_overview table.schedule_table tbody tr td:nth-of-type(3) {
    gap: 0.8rem;
  }
  
  main.course section.course_overview table.schedule_table tbody tr td:nth-of-type(3) span {
    width: 5rem;
    height: 5rem;
  }
  
  main.course section.course_overview table.schedule_table tbody tr td:nth-of-type(3) span img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  main.course section.course_overview table.schedule_table tbody tr td:last-of-type {
    position: relative;
  }
  
  main.course section.course_overview table.schedule_table tbody tr td:last-of-type a {
    margin: 0 auto;
    width: 20rem;
    height: 4rem;
    font-size: 1.6rem;
  }
  
  main.course section.course_overview table.schedule_table tbody tr td:last-of-type a::after {
    width: 0.8rem;
    height: 1.6rem;
    transform: translateX(-150%);
  }
  
  main.course section.course_overview table.schedule_table tbody tr td:last-of-type small {
    width: 2.0rem;
    height: 2.0rem;
    right: 0;
    transform: translate(-80%, -20%);
  }
  
  main.course section.course_overview p.table_note {
    margin-top: 1rem;
    font-size: 1.0rem;
    gap: 0.4rem;
  }
  
  main.course section.course_overview p.table_note::before {
    width: 2.0rem;
    height: 2.0rem;
  }
}

/* ----- main.course.top ----- */

main.course.top section.course_mv {
  height: min(36rem, 360px);
  background-size: min(124rem, 1240px);
  background-repeat: no-repeat;
  background-position: center top;
}

main.course.top section.course_mv h1.course_h1 {
  position: absolute;
  width: fit-content;
  height: fit-content;
  left: 0 20px;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: min(2.0rem, 20px);
}

main.course.top section.course_mv h1.course_h1 div.h1_desc_wrap {
  display: flex;
  flex-direction: column;
  gap: min(.8rem, 8px);
}

main.course.top section.course_mv h1.course_h1 div.h1_desc_wrap p.h1_desc {
  width: fit-content;
  padding: min(0.8rem, 8px);
  border: min(0.1rem, 1px) solid #85BD02;
  background-color: #fff;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  color: #85BD02;
}

main.course.top section.course_mv h1.course_h1 div.h1_title {
  font-size: min(4.5rem, 45px);
  font-weight: 900;
  color: #85BD02;
}

main.course.top section.course_mv h1.course_h1 div.h1_sub {
  display: block;
  font-size: min(2rem, 20px);
  font-weight: 700;
  color: var(--color-main);
  line-height: 1.2;
}

@media (max-width: 799px) {
  main.course.top section.course_mv {
    height: 30rem;
    background-size: 100rem;
    background-repeat: no-repeat;
    background-position: center top;
  }
  
  
  main.course.top section.course_mv h1.course_h1 {
    left: 0 0px;
    bottom: 0;
    gap: 1rem;
  }
  
  main.course.top section.course_mv h1.course_h1 div.h1_desc_wrap {
    gap: 0.4rem;
  }
  
  main.course.top section.course_mv h1.course_h1 div.h1_desc_wrap p.h1_desc {
    padding: 0.4rem;
    border: 0.1rem solid var(--color-green);
    font-size: 1.4rem;
  }
  
  main.course.top section.course_mv h1.course_h1 div.h1_title {
    font-size: 3.2rem;
  }
  
  main.course.top section.course_mv h1.course_h1 div.h1_sub {
    font-size: 1.6rem;
  }
}

main.course.top div.course_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: min(46rem, 460px) 1fr;
  gap: min(4.5rem, 45px);
}

main.course.top ul.course_list {
  margin-top: min(2rem, 20px);
  width: calc(100% - min(1.0rem, 10px));
  padding: min(3.0rem, 30px) min(2rem, 20px);
  background: var(--color-gray);
  display: flex;
  flex-direction: column;
  gap: min(1.6rem, 16px);
  position: relative;
  z-index: auto;
}

main.course.top ul.course_list::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border: min(0.1rem, 1px) solid var(--color-brand_purple);
  z-index: -1;
  top: 0;
  left: 0;
  transform: translate(min(1.0rem, 10px), min(1.0rem, 10px));
}

main.course ul.course_list.wrap {
  flex-direction: row;
  flex-wrap: wrap;
  gap: min(1.6rem, 16px) min(2.0rem, 20px);
}

main.course.top ul.course_list li.course_list_item {
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: min(1rem, 10px);
}

main.course.top ul.course_list li.course_list_item::before {
  content: "";
  background-image: url(../images/_school/branding/icon_checkMark.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(2.4rem, 24px);
  height: min(2.0rem, 20px);
}

main.course.top ul.course_list div.course_list_sub {
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  margin-top: max(-1rem, -10px);
  line-height: 1.2;
}

@media (max-width: 799px) {
  main.course.top div.course_wrap {
    margin-top: 4rem;
    display: flex;
    flex-direction: column-reverse;
    gap: 4rem;
  }
  
  main.course.top ul.course_list {
    margin-top: 2rem;
    width: calc(100% - 1rem);
    padding: 3rem 2rem;
    gap: 1rem;
  }
  
  main.course.top ul.course_list::after {
    border: 0.1rem solid var(--color-brand_purple);
    transform: translate(1rem, 1rem);
  }
  
  main.course.top ul.course_list li.course_list_item {
    font-size: 1.4rem;
    line-height: 1.2;
    gap: 1rem;
  }

  main.course ul.course_list.wrap {
    gap: 1rem 2rem;
  } 
  
  main.course.top ul.course_list li.course_list_item::before {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
  }

  main.course.top ul.course_list div.course_list_sub {
    font-size: 1.2rem;
    margin-top: max(-.5rem, -5px);
  }
}

main.course.top div.school_wrap {
  margin-top: min(4rem, 40px);
  background-color: #fff;
  padding: min(4rem, 40px);
  display: grid;
  grid-template-columns: 1fr min(50rem, 500px);
  gap: min(4rem, 40px);
}

main.course.top div.school_wrap h3.school_top_h3 {
  display: flex;
  align-items: start;
  gap: min(1.5rem, 15px);
  padding-bottom: min(1rem, 10px);
  border-bottom: min(0.1rem, 1px) solid #C7C7C7;
}

main.course.top div.school_wrap h3.school_top_h3 div.num {
  font-size: min(3.0rem, 30px);
  font-weight: 700;
  color: #85BD02;
}

main.course.top div.school_wrap h3.school_top_h3 div.txt {
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  line-height: 1.4;
}

@media (max-width: 799px) {
  main.course.top div.school_wrap {
    margin-top: 4rem;
    padding: 3rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  
  main.course.top div.school_wrap h3.school_top_h3 {
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 0.1rem solid #C7C7C7;
  }
  
  main.course.top div.school_wrap h3.school_top_h3 div.num {
    font-size: 2rem;
  }
  
  main.course.top div.school_wrap h3.school_top_h3 div.txt {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
  }
}

/* ----- main.course.under ----- */

main.course.under section.course_mv {
  background-size: min(400rem, 4000px);
  background-position: center top;
  background-repeat: no-repeat;
}

main.course.under section.course_mv h1.course_h1 {
  font-size: min(3.5rem, 35px);
  font-weight: 900;
  color: #fff;
  line-height: 1.4;
}

main.course.under section.course_mv a.under_h1_link {
  margin-top: min(2.4rem, 24px);
  width: min(16.5rem, 165px);
  height: min(3.5rem, 35px);
  font-size: min(1.4rem, 14px);
  font-weight: 700;
  background-color: #fff;
  border-radius: min(.3rem, 3px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(2rem, 20px);
  color: var(--color-main);
}

main.course.under section.course_mv a.under_h1_link::after {
  content: "";
  background-image: url(../images/_school/_trial/_in-person/icon_arrow_right_black.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(0.7rem, 7px);
  height: min(0.7rem, 7px);
}

main.course div.credit_card_wrap {
  margin-top: min(2rem, 20px);
  display: flex;
  flex-direction: column;
  gap: 0;
  border: min(0.1rem, 1px) solid #D5D5D5;
}

main.course div.credit_card_wrap div.credit_card_item {
  display: grid;
  grid-template-columns: min(35rem, 350px) 1fr;
  gap: 0;
}

main.course div.credit_card_wrap div.credit_card_item:last-of-type {
  border-top: min(0.1rem, 1px) solid #D5D5D5;
}

main.course div.credit_card_wrap div.credit_card_item div.credit_card_name {
  padding: min(1.5rem, 15px) min(2rem, 20px);
  background-color: #F5F5F5;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
}

main.course div.credit_card_wrap div.credit_card_item div.credit_card_content {
  padding: min(1.5rem, 15px) min(2rem, 20px);
  background-color: #fff;
  font-size: min(1.6rem, 16px);
  font-weight: 400;
}

@media (max-width: 799px) {
  main.course.under section.course_mv {
    background-size: cover;
    height: 30rem;
  }

  main.course.under section.course_mv h1.course_h1 {
    font-size: 2.8rem;
    line-height: 1.4;
  }
  
  main.course.under section.course_mv a.under_h1_link {
    margin-top: 1rem;
    width: 15rem;
    height: 3rem;
    font-size: 1.2rem;
    border-radius: 0.2rem;
    gap: 1.5rem;
  }
  
  main.course.under section.course_mv a.under_h1_link::after {
    width: 0.5rem;
    height: 0.5rem;
  }

  main.course.under div.credit_card_wrap {
    margin-top: 2rem;
    border: 0.1rem solid #D5D5D5;
  }
  
  main.course div.credit_card_wrap div.credit_card_item {
    display: grid;
    grid-template-columns: 1fr;
  }
  
  main.course div.credit_card_wrap div.credit_card_item:last-of-type {
    border-top: 0.1rem solid #D5D5D5;
  }
  
  main.course div.credit_card_wrap div.credit_card_item div.credit_card_name {
    width: 100%;
    padding: 1rem 1.5rem;
    font-size: 1.3rem;
  }
  
  main.course div.credit_card_wrap div.credit_card_item div.credit_card_content {
    padding: 1rem 1.5rem;
    font-size: 1.3rem;
  }
}

main.course h3.school_ttl {
  margin-top: min(4rem, 40px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: min(1rem, 10px);
  font-size: min(2rem, 20px);
  font-weight: 700;
  padding-left: min(1rem, 10px);
  border-left: min(0.5rem, 5px) solid #85BD02;
  line-height: 1.4;
}

main.course h3.school_ttl div.benefit_info {
  font-size: min(1.2rem, 12px);
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: min(0.5rem, 5px);
}

main.course h3.school_ttl div.benefit_info::before {
  content: "";
  background-image: url(../images/_school/_trial/_in-person/icon_megaphone.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(2.4rem, 24px);
  height: min(2.4rem, 24px);
}

@media (max-width: 799px) {
  main.course h3.school_ttl {
    margin-top: 2rem;
    margin-bottom: 4rem;
    display: block;
    font-size: 1.6rem;
    padding-left: 1rem;
    border-left: 0.4rem solid #85BD02;
    line-height: 1.4;
    position: relative;
  }
  
  main.course h3.school_ttl div.benefit_info {
    position: absolute;
    font-size: 1.1rem;
    gap: 0.5rem;
    bottom: 0;
    right: 0;
    transform: translate(0, 150%);
  }
  
  main.course h3.school_ttl div.benefit_info::before {
    width: 1.5rem;
    height: 1.5rem;
  }
}

/* ----- */

main.course table.school_table {
  margin-top: min(2rem, 20px);
  width: 100%;
  border-collapse: collapse;
  border: min(0.1rem, 1px) solid #EBEBEB;
}

main.course table.school_table thead tr th {
  background-color: #F5F5F5;
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  padding: min(1rem, 10px) min(2rem, 20px);
  height: min(3.5rem, 35px);
  width: 20%;
  border-right: min(0.1rem, 1px) solid #EBEBEB;
}

main.course table.school_table thead tr th:nth-of-type(2) {
  width: 20%;
}

main.course table.school_table thead tr th:last-of-type {
  width: 20%;
  border-right: none;
}

main.course table.school_table tbody tr td {
  height: min(6.5rem, 65px);
  border-top: min(0.1rem, 1px) solid #EBEBEB;
  border-right: min(0.1rem, 1px) solid #EBEBEB;
  padding: min(1rem, 10px) min(2rem, 20px);
  font-size: min(1.3rem, 13px);
  font-weight: 400;
  text-align: center;
}

main.course table.school_table tbody tr:last-of-type td {
/*  border-top: none;*/
}

main.course table.school_table tbody tr:first-of-type td {
  border-top: min(0.1rem, 1px) solid #EBEBEB;
}

main.course table.school_table tbody tr td:last-of-type {
  border-right: none;
}

main.course table.school_table tbody tr td div.td_wrap {
  display: block;
  text-align: left;
}

main.course table.school_table tbody tr td div.td_wrap div {
    display: flex;
}

main.course table.school_table tbody tr td:last-of-type div.td_wrap {
  margin: 0 auto;
  width:100%;
}

main.course table.school_table tbody tr td div.td_wrap div.megaphone {
  width: min(2rem, 20px);
  flex-shrink: 0;
  margin-right: 5px;
}

main.course table.school_table tbody tr td div.td_wrap div.state {
		width: 100%;
		height: min(2rem, 20px);
		padding: 0 min(0.5rem, 5px);
		font-size: min(1rem, 10px);
		font-weight: 400;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		white-space: nowrap;
		background-color: #fff;
		color: #E10E1C;
		border: 2px solid #E10E1C;
		margin-bottom: 5px;
	}

/*
main.course table.school_table tbody tr td div.td_wrap div.state.left {
  background-color: #fff;
  color: #E10E1C;
}

main.course table.school_table tbody tr td div.td_wrap div.state.fill {
  background-color: #fff;
  color: #E10E1C;
}

main.course table.school_table tbody tr td div.td_wrap div.state.closed {
  background-color: #fff;
  color: #E10E1C;
}
*/

main.course table.school_table tbody tr td div.td_wrap div.image {
    width: min(5rem, 50px);
    display: inline-block;
    margin-right: 5px;
}



main.course table.school_table tbody tr td a.link_app {
    background-color: #E10E1C;
    font-size: min(1.3rem, 13px);
    font-weight: 500;
    width: auto;
    height: auto;
    padding: min(1rem, 10px) min(1.5rem, 15px);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    /* border: 2px solid var(--color-brand_purple); */
    white-space: nowrap;
    margin: 0 auto;
}

main.course table.school_table tbody tr td a.link_app::after {
	width: min(.8rem, 8px);
	height: min(.8rem, 8px);
}

main.course table.school_table tbody tr td div.td_wrap div.date {
	font-size: min(1.3rem, 13px);
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
}

@media (max-width: 799px) {
  main.course table.school_table {
    margin-top: 2rem;
    border: .1rem solid #EBEBEB;
  }
		
		main.course table.school_table thead {
				display: none;
		}
  
  main.course table.school_table thead tr th {
    font-size: 1rem;
    padding: 0.5rem 1rem;
    height: 3rem;
    width: 40%;
    border-right: .1rem solid #EBEBEB;
  }
  
  main.course table.school_table thead tr th:nth-of-type(2) {
    width: 32%;
  }
  
  main.course table.school_table thead tr th:last-of-type {
    width: 28%;
  }
  
  main.course table.school_table tbody tr td {
    height: auto;
    border-top: .1rem solid #EBEBEB;
    border-right: 0;
    padding: 1rem;
    font-size: 1.4rem;
    line-height: 1.2;
				display: block;
  }

  main.course table.school_table tbody tr:first-of-type td {
    border-top: .1rem solid #EBEBEB;
				}
				
		main.course table.school_table tbody tr td:first-child {
		background-color: #DEDEDE;
    }

  main.course table.school_table tbody tr td div.td_wrap {
				display: flex;
				align-items: center;
  }
		
  main.course table.school_table tbody tr td div.td_wrap div {
				display: flex;
				align-items: center;
    }
  
  main.course table.school_table tbody tr td:last-of-type div.td_wrap {
    flex-direction: column;
  }
  
  main.course table.school_table tbody tr td div.td_wrap div.megaphone {
    width: 1.5rem;
  }
  
  main.course table.school_table tbody tr td div.td_wrap div.state {
    height: 2rem;
    padding: 0 .5rem;
    font-size: 0.9rem;
				margin-right: 0.5rem;
				margin-bottom: 0;
  }
  
  main.course table.school_table tbody tr td div.td_wrap div.image {
    width: 3.2rem;
  }
  
  main.course table.school_table tbody tr td div.td_wrap div.date {
    font-size: 1.4rem;
    line-height: 1.2;
  }
		
		main.course table.school_table tbody tr td a.link_app {
			font-size: 1.4rem;
			width: 50%;
			padding: 1rem 0.5rem;
			text-align: center;
}
}

/* ----- */

main.course.under section.under_course_lead p.course_under_lead {
  font-size: min(3rem, 30px);
  font-weight: 700;
  line-height: 1.4;
}

main.course.under section.under_course_lead video {
  width: 100%;
}

main.course.under section.under_course_lead video:nth-of-type(2) {
  margin-top: min(4rem, 40px);
}

main.course.under section.under_course_lead .container .youtube {
  margin: 0 auto;
  max-width: min(80rem, 800px);
  aspect-ratio: 16 / 9;
}
main.course.under section.under_course_lead .container .youtube iframe {
  width: 100%;
  height: 100%;
}

main.course.under section.under_course_lead .container .youtube_column {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: min(1.5rem, 15px);
}

main.course.under section.under_course_lead .container .youtube_column .youtube {
  width: 100%;
}

@media (max-width: 799px) {
  
  main.course.under section.under_course_lead p.course_under_lead {
    font-size: 2rem;
    line-height: 1.4;
  }

  main.course.under section.under_course_lead .container .youtube_column {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
}

/* ----- main.course.basic.top ----- */

main.course.basic section.course_mv {
  background-image: url(../images/_school/_basic/bg_mv_basic_top.png);
}

main.course.basic section.course_mv h1.course_h1 div.h1_desc_wrap p.h1_desc {
  border: min(0.1rem, 1px) solid #F58200;
  color: #F58200;
}

main.course.basic section.course_mv h1.course_h1 div.h1_title {
  color: #F58200;
}

main.course.basic div.school_wrap h3.school_top_h3 div.num {
  color: #F58200;
}

/* ----- */

main.course.basic section.basic_merit div.merit_box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(2rem, 20px);
}

main.course.basic section.basic_merit div.merit_box div.merit_wrap {
  display: grid;
  grid-template-rows:  subgrid;
  grid-row: span 6;
  gap: 0;
}

main.course.basic section.basic_merit div.merit_item {
  margin-top: min(2rem, 20px);
  padding: min(2.5rem, 25px) min(3rem, 30px) min(2.5rem, 25px) min(4.5rem, 45px);
  border: min(0.1rem, 1px) solid #D9D9D9;
  margin-left: min(2rem, 20px);
  position: relative;
}

main.course.basic section.basic_merit div.merit_item div.num {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  width: min(4rem, 40px);
  height: min(4rem, 40px);
  background-color: var(--color-orange);
  color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateX(-50%);
}

main.course.basic section.basic_merit div.merit_item h4.merit_ttl {
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  line-height: 1.2;
}

main.course.basic section.basic_merit div.merit_item p.merit_txt {
  margin-top: min(1rem, 10px);
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  line-height: 1.6;
}

@media (max-width: 799px) {
  main.course.basic section.basic_merit div.merit_box {
    grid-template-columns: repeat(1, 1fr);
    gap: 8rem;
  }
  
  main.course.basic section.basic_merit div.merit_box div.merit_wrap {
    display: block;
  }

  main.course.basic section.basic_merit div.merit_item {
    margin-top: 2rem;
    padding: 2rem 2rem 2rem 3rem;
    border: 0.1rem solid #D9D9D9;
    margin-left: 1.5rem;
  }
  
  main.course.basic section.basic_merit div.merit_item div.num {
    font-size: 1.8rem;
    width: 4rem;
    height: 4rem;
    transform: translateX(-50%);
  }
  
  main.course.basic section.basic_merit div.merit_item h4.merit_ttl {
    font-size: 1.6rem;
    line-height: 1.2;
  }
  
  main.course.basic section.basic_merit div.merit_item p.merit_txt {
    margin-top: 1rem;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

/* ----- main.course.basic under ----- */

main.course.basic_inPerson section.course_mv {
  background-image: url(../images/_school/_basic/_in-person/bg_mv_pc.jpg);
}

main.course.basic_online section.course_mv {
  background-image: url(../images/_school/_basic/_online/bg_mv_pc.jpg);
}

@media (max-width: 799px) {
  main.course.basic_inPerson section.course_mv {
    background-image: url(../images/_school/_basic/_in-person/bg_mv_sp.jpg);
  }  
  main.course.basic_online section.course_mv {
    background-image: url(../images/_school/_basic/_online/bg_mv_sp.jpg);
  }  
}

main.course.basic_inPerson h2.course_h2_s div.course_note,
main.course.basic_online h2.course_h2_s div.course_note {
  background-color: var(--color-orange);
}

main.course.basic_inPerson section.course_overview h3.school_ttl,
main.course.basic_online section.course_overview h3.school_ttl {
  border-left: min(0.5rem, 5px) solid var(--color-orange);
}

main.course.basic_inPerson section.course_overview div.overview_wrap div.curriculum_ul_wrap_02 ul.curriculum_ul li.curriculum_item span:first-of-type,
main.course.basic_online section.course_overview div.overview_wrap div.curriculum_ul_wrap_02 ul.curriculum_ul li.curriculum_item span:first-of-type {
  width: min(11rem, 110px); 
}

main.course.basic_inPerson section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:first-of-type, 
main.course.basic_online section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:first-of-type {
  background-color: var(--color-orange);
}

main.course.basic_inPerson section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item small,
main.course.basic_online section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item small {
  background-color: #FFF8EB;
}

main.course.basic_inPerson section.course_overview p.table_title, 
main.course.basic_online section.course_overview p.table_title {
  background-color: var(--color-orange);
}

main.course.basic_inPerson section.course_overview table.schedule_table tbody tr td:first-of-type, 
main.course.basic_online section.course_overview table.schedule_table tbody tr td:first-of-type {
  color: var(--color-orange);
}

main.course.basic_inPerson section.course_overview table.schedule_table tbody tr td:last-of-type a, 
main.course.basic_online section.course_overview table.schedule_table tbody tr td:last-of-type a {
  background-color: var(--color-orange);
}

/* ----- main.course.branding_guide top ----- */

main.course.branding_guide section.course_mv {
  background-image: url(../images/_school/_trial/bg_mv_trial_top.png);
}

/* ----- main.course.branding_guide under ----- */

main.course.branding_guide_inPerson section.course_mv {
  background-image: url(../images/_school/_trial/_in-person/bg_mv_pc.jpg);
}

@media (max-width: 799px) {
  main.course.branding_guide_inPerson section.course_mv {
    background-image: url(../images/_school/_trial/_in-person/bg_mv_sp.jpg);
  }
}

main.course.branding_guide_inPerson section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item:nth-of-type(1),
main.course.branding_guide_online section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item:nth-of-type(1) {
  font-size: min(1.6rem, 16px);
  margin-bottom: 0;
  border: min(0.1rem, 1px) solid #EBEBEB;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: min(1.0rem, 10px);
}

main.course.branding_guide_inPerson section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:first-of-type, 
main.course.branding_guide_online section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:first-of-type {
  background-color: #85BD02;
}

main.course.branding_guide_inPerson section.course_overview p.inner_note, 
main.course.branding_guide_online section.course_overview p.inner_note {
  background-color: #F6FCE8;
}

main.course.branding_guide_inPerson section.course_overview p.table_title, 
main.course.branding_guide_online section.course_overview p.table_title {
  background-color: var(--color-green);
}

main.course.branding_guide_inPerson section.course_overview table.schedule_table tbody tr td:first-of-type, 
main.course.branding_guide_online section.course_overview table.schedule_table tbody tr td:first-of-type {
  color: var(--color-green);
}

main.course.branding_guide_inPerson section.course_overview table.schedule_table tbody tr td:last-of-type a, 
main.course.branding_guide_online section.course_overview table.schedule_table tbody tr td:last-of-type a {
  background-color: var(--color-green);
}

main.course.branding_guide_online section.course_mv {
  background-image: url(../images/_school/_trial/_online/bg_mv_pc.jpg);
}

@media (max-width: 799px) {
  main.course.branding_guide_online section.course_mv {
    background-image: url(../images/_school/_trial/_online/bg_mv_sp.jpg);
  }
}

@media (max-width: 799px) {
  main.course.branding_guide_inPerson section.course_overview div.overview_wrap div.curriculum_ul_wrap,
  main.course.branding_guide_online section.course_overview div.overview_wrap div.curriculum_ul_wrap {
    gap: 0;
  }
}

/* ----- main.course.advance top ----- */

main.course.advance section.course_mv {
  background-image: url(../images/_school/_advance/bg_mv_advance_top.png);
}

main.course.advance section.course_mv h1.course_h1 div.h1_desc_wrap p.h1_desc {
  border: min(0.1rem, 1px) solid #AA9142;
  color: #AA9142;
}

main.course.advance section.course_mv h1.course_h1 div.h1_title {
  color: #AA9142;
}

main.course.advance div.school_wrap h3.school_top_h3 div.num {
  color: #AA9142;
}

/* ----- main.course.advance under ----- */

main.course.advance_inPerson section.course_mv {
  background-image: url(../images/_school/_advance/_in-person/bg_mv_pc.jpg);
}

main.course.advance_online section.course_mv {
  background-image: url(../images/_school/_advance/_online/bg_mv_pc.jpg);
}

@media (max-width: 799px) {
  main.course.advance_inPerson section.course_mv {
    background-image: url(../images/_school/_advance/_in-person/bg_mv_sp.jpg);
  }
  main.course.advance_online section.course_mv {
    background-image: url(../images/_school/_advance/_online/bg_mv_sp.jpg);
  }
}

main.course.advance_inPerson h2.course_h2_s div.course_note,
main.course.advance_online h2.course_h2_s div.course_note {
  background-color: var(--color-olive);
}

main.course.advance_inPerson section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:first-of-type, 
main.course.advance_online section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:first-of-type {
  background-color: var(--color-olive);
}

main.course.advance_inPerson section.course_overview h3.school_ttl,
main.course.advance_online section.course_overview h3.school_ttl {
  border-left: min(0.5rem, 5px) solid var(--color-olive);
}

main.course.advance_inPerson section.course_overview p.table_title, 
main.course.advance_online section.course_overview p.table_title {
  background-color: var(--color-olive);
}

main.course.advance_inPerson section.course_overview table.schedule_table tbody tr td:first-of-type, 
main.course.advance_online section.course_overview table.schedule_table tbody tr td:first-of-type {
  color: var(--color-olive);
}

main.course.advance_inPerson section.course_overview table.schedule_table tbody tr td:last-of-type a, 
main.course.advance_online section.course_overview table.schedule_table tbody tr td:last-of-type a {
  background-color: var(--color-olive);
}

main.course.advance_inPerson section.course_overview div.overview_wrap div.curriculum_ul_wrap_02 ul.curriculum_ul li.curriculum_item span:first-of-type,
main.course.advance_online section.course_overview div.overview_wrap div.curriculum_ul_wrap_02 ul.curriculum_ul li.curriculum_item span:first-of-type {
  width: min(11rem, 110px); 
}

main.course.advance_inPerson section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item small,
main.course.advance_online section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item small {
  display: flex;
  flex-direction: column;
  gap: min(0.8rem, 8px);
  font-weight: 700;
  background-color: #FAF6EC;
}

main.course.advance_inPerson section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item small i,
main.course.advance_online section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item small i {
  all: unset;
  font-size: min(1.8rem, 18px);
  font-weight: 400;
}

main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow,
main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: min(4rem, 40px);
  position: relative;
}

main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow {
  grid-template-columns: repeat(6, 1fr);
  gap: min(3.2rem, 32px);
}

main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow::after,
main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow::after {
  content: '※最短の場合の例';
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: min(1.6rem, 16px);
  transform: translateY(200%);
}

main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item span,
main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item span {
  width: 100%;
  height: min(17rem, 170px);
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  line-height: 1.2;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: min(1.5rem, 15px);
  box-shadow: 0 0 min(0.3rem, 8px) var(--color-olive);
  position: relative;
}

main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item:not(:last-of-type) span::after,
main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item:not(:last-of-type) span::after {
  content: '';
  display: block;
  position: absolute;
  background-image: url(../images/icon_arrow_right_olive.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(1.6rem, 16px);
  height: min(3.2rem, 32px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(180%);
}

main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item:last-of-type span,
main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item:last-of-type span {
  background-color: var(--color-olive);
  color: #fff;
}

main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item small,
main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item small {
  display: block;
  margin-top: min(1.6rem, 16px);
  font-size: min(2.0rem, 20px);
  text-align: center;
  color: var(--color-olive);
}

@media (max-width: 799px) {
  main.course.advance_inPerson section.course_overview div.overview_wrap div.curriculum_ul_wrap_02 ul.curriculum_ul li.curriculum_item span:first-of-type,
  main.course.advance_online section.course_overview div.overview_wrap div.curriculum_ul_wrap_02 ul.curriculum_ul li.curriculum_item span:first-of-type {
    width: 6.5rem;
  }

  main.course.advance_inPerson section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:last-of-type,
  main.course.advance_online section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item span:last-of-type {
    line-height: 1.8;
    font-weight: 400;
  }

  main.course.advance_inPerson section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item small i,
  main.course.advance_online section.course_overview div.overview_wrap ul.curriculum_ul li.curriculum_item small i {
    font-size: 1.3rem;
    width: 90%;
    margin: 0 auto;
    line-height: 1.4;
    text-align: justify;
  }

  main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow,
  main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow {
    margin-top: 4rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 6rem;
  }

  main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow::after,
  main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow::after {
    content: '※最短の場合の例';
    bottom: 0;
    right: 0;
    font-size: 1.2rem;
    transform: translateY(100%);
    text-align: right;
  }

  main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item, 
  main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item {
    position: relative;
  }

  main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item:not(:last-of-type)::after, 
  main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item:not(:last-of-type)::after {
    position: absolute;
    content: '';
    display: block;
    background-image: url(../images/icon_arrow_down_olive.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 3.2rem;
    height: 6.4rem;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transform: translateY(100%);
  }

  main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item span,
  main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item span {
    margin: 0 auto;
    width: 80%;
    height: 12rem;
    font-size: 1.8rem;
    border-radius: 0.8rem;
    box-shadow: 0 0 0.3rem var(--color-olive);
  }

  main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item:not(:last-of-type) span::after,
  main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item:not(:last-of-type) span::after {
    content: none;
  }

  main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item:last-of-type span,
  main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item:last-of-type span {
    background-color: var(--color-olive);
    color: #fff;
  }

  main.course.advance_inPerson section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item small,
  main.course.advance_online section.course_overview div.overview_wrap ul.advance_flow li.advance_flow_item small {
    margin-top: 1.6rem;
    font-size: 1.4rem;
    text-align: center;
    color: var(--color-olive);
  }
}

/* ----- main.course.internalGuide ----- */

main.course.internal_guide section.course_mv {
  background-image: url(../images/_school/_internal/_trial/bg_mv.png);
}

main.course.internal_guide section.course_mv h1.course_h1 div.h1_desc_wrap p.h1_desc {
  border: min(0.1rem, 1px) solid #242B78;
  color: #242B78;
}

main.course.internal_guide section.course_mv h1.course_h1 div.h1_title {
  color: #242B78;
  line-height: 1.2;
}

/* main.course.top div.school_wrap h3.school_top_h3 div.num */

main.course.internal_guide div.school_wrap h3.school_top_h3 div.num { 
  color: #242B78;
}

main.course.internal_course div.school_wrap h3.school_top_h3 div.num {
  color: #3FB0CC;
}

main.course.internal_guide section.course_overview h3.school_ttl {
  border-left: min(0.5rem, 5px) solid #242B78;
}

main.course.internal_course section.course_overview h3.school_ttl {
  border-left: min(0.5rem, 5px) solid #3FB0CC;
}

main.course.internal_guide h2.course_h2_s div.course_note {
  background-color: #242B78;
}

main.course.internal_course h2.course_h2_s div.course_note {
  background-color: #3FB0CC;
}

main.course.internal_guide section.course_lead div.internalGuide_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2.5rem, 25px);
}

main.course.internal_guide section.course_lead div.internalGuide_wrap div.internalGuide_item {
	border: 1px solid #D9D9D9;
	padding:min(2.5rem, 25px);
	position: relative;
}

main.course.internal_guide section.course_lead div.internalGuide_wrap div.internalGuide_item span.num {
	position: absolute;
	left:0;
	right:0;
	top:0;
	transform: translateY(-50%);
	margin: auto;
	width: min(4.5rem, 45px);
	height: min(4.5rem, 45px);
	border-radius: 100%;
	background-color: #242B78;
	color:#fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size:min(2rem, 20px);
	text-align: center;
	line-height: 1;
}

main.course.internal_guide section.course_lead div.internalGuide_wrap div.internalGuide_item p.common_txt {
  margin-top: min(1rem, 10px);
}

main.course.internal_guide section.course_overview p.inner_note {
  background-color: #ECEDF5;
}

main.course.internal_guide section.course_overview p.table_title {
  background-color: var(--color-navy);
}

main.course.internal_guide section.course_overview table.schedule_table tbody tr td:first-of-type {
  color: var(--color-navy);
}

main.course.internal_guide section.course_overview table.schedule_table tbody tr td:last-of-type a {
  background-color: var(--color-navy);
}

@media (max-width: 799px) {
  
  main.course.internal_guide section.course_lead div.internalGuide_wrap {
    margin-top: 4rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
		
		main.course.internal_guide section.course_lead div.internalGuide_wrap div.internalGuide_item {
			padding:2rem;
    margin-top: 2rem;
		}
  
  main.course.internal_guide section.course_lead div.internalGuide_wrap div.internalGuide_item p.common_txt {
    margin-top: 0.8rem;
  }
}

/* ----- main.course.internalCourse ----- */

main.course.internal_course section.course_mv {
  background-image: url(../images/_school/_internal/_course/bg_mv.png);
}

main.course.internal_course section.course_mv h1.course_h1 div.h1_desc_wrap p.h1_desc {
  border: min(0.1rem, 1px) solid #3FB0CC;
  color: #3FB0CC;
}

main.course.internal_course section.course_mv h1.course_h1 div.h1_title {
  color: #3FB0CC;
  line-height: 1.2;
}

main.course.internal_course div.school_wrap h3.school_top_h3 div.num {
  color: #3FB0CC;
}

main.course.internal_course section.course_lead div.internalCourse_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(7.5rem, 75px);
}

main.course.internal_course section.course_lead div.internalCourse_wrap div.internalCourse_item p.common_txt {
  margin-top: min(1rem, 10px);
}

main.course.internal_course section.course_overview div.internalCourse_wrap div.internalCourse_item p.common_txt {
  line-height: 1.8;
}


main.course.internal_course section.about div.inner_wrap02 {
  position: relative;
}

main.course.internal_course section.about div.inner_wrap02 a.internalCourse_link {
  margin-top: min(2rem, 20px);
  width: fit-content;
  padding: 1rem 2rem;
  background-color: #fff;
  font-size: min(1.4rem, 14px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(1.6rem, 16px);
  border: min(0.1rem, 1px) solid #DEDEDE;
} 

main.course.internal_course section.about div.inner_wrap02 a.internalCourse_link::after {
  content: '';
  background-image: url(../images/_school/_internal/_course/icon_arrow_right_black.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(0.8rem, 8px);
  height: min(0.8rem, 8px);
} 

main.course.internal_course section.course_overview p.inner_note {
  background-color: #F5F5F5;
}

main.course.internal_course section.course_overview p.inner_note.white {
  background-color: #ffffff;
}

main.course.internal_course section.course_overview h2.course_h2:not(:first-of-type) {
  margin-top: min(10rem, 100px);
}

main.course.internal_course section.course_overview div.internalCourse_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2.4rem, 24px);
}

main.course.internal_course section.course_overview div.internalCourse_wrap div.internalCourse_item {
  padding: min(2.4rem, 24px);
  background-color: #fff;
		position: relative;
}

main.course.internal_course section.course_overview div.internalCourse_wrap div.internalCourse_item span.num {
	position: absolute;
	left:0;
	right:0;
	top:0;
	transform: translateY(-50%);
	margin: auto;
	width: min(4.5rem, 45px);
	height: min(4.5rem, 45px);
	border-radius: 100%;
	background-color: #3FB0CC;
	color:#fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size:min(2rem, 20px);
	text-align: center;
	line-height: 1;
}

main.course.internal_course section.course_overview h2.course_h2_02 {
  margin-top: min(15rem, 150px) !important;
  text-align: center;
  position: relative;
}

main.course.internal_course section.course_overview h2.course_h2_02::before {
  content: '';
  display: block;
  position: absolute;
  background-image: url(../images/icon_arrow_down_turquoise.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(12rem, 120px);
  height: min(5.5rem, 55px);
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateY(-150%);
}

main.course.internal_course section.course_overview h3.price_h3_02 {
  margin-top: min(10rem, 100px);
}

main.course.internal_course section.course_overview h4.internalCourse_h4 {
  margin-top: min(6rem, 60px);
  font-size: min(2.4rem, 24px);
  padding-bottom: min(1.0rem, 10px);
  border-bottom: min(0.2rem, 2px) solid var(--color-turquoise);
}

main.course.internal_course section.course_overview p.table_title {
  background-color: var(--color-turquoise);
}

main.course.internal_course section.course_overview table.schedule_table tbody tr td:first-of-type {
  color: var(--color-turquoise);
}

main.course.internal_course section.course_overview table.schedule_table tbody tr td:last-of-type a {
  background-color: var(--color-turquoise);
}

main.course.internal_course section.course_overview .facilitator_engagement_wrap {
	background-color: #F8F8F8;
	padding:min(4rem, 40px);
	margin-top: min(2rem, 20px);
}

main.course.internal_course section.course_overview .facilitator_engagement_block {
  display: flex;
  flex-wrap: no-wrap;
  align-items: center;
  gap: min(1.5rem, 15px);
}

main.course.internal_course section.course_overview .facilitator_engagement_block .facilitator_engagement_item {
  background-color: #fff;
  padding: min(2.5rem, 25px);
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  line-height: 1.8;
  box-shadow: 5px 5px 0px 0px rgba(222, 222, 222, 1);
}

main.course.internal_course section.course_overview .facilitator_engagement_block .facilitator_engagement_item h5 {
font-size: min(2rem, 20px);
font-weight: 700;
text-align: center;
position: relative;
margin-bottom: min(3rem, 30px);
}

main.course.internal_course section.course_overview .facilitator_engagement_block .facilitator_engagement_item h5::after {
content:'';
	width: min(8rem, 80px);
	height: 2px;
	background-color: #00AFCC;
	position: absolute;
	left:0;
	right:0;
	bottom:min(-1rem, -10px);
	margin: auto;	
}

main.course.internal_course section.course_overview .facilitator_engagement_block .facilitator_engagement_item_02 span {
  position: relative;
  display: block;
  background-color: #00AFCC;
  color: #fff;
  padding: min(1rem, 10px);
  border-radius: min(1rem, 10px);
  font-size: min(1.6rem, 16px);
		text-align: center;
		line-height: 1.3;
}

main.course.internal_course section.course_overview .facilitator_engagement_block .facilitator_engagement_item_02 span::after {
  content: "";
  position: absolute;
  bottom: -10px; /* 吹き出しの下に配置 */
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px 8px 0 8px;
  border-style: solid;
  border-color: #00AFCC transparent transparent transparent;
}

main.course.internal_course section.course_overview .facilitator_engagement_block .facilitator_engagement_item_02 strong {
  font-size: min(8.6rem, 86px);
  font-weight: 700;
  text-align: center;
  display: block;
	color: #00AFCC;
}

@media (max-width: 799px) {
  main.course.internal_course section.course_lead div.internalCourse_wrap {
    margin-top: 4rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
  
  main.course.internal_course section.course_lead div.internalCourse_wrap div.internalCourse_item p.common_txt {
    margin-top: 0.8rem;
  }

  /* ---- */
  
  main.course.internal_course section.about div.inner_wrap02 p.inner_note {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    transform: translate(0%,-60%);
    width: 90%;
    height: fit-content;
    padding-right: 2rem;
  }

  main.course.internal_course section.about div.inner_wrap02 a.internalCourse_link {
    margin-top: 2rem;
    padding: 0.8rem 1.6rem;
    font-size: 1.3rem;
    gap: 1rem;
    border: 0.1rem solid #DEDEDE;
  } 
  
  main.course.internal_course section.about div.inner_wrap02 a.internalCourse_link::after {
    width: 0.8rem;
    height: 0.8rem;
  }
  
  main.course.internal_course section.course_overview h2.course_h2:not(:first-of-type) {
    margin-top: 6rem;
  }
  
  main.course.internal_course section.course_overview div.internalCourse_wrap {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
  
  main.course.internal_course section.course_overview div.internalCourse_wrap div.internalCourse_item {
    padding: 4rem 2rem 2rem;
    border-radius: .8rem;
  }
  
  main.course.internal_course section.course_overview div.internalCourse_wrap:nth-of-type(2) {
    gap: 4rem;
  }

  main.course.internal_course section.course_overview div.internalCourse_wrap:nth-of-type(2) div.internalCourse_item  {
    /*height: 30rem;*/
    height: auto;
  }
  
  main.course.internal_course section.course_overview div.internalCourse_wrap:nth-of-type(2) div.internalCourse_item div.img_area {
/*    transform: translateY(-20%);*/
  }
  
  main.course.internal_course section.course_overview h2.course_h2_02 {
    margin-top: 6rem !important;
  }
  
  main.course.internal_course section.course_overview h2.course_h2_02::before {
    width: 6rem;
    height: 4rem;
    transform: translateY(-120%);
  }
  
  main.course.internal_course section.course_overview h3.price_h3_02 {
    margin-top: 6rem;
  }
  
  main.course.internal_course section.course_overview h4.internalCourse_h4 {
    margin-top: 4rem;
    font-size: 2rem;
    padding-bottom: .8rem;
    border-bottom: min(.1rem, 1px) solid var(--color-turquoise);
  }
  
  main.course.internal_course section.course_overview div.internalCourse_wrap:nth-of-type(2) div.internalCourse_item p.common_txt {
    /*transform: translateY(-100%);*/
  }
  
  main.course.internal_course section.course_overview p.table_title {
    background-color: var(--color-turquoise);
  }
  
  main.course.internal_course section.course_overview table.schedule_table tbody tr td:first-of-type {
    color: var(--color-turquoise);
  }
  
  main.course.internal_course section.course_overview table.schedule_table tbody tr td:last-of-type a {
    background-color: var(--color-turquoise);
  }
		
		main.course.internal_course section.course_overview .facilitator_engagement_wrap {
			padding:2rem;
			margin-top: 1rem;
		}
		
		main.course.internal_course section.course_overview .facilitator_engagement_wrap .facilitator_engagement_block {
		flex-direction: column;
				gap: 1rem;
		}

		main.course.internal_course section.course_overview .facilitator_engagement_wrap .facilitator_engagement_item {
				background-color: #fff;
				padding: 2rem;
				font-size: 1.4rem;
		}

		main.course.internal_course section.course_overview .facilitator_engagement_wrap .facilitator_engagement_item h5 {
		font-size: 1.8rem;
		margin-bottom: 1.5rem;
		}

		main.course.internal_course section.course_overview .facilitator_engagement_wrap .facilitator_engagement_item h5::after {
		content:'';
			width: min(8rem, 80px);
			height: 2px;
			background-color: #00AFCC;
			position: absolute;
			left:0;
			right:0;
			bottom:min(-1rem, -10px);
			margin: auto;	
		}

		main.course.internal_course section.course_overview .facilitator_engagement_wrap .facilitator_engagement_item_02 {
		padding:1rem 0;
		position: relative;
		}

		main.course.internal_course section.course_overview .facilitator_engagement_wrap .facilitator_engagement_item_02 span {
				display: inline-block;
				background-color: #00AFCC;
				color: #fff;
				padding: 12px 16px;
				border-radius: 8px;
				font-size: 1.4rem;
				position: absolute;
				left:-8rem;
				top:0;
				bottom:0;
				margin:auto;
		}

		main.course.internal_course section.course_overview .facilitator_engagement_wrap .facilitator_engagement_item_02 span::after {
				content: "";
				position: absolute;
				top: 50%;
				right: -10px;
				bottom: auto;
				left: auto;
				transform: translateY(-50%);
				border-width: 8px 0 8px 10px;
				border-style: solid;
				border-color: transparent transparent transparent #00AFCC;
		}

		main.course.internal_course section.course_overview .facilitator_engagement_wrap .facilitator_engagement_item_02 strong {
				font-size: 4rem;
				line-height: 1;
		}
}



/* ----- main.course.personal ----- */

main.course.personal section.course_mv {
  background-image: url(../images/_school/_personal/bg_mv.jpg);
}

main.course.personal section.course_mv h1.course_h1 div.h1_title {
  color: #551B48;
}
main.course.personal section.course_mv h1.course_h1 div.h1_desc_wrap p.h1_desc {
  border: min(0.1rem, 1px) solid var(--color-brand_purple);
  color: var(--color-brand_purple);
}

main.course.personal section.course_overview h3.price_h3 span i {
  background-color: var(--color-brand_purple);
}

main.course.personal section.course_overview p.inner_note {
  background-color: #ECEDF5;
}

main.course.personal section.course_overview p.table_title {
  background-color: var(--color-brand_purple);
}

main.course.personal section.course_overview table.schedule_table tbody tr td:first-of-type {
  color: var(--color-brand_purple);
}

main.course.personal section.course_overview table.schedule_table tbody tr td:last-of-type a {
  background-color: var(--color-brand_purple);
}

main.course.personal div.school_wrap h3.school_top_h3 div.num {
  color: #551B48;
}

main.course.personal section.course_overview h3.school_ttl {
  border-left: min(0.5rem, 5px) solid #551B48;
}

/* ----- main.student_discount ----- */

main.student_discount section.inner_mv {
  background-image: url(../images/_school/_student_discount/bg_mv_pc.jpg);
}

main.student_discount h2.inner_h2_s {
  margin-top: min(4rem, 40px);
}

@media (max-width: 799px) {
  main.student_discount h2.inner_h2_s {
    margin-top: 4rem;
  }  
}

main.student_discount p.common_txt i {
  all: unset;
  display: block;
  width: fit-content;
  padding: 0 min(2rem, 20px);
  background-color: var(--color-gray);
  border-radius: 99px;
  font-size: min(1.4rem, 14px);
  font-weight: 500;
  margin-bottom: min(1rem, 10px);
}

main.student_discount div.discount_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
}

main.student_discount div.discount_wrap div.discount_item {
  border: min(0.1rem, 1px) solid #EBEBEB;
  background-color: #fff;
  padding-bottom: min(3.2rem, 32px);
}

main.student_discount div.discount_wrap div.discount_item p.discount_ttl {
  width: 100%;
		padding:min(1rem, 10px) 0;
  font-size: min(2rem, 20px);
  background-color: var(--color-orange);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

main.student_discount div.discount_wrap div.discount_item:last-of-type p.discount_ttl {
  background-color: var(--color-olive);
}

main.student_discount div.discount_wrap div.discount_item p.discount_txt {
  margin-top: min(2rem, 20px);
}

main.student_discount div.discount_wrap div.discount_item p.discount_txt em {
  all: unset;
  display: block;
  font-size: min(2rem, 20px);
  font-weight: 400;
  text-align: center;
}

main.student_discount div.discount_wrap div.discount_item p.discount_txt strong {
  display: block;
  font-size: min(3.4rem, 34px);
  text-align: center;
  margin-top: min(1rem, 10px);
}

main.student_discount div.discount_wrap div.discount_item p.discount_txt strong small {
  font-size: min(2.4rem, 24px);
}

main.student_discount div.discount_wrap div.discount_item p.discount_txt span {
  display: block;
  margin-top: min(1rem, 10px);
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  text-align: center;
		line-height: 1.5;
}

main.student_discount div.discount_wrap div.discount_item p.inner_note {
  margin: min(2rem, 20px) auto 0;
  width: 90%;
}

@media (max-width: 799px) {
  main.student_discount p.common_txt i {
    padding: 0rem 1rem;
    font-size: 1.4rem;
  }
  
  main.student_discount div.discount_wrap {
    margin-top: 4rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 2.4rem;
  }
  
  main.student_discount div.discount_wrap div.discount_item {
    border: 0.1rem solid #EBEBEB;
    padding-bottom: 2rem;
  }
  
  main.student_discount div.discount_wrap div.discount_item p.discount_ttl {
    padding: 1rem 0;
    font-size: 2rem;
  }
  
  main.student_discount div.discount_wrap div.discount_item p.discount_txt {
    margin-top: 2rem;
  }
  
  main.student_discount div.discount_wrap div.discount_item p.discount_txt em {
    font-size: 1.6rem;
  }
  
  main.student_discount div.discount_wrap div.discount_item p.discount_txt strong {
    font-size: 2.5rem;
    margin-top: 1rem;
  }
  
  main.student_discount div.discount_wrap div.discount_item p.discount_txt strong small {
    font-size: 1.5rem;
  }
  
  main.student_discount div.discount_wrap div.discount_item p.discount_txt span {
    margin: 2rem auto 0;
    width: 90%;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  
  main.student_discount div.discount_wrap div.discount_item p.inner_note {
    margin: 2rem auto 0;
    width: 90%;
  }
}

/* ----- main.course.trainer ----- */

main.course.trainer section.course_mv {
  background-image: url(../images/_school/_trainer/bg_mv_trainer.png);
}

main.course.trainer section.course_mv h1.course_h1 div.h1_desc_wrap p.h1_desc {
  border: min(0.1rem, 1px) solid var(--color-brand_purple);
  color: var(--color-brand_purple);
}

main.course.trainer section.course_mv h1.course_h1 div.h1_title {
  color: var(--color-brand_purple);
  line-height: 1.2;
}

main.course.trainer div.school_wrap h3.school_top_h3 div.num {
  color: var(--color-brand_purple);
}

main.course.trainer h2.course_h2_s div.course_note {
    background-color: var(--color-brand_purple);
}

main.course.trainer section.course_overview p.table_title {
  background-color: var(--color-brand_purple);
}

main.course.trainer section.course_overview table.schedule_table tbody tr td:first-of-type {
  color: var(--color-brand_purple);
}

main.course.trainer section.course_overview table.schedule_table tbody tr td:last-of-type a {
  background-color: var(--color-brand_purple);
}

main.course.trainer section.course_overview h3.school_ttl {
  border-left: min(0.5rem, 5px) solid var(--color-brand_purple);
}

main.course section.course_link div.course_link_area03 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2rem, 20px) min(1rem, 10px);
}
main.course section.course_link div.course_link_area03 a.course_link_item:not(:nth-of-type(1)):not(:nth-of-type(2)):not(:nth-of-type(3)) {
  grid-column: span 3;
}

@media (max-width: 799px) {
  main.course section.course_link div.course_link_area03 {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
		main.course section.course_link div.course_link_area03 a.course_link_item:not(:nth-of-type(1)):not(:nth-of-type(2)):not(:nth-of-type(3)) {
  grid-column: span 1;
}
}

main.course section.course_overview .trainer_rank {
    margin-top: min(4rem, 40px);
    padding: min(4rem, 40px);
    background-color: #fff;
}
main.course section.course_overview .trainer_rank .trainer_rank_wrap {
    background-color: #fff;
    display: grid;
    grid-template-columns: 1fr min(50rem, 500px);
    gap: min(4rem, 40px);
}
@media (max-width: 799px) {
main.course section.course_overview .trainer_rank {
    margin-top: 2rem;
    padding: 2rem;
}
main.course section.course_overview .trainer_rank .trainer_rank_wrap {
    gap: 2rem;
				grid-template-columns: repeat(1, 1fr);
}
}
main.course section.course_overview .trainer_rank .trainer_rank_wrap.mt {
    margin-top: min(4rem, 40px);
}
@media (max-width: 799px) {
main.course section.course_overview .trainer_rank .trainer_rank_wrap.mt {
    margin-top: 2rem;
}
}
main.course section.course_overview .trainer_rank table.trainer_table {
  width: 100%;
  margin-top: min(2rem, 20px);
		border-collapse:separate;
		border-spacing: min(2rem, 20px) !important;
}
main.course section.course_overview .trainer_rank table.trainer_table thead th {
  width: 25%;
  height: auto;
  font-size: min(1.6rem, 16px);
		color:var(--color-main);
  border-top: min(0.4rem, 4px) solid var(--color-green);
  border-bottom: min(0.2rem, 2px) solid #EBEBEB;
		background-color: transparent;
  text-align: center;
  line-height: 1.2;
		padding:min(2rem, 20px) 0;
}
main.course section.course_overview .trainer_rank table.trainer_table thead th:nth-of-type(2) {
  border-top: min(0.4rem, 4px) solid var(--color-orange);
}
main.course section.course_overview .trainer_rank table.trainer_table thead th:nth-of-type(3) {
  border-top: min(0.4rem, 4px) solid var(--color-orange);
}
main.course section.course_overview .trainer_rank table.trainer_table thead th:nth-of-type(4) {
  border-top: min(0.4rem, 4px) solid var(--color-olive);
}

main.course section.course_overview .trainer_rank table.trainer_table tbody td {
  height: auto;
  font-size: min(1.6rem, 16px);
		border:none;
  border-bottom: min(0.2rem, 2px) solid #EBEBEB;
  text-align: center;
		padding-bottom:min(2rem, 20px);
}

@media (max-width: 799px) {
  main.course section.course_overview .trainer_rank table.trainer_table {
    width: 100%;
    margin-top: 4rem;
    border-collapse: collapse;
  }
  
  main.course section.course_overview .trainer_rank table.trainer_table thead {
    display: none;
    width: 100%;
  } 

  main.course section.course_overview .trainer_rank table.trainer_table tbody tr {
    margin-top: 5rem;
    display: flex;
    flex-direction: column;
    gap: 5rem;
    width: 100%;
  } 

  main.course section.course_overview .trainer_rank table.trainer_table tbody td {
    height: 5rem;
    font-size: 1.4rem;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding-left: 0;
    padding-top: 2rem;
    width: 100%;
  border-bottom: 0.2rem solid #EBEBEB;
		margin-bottom:4rem;
  }

  main.course section.course_overview .trainer_rank table.trainer_table tbody td::before {
		color:var(--color-main) !important;
    content: 'ブランディング入門セミナー開催';
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 5rem;
    background-color: transparent;
    color: #fff;
    font-size: 1.4rem;
    padding-left: 0;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
  border-top: min(0.4rem, 4px) solid var(--color-green);
  border-bottom: 0.2rem solid #EBEBEB;
  }

    main.course section.course_overview .trainer_rank table.trainer_table tbody td:nth-of-type(2)::before {
      content: 'ベーシックコース開催';
  border-top: min(0.4rem, 4px) solid var(--color-orange);
    }

    main.course section.course_overview .trainer_rank table.trainer_table tbody td:nth-of-type(3)::before {
      content: 'ベーシックコース【カスタマイズ開催】';
  border-top: min(0.4rem, 4px) solid var(--color-orange);
    }

    main.course section.course_overview .trainer_rank table.trainer_table tbody td:nth-of-type(4)::before {
      content: 'アドバンスコース開催';
  border-top: min(0.4rem, 4px) solid var(--color-olive);
    }
}

main.course.trainer a.trainer_link {
		color:var(--color-main);
    display: block;
    margin: min(4.0rem, 40px) auto 0;
    max-width: min(55rem, 550px);
    height: min(5.6rem, 56px);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: min(0.4rem, 4px);
    background-color: #fff;
    border: min(0.1rem, 1px) solid #DEDEDE;
    border-bottom: min(0.4rem, 4px) solid #DEDEDE;
    font-size: min(1.4rem, 14px);
    position: relative;
    line-height: 1.2;
    text-align: center;
				padding:0;
				width: auto;
}
main.course.trainer a.trainer_link::after {
    content: "";
    display: block;
    position: absolute;
    width: min(1.5rem, 15px);
    height: min(0.1rem, 1px);
    background-color: var(--color-main);
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0;
}

@media (max-width: 799px) {
main.course.trainer a.trainer_link {
		color:var(--color-main);
    display: block;
    margin: 4.0rem auto 0;
    max-width: 55rem;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.4rem;
    background-color: #fff;
    border: 0.1rem solid #DEDEDE;
    border-bottom:0.4rem solid #DEDEDE;
    font-size:1.4rem;
    position: relative;
    line-height: 1.2;
    text-align: center;
				padding:0;
				width: auto;
				padding:1rem 2rem;
}
main.course.trainer a.trainer_link::after {
    content: "";
    display: block;
    position: absolute;
    width: min(1.5rem, 15px);
    height: min(0.1rem, 1px);
    background-color: var(--color-main);
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0;
}
}

main.course.trainer a.trainer_link_s {
		color:var(--color-main);
    display: block;
    margin: min(4.0rem, 40px) 0 0;
    width: min(14.5rem, 145px);
    height: min(3.4rem, 34px);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: min(0.4rem, 4px);
    background-color: #fff;
    border: min(0.1rem, 1px) solid #DEDEDE;
    border-bottom: min(0.4rem, 4px) solid #DEDEDE;
    font-size: min(1.4rem, 14px);
    position: relative;
    line-height: 1.2;
    text-align: center;
				padding:0;
}
main.course.trainer a.trainer_link_s::after {
    content: "";
    display: block;
    position: absolute;
    width: min(1.5rem, 15px);
    height: min(0.1rem, 1px);
    background-color: var(--color-main);
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0;
}
@media (max-width: 799px) {
main.course.trainer a.trainer_link_s {
    margin: 2rem auto 0;
    width: 14.5rem;
    height: 3.4rem;
    border-radius: 0.4rem;
    border: 0.1rem solid #DEDEDE;
    border-bottom: 0.4rem solid #DEDEDE;
    font-size: 1.4rem;
}
main.course.trainer a.trainer_link_s::after {
    width: 1rem;
    height: 0.1rem;
}
}

main.course section.course_overview h2.course_h2_s:not(:first-of-type) {
  margin-top: min(10rem, 100px);
}

@media (max-width: 799px) {
main.course section.course_overview h2.course_h2_s:not(:first-of-type) {
  margin-top: 4rem;
}
}

/*トレーナー クレドポップアップ*/
/* フェードインのキーフレーム */
@keyframes trainerFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* モーダルの背景 */
.trainer-modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  justify-content: center;
  align-items: center;
  z-index: 9999;

  /* フェードイン */
  animation-duration: 0.3s;
  animation-name: trainerFadeIn;
  animation-timing-function: ease-out;
}

/* 表示時 */
.trainer-modal.active {
  display: flex;
}

/* コンテンツ枠 */
.trainer-modal-content {
  padding: 50px;
}

/* 画像をウィンドウ内に収める */
.trainer-modal-content img {
  display: block;
  max-width: calc(100vw - 100px);   /* 左右それぞれ50pxずつ余白を引く */
  max-height: calc(100vh - 100px);  /* 上下それぞれ50pxずつ余白を引く */
  width: auto;
  height: auto;
}

@media (max-width: 799px) {
  .trainer-modal-content {
    padding: 0px;
  }
  .trainer-modal-content img {
    max-width: 100vw;
    max-height: 100vh;
  }
}

/* 閉じるボタン */
.trainer-modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 2.5rem;
  line-height: 1;
  color: #fff;
  cursor: pointer;
  z-index: 10000;
}

.bnr_benefit.pc_obj{
	margin:50px auto 25px;
}
.bnr_benefit.sp_obj{
	margin:50px auto 0;
}