/*************************************

style.css

*************************************/

.br_sp {display: none;}
.br_pc {display: block;}

/* title

-------------------------*/

figure.top_title img {width: 100%;}

figure.top_title img:nth-child(1) {display: block;}

figure.top_title img:nth-child(2) {display: none;}



@media screen and (orientation: portrait) and (max-width: 767px){

.br_sp {display: block;}
.br_pc {display: none;}	
	
/* title

-------------------------*/
	
figure.top_title img:nth-child(1) {display: none;}

figure.top_title img:nth-child(2) {display: block;}

}



/* section course_pr

-------------------------*/

section.course_pr {
	width: 90%;
	margin: 5rem auto 6rem;
}

section.course_pr h1 {
	text-align: center;
	margin-bottom: 5rem;
	font-size: 1.4em;
	letter-spacing: .1em;
    font-weight: 900;
    font-family: var(--Font_Weight_Bold);
	position: relative;
}

section.course_pr h1::before,
section.course_pr h1::after {
	position: absolute;
	content: "";
}

section.course_pr h1::before {
	right: 50px;
    bottom: 0;
    width: 50px;
    height: 50px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
}

section.course_pr h1::after {
	top: 0;
    left: 50px;
    width: 50px;
    height: 50px;
    border-top: 2px solid #000;
    border-left: 2px solid #000;
}

section.course_pr h1 .h1_02 {
	font-size: 140%;
	margin: 1.2rem 0;
}

section.course_pr h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.2em;
	padding: .5rem 0;
	background: rgb(241,241,241);
background: linear-gradient(90deg, rgba(241,241,241,1) 0%, rgba(255,255,255,1) 50%, rgba(241,241,241,1) 100%);
	border-bottom: 1px solid #fff;
	border-top: 1px solid #fff;
}

section.course_pr h2 img {
	width: auto;
	height: 35px;
	margin-right: 15px;
}

section.course_pr p {
	text-align: center;
}

section.course_pr ul {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
}

section.course_pr ul li {
	width: 15%;
	margin: 0 1rem;
	color: #fff;
	padding: 1rem;
	display: flex;
	align-items: center;
	background-color: #00578a;
	box-shadow: -5px 5px 0px #6fa2c1;
}



@media screen and (orientation: portrait) and (max-width: 767px){
	
	section.course_pr {
	margin: 0 1rem 3rem;
}
	
	section.course_pr h1 {
	font-size: 1.2em;
		margin-bottom: 2rem;
}
	
	section.course_pr h1 .h1_02 {
	font-size: 120%;
	margin: 1rem 0;
}
	
	section.course_pr h1::before {
	right: 0;
    bottom: -10px;
    width: 20px;
    height: 20px;
}

section.course_pr h1::after {
	top: -12px;
    left: 0;
    width: 20px;
    height: 20px;
}
	
	section.course_pr h2 {
	display: block;
		text-align: center;
}
	
	section.course_pr h2 img {
		height: 45px;
	margin-right: 0px;
		padding-top: 1rem;
}
	
	section.course_pr ul {
	display: block;
		margin-top: 1rem;
}
	
	section.course_pr ul li {
	width: 90%;
	margin: 1.5rem auto 1rem;
}
	
}



/* section course_info

-------------------------*/

section.course_info {
	width: 90%;
	margin: 0 auto;
}

section.course_info .cinfo_title {
	text-align: center;
	margin: 5rem 0;
	padding: .5rem 0;
	font-size: 1.2em;
	letter-spacing: .1em;
    font-weight: 900;
    font-family: var(--Font_Weight_Bold);	
	background: rgb(241,241,241);
background: linear-gradient(90deg, rgba(241,241,241,1) 0%, rgba(255,255,255,1) 50%, rgba(241,241,241,1) 100%);
	border-bottom: 1px solid #fff;
	border-top: 1px solid #fff;
}

section.course_info .cinfo_title h1 {
	font-size: 150%;
}

section.course_info dl {
	margin-bottom: 2rem;
}

section.course_info dl dt {
	font-size: 1.3em;
	letter-spacing: .1em;
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
	padding: 5px;
	border: 1px solid #00578a;
	background: rgb(222,235,247);
background: linear-gradient(90deg, rgba(222,235,247,1) 9%, rgba(255,255,255,1) 100%);
}

section.course_info dl dt h4 {
	margin-right: 30px;
	padding: 2px 5px 2px;
	display: flex;
	align-items: center;
}

section.course_info dl dt h4 span {
	background-color: red;
	padding: 4px 5px;
	margin-right: 10px;
	color: #fff;
	font-size: 60%;
}

