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

style.css

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

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

.fc_blue {color: #036eb8;}
.fc_dblue {color: #00578a;}

.f_bold {font-weight: bold;}

.introduction {
	    padding: 2rem 0 3rem;
}

/* title

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

figure.top_title {
    margin-bottom: 1rem;
}

figure.top_title img {width: 100%;}

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

.br_sp {display: block;}
.br_pc {display: none;}	
	
	.introduction {
	    padding: 1.5rem 0;
}
    
    figure.top_title {
        margin-bottom: 0rem;
    }
	
}

#main_content .ps_link {
	text-align: right;
	padding: .2rem .2rem .2rem 1rem;
}

#main_content .ps_link a {
	font-size: .9rem;
}

#main_content .ps_link a::after {
    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);
    margin-left: .5rem;
}

#main_content .ps_link a:hover {
	opacity: .5;
}

/* section course_pr

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

section.course_pr {
	width: 90%;
	margin: 0 auto 2rem;
	letter-spacing: .1em;
}

section.course_pr h1 {
	text-align: center;
	margin-bottom: 3rem;
	font-size: 1.3em;
    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: 0px;
    bottom: -10px;
    width: 50px;
    height: 50px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
}

section.course_pr h1::after {
	top: -10px;
    left: 0px;
    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.course_outline {
	font-size: 1.1rem;
	line-height: 2.2rem;
	text-align: justify;
	margin: 0;
}

section.course_pr p.course_outline span {
	font-size: 1.1rem;
}

section.course_pr p.pr_lead {
	text-align: center;
	font-size: 1.25em;
	line-height: 2.5em;
	margin: 0;
}

section.course_pr p.pr_lead span {
	font-size: 1.3em;
	color: #00578a;
}

section.course_pr p.pr_lead span.fsize_l {
	font-size: 1.4em;
}

section.course_pr p.pr_lead span.fsize_m {
	font-size: 1.2em;
}

section.course_pr dl {
	display: flex;
	margin-top: 3rem;
	font-size: 1.05em;
}

section.course_pr dl dt {
	text-align: right;
	width: 180px;
}

section.course_pr dl dt::after {
	padding: 0 1rem;
    font-family: var(--Font_Awesome);
    content: "\f0da";
    font-weight: 900;
}

section.course_pr dl dd {
	width: 75%;
}




@media screen and (orientation: portrait) and (max-width: 767px){
	
	section.course_pr {
	width: 90%;
	margin: 0 auto 2.5rem;
}
	
	section.course_pr h1 {
	font-size: 1.1em;
		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 p.course_outline {
	font-size: 1rem;
	line-height: 1.8rem;
}
	
	section.course_pr p.pr_lead {
	text-align: center;
	font-size: 1.1em;
	line-height: 2em;
	margin: 0;
}
	
	section.course_pr p.pr_lead span {
	font-size: 1.2em;
}
	
	section.course_pr dl {
	display: block;
}
	
	section.course_pr dl dt {
	text-align: left;
	width: 100%;
	border-bottom: 1px solid #dcdcdc;
	margin-bottom: .5rem;
}
	
	section.course_pr dl dt::after {
	padding: 0 0rem;
    content: "";
}

section.course_pr dl dd {
	width: 100%;
}
	

	
}


/* section merit

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

section.merit {
	width: 90%;
	margin: 1rem auto 4rem;
	letter-spacing: .1em;
	line-height: 1.8rem;
}

section.merit h2 {
	font-size: 1.4rem;
	margin-bottom: 2rem;
	color: #fff;
	text-align: center;
	background-color: #00578a;
	padding: 1rem 0;
}

section.merit .point {
	display: flex;
	margin-top: 3rem;
}

section.merit .point figure {
	width: 35%;
	margin-left: 2rem;
}

section.merit .point figure img {
	width: 100%;
}

section.merit .point dl {
	flex: 1;
}

section.merit .point dl dt {
	font-size: 1.2rem;
	margin-bottom: 1rem;
	color: red;
}

section.merit ul li {
	margin-bottom: 1rem;
	text-align: justify;
}

section.merit ul li span {
	color: #036eb8;
	background-color: #fff;
	padding: 0 .5rem;
}


@media screen and (orientation: portrait) and (max-width: 767px){
	
	section.merit {
	width: 90%;
		margin: 1rem auto 2rem;
	padding: 0rem 0rem;
}
	
	section.merit h2 {
	font-size: 1.2rem;
		margin-bottom: 1.5rem;
}
	
	section.merit .point {
	display:block;
}

section.merit .point figure {
	width: 100%;
	margin-left: 0rem;
	margin-top: 1rem;
}
	
}


/* section question

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

section.question {
	width: 80%;
	margin: 0 auto 4rem;
	padding: 2rem 2.5rem;
	border: 1px solid #dcdcdc;
	letter-spacing: .1em;
}

section.question .lec_status {
	cursor: pointer;
    color: #036eb8;
	text-align: center;
	font-size: 1.3rem;
}

section.question .lec_status:hover {
	opacity: .5;
}

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

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

section.question dt {
	font-size: 1.1em;
}

section.question dd {
	text-align: justify;
	margin-top: 2rem;
	line-height: 1.8em;
}

section.question dd span {
	color: #00578a;
	text-decoration: underline;
}

@media screen and (orientation: portrait) and (max-width: 767px){
	
	section.question {
	width: 90%;
	margin: 0 auto 2rem;
	padding: 1rem 1rem;
}
	
	section.question .lec_status {
	font-size: 1.2rem;
}

section.question dd {
	line-height: 1.8em;
}
	
}



/* section detail

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

section.detail {
	width: 80%;
	margin: 5rem auto 1rem;
	background-color: #fff;
	padding: .8rem 0rem;
	font-size: 1.1em;
	letter-spacing: .1em;
}

section.detail h2 {
	font-size: 1.4em;
	font-weight: bold;
	border-left: 1rem solid #00578a;
	padding-left: 1rem;
	margin: 1rem 0 2rem;
	display: flex;
	align-items: center;
}

section.detail h2::after {	
	margin-left: 2rem;
	content: "";
	height: 2px;
	background-color: #dcdcdc; 
	flex-grow: 1;
}

section.detail dl {
	padding: 1rem 0 ;
	margin-left: 2rem;
}

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

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

section.detail dl table {
	text-align: center;
	width: 95%;
}

section.detail dl table th,
section.detail dl table tr,
section.detail dl table td {
	border: 1px solid #555;
	padding: .5rem 1rem;
}


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

section.detail h2::after {	
	margin-left: 0rem;
	content: "";
	height: 0px;
	width: 0vw;
}
	
	section.detail dl {
	margin-left: 1.5rem;
}
	
section.detail dl table th,
section.detail dl table tr,
section.detail dl table td {
	padding: .3rem .5rem;
}
	
}


/* section t_message

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

section.t_message {
	width: 90%;
	margin: 3rem auto 1rem;
}

section.t_message h3 {
	font-size: 1.6rem;
	font-weight: bold;
	color: #FF7C2F; text-align: center;
	margin-bottom: 1rem;
}

.t_message h4 {
    font-size: 1.2rem;
    text-align: center;
    margin: 1rem;
    font-weight: bold;
    color: #00578a;
    letter-spacing: .1rem;
}

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

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

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

.t_message .accordion .acd_contents .teachers {
	margin-top: 2rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
	grid-column-gap: 2rem;
    grid-row-gap: 2rem;
}

.t_message .accordion .acd_contents .teachers dl {
	background-color: #fff;
	padding: 1rem 1rem .5rem 1rem;
}

.t_message .accordion .acd_contents .teachers dt {
	border-left: 5px solid #00578a;
	padding-left: 1rem;
	margin-bottom: 1rem;
}

.t_message .accordion .acd_contents .teachers dd {
	display: flex;
}

.t_message .accordion .acd_contents .teachers dd figure {
	width: 100px;
	margin: 0 1.5rem 1.5rem 0;
}

.t_message .accordion .acd_contents .teachers dd figure img {
    width: 100px;
}

.t_message .accordion .acd_contents .teachers dd p {
	font-size: .9rem;
	text-align: justify;
	margin: 0;
}


@media screen and (orientation: portrait) and (max-width: 767px){
	
	section.t_message h3 {
	font-size: 1.4rem;
	color: #FF7C2F; text-align: center;
	margin-bottom: 1rem;
}
    
    .t_message h4 {
    font-size: 1.2rem;
    letter-spacing: .05rem;
}
	
	.t_message .accordion .acd_contents .teachers {
	margin-top: 2rem;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
    grid-template-rows: auto;
	grid-column-gap: 0rem;
    grid-row-gap: 1rem;
}
	
}



/* signing_up

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

section.detail .signing_up {
	margin-right: 2rem;
	margin-top: 1rem;
}

section.detail .signing_up dl {
	text-align: center;
}

section.detail .signing_up dl dt.triangle {
	width:0;
    height:0;
    border-style:solid;
    border-width: 20px 15px 0 15px;
    border-color: #00578A transparent transparent transparent;
	margin: 0 auto 2rem;
}

section.detail .signing_up dl:first-of-type dt {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1rem;
}

section.detail .signing_up dl:first-of-type dt::before,
section.detail .signing_up dl:first-of-type dt::after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background-color: #dcdcdc;
}

section.detail .signing_up dl:first-of-type dt::before {
	margin-right: 2rem;
}

section.detail .signing_up dl:first-of-type dt::after {
	margin-left: 2rem;
}

section.detail .signing_up dl:last-of-type dd {
	display: flex;
	justify-content: center;
}

section.detail .signing_up dl dd a {
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    max-width: 20rem;
    width: 100%;
    height: 3.6rem;
    border-radius: 1.8rem;
    background: var(--Gradation_Orange);
    color: #fff;
    font-weight: 900;
    font-family: var(--Font_Weight_Bold);
    font-size: 1.2rem;
    text-align: center;
    line-height: 1;
}

section.detail .signing_up dl dd a:hover {
	opacity: .5;
}



/* contact_banner

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

.contact_banner .button dl dd a {
	background: #FF7C2F;
}

.contact_banner.phone .phone_ikebukuro {
  display: none;
}


