@charset "UTF-8";
@media (min-width: 768px) { .course_top { margin: 100px auto 50px; max-width: 1366px; height: 400px; position: relative; overflow: hidden; }
  .course_top .img { position: absolute; top: 0; right: calc(50% - 40px); width: 768px; height: 400px; }
  .course_top .img img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .course_top .img p { position: absolute; top: 74px; right: 170px; writing-mode: vertical-rl; margin: 0; font-size: 17px; color: #fff; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7); }
  .course_top .container .text { width: 440px; padding: 0 0 0 40px; margin: 0 0 0 auto; }
  .course_top .container .text h3 { font-size: 25px; border-bottom: 2px solid #7b598b; padding: 0 0 10px 0; margin: 10px 0 20px 0; }
  .course_top .container .text .course_top_p1 { color: #7b598b; font-size: 20px; }
  .course_top .container .text ol { list-style: none; counter-reset: number; padding: 0; margin: 20px 0 0 0; }
  .course_top .container .text ol li { position: relative; padding-left: 30px; margin: 0 0 10px; }
  .course_top .container .text ol li::before { counter-increment: number; content: counter(number); position: absolute; left: 0; font-size: 26px; color: #7b598b; }
  .course_ul { display: flex; list-style: none; gap: 0 50px; padding: 0; margin: 50px 0 80px; }
  .course_ul.course_ul2 { margin: 50px 0 80px; gap: 0 30px; }
  .course_ul.course_ul2 li { background-color: #f6f3f7; padding: 20px; border-radius: 15px; }
  .course_ul li { width: 33.3%; }
  .course_ul li h3 { font-size: 17px; color: #7b598b; line-height: 1.6; }
  .course_ul li p { margin: 0; }
  .support_ul { display: flex; flex-wrap: wrap; margin: 0 0 70px 0; padding: 20px; list-style: none; gap: 0 2%; background-color: #eee; }
  .support_ul li { width: 31.3%; border: 17px solid #fff; background-color: #fff; }
  .support_ul li h3 { color: #7b598b; font-size: 17px; margin: 0 0 10px 0; }
  .support_ul li p { margin: 0; }
  .support_ul li:nth-child(1) h3, .support_ul li:nth-child(2) h3 { margin: 0 0 10px 0; }
  .support_ul li:nth-child(3), .support_ul li:nth-child(4) { margin: 0; }
  .support_ul .li2 { width: 49%; border: 17px solid #fff; margin: 0 0 30px 0; }
  .support_ul .li2 h3 { margin: 20px 0 10px 0; }
  .activities_ul { display: flex; flex-wrap: wrap; margin: 0 0 70px 0; padding: 0; list-style: none; gap: 0 3%; }
  .activities_ul li { width: 48.5%; margin: 0 0 30px 0; display: flex; }
  .activities_ul li > div:first-child { width: 181px; }
  .activities_ul li > div:last-child { width: calc(100% - 181px); padding: 0 0 0 15px; }
  .activities_ul li h3 { color: #7b598b; font-size: 17px; margin: 0 0 10px 0; line-height: 1.4; }
  .activities_ul li p { margin: 0; line-height: 1.6; }
  .people_box { display: flex; background-color: #f6f3f7; padding: 35px 20px; gap: 0 40px; margin: 0 0 70px 0; }
  .people_box .people { display: flex; gap: 0 30px; }
  .people_box .people > div:first-child { width: calc(100% - 160px); }
  .people_box .people > div:first-child h3 { font-size: 18px; line-height: 1.6; }
  .people_box .people > div:first-child p { margin: 15px 0 0 0; line-height: 1.8; }
  .people_box .people > div:last-child { width: 160px; text-align: center; }
  .people_box .people > div:last-child span { font-size: 13px; margin: 10px 0 0 0; display: block; }
  .people_box .people > div:last-child p { font-size: 14px; margin: 0; line-height: 1.0; }
  .people_box .people > div:last-child small { font-size: 12px; }
  .inner_photo { display: flex; margin: 60px 0 80px; } }
@media (max-width: 767.98px) { .course_top { margin: 20px auto 20px; width: 100%; position: relative; overflow: hidden; }
  .course_top .img { width: 100%; margin: 0 0 30px 0; position: relative; }
  .course_top .img img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .course_top .img p { position: absolute; top: 15%; right: 20%; writing-mode: vertical-rl; margin: 0; font-size: 14px; color: #fff; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7); }
  .course_top .container .text { width: 100%; padding: 0; margin: 0 0 0 auto; }
  .course_top .container .text h3 { font-size: 18px; border-bottom: 2px solid #7b598b; padding: 0 0 10px 0; margin: 10px 0 20px 0; }
  .course_top .container .text .course_top_p1 { color: #7b598b; font-size: 16px; }
  .course_top .container .text ol { list-style: none; counter-reset: number; padding: 0; margin: 15px 0 0 0; }
  .course_top .container .text ol li { position: relative; padding-left: 20px; margin: 0 0 10px; }
  .course_top .container .text ol li::before { counter-increment: number; content: counter(number); position: absolute; left: 0; font-size: 22px; color: #7b598b; }
  .course_ul { display: flex; flex-wrap: wrap; list-style: none; padding: 0; margin: 30px 0 20px; }
  .course_ul.course_ul2 { margin: 10px 0 20px; }
  .course_ul.course_ul2 li { background-color: #f6f3f7; padding: 10px; border-radius: 15px; }
  .course_ul li { width: 100%; margin: 0 0 25px 0; }
  .course_ul li h3 { font-size: 14px; color: #7b598b; line-height: 1.6; }
  .course_ul li p { margin: 0; }
  .support_ul { display: flex; flex-wrap: wrap; margin: 0 0 40px 0; padding: 15px; list-style: none; gap: 0 2%; background-color: #eee; }
  .support_ul li { width: 100%; border: 17px solid #fff; background-color: #fff; margin: 0 0 20px 0; }
  .support_ul li:last-child { margin: 0; }
  .support_ul li h3 { color: #7b598b; font-size: 16px; margin: 0 0 10px 0; }
  .support_ul li p { margin: 0; }
  .support_ul .li2 { width: 100%; border: 17px solid #fff; margin: 0 0 20px 0; }
  .support_ul .li2 h3 { margin: 0 0 10px 0; }
  .support_ul li:nth-child(3) h3, .support_ul li:nth-child(4) h3 { margin: 20px 0 10px 0; }
  .activities_ul { display: flex; flex-wrap: wrap; margin: 0 0 30px 0; padding: 0; list-style: none; gap: 0 3%; }
  .activities_ul li { width: 100%; margin: 0 0 30px 0; display: flex; }
  .activities_ul li > div:first-child { width: 150px; }
  .activities_ul li > div:last-child { width: calc(100% - 150px); padding: 0 0 0 15px; }
  .activities_ul li h3 { color: #7b598b; font-size: 14px; margin: 0 0 5px 0; line-height: 1.4; }
  .activities_ul li p { margin: 0; line-height: 1.6; }
  .people_box { display: flex; flex-wrap: wrap; background-color: #f6f3f7; padding: 15px; gap: 0 40px; margin: 0 0 40px 0; }
  .people_box .people { display: flex; flex-wrap: wrap; gap: 0 30px; }
  .people_box .people > div:first-child { width: 100%; }
  .people_box .people > div:first-child h3 { font-size: 16px; line-height: 1.6; }
  .people_box .people > div:first-child p { margin: 10px 0 0 0; line-height: 1.8; }
  .people_box .people > div:last-child { width: 100%; text-align: center; margin: 20px 0 0 0; }
  .people_box .people > div:last-child img { width: 70%; max-width: 250px; margin: 0 auto; }
  .people_box .people > div:last-child span { font-size: 13px; margin: 10px 0 0 0; display: block; }
  .people_box .people > div:last-child p { font-size: 14px; margin: 0; line-height: 1.0; }
  .people_box .people > div:last-child small { font-size: 12px; }
  .people_box > div:last-child { margin: 20px 0 0 0; border-top: 1px solid #d4d4d4; padding: 20px 0 0 0; }
  .inner_photo { margin: 40px auto; max-width: 375px; }
  .inner_photo > div { display: flex; } }
.table_02 > caption { background-color: transparent; color: #7b598b; width: 100%; }
@media (min-width: 768px) { .table_02 { margin: 20px 0 0 0; width: 440px; }
  .table_02 > caption { font-size: 18px; padding: 0 0 10px 0; border-bottom: 1px solid #d4d4d4; }
  .table_02 > tbody { border-width: 0; background-color: #fff; }
  .table_02 > tbody > tr > th, .table_02 > tbody > tr > td { border-bottom: 1px solid #d4d4d4; }
  .table_02 > tbody > tr > th { width: 120px; background-color: #f6f3f7; border-right: 0; }
  .table_02 > tbody > tr > td { width: calc(100% - 120px); } }
@media (max-width: 767.98px) { .table_02 { overflow-x: visible; width: 100%; margin: 0 0 25px 0; }
  .table_02 > caption { padding: 0 0 10px 0; width: 100%; border-bottom: 1px solid #d4d4d4; }
  .table_02 > tbody { border-width: 0; width: 100%; background-color: #fff; }
  .table_02 > tbody > tr > th, .table_02 > tbody > tr > td { border-bottom: 1px solid #d4d4d4; }
  .table_02 > tbody > tr > th { border-right: 0; width: 80px; text-align: center; padding: 10px 5px; display: flex; align-items: center; justify-content: center; background-color: #f6f3f7; line-height: 1.6; }
  .table_02 > tbody > tr > th:last-child { border-right: 0; }
  .table_02 > tbody > tr > td { border-right: 1px solid #d4d4d4; padding: 10px 10px; width: calc(100% - 80px); }
  .table_02 > tbody > tr > td:last-child { border-right: 0; } }

.table_co { width: 100%; border-left: 1px solid #d4d4d4; caption-side: top; margin: 50px 0 0 0; }
.table_co caption { background-color: transparent; color: #7b598b; width: 100%; font-size: 18px; padding: 0 0 10px 0; border-bottom: 1px solid #d4d4d4; }
.table_co th { background-color: #7b598b; color: #fff; }
.table_co th, .table_co td { border-bottom: 1px solid #d4d4d4; border-right: 1px solid #d4d4d4; padding: 10px 5px; text-align: center; }
.table_co tr:nth-of-type(even) td { background-color: #f6f3f7; }
.table_co .backc { background-color: #f6f3f7; }
.table_co tr:last-child td { background-color: #a484a9; }

.course_link { display: flex; }
.course_link a:before { content: ""; background-image: url("../../../common/images/arrow_b.svg"); width: 7px; height: 12px; background-size: 7px 12px; display: block; position: absolute; top: 10px; right: 3px; }
.course_link a.active:before, .course_link a:hover:before { background-image: url("../../../common/images/arrow_w.svg"); }
.course_link a:hover { opacity: 1.0; }
.course_link a.super-advanced { border-bottom: 2px solid #7b598b; }
.course_link a.advanced { border-bottom: 2px solid #e2872c; }
.course_link a.semi-advanced { border-bottom: 2px solid #4f9850; }
.course_link a.academic { border-bottom: 2px solid #3767b0; }
.course_link a.super-advanced.active, .course_link a.super-advanced:hover { background-color: #7b598b; color: #fff; }
.course_link a.advanced.active, .course_link a.advanced:hover { background-color: #e2872c; color: #fff; }
.course_link a.semi-advanced.active, .course_link a.semi-advanced:hover { background-color: #4f9850; color: #fff; }
.course_link a.academic.active, .course_link a.academic:hover { background-color: #3767b0; color: #fff; }

.p_mt { margin: 20px 0 0 0; }

@media (min-width: 768px) { .time_flex { display: flex; gap: 0 20px; margin: 40px 0 0 0; }
  .course_link { gap: 0 20px; margin: 100px 0 0 0; }
  .course_link a { text-decoration: none; color: #000; position: relative; width: 220px; height: 35px; display: flex; align-items: center; padding: 10px; }
  .course_link a:before { content: ""; background-image: url("../../../common/images/arrow_b.svg"); width: 7px; height: 12px; background-size: 7px 12px; display: block; position: absolute; top: 10px; right: 3px; } }
@media (max-width: 767.98px) { .time_flex { display: flex; flex-wrap: wrap; gap: 0 20px; margin: 20px 0 0 0; }
  .table_co { margin: 30px 0 0 0; }
  .table_co caption { font-size: 14px; }
  .p_mt { margin: 10px 0 0 0; }
  .qabox { margin: 0 0 30px 0; }
  .course_link { flex-wrap: wrap; gap: 0 3%; margin: 40px 0 0 0; }
  .course_link a { width: 48.5%; text-decoration: none; color: #000; position: relative; height: 35px; display: flex; align-items: center; padding: 10px 7px; margin: 0 0 15px 0; }
  .course_link a a:nth-child(3), .course_link a a:nth-child(4) { margin: 0; }
  .course_link a:before { content: ""; background-image: url("../../../common/images/arrow_b.svg"); width: 7px; height: 12px; background-size: 7px 12px; display: block; position: absolute; top: 10px; right: 3px; } }
.cp_actab { position: relative; 　overflow: hidden; 　width: 100%; margin: 0 0 1em 0; }
.cp_actab > input { position: absolute; opacity: 0; }
.cp_actab > label { font-weight: bold; line-height: 1.6em; position: relative; display: block; margin: 0 0 20px 0; padding: 1em 2em 1em 2.5em; cursor: pointer; border-bottom: 1px solid #bd263a; background-color: #bd263a; color: #fff !important; font-size: 22px; border-radius: 0; }
.cp_actab > label:hover { transition: all 0.3s; }
.cp_actab > label::after { font-size: 1.7em; position: absolute; top: 23%; right: -10px; content: '+'; display: inline-block; width: 2em; height: 2em; }
.cp_actab > .cp_actab-content { position: relative; overflow: hidden; max-height: 0; line-height: 1.8; }

.cp_actab input:checked ~ .cp_actab-content { max-height: 100%; }

.cp_actab input:checked ~ label { border-radius: 0; }

.cp_actab input[type=checkbox]:checked + label::after { -webkit-transform: rotateZ(45deg); transform: rotateZ(45deg); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; right: 9px; top: 32px; }

@media (max-width: 767.98px) { .cp_actab { position: relative; 　overflow: hidden; 　width: 100%; margin: 0 0 1em 0; }
  .cp_actab > label { font-size: 14px; padding: 1em; margin: 0 0 10px 0; }
  .cp_actab > label::after { top: 26%; right: -18px; }
  .cp_actab input[type=checkbox]:checked + label::after { top: 43%; right: -5px; } }
@media (min-width: 768px) { .page_ttl_03 { position: relative; display: flex; justify-content: center; flex-direction: column; margin: 100px 0 70px 0; }
  .page_ttl_03::before { content: ""; background-color: #f6f3f7; display: block; width: 100%; height: 160px; position: absolute; right: 300px; }
  .page_ttl_03 h3 { z-index: 2; position: relative; color: #7b598b; font-size: 25px; font-weight: normal; margin: 0; }
  .page_ttl_03 p { z-index: 2; position: relative; font-size: 16px; margin: 20px 0 0 0; } }
@media (max-width: 767.98px) { .page_ttl_03 { position: relative; display: flex; justify-content: center; flex-direction: column; margin: 50px 0 50px 0; padding: 0 20px 0 0; }
  .page_ttl_03::before { content: ""; background-color: #f6f3f7; display: block; width: 150%; height: calc(100% + 40px); position: absolute; right: 0px; }
  .page_ttl_03 h3 { z-index: 2; position: relative; color: #7b598b; font-size: 16px; font-weight: normal; margin: 0; }
  .page_ttl_03 p { z-index: 2; position: relative; font-size: 13px; margin: 10px 0 0 0; line-height: 1.6; } }
.link_box01 > div > a { background-color: #bd263a; color: #fff; border-radius: 5px; display: flex; justify-content: center; align-items: center; text-decoration: none; position: relative; }
.link_box01 > div > a::before { content: ''; background-image: url("../../common/images/arrow_w.svg"); background-repeat: no-repeat; background-size: contain; position: absolute; }

@media (min-width: 768px) { .link_box01 { display: flex; justify-content: space-between; margin: 50px 0; }
  .link_box01 > div { width: calc( 50% - 13px ); }
  .link_box01 > div a { width: 100%; height: 60px; }
  .link_box01 > div a::before { width: 9px; height: 15px; right: 10px; }
  .link_box01 > div p { font-size: 12px; line-height: 1.6; margin: 10px 0 0 0; } }
@media (max-width: 767.98px) { .link_box01 { display: flex; flex-direction: column; margin: 20px 0; gap: 10px; }
  .link_box01 > div { margin: 0 0 20px 0; }
  .link_box01 > div a { width: 100%; height: 50px; }
  .link_box01 > div a::before { width: 9px; height: 15px; right: 10px; }
  .link_box01 > div p { font-size: 12px; line-height: 1.6; margin: 10px 0 0 0; } }
.link_box01 > div > a { background-color: #836192; }
.link_box01 > div > a.movie::after { content: ''; background-image: url("../../common/images/icon/movie.svg"); background-repeat: no-repeat; }
.link_box01 > div > a.mail::after { content: ''; background-image: url("../../common/images/icon/mail.svg"); background-repeat: no-repeat; }

@media (min-width: 768px) { .link_box01 > div > a.movie::after { position: absolute; width: 28px; height: 26px; left: 10px; }
  .link_box01 > div > a.mail::after { position: absolute; width: 29px; height: 23px; left: 10px; } }
@media (max-width: 767.98px) { .link_box01 > div > a.movie::after { position: absolute; width: 20px; top: 17px; height: 22px; left: 10px; }
  .link_box01 > div > a.mail::after { position: absolute; width: 26px; height: 18px; left: 10px; } }