section.course_info dl dt h5 {
	font-size: 90%;
	border-left: 1px solid #00578a;
	margin: 0;
	padding-left: 30px;
}

section.course_info dl dd {
	display: flex;
}

section.course_info dl dd p {
	margin: 0;
}

section.course_info dl dd figure {
	margin-left: 2.5rem;
}

section.course_info dl dd img {
	width: 250px;
}


@media screen and (orientation: portrait) and (max-width: 767px){
	
	section.course_info .cinfo_title {
	margin: 2rem 0;
	font-size: 1.1em;
}

section.course_info .cinfo_title h1 {
	font-size: 140%;
}
	
	section.course_info dl dt {
	font-size: 1.2em;
	display: block;
	margin-bottom: 2rem;
	padding: 0 5px 0 5px;
	border: 1px solid #00578a;
}
	
	section.course_info dl dt h4 {
	margin-right: 0px;
	padding: 2px 30px 2px 0;
	border-bottom: 1px solid #00578a;
}
	
	section.course_info dl dt h5 {
		font-size: 85%;
	border-left: 0px solid #00578a;
	padding-left: 2px;
		padding-top: 5px;
}
	
	section.course_info dl dd {
	display: block;
		width: 100%;
		text-align: center;
}
	section.course_info dl dd p {
		text-align: left;
	}
	
	section.course_info dl dd figure {
	margin-left: 0rem;
		margin-top: 1rem;
}
	
}



/* section course_info different

-------------------------*/

.different {
	margin: 5rem 0 4rem;
}

.different figure {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 4rem 0 1rem;
}
.different figure img {
	width: auto;
	height: 45px;
}

.different figure p.logo_times {
	font-size: 3em;
	margin: 0 2rem;
	line-height: 1em;
}

.different .dc_title {
	margin-bottom: 2rem;
	text-align: center;
}

.different .dc_title h5 {
	display: inline-block;
	font-size: 1.3em;
	margin-top: 1rem;
	font-weight: 900;
    font-family: var(--Font_Weight_Bold);
	border-bottom: double 6px #555;   
}

.different .dc_title .dct_main {
	border: 1px solid #555;
	margin: 2rem 0;
	padding: 0;
	display: flex;
	align-items: center;
}

.different .dc_title .dct_main h3 {
	padding: 1.8rem 2rem;
	background-color: red;
	font-size: 1.2em;
	color: #fff;
	font-weight: 900;
    font-family: var(--Font_Weight_Bold);
}

.different .dc_title .dct_main .dct_main_r {
	padding-left: 2rem;
	display: flex;
	align-items: center;
}

.different .dc_title .dct_main .dct_main_r h4 {
	font-size: 1.2em;
	letter-spacing: .1em;
	font-weight: 900;
    font-family: var(--Font_Weight_Bold);
}

.different .dc_title .dct_main .dct_main_r h2 {
	font-size: 1.4em;
	letter-spacing: .2em;
	display: flex;
	align-items: center;
	font-weight: 900;
    font-family: var(--Font_Weight_Bold);
}

.different .dc_title .dct_main .dct_main_r h2 span {
	font-size: 2.3em;
	margin: 0 1rem;
	text-shadow: 2px 2px 2px #fff;
	font-weight: 900;
    font-family: var(--Font_Weight_Bold);
}

dl.dct_conte dd {
	margin-bottom: 1rem;
}

dl.dct_conte dd:nth-of-type(1) p span {
	font-weight: 900;
    font-family: var(--Font_Weight_Bold);
}

dl.dct_conte dd:nth-of-type(2) p span {
	font-size: 1.1em;
	display: inline-block;
	font-weight: 900;
    font-family: var(--Font_Weight_Bold);
	margin-bottom: .5rem;
}

dl.dct_conte dd figure figcaption {
	text-align: center;
	margin-top: .5rem;
}



@media screen and (orientation: portrait) and (max-width: 767px){
	
	.different figure {

	margin: 4rem 0 .5rem;
		text-align: center;
}
	
	.different figure img {
	height: 25px;
}
	
	.different figure p.logo_times {
	font-size: 1.5em;
		margin: 0 .8rem;
}

	.different .dc_title h5 {
	font-size: 1.2em;
}
	
	.different .dc_title .dct_main {
	margin: 1rem 0 1.5rem;
	padding: 0;
}
	
	.different .dc_title .dct_main h3 {
	padding: 2rem .5rem;
	font-size: 1.1em;
}
	
	.different .dc_title .dct_main .dct_main_r {
	padding-left: 1rem;
	display: block;
}
	
	.different .dc_title .dct_main .dct_main_r h4 {
	font-size: 1em;
	letter-spacing: .05em;
		margin-bottom: .5rem;
}

.different .dc_title .dct_main .dct_main_r h2 {
	font-size: 1.3em;
	letter-spacing: .2em;
	display: block;
	line-height: 1.6em;
}

.different .dc_title .dct_main .dct_main_r h2 span {
	font-size: 1.8em;
	margin: 0;
}
	

	
}


