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

style.css

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

.f_l {font-size: 130%;}
.f_m {font-size: 110%;}
.f_s {font-size: 90%;}
.f_ss {font-size: 80%;}
.f_sss {font-size: 70%;}
.f_ssss {font-size: 60%;}

.f_bold {font-weight: bold;}

.f_line {text-decoration: underline;}

.fc_mu {color: #00aebb;}
.fc_red {color: red;}

.asta {font-size: 80%;}
.asta::before {content: "※"; }

.asta_l {font-size: 100%; text-indent: -1.5rem; margin-left: 1.5rem;}
.asta_l::before {content: "※"; margin-right: .5rem;}

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

.introduction {padding: 4rem 0;}

.bg2 {background: #f1f1f1;}


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

.br_sp {display: block;}
.br_pc {display: none;}	
    
    .introduction {padding: 3rem 0;}
	
}

/* section course_pr

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

section.course_pr {
	width: 80%;
	margin: 0 auto 3rem;
	letter-spacing: .1rem;
}

section.course_pr h2 {
	text-align: center;
	margin-bottom: 4rem;
	font-size: 1.3rem;
    font-weight: 900;
    color: #00aebb;
	position: relative;
}

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

section.course_pr h2::before {
	right: 0px;
    bottom: -20px;
    width: 50px;
    height: 50px;
    border-right: 2px solid #00aebb;
    border-bottom: 2px solid #00aebb;
}

section.course_pr h2::after {
	top: -20px;
    left: 0px;
    width: 50px;
    height: 50px;
    border-top: 2px solid #00aebb;
    border-left: 2px solid #00aebb;
}

section.course_pr h2 .h2_02 {

	margin: 1.2rem 0;
}

section.course_pr .read {
    margin: 0 0 4rem;
    padding: 0;
}

section.course_pr .read p {
    text-align: justify;
}

section.course_pr .course_outline {
	width: fit-content;
    margin: 3rem auto 4rem;
}

section.course_pr .course_outline li {
    font-size: 1.1rem;
	line-height: 2.2rem;
    margin-bottom: 1rem;
    text-indent: -2rem;
    margin-left: 2rem;
}

section.course_pr .course_outline li::before {
    content: "\f14a";
    font-weight: bold;
    font-family: "Font Awesome 5 Free";
    margin-right: 1rem;
    color: #00aebb;
}


@media screen and (orientation: portrait) and (max-width: 767px){
	
	section.course_pr {
	width: 90%;
	margin: 0 auto 2.5rem;
        letter-spacing: .08rem;
}
	
	section.course_pr h2 {
	font-size: 1.1em;
		margin-bottom: 3rem;
}
	
	section.course_pr h2 .h2_02 {
	font-size: 110%;
	margin: 1rem 0;
}
	
	section.course_pr h2::before {
	right: 0;
    bottom: -10px;
    width: 20px;
    height: 20px;
}

section.course_pr h2::after {
	top: -12px;
    left: 0;
    width: 20px;
    height: 20px;
}

	
}


/* section.detail

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

.introduction .detail {
	margin: 0rem 9rem 2rem;
	background-color: #fff;
	padding: 1rem 2rem;
	font-size: 1.1rem;
	letter-spacing: .1rem;
    display: flex;
    justify-content: center;
    box-shadow: 0rem 0rem 1rem #dcdcdc;
    position: relative;
}

.introduction .detail::before {
    position: absolute;
    content: "";
    border: 1px solid #00aebb;
    width: 95%;
    height: 90%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

.introduction .detail ul {
    width: fit-content;
}

.introduction .detail ul li {
    margin: 1.5rem 0;
}

.introduction .detail ul li.indent {
    text-indent: -6rem;
    margin-left: 6rem;
}

@media screen and (orientation: portrait) and (max-width: 767px){
	
	.introduction .detail {
		margin: 2rem auto 1rem;
		width: 90%;
		padding: .5rem;
		font-size: 1rem;
	}	
    
    .introduction .detail::before {
    width: 95%;
    height: 95%;
}
    
    .introduction .detail ul li.indent {
    text-indent: 0rem;
    margin-left: 0rem;
}
	
}


/* merit

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

.merit {
    margin: 5rem 6rem;
    border: 1px solid #00aebb;
    padding: 2rem 3rem 3rem;
    border-radius: 1rem;
}

.merit dl dt {
    font-size: 1.2rem;
    color: #00aebb;
    font-weight: bold;
    border-bottom: 1px solid #00aebb;
    padding-bottom: .5rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.merit dl dd li {
    margin-top: 1rem;
    text-indent: -1rem;
    margin-left: 1rem;
    text-align: justify;
}

@media screen and (orientation: portrait) and (max-width: 767px){
    
    .merit {
    margin: 4rem 1.5rem;
    border: 1px solid #00aebb;
    padding: 1.5rem;
    border-radius: 1rem;
}
    
    .merit dl dt {
    font-size: 1.15rem;
}
    
}



/* 日時と内容

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

.col_2 {
    margin: 0 7.5rem;
}

.col_2 > div.day_23 {
    margin-bottom: 5rem;
}

.col_2 > div.day_24 {
    margin-bottom: 3rem;
}

.col_2 > div dl dt h3 {
    font-size: 1.6rem;
    line-height: 1.6rem;
    margin-bottom: 0rem;
    padding: .5rem 0 .5rem 1rem;
    background-color: #00aebb;
    color: #fff;
}

.col_2 > div dl dt h4 {
    font-size: 1rem;
    font-weight: bold;
    background-color: #fff;
    color: #00aebb;
    padding: .5rem 0 .5rem 1rem;
}

.col_2 > div dl dd ul {
    margin: 1rem 0;
}

.col_2 > div dl dd ul li {
    border-bottom: solid 1px #00aebb;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}


.col_2 > div dl dd ul li p {
    margin: 0 1rem;
}

.col_2 > div dl dd ul li p:first-of-type {
    font-size: 1.2rem;
    margin-bottom: .8rem;
    font-weight: bold;
}



@media screen and (orientation: portrait) and (max-width: 767px){
    
    .col_2 {
    display: block;
    margin: 0 1.5rem;
}
    
    .col_2 > div {
    width: 100%;
}
    
    .col_2 .day_23 {
    margin-bottom: 2rem;
}
    
    
}




/* button

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

.button {
    display: flex;
    justify-content: center;
    margin: 0rem auto 6rem;
    width: 100%;
}

.button dl {
    text-align: center;
}

.button dl dt {
    font-size: 1.1rem;
    color: #f67600;
    margin-bottom: 1rem;
}

.button dl dd {
    width: 100%;
}

.button dl dd a {
        height: auto;
    background: #f67600;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    border-radius: 1.8rem;
    color: #fff;
    font-weight: 900;
    font-family: var(--Font_Weight_Bold);
    font-size: 1.1rem;
    text-align: center;
    line-height: 1.5rem;
    padding: .3rem 3rem;
}

.button dl dd a:hover {
    opacity: .5;
}

@media screen and (orientation: portrait) and (max-width: 767px){
    
    .button {
    margin: 0rem auto 5rem;
}
    
}



/* contact_banner

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

.contact_banner.phone .phone_kichijoji,
.contact_banner.phone .phone_shibuya,
.contact_banner.phone .phone_ikebukuro {
  display: none;
}