/* section

-------------------------*/
.introduction > p {
    font-size: 1rem;
    width: 80%;
	margin: 0rem auto 2rem;
}

.introduction section.detail {
	width: 80%;
	margin: .8rem auto;
	background-color: #fff;
	padding: .8rem 2.5rem;
	font-size: 1.1rem;
}

section.detail h3 {
  text-align: center;
  margin: 1rem 0;
  background-color: #00578a;
  color: #fff;
  padding: .5rem 0;
	font-size: 1.2rem;
}

section.detail dl {
	padding: 1rem 0 ;
}

section.detail dl dt {
	font-weight: 400;
}

section.detail dl dd {
	font-size: 1.3rem;
}

section.detail dl p {
	font-size: .9em;
}



@media screen and (orientation: portrait) and (max-width: 767px){
	
	.introduction section.detail {
		width: 95%;
		padding: .3rem 1rem;
		font-size: 1em;
        margin: 1rem auto 4rem;
	}	
	
}


/* accordion table

-------------------------*/

section.detail .accordion .lec_status {
	    cursor: pointer;
    color: #036eb8;
}

section.detail .accordion .lec_status::after {
	    padding-left: 1rem;
    font-family: var(--Font_Awesome);
    content: "\f107";
    font-weight: 900;
}

section.detail .accordion .acd_active .lec_status::after {
	    padding-left: 1rem;
    font-family: var(--Font_Awesome);
    content: "\f106";
    font-weight: 900;
}


section.detail .accordion {
	margin-top: 1rem;
}

section.detail table {
	width: 100%;
	font-size: .9rem;
}

section.detail table th,
section.detail table td {
	border: 1px solid #555;
	padding: .5rem 1rem;
	text-align: center;
}

section.detail table tr:not(:first-of-type) th {
	background-color: #deebf7;
}


dl.picup_conte dd .accordion .lec_status {
	    cursor: pointer;
    color: #036eb8;
}

dl.picup_conte dd .accordion .lec_status::after {
	    padding-left: 1rem;
    font-family: var(--Font_Awesome);
    content: "\f107";
    font-weight: 900;
}

dl.picup_conte dd .accordion .acd_active .lec_status::after {
	    padding-left: 1rem;
    font-family: var(--Font_Awesome);
    content: "\f106";
    font-weight: 900;
}


dl.picup_conte .table_box {
		display: block;
		overflow-x: hidden;
	}
dl.picup_conte .table_box p {
	font-size: .9rem;
}

dl.picup_conte table {
	width: 100%;
	font-size: .8rem;
	flex-shrink: 0;
	margin-bottom: 1rem;
}

dl.picup_conte table th:nth-child(1) {
	width: 10%;
}
dl.picup_conte table th:nth-child(2) {
	width: 30%;
}
dl.picup_conte table th:nth-child(3) {
	width: 50%;
}
dl.picup_conte table th:nth-child(4) {
	width: 10%;
}

dl.picup_conte table th {
	background-color: #deebf7;
}

dl.picup_conte table th,
dl.picup_conte table td {
	border: 1px solid #555;
	padding: .4rem .8rem;
	text-align: center;
}

dl.picup_conte table td:nth-child(3) {
	text-align: left;
}


@media screen and (orientation: portrait) and (max-width: 767px) {
	section.detail table th,
section.detail table td {
	padding: .5rem .4rem;
}
	
	
dl.picup_conte .table_box {
		display: flex;
	flex-direction: column;
		overflow-x: scroll;
	}


dl.picup_conte table {
	width: 250%;
	font-size: .9rem;
	flex-shrink: 0;
}	
	
	dl.picup_conte table th:nth-child(1) {
	width: 8%;
}
dl.picup_conte table th:nth-child(2) {
	width: 26%;
}
dl.picup_conte table th:nth-child(3) {
	width: 58%;
}
dl.picup_conte table th:nth-child(4) {
	width: 8%;
}

	
}

/* deadline

-------------------------*/

section.detail .deadline {
	position: relative;
box-sizing: border-box;
	margin: 1.5rem 0rem;
	border: 1px solid #999;
	padding: 2rem 3rem;
    text-align: center;
}

section.detail .deadline dd {
    margin: 1rem 0 .5rem;
    font-weight: bold;
    color: #00578a;
}

section.detail .deadline > ul {
    
}

section.detail .deadline > ul li {
    font-size: .9rem;
    text-indent: -1rem;
    margin-left: 1rem;
}

section.detail .deadline > ul li::before {
    content: "※";
}

@media screen and (orientation: portrait) and (max-width: 767px){
	
	section.detail .deadline {
	margin: 1rem 0rem;
	padding: .5rem .5rem;
}

	
}


/* application

-------------------------*/

section.application {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 4rem;
}

section.application h3 {
	font-size: 1.2em;
	font-weight: 900;
	margin-bottom: 1.5rem;
}

section.application .app_link {
	display: flex;
}

section.application .app_link dl {
	width: 350px;
	margin: 2rem;
}

section.application .app_link dl dt {
	margin-bottom: 1rem;
}

section.application .app_link dl h4 {
	font-size: 1.2em;
	position: relative;
}

section.application .app_link dl h4::after {
position: absolute;
    top: calc(40% - .6rem);
    right: .1rem;
    width: auto;
    height: auto;
    border: none;
    line-height: 1;
    font-weight: 900;
    font-family: var(--Font_Awesome);
    content: var(--Arrow_Right);
}

section.application .app_link dl:nth-child(1) h4::before {
	content: "\f095";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
	padding-right: 1.2rem;
}

section.application .app_link dl a:hover {
	opacity: .8;
}

section.application .app_link dd {
	background-color: #00578a;
	color: #fff;
	padding: 1rem 1.5rem;
}



@media screen and (orientation: portrait) and (max-width: 767px){
	
	section.application .app_link {
	display: block;
}
	section.application .app_link dl {
	margin: 1rem 0 2rem;
}
	
}



/* banner campaign

-------------------------*/

h3.campaign_t {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 400;
    margin: 4rem auto 0;
    border-bottom: 2px solid #f67600;
    width: fit-content;
}

section.banner {
	margin: 1rem 0 4rem;
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 3rem;
}

section.banner a {
    width: calc(50% - 1.5rem);
    text-align: center;
}

section.banner a:hover {
	opacity: .8;
}

section.banner a img {
	width: 100%;
    margin-top: 3rem;
}

section.campaign {
	width: 100%;
	margin: 1rem 0 5rem;
	padding: 0 4.5rem;
}

section.campaign table {
	text-align: left;
	width: 100%;
	margin: 1rem 0;
}

section.campaign table ,
section.campaign td, 
section.campaign th {
	border: 1px solid #595959;
	border-collapse: collapse;
}
section.campaign td, 
section.campaign th {
	padding: 5px 10px;
	height: 30px;
}

section.campaign table tr td:nth-child(1) {
	background-color: #ffffbc;
}

th.date {width: 300px;}

@media screen and (orientation: portrait) and (max-width: 767px){
    
    h3.campaign_t {
    font-size: 1.1rem;
    font-weight: 700;
    margin-top: 2rem;
}
	
	section.banner {
        display: block;
	width: 85%;
        margin: 1rem auto;
}
    
    section.banner a img {
	margin: 1rem 0;
}

	
	section.campaign {
		width: auto;
		margin: 1rem 1rem;
		padding: 0 0rem;
	}
	th.date {width: 200px;}
	th.date2 {width: 140px;}
	
}


/* contact_link

============================ */

section.contact_link {
	margin-bottom: 4rem;
    border: 1px solid #00578a;
    padding: 2rem 0;
}

section.contact_link dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

section.contact_link dl dd {
	position: relative;
	width: 350px;
	padding: 1rem 2rem;
	margin: 1.5rem;
	background-color: #00578a;
	color: #fff;
	text-align: left;
}

section.contact_link dl dd::after {
	position: absolute;
    top: calc(50% - .6rem);
    right: 1rem;
    width: auto;
    height: auto;
    border: none;
    line-height: 1;
    font-weight: 900;
    font-family: var(--Font_Awesome);
    content: var(--Arrow_Right);
}

section.contact_link dl a:hover {
	opacity: .8;
}

@media screen and (orientation: portrait) and (max-width: 767px){
    
    section.contact_link {
        width: 90%;
	margin: 0rem auto 1rem;
    padding: 1rem 0;
}
	
	section.contact_link dl dd {
	width: 300px;
	padding: 1rem 1rem;
	margin: .8rem;
}
	
}


/*teacher_link  successful

============================ */

section.teacher_link {
	text-align: center;
}

section.teacher_link {
	width: 90%;
    margin: 0 auto 5rem;
}

section.teacher_link .tl_title,
section.successful .successful_title {
	text-align: center;
    margin-bottom: 2rem;
    padding: .5rem 0;
    font-size: 1.2em;
    letter-spacing: .1em;
    font-weight: 900;
    font-family: var(--Font_Weight_Bold);
    background: rgb(241,241,241);
    background: linear-gradient(90deg, rgba(241,241,241,1) 0%, rgba(255,255,255,1) 50%, rgba(241,241,241,1) 100%);
    border-bottom: 1px solid #fff;
    border-top: 1px solid #fff;
}

section.teacher_link .tl_title h1,
section.successful .successful_title h1 {
	font-size: 150%;
}

section.teacher_link a {
	letter-spacing: .2em;
	display: block;
    width: 20rem;
    margin: 2rem auto 0;
    padding: .5rem;
    background-color: #036eb8;
    color: #fff;
    text-align: center;
}

section.teacher_link a::after {
	content: '\f105';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 1rem;
}

section.teacher_link a:hover {
	opacity: .5;
}


@media screen and (orientation: portrait) and (max-width: 767px){
	
	section.teacher_link .tl_title h1,
	section.successful .successful_title h1 {
	font-size: 140%;
}
	
}



/*successful senior_voice

============================ */
section.successful {
  width: 90%;
  margin: 0 auto .1rem;
}
section.successful h3 {
  position: relative;
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: .1rem;
  margin: 3rem 0 2rem;
  line-height: 2em;
}
section.successful h3::before, section.successful h3::after {
  position: absolute;
  width: 30px;
  height: 30px;
  content: '';
}
section.successful h3::before {
  border-left: solid 1px;
  border-top: solid 1px;
  top: -20px;
  left: 60px;
}
section.successful h3::after {
  border-right: solid 1px;
  border-bottom: solid 1px;
  bottom: -10px;
  right: 60px;
}
section.successful .senior_voice {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
section.successful .senior_voice dl {
  box-sizing: border-box;
  border: 1px solid #d3d3d3;
  width: 48%;
  margin-top: 2rem;
  padding: .5rem 1.5rem 1rem;
  letter-spacing: .05rem;
}
section.successful .senior_voice dl dd {
  text-align: justify;
  font-size: .9rem;
  line-height: 1.8rem;
}
section.successful .senior_voice dl dt {
  margin-bottom: 2rem;
}
section.successful .senior_voice dl dt p span {
  font-size: 1.1rem;
}
section.successful .senior_voice dl dt h2 {
  font-size: 1.3rem;
  padding: .2rem 0 .2rem 1rem;
  background: rgb(255, 255, 255);
  background: linear-gradient(90deg, rgba(255, 255, 255, 1) 7%, rgba(241, 241, 241, 1) 100%);
  border-top: 1px solid #fff;
}
section.successful .senior_voice dl dt h4 {
  font-size: 1.1rem;
  padding-left: 1rem;
  margin-right: 2rem;
  background: rgb(255, 255, 255);
  background: linear-gradient(90deg, rgba(255, 255, 255, 1) 7%, rgba(241, 241, 241, 1) 100%);
  border-bottom: 1px solid #fff;
}
section.successful .senior_voice dl dt h6 {
  text-align: right;
  margin-top: 1rem;
  border-bottom: 1px solid #c0c0c0;
}
section.successful .senior_voice dl dt h6 span {
  font-size: 1.3rem;
}


section.successful .accordion .lec_status {
	    cursor: pointer;
    color: #036eb8;
	text-align: center;
}

section.successful .accordion .lec_status::after {
	    padding-left: 1rem;
    font-family: var(--Font_Awesome);
    content: "\f107";
    font-weight: 900;
}

section.successful .accordion .acd_active .lec_status::after {
	    padding-left: 1rem;
    font-family: var(--Font_Awesome);
    content: "\f106";
    font-weight: 900;
}

@media screen and (orientation: portrait) and (max-width: 767px) {
  section.successful h3 {
    font-size: 1rem;
    margin: 3rem 0 3rem;
  }
  section.successful h3::before {
    top: -20px;
    left: 0;
  }
  section.successful h3::after {
    bottom: -20px;
    right: 0;
  }
  section.successful .senior_voice {
    display: block;
  }
  section.successful .senior_voice dl {
    width: 100%;
    margin-top: 1rem;
  }
}



/* contact_banner

============================ */

.contact_banner .phone_ikebukuro {

  display: none;

}
