@charset "utf-8";
/* CSS Document */


/*--------------------------- general ----------------------------*/

section {
	padding-bottom: 4em;
}
a {
    color: #008bcf;
}
a:hover,
a:focus {
	color: #33a2d9;
    text-decoration: underline;
}

em {
	font-style: normal;
	font-weight: 800;
}
ul {
	font-size: 0.93rem;
}
figure img {
	max-width: 100%;
}
figcaption {
	font-size: .8em;
	text-align: center;
	font-weight: bold;
	margin-top: .5rem;
}
h6 {
    font-size: 1rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: .5em;
}
.clearfix::after {
    content: "";
    display: block;
    clear: both;
    height: 0;
}
.no-break {
	white-space: nowrap;
}
.navbar h1 {
	font-size: 1em;
    line-height: 1;
}
.floatr-img {
    float: right;
	width: 35%;
    margin: 0 1% 1% 2%;
	height: auto;
    max-width: 100%;
}
.note {
	padding-left: 1em;
	text-indent: -1em;
}
.note-small {
    padding-left: 13px;
    text-indent: -7px;
    font-size: 13px;
    font-weight: bold;
    line-height: 1.5;
}
.foot-note {
    font-size: 11px;
}
.sp-link {
    pointer-events: none;
	text-decoration: none;
}

.list-ul,
.list-ol {
    margin: 0 1em 1em 2em;
	padding: 0;
	counter-reset: my-counter;
}
.list-ul li,
.list-ol li,
.list-dl dd {
    padding-left: 15px;
    position: relative;
    margin-bottom: 0.5em;
}
.list-ul li::before,
.list-dl dd::before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: 900;
    font-size: 60%;
    display: block;
    position: absolute;
    left: -5px;
    top: 0.4em;
    color: #008bcf;
}
.list-ol li::before {
    content: counter(my-counter)".";
    counter-increment: my-counter;
    position: absolute;
    left: -5px;
    font-weight: bold;
    color: #ff9800;
}
.dl-float dt {
    float: left;
    clear: left;
    color: #008bcf;
    font-weight: bold;
}
.dl-float dd {
    margin-left: 7em;
    margin-bottom: 0.5em;
}


.contents-section {
    width: 100%;
    max-width: 1210px;
    padding: 0 35px;
    margin: 0 auto;
}


.pc-tiny {
    display: block;
}
.pc-tablet {
	display: block;
}
.tablet-sp {
	display: none;
}
.pc-only {
	display: block;
}
.sp-only {
	display: none;
}
.tiny-sp-only {
	display: none;
}


@media screen and (max-width: 767px) {
    .contents-section {
        padding: 0 20px;
    }
    
    .pc-only {
		display: none;
	}
	.sp-only {
		display: block;
	}
	.sp-link {
		pointer-events: auto;
		text-decoration: underline;
	}
	
}


@media screen and (max-width: 575px) {
	.pc-tablet {
		display: none;
	}
	.tablet-sp {
		display: block;
	}
}
@media screen and (max-width: 480px) {
	.tiny-sp-only {
		display: block;
	}
    .pc-tiny {
        display: none;
    }
	.list-ul,
	.list-ol {
    	margin-left: .5em;
		margin-right: 0;
	}
}


/*--------------------------- entry ----------------------------*/

html, body, .entry {
    height: 100%;
}
.entry {
    background: #fff;
    position: relative;
}
.entry-inner {
    background: url("../images/entry_bg.jpg") no-repeat center top;
    background-size: auto 100%;
    height: calc(100% - 100px);
}
.entry-logo {
    width: 40%;
    max-width: 210px;
    padding: 1em 0 0 1em;
}
.entry-title {
    position: absolute;
    top: 13%;
    left: 8%;
    height: 60vh;
}
.entry-title img {
    max-height: 100%;
    max-width: 100%;
}
.entry-nav {
    position: absolute;
    width: 100%;
    bottom: 0;
}
.entry-guide {
    text-align: center;
    font-weight: bold;
    font-size: 110%;
    margin-bottom: .5em;
}
.entry-menu {
    margin: 0;
}
.entry-menu-item {
    width: 50%;
    text-align: center;
}
.entry-menu-item a {
    display: block;
    background: #3db143;
    color: white;
    font-weight: bold;
    padding: 1em;
    font-size: 1rem;
    line-height: 1.5;
    position: relative;
}
.entry-menu-item.item-02 a {
    background: #008bcf;
}
.entry-menu-item a:hover,
.entry-menu-item a:focus {
    text-decoration: none;
    opaciry: .8;
}
.entry-menu-item a em {
    font-size: 1.35rem;
    
    margin-bottom: -4px;
}
.entry-menu-item a::after {
    font-family: "Font Awesome 5 Free";
    content: "\f0a6";
    font-weight: 900;
    position: absolute;
    font-size: 48px;
    height: 50px;
    right: 10%;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 1;
}

@media screen and (max-width: 960px) {
    .entry-title {
        top: 13%;
        left: 3%;
        height: 53vh;
    }
	
} /* end media query */

@media screen and (max-width: 599px) {
    
    .entry-inner {
        background: url("../images/entry_bg_sp.jpg") no-repeat center top;
        background-size: auto 100%;
        height: calc(100% - 90px);
    }
    .entry-title {
        top: 22%;
        left: 2%;
        height: auto;
        width: 60%;
		filter: drop-shadow(0px 0px 7px white);
    }
    .entry-guide {
        background: rgba(255,255,255,.5);
    }
    .entry-menu-item a {
        font-size: 14px;
    }
    .entry-menu-item a em {
        font-size: 17px;
        margin-bottom: -.2em;
    }
    .entry-menu-item a::after {
        font-size: 32px;
        height: 34px;
        right: 4%;
        bottom: 5px;
        top: auto;
    }
	
} /* end media query */

@media screen and (max-width: 400px) {
    .entry-title {
        top: 26%;
        left: 5%;
        width: 89%;
    }
	
} /* end media query */

/*--------------------------- page-header ----------------------------*/
.page-header {
	margin-bottom: 0;
	padding-top: .4em;
	padding-bottom: 0;
	align-items: flex-end;
	/*position: relative;*/
	border-bottom: 2px solid #3db143;
}
.theme-blue .page-header {
    border-bottom-color: #008bcf;
}
.page-header .site-title {
	width: 40%;
}
.page-header p.tagline {
    margin-bottom: 3px;
    font-size: 80%;
    line-height: 1.5;
    color: #888;
}
.page-header .navbar-brand {
	width: 190px;
	/*max-width: 200px;*/
	padding: 0;
}

.page-header .main-nav {
	font-size: 0.85rem;
	font-weight: bold;
	
}
.page-header .main-nav .nav-link {
   color: #009FFF;
}
.page-header .main-nav .nav-link:hover,
.page-header .main-nav .nav-link:focus {
	color: #33b2ff;
}
.page-header .contact-nav {
    position: absolute;
    top: 10px;
    right: 1rem;
}
.page-header .contact-nav .nav-item {
	font-size: 0.75rem;
	
}
.page-header .contact-nav .nav-item {
	
}
.page-header .contact-nav .nav-item a {
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0.4em;
}
.page-header .contact-nav .nav-item .btn-sm {
    font-size: 0.75rem;
	padding-top: 0.2em;
	padding-bottom: 0.2em;
	border-radius: 5px;
	color: #fff;
	margin-right: 0.3em;
	margin-left: 0.3em;
	margin-top: 0;
	font-weight: bold;
}
.page-header .contact-nav .nav-item .btn-sm.btn-outline-primary {
    color: #008bcf;
}
.page-header .contact-nav .nav-item .btn-sm.btn-outline-primary:hover,
.page-header .contact-nav .nav-item .btn-sm.btn-outline-primary:active {
	color: #fff;
}

@media screen and (min-width: 768px) {
	
	.navbar-expand-md .main-nav .nav-link {
    	padding-right: 0.75rem;
    	padding-left: 0.75rem;
	}
	.navbar-expand-md .main-nav .nav-item:last-child .nav-link {
		padding-right: 0;
	}
    
    /*上部メニューが２行になった場合に必要*/
    .navbar-nav {
        justify-content: flex-end;
		margin-bottom: 5px;
    }
}

@media screen and (max-width: 767px) {
	
	.page-header {
		align-items: center;
        padding: 8px 8px 0;
	}
    .page-header p.tagline {
        font-size: 70%;
    }
    .page-header .navbar-brand {
        max-width: 150px;
    }
	.page-header .main-nav {
    	border-top: 3px solid #9ed7f0;
		padding-top: .5em;
	}
	.page-header .main-nav li {
		border-bottom: 1px dotted #ccc;
	}
	.page-header .main-nav li:last-child {
		border-bottom: none;
	}
    .page-header .main-nav .nav-link {
        padding: 1.2em 1em .7em;
    }

	.page-header .site-title {
		width: calc(100% - 60px);
	}
	.page-header .contact-nav {
    	position: static;
		margin-bottom: 2em;
	}
	.page-header .contact-nav .nav-item .btn-sm {
		font-size: 0.85rem;
		padding-top: 1em;
		padding-bottom: 0.8em;
		margin-top: .75em;
	}
	.page-header .contact-nav .nav-item a {
    	margin-top: 1.2em;
	}
	
} /* end media query */


/*--------------------------- main visual ----------------------------*/

.mv {
	margin-bottom: 0;
}
.main-visual {
    position: relative;
    background: #3db143;
}
.theme-blue .main-visual {
    background: #008bcf;
}
.main-visual * {
	margin: 0;

}
.main-visual img.pc-tiny {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
}



@media screen and (max-width: 767px) {
    .mv {
		margin-bottom: 0;
	}
    .main-visual h2 {
        /*margin: 0 -20px;*/
    }
	
} /* end media query */

/*--------------------------------------------------------------
# contents-area
--------------------------------------------------------------*/

/*--------------------------- general ----------------------------*/
.bg-white-stripe {
	background: #fff;
    background-image: repeating-linear-gradient(-45deg ,#fafafa, #fafafa 2px
,rgba(0,0,0,0) 0, rgba(0,0,0,0) 8px);
}
.bg-white-stripe-rv {
	background: #fff;
    background-image: repeating-linear-gradient(45deg ,#fafafa, #fafafa 2px
,rgba(0,0,0,0) 0, rgba(0,0,0,0) 8px);
}
.bg-bluecross{
	background: url(../images/bg_bluegrid.png);
    background-size: 13px 13px;
}
.bg-yellowcross {
	background: url(../images/bg_yellowgrid.png);
	background-size: 13px 13px;
}

.lg-section-header {
    /*background: url(../images/bg_recommended_02.png) no-repeat top center #669900;
    background-size: 85%;*/
    position: relative;
    padding: 3em 1em;
	margin-bottom: 4em;
	text-align: center;
	background: #3db143;
}
.theme-blue .lg-section-header {
    background: #008bcf;
}
/*.lg-section-header::after {
    content: "";
    background: #FFF500;
    width: 100%;
    height: 6px;
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
}*/
.lg-section-header.multi-line {
	padding: 2em 1em;
}
.course-header {
    padding: 1em 1em 2em;
}

.lg-section-title {
    text-align: center;
    color: #fff;
    font-size: 3rem;
    margin: 0;
    line-height: 1.2;
    position: relative;
    z-index: 5;
    display: inline-block;
}
.lg-section-title small {
    font-size: 50%;
    display: block;
    margin-bottom: .1em;
}
.lg-section-title::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0eb";
    font-weight: 900;
    position: absolute;
    font-size: 55px;
    height: 70px;
    color: #ffea3c;
    left: -50px;
    top: 0;
    bottom: 0;
    margin: auto;
}
.lg-section-header .catch {
	color: #fff;
	font-weight: bold;
	font-size: 1.3rem;
}
.lg-section-header .balloon {
	margin-top: -2em;
}

.section-header {
    padding: 3em 2em 1em;
    position: relative;
}
.breakline {
	position: relative;
	padding-top: 3em;
}
.breakline::before {
    content: '';
    /*background: url(../images/breakline.png) no-repeat top center;
    background-size: contain;*/
    width: 80%;
	max-width: 850px;
    height: 9px;
    position: absolute;
    top: 0;
    left: 0;
	right: 0;
	margin: auto;
	display: block;
	border-top: 2px dashed #3db143;
    border-bottom: 2px dashed #008bcf;
}
.section-title {
    text-align: center;
    color: #008bcf;
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 1em;
}
.section-title small {
    display: block;
    font-size: 50%;
}
.typeset-tight {
    letter-spacing: -0.05em;
}



.text-section {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.mid-section {
    padding-bottom: 4em;
    margin-bottom: 4em;
    position: relative;
}
.mid-section::after {
    content: '';
    width: 80%;
    max-width: 850px;
    height: 9px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    border-top: 2px dashed #3db143;
    border-bottom: 2px dashed #008bcf;
}
.mid-section:last-of-type {
    margin-bottom: 0;
}
.mid-section:last-of-type::after {
    height: 0;
    border: none;
}
.sub-section {
    margin-bottom: 2.5em;
}
.sub-section:last-of-type {
    margin-bottom: 0;
}

.title-marker span {
    background: linear-gradient(transparent 65%,#FFF500 0);
}

.title-subsection {
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    color: #ee780f;
    margin-bottom: 1.5em;
}
.title-subsection > span {
	background: linear-gradient(transparent 65%,#FFF500 0);
}
/*上のspanのせいで、no-breakが使えないため、bで使う*/
.title-subsection > b {
    font-weight: bold;
}
.title-subsection-addition {
    font-size: 1.4rem;
    color: #17a2b8;
    text-align: center;
    font-weight: normal;
    margin: 0 auto!important;
    line-height: 1.4;
}
.title-mid {
	text-align: center;
	font-weight: bold;
	margin-bottom: 1em;
	color: #008bcf;
	font-size: 1.6rem;
    position: relative;
}
.title-smlsection {
    color: #3db143;
    font-weight: 600;
    font-size: 1.3rem;
    position: relative;
}


/*--- title variations */

.title-mid-num .num {
    display: inline-block;
    background: #ee780f;
    color: #fff;
    width: 40px;
    line-height: 40px;
    border-radius: 50%;
    margin-bottom: 0.4em;
}
.title-sml-info {
    color: #3db143;
    margin-bottom: 1em;
}
.title-sml-info::before {
    font-family: "Font Awesome 5 Free";
    content: "\f05a";
    font-weight: 900;
    color: #ee780f;
    font-size: 120%;
    margin-right: .2em;
    position: relative;
    top: 1px;
}
.title-alert::before {
    font-family: "Font Awesome 5 Free";
    content: "\f06a";
	display: block;
    font-weight: 900;
    color: #ee780f;
    font-size: 120%;
}

p {
    margin-bottom: 1em;
}
/*p:last-of-type {
    margin-bottom: 0;
}*/
.lead-text {
    font-size: 1.1rem;
    text-align: center;
    margin-bottom: 2em;
}
.marker {
	background: linear-gradient(transparent 45%,#FFF500 0);
}
.text-box em {
	color: #008bcf;
}
.text-box strong {
	color: #008bcf;
	background: linear-gradient(transparent 45%,#FFF500 0);
}


.list-important {
    color: #333;
    font-size: 1.1rem;
    margin-bottom: 0;
    font-weight: bold;
}
.list-important > li {
    
}

@media screen and (max-width: 767px) {
	.lg-section-header{
		background-size: 98%;
	}
    .section-header {
        margin: 0 -20px;
        padding: 40px 20px 0;
    }
    .section-title {
        font-size: 2rem;
    }
    .lead-text {
        font-size: 1rem;
    }
	
} /* end media query */


@media screen and (max-width: 575px) {
    .lg-section-header.multi-line {
        padding: 2em 1em 2em 2.5em;
    }
	.lg-section-title {
        font-size: 6.5vw;
    }
    .lg-section-title small {
        font-size: 66%;
    }
    .title-subsection {
        font-size: 1.4rem;
    }
    .title-mid {
        font-size: 1.3rem;
    }
    .title-smlsection {
        font-size: 1.2rem;
    }
    .lg-section-header {
        /*background-size: 100%;*/
    }
	.lg-section-header .catch {
		font-size: 1.1rem;
	}
    .section-title {
        font-size: 5.4vw;
    }
    .section-title small {
        font-size: 70%;
    }
    .sub-section {
        margin-bottom: 3em;
    }
    .title-subsection::before, 
    .title-subsection::after {
        content: "";
    }

    
	
} /* end media query */


/*--------------------------- card ----------------------------*/
.home-card {
    background: #fff;
    border-radius: 15px;
    box-shadow: 1px 1px 5px rgba(0,0,0,0.15);
    display: block;
	overflow: hidden;
	height: 100%;
    border: 3px solid #3db143;
}
.theme-blue .home-card {
    border-color: #008bcf;
}
.card-description {
    padding: 2em 1em 1em;
    position: relative;
}
.card-title {
    text-align: center;
    font-size: 1.2rem;
    color: #008bcf;
    font-weight: 600;
}
.card-title::after {
    content: "";
    display: block;
    width: 40%;
    height: 8px;
    border-bottom: 4px dotted #ee780f;
    margin: 0.2em auto;
}
.card-title small {
    color: #343434;
    font-weight: 600;
}

/*--------------------------------------------------------------
# lead
--------------------------------------------------------------*/

.slogan {
    text-align: center;
    font-family: "Rounded Mplus 1c";
    font-size: 1.4rem;
    line-height: 1.6;
    margin-bottom: 2em;
    color: #00437f;
    font-weight: normal;
}
.slogan strong {
    /*display: block;*/
    font-size: 150%;
    font-weight: bold;
    line-height: 1.8;
}

/*--- feature list */
.feature-list {
    justify-content: center;
	margin-bottom: 3em;
}
.feature-list > li {
    margin-bottom: 2em;
}
.feature-card {  
    background: #d9f1ff;
    height: 100%;
    padding: 2em;

}
.card-icon {
    margin: 0 auto 1.2em;
    /*width: 100px;*/
}
.card-icon img {
    display: block;
}
.feature-card-title {
    text-align: center;
    font-weight: bold;
    margin-bottom: .5em;
    font-size: 1.5rem;
    color: #009FFF;
}
.feature-card p {
    margin-bottom: 0;
    font-size: .9rem;
}

.feature-card-title strong {
    font-size: 170%;
    position: relative;
    bottom: -2px;
    margin: 0 0.05em;
}

/*---- plan list */
.plan-list {
    justify-content: center;
	padding: 0 1em;
}
.plan-list > li {
	/*margin-top: 1em;*/
}
.plan-card {  
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.plan-card:hover {
    text-decoration: none;
}
.plan-card img {
    width: 20%;
}
.plan-card-text {
	width: 75%;
}
.plan-card p {
    font-size: .8em;
    font-weight: bold;
    color: #343434;
    margin-right: 3%;
    margin-bottom: 0;
	line-height: 1.4;
	padding-top: .5em;
}
.plan-card strong {
    font-size: 140%;
    font-weight: bold;
    display: block;
    color: #009FFF;
}
.plan-card .catch {
	color: #00437f;
	padding-left: 1.3em;
	text-indent: -1.3em;
	
}
.plan-card .catch::before {
	 font-family: "Font Awesome 5 Free";
	content: "\f024";
	font-weight: 900;
	margin-right: .3em;
	color: #00437f;
}


@media screen and (max-width: 991px) {
    .plan-card p {
        font-size: 1.4vw;
    }
	
} /* end media query */

@media screen and (max-width: 767px) {
    .plan-card {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
    }
    .plan-card p {
        font-size: 13px;
    }
    .slogan {
        font-size: 4vw;
    }
    .slogan strong {
        font-size: 140%;
    }
	
} /* end media query */

@media screen and (max-width: 600px) {
	.plan-card img {
		display: none;
	}
	.plan-card-text {
		width: 100%;
		text-align: center;
		/*padding: 1em;*/
	}
	.plan-card strong {
    	font-size: 110%;
		margin-top: 4px;
	}
	

} /* end media query */

@media screen and (max-width: 480px) {
    /*.slogan {
        font-size: 4vw;
    }
	.plan-card {
		max-width:350px;
		flex-direction: column-reverse;
		padding-left: 0;
		margin-bottom: 2em;
		height: auto;
	}
	.plan-card img {
		width: 100%;
	}
	.plan-card-text {
		width: 100%;
		text-align: center;
		padding: 1em;
	}*/

    /*.plan-mix::before {
        content: '';
    }*/
} /* end media query */


/*--------------------------------------------------------------
# course-intro
--------------------------------------------------------------*/
.course-intro {
    padding-bottom: 4em;
    /*margin-bottom: 2em;*/
    /*background: url(../images/bg_bluegrid.png);
    background-size: 13px 13px;*/
    /*background: #fdf8e5;
	background-image: repeating-linear-gradient(
45deg ,#fff, #fff 2px,rgba(0,0,0,0) 0, rgba(0,0,0,0) 7px);*/
}

.top-border {
	border-top: 3px dashed #F59100;
}
.btm-border {
	border-bottom: 3px solid #F59100;
}

/*--------------------------- cover-four-area ----------------------------*/

.cover-area-list > li {
    margin-bottom: 5em;
    padding: 0 1.5em;
}
.cover-item {
    position: relative;
    height: 100%;
}

.cover-item::after {
    content: '';
    display: block;
    width: 100%;
    height: 30%;
    background: #fff;
    border-left: 3px solid #008bcf;
    border-right: 3px solid #008bcf;
    border-bottom: 3px solid #008bcf;
    border-radius: 0 0 15px 15px;
    position: absolute;
    bottom: 0;
}
.cover-area {
    margin-bottom: 0;
}
.cover-card {
    overflow: visible;
    position: relative;
    padding: 2em 1.5em;
    box-shadow: none;
    
}
.cover-img {
    position: absolute;
}
.cover-problem {
    padding-left: 120px;
    margin-bottom: 90px;
    border-color: #ee780f;
}
.cover-problem::after {
    font-family: "Font Awesome 5 Free";
    content: "\f063";
    font-weight: 900;
    font-size: 60px;
    color: #78c97c;
    display: block;
    position: absolute;
    bottom: -95px;
    width: 90%;
    text-align: center;
    right: 0;
}
.cover-solution {
    padding-bottom: .5em;
    z-index: 5;
    border-left: 3px solid #008bcf;
    border-right: 3px solid #008bcf;
    border-top: 3px solid #008bcf;
    border-bottom: none;
    border-radius: 15px 15px 0 0;
    margin-bottom: 20px;
}
.cover-solution p {
    padding-right: 100px;
}
.cover-solution p:last-of-type {
    margin-bottom: 0;
}
.problem-img {
    width: 90px;
    bottom: -2.2em;
    left: 1.4em;
}
.solved-img {
    width: 100px;
    bottom: -1em;
    right: 1.5em;
    z-index: 10;
}
.cover-field {
    display: inline-block;
    padding: 0.3em 0.6em 0.5em;
    background: #008bcf;
    color: #ffea3c;
    font-size: 1.4rem;
    position: absolute;
    line-height: 0.7;
    top: -1em;
    border-radius: 8px
}
.cover-title {
    text-align: left;
}
.cover-title::after {
    margin-left: 0;
}

@media screen and (max-width: 767px) {
    .cover-area-list > li {
        max-width: 500px;
        margin: 0 auto 5em;
    }
	
} /* end media query */




/*--------------------------- onsite ----------------------------*/

.onsite-plan {
	padding-bottom: 2em;
	border-bottom: 4px solid #FFF500;
	margin-bottom: 4em;
}
.onsite-prices {
    justify-content: center;
    margin-bottom: 2em;
}
.onsite-prices > li {
    margin-bottom: 1em;
}
.price-card {
    padding: 25px;
    height: 100%;
    /*font-size: 1rem;*/
}
/* 中3英検2級入会金用*/

.plan-intro {
    /*display: flex;*/
}


.price-card {
    max-width: 600px;
}
.admission-fee {
    text-align: center;
}
.plan-description em {
    font-size: 120%;
}


/*---------------------------  料金表(plan.cssより） ----------------------------*/

.prices {
	margin-bottom: 3em;
}
.table-wrap {
	max-width: 1050px;
	width: 100%;
	margin: 0 auto;
}
.price-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	padding: 0; 
	margin-bottom: 40px;
	font-size: 14px;
    table-layout: fixed;
    /*margin-top: -1em;*/
}

.price-table caption {
    font-size: 12px;
    text-align: right;
	caption-side: top;
    padding-bottom: 0;
	padding-top: 0;
}
.price-table th,
.price-table td {
    padding: 10px 10px;
    /*border-right: 1px solid #d9eef8;
	border-bottom: 1px solid #d9eef8;*/
	border: 1px solid #d9eef8;
    text-align: center;
    vertical-align: middle;
	line-height: 1.5;
}
.price-table thead tr {
    background: #3db143;
    color: #fff;
    font-weight: bold;
}
.price-table thead th {
	text-align: center;
}
.price-table thead th:first-child {
	width: 40%;
}

.price-table tbody {
    background: #fff;
    border-bottom: 5px solid #ebf7ff;
}
.price-table th[scope="row"] {
    font-weight: normal;
	text-align: left;
	/*padding: 0 0 10px;*/
}
.price-table th[scope="row"] dl {
	margin-bottom: 0;
}
.price-table th[scope="row"] dt {
	/*padding: 10px 15px 0px;*/
	color: #333;
	margin-bottom: 0px;
	font-weight: bold;
}
.price-table .main-row th[scope="row"] dt { 
	font-size: 18px;
}
.price-table .main-row th[scope="row"] dt em {
	font-size: 28px;
	font-style: normal;
	color: #008bcf;
	position: relative;
	top: 2px;
	margin-right: 2px;
}
.price-table .option-row th[scope="row"] dt { 
	font-size: 15px;
	margin-bottom: 4px;
}
.price-table .option-row th[scope="row"] dt small {
	display: block;
	background: #f59100;
	color: white;
	padding: 2px 6px;
	border-radius: 5px;
	width: 62px;
	text-align: center;
	font-size: 10px;
	margin-left: -10px;
	margin-bottom: 4px;
}
.price-table th[scope="row"] dd {
	/*padding-left: 30px;*/
	font-size: 13px;
	line-height: 1.5;
	margin-bottom: 0;
}
.price-table th[scope="row"] dd > ul {
    padding-left: 0;
	margin-bottom: 0;
    list-style: none;
    font-size: .85rem;
}
.price-table th[scope="row"] dd > ul li {
	text-indent: -1em;
    padding-left: 1em;
	margin-bottom: 4px;
}
.price-table th[scope="row"] dd > ul li::before {
	content: "・";
}
.price-table .option-row th[scope="row"] dl {
	margin-left: 15px;
}

.price-table td em {
    font-size: 20px;
    font-style: normal;
    font-weight: bold;
    color: #008bcf;
    margin-right: 2px;
}
.price-table td small {
	display: block;
}


@media screen and (max-width: 575px) {
	
	.price-table {
        margin-top: 0;
    	margin-bottom: 20px;
	}
	
	.price-table thead {
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
	}
	.price-table tr {
		display: block;
	}
	.price-table tbody {
    	border-bottom: 30px solid #ebf7ff;
	}
	.price-table th[scope="row"] {
		display: block;
		text-align: left;
		
		padding: 10px;
	}
	
	.price-table th[scope="row"] > dl {
		display: flex;
	}
	.price-table th[scope="row"] dt {
		color: #fff;
		width: 45%;
	}
	.price-table td {
		display: block;
		text-align: right;
		padding: 7px 20px;
	}
	.price-table td::before {
		content: attr(data-label);
		float: left;
		font-weight: normal;
		font-size: 14px;
		color: #343434;
		padding-top: 4px;
	}
	
	.price-table .main-row th[scope="row"] {
		color: #fff;
		background: #3db143;
		border-radius: 10px 10px 0 0;
		padding-top: 18px;
	}
	.price-table .main-row th[scope="row"] dt em {
		color: #ffea3c;
	}

	.price-table .option-row th[scope="row"] {
	    background-image: url(../images/bg_dot_blue.png);
	    background-size: 6px 6px;
	    border-top: 2px solid #669900;
	    border-bottom: 2px solid #669900;
	}
	
	.price-table .option-row th[scope="row"] dt {
		color: #669900;
	}

	.price-table tbody tr:last-child td:last-child {
		border-bottom: 4px solid #3db143;
	}
    .border-row {
        border-bottom: 3px solid #009FFF;
    }

} /* end media query */

/*--------------------------- 随時オプション（plan.cssより） ----------------------------*/

.one-time-options {

}
.option-title {
	display: inline-block;
	float: left;
	margin-right: 10px;
}
.option-title-spl {
	font-size: 13px;
	padding-top: 10px;
}
.options-list {
	display: flex;
	justify-content: space-around;
	padding-left: 0;
	width: 100%;
	max-width: 1050px;
	margin: 0 auto;
}
.option-item {
	padding: 1.5em;
	width: 45%;
	height: auto;
}
.option-item-title {
	font-size: 14px;
	line-height: 1.5;
    list-style: none;
    text-align: center;
}
.option-item-title em {
	display: block;
	font-size: 18px;
	color: #333;
	font-weight: bold;
	font-style: normal;
}
.option-item-title strong {
	font-size: 28px;
	font-weight: bold;
	color: #008bcf;
	position: relative;
	top: 2px;
	margin-right: 3px;
}
.option-item ul {
	padding-left: 1em;
}

.one-time-options .caution {
    font-size: 11.2px;
    color: #343434;
    margin-left: .5em;
}


@media screen and (max-width: 575px) {
	
	.option-title {
		display: block;
		float: none;
    	margin-bottom: -0.5em;
	}
	.options-list {
		flex-direction: column;
		align-items: center;
		width: 100%;
	}
	.option-item {
		width: 100%;
		margin: 0 0.5em 2em;
	}
	
} /* end media query */


/* course-introの各コース料金（従来）*/
.plan-intro-purpose .price-card {
    max-width: 700px;
}
.price-card-title {
    text-align: center;
    font-size: 1.3rem;
    color: #00437f;
    margin-bottom: 1em;
    font-weight: bold;
}
/*.price-card h5 {
    text-align: center;
    font-size: 1.3rem;
    color: #00757f;
    margin-bottom: 1em;
    font-weight: bold;
}
.price-card h5 em {
    font-size: 125%;
    white-space: nowrap;
}*/
.price-list > dt {
    float: left;
    width: 8em;
    clear: both;
    /*line-height: 1.2;*/
}
.price-list > dd {
    padding-left: 8em;
    margin-bottom: 0;
	/*float: left;*/
}
.price-list > dt.addition {
	font-size: .8rem;
	font-weight: normal;
	margin-top: .5rem;
}
.price-list > dd.addition 
.plan-price {
    margin-left: 2em;
    white-space: nowrap;
    display: inline-block;
    line-height: 1.2;
}
.price-list em,
.price-list strong {
    font-size: 180%;
    position: relative;
    bottom: -2px;
    margin: 0 2px;
}
.price-list strong {
    color: #008bcf;
}
.price-list .nested dt {
    font-weight: normal;
    float: left;
    width: 100px;
    width: 120px;
    margin-top: 1em;
    font-size: 90%;
}

.plan-description {
    font-size: 13px;
    margin-bottom: 2em;
    line-height: 1.6;
}
.plan-description dt {
    width: 160px;
    float: left;
    clear: left;
}
.plan-description dt >span {
    background: #009FFF;
    color: white;
    font-weight: bold;
    line-height: 2;
    padding: 2px 10px 0;
    display: inline-block;
    border-radius: 5px;
    margin-bottom: 7px;
}
.plan-description dd {
    padding-left: 160px;
    padding-top: .4em;
    margin-bottom: .8em;
}

.plan-intro-purpose .price-list {
    margin-bottom: 0em;
}
    
@media screen and (max-width: 991px) {
    .price-card h4 {
        margin-bottom: .5em;
    }
    .price-card h4 em {
        /*display: block;*/
    }
    .price-list .nested dd {
        margin-bottom: 0;
        line-height: 1;
    }
	
} /* end media query */

@media screen and (max-width: 767px) {
	
    .price-card {
        height: auto;
        /*width: 100%;*/
        max-width: 600px;
        margin: 0 auto 1em;
    }
    .price-list .nested dt {
        margin-top: .4em;
    }
    .price-list .nested dd {
        line-height: 1.3;
    }
    
} /* end media query */

@media screen and (max-width: 575px) {
    .plan-description dt {
        float: none;
    }
    .plan-description dd {
        padding-left: 1em;
    }
    .business-hour dt {
        float: none;
    }
    .business-hour dd {
        margin-left: 0;
    }
    .price-list > dt {
        /*width: 100px;*/
    }
	.price-list > dd {
		padding-left: 0;
		margin-bottom: 0;
		float: right;
	}
	.plan-price {
		margin-left: 0;
		white-space: normal;
		display: inline;
		line-height: inherit;
	}
	
	
} /* end media query */
    

/*--------------------------------------------------------------
# features
--------------------------------------------------------------*/

.features {
    /*padding-bottom: 2em;*/
}
.features h4 {
    font-size: 1.4rem;
    margin-bottom: .5em;
    color: #3db143;
    letter-spacing: -0.05em;
}
/*.features h5 {
    font-size: 1.2rem;
    color: #00437f;
    margin-bottom: 0.1em;
}*/
.features p {
    margin-bottom: .5em;
    
}
.features-list {
    counter-reset: my-counter;
	margin-bottom: 4em;
}
.features-list strong {
    color: #008bcf;
    font-weight: bold;
	background: linear-gradient(transparent 40%, #FFF500 41%, #FFF500 85%, transparent 0);
}
.features-list em {
    color: #008bcf;
    font-weight: bold;
	
}

.features-item {
    margin-bottom: 2em;
    padding: 2em 3em;
    border-radius: 15px;
    /*box-shadow: 1px 1px 5px rgba(0,0,0,0.15);*/
    /*background: url("../images/bg_yellowgrid.png");
    background-size: 13px 13px;*/
    background: #fff;
    border: 4px solid #3db143;
}
.features-list.alt .features-item {
	border-color: #008bcf;
}
.onsite-plan .features-item {
	background: #fffee5;
}
.features-item:nth-child(even) {
    /*background: url("../images/bg_bluegrid.png");
    background-size: 13px 13px;*/
    /* background: #ebf5fb; */
}
.features-item > .row {
    align-items: center;
    justify-content: space-between;
}
.features-item:nth-child(even) > .row {
    flex-direction: row-reverse;
}
.features-item .text-box {
    position: relative;
    z-index: 2;
    padding-left: 3.5em;
    margin-top: 1em;
    width: 73%;
}
.features-item .text-box::before {
    content: counter(my-counter);
    counter-increment: my-counter;
    color: #7fc5e7;
    font-weight: bold;
    font-size: 5em;
    display: block;
    position: absolute;
    left: 0;
    top: -0.5em;
    z-index: -1;
    font-family: "Rounded Mplus 1c";
	/*text-shadow: 2px 2px 0 #009FFF, -2px 2px 0 #009FFF, 2px -2px 0 #009FFF, -2px -2px 0 #009FFF;*/
	/*text-stroke: 2px #009FFF;
  	-webkit-text-stroke: 2px #009FFF;*/
}

.features-list .pict-box {
    width: 25%;
}
.features-list .pict-box img {
    border-radius: 50%;
    border: 3px solid #008bcf;
    /*filter: drop-shadow(1px 1px 5px rgba(0,0,0,0.15));*/
	/*filter: drop-shadow(2px 2px #009FFF);*/
}
.features-item:nth-child(even) img {
    /* border-color: #154e86; */
}
.features-list.alt .pict-box img {
	border-color: #3db143;
}
.feature-figure {
    margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
    .features-item {
        padding: 1em 2.5em;
    }
	
} /* end media query */

@media screen and (max-width: 575px) {
    
    .features h4 {
        font-size: 1.15rem;
    }
    .features-item {
        display: block;
        padding: 3em 2em 2em;
    }
    .features-item .text-box {
        width: 100%;
        padding-left: 0;
        margin-bottom: .6em;
    }
    .features-item .text-box::before {
        font-size: 3.5em;
        top: -1.2em;
    }
    .features-item .pict-box {
        max-width: 200px;
        width: 80%;
        margin: 0 auto;
    }
    .feature-figure {
        margin-left: -15px;
        margin-right: -15px;
		margin-bottom: 0;
    }
	
} /* end media query */


/*------ features 英検優遇事例*/
.features-topic {
    border-top: 3px solid #008bcf;
    border-bottom: 3px solid #008bcf;
    margin-top: 3.5em;
    margin-left: 3em;
    padding: 1em 0 1.5em;
}
.topic-header {
    margin-bottom: 1em;
    display: flex;
    align-items: flex-end;
    margin-top: -3.5em;
    padding-right: 1em;
}
p.alert-wrap {
    padding:  0 1em 1em 0;
    background: #fff;
    min-width: 155px;
}
.topic-contents {
    padding: 0 1em;
}
.topic-contents img {
    width: 30%;
    margin-bottom: 1em;
}
.topic-contents img.float-left {
    margin-right: 3%;
}
.topic-contents img.float-right {
    margin-left: 3%;
}

/*------ 英検準1級事例*/

.topic-chart h6 {
    font-size: 1.1rem;
    color: #3db143;
}
.chart-caption {
    font-weight: bold;
    text-align: center;
}
.chart-caption::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0a4";
    font-weight: 900;
    font-size: 150%;
    color: #ee780f;
    margin-right: .2em;
}

.chart-toggle-link[aria-expanded="true"] .toggle-show,
.chart-toggle-link[aria-expanded="false"] .toggle-hide {
    display: none;
}
.chart-toggle-link[aria-expanded="true"] .toggle-hide,
.chart-toggle-link[aria-expanded="false"] .toggle-show {
    display: inline;
}

.topic-table {
    width: 100%;
	margin: 0;
	padding: 0; 
	font-size: 13px;
    table-layout: fixed;
    border: 2px solid #66b9e2;
}
.topic-table th,
.topic-table td {
    padding: 5px 5px;
    border-right: 1px solid #66b9e2;
	border-bottom: 1px solid #66b9e2;
    vertical-align: middle;
	line-height: 1.5;
}
.topic-table th {
    text-align: center;
    background: #cce8f5;
    border-bottom-width: 2px;
}
.topic-table th:nth-child(2) {
    width: 48%;
}
.topic-table th:nth-child(4) {
    width: 14%;
}
.topic-table td[colspan="4"] {
    text-align: center;
    background: #ebf7ec;
    font-weight: bold;
}

@media screen and (max-width: 992px) {
    .topic-chart {
        margin-left: -3em;
    }
	
} /* end media query */

@media screen and (max-width: 767px) {
    .features-topic {
        margin-left: 0;
    }
    .topic-chart {
        margin-left: 0;
    }
    .topic-table-wrap:first-child .topic-table {
        border-bottom: none;
        margin-bottom: -1px;
    }
    
	
} /* end media query */

@media screen and (max-width: 575px) {
    .features-topic {
        margin-left: -15px;
        margin-right: -15px;
    }
    .topic-header {
        display: block;
        padding-right: 0;
    }
    p.alert-wrap {
        display: inline-block;
    }
    .topic-contents {
        padding: 0;
    }
    .topic-contents img {
        width: 45%;
        margin-bottom: 0.5em;
    }
	
} /* end media query */

/*------ features 受講料比較*/
.features-figure {
    margin: 2em auto 1em;
    max-width: 900px;
}

@media screen and (max-width: 480px) {
    .features-figure {
        margin: 2em -15px 0;
    }
	
} /* end media query */

/*------ features 学習時間チャート*/
.wlesson-diagram h4 {
    font-size: 1.2rem;
    margin-bottom: .5em;
    padding-left: 1em;
    text-align: center;
    color: #009FFF;
    letter-spacing: -.03em;
}
.wlesson-diagram h4 b {
    font-weight: bold;
    color: #00437f;
    font-size: 130%;
    margin: 0 2px;
}
.wlesson-diagram h4 .emphasis {
    margin-top: -.7em;
    display: block;
}
.wlesson-diagram h4 strong {
    font-size: 200%;
    position: relative;
    top: 5px;
}
.wlesson-chart {
    /*background: #fff;*/
    padding: 1.5em;
    border-radius: 10px;
    margin-bottom: 0;
    /*box-shadow: 1px 1px 5px rgba(0,0,0,0.15);*/
    
}
.wlesson-chart-part {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1em;
}
.wlesson-table {
    margin-bottom: 0;
    /*width: 47%;*/
}
.class-only-table {
    /*width: 38%;*/
    width: 27%;
}
.plus-online-table {
    /*width: 55%;*/
    width: 65%;
}
.wlesson-table caption {
    font-weight: bold;
    color: #333;
    text-align: left;
    line-height: 1.2;
    margin-bottom: 5px;
    caption-side: top;
    font-size: 1rem;
    padding: 0;
}
/*.class-only-table caption {
    padding-top: 1.1em;
}*/
.wlesson-table th, 
.wlesson-table td {
    /*width: 50%;*/
    padding: 8px 5px;
    border: 1px solid #999;
    text-align: center;
    vertical-align: middle;
    font-size: .93rem;
}
.class-only-table th,
.class-only-table td {
    width: 50%;
}
.plus-online-table th,
.plus-online-table td {
    width: 43%;
}
.wlesson-table .trans {
    background: none;
    border: none;
    width: 14%;
    padding: 0;
}
.trans i {
    font-size: 40px;
    color: #66C5FF;
    position: relative;
    top: -10px;
}

.wlesson-table th {
    background: #FFF500;
}
.wlesson-table td {
    line-height: 1.4;
	background: #fff;
}
.wlesson-table td strong {
    font-size: 200%;
    color: #00437f;
    line-height: 1;
    position: relative;
    top: 5px;
    margin: 0 .1em;
	background: none;
}
.wlesson-table td strong.red {
    color: #009FFF;
}
.plus-sign {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    color: #66C5FF;
}
.wlesson-chart-part:first-child .plus-sign {
    padding-top: 40px;
}
.plus-online-table th:last-child {
    background: #009FFF;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .class-only-table caption {
        padding-top: 0.9em;
        padding-bottom: .2em;
    }
    .plus-sign,
    .trans i {
        font-size: 5vw;
    }
	
} /* end media query */

@media screen and (max-width: 575px) {
    
    .wlesson-chart {
        margin-left: -15px;
        margin-right: -15px;
		padding-bottom: 0;
    }
    .wlesson-chart-part > * {
        margin-bottom: .5em;
    }
    .wlesson-diagram h4 {
        font-size: 1rem;
    }
    .wlesson-chart-part {
        display: block;
    }
    .wlesson-table {
        width: 100%;
        
    }
    .wlesson-table span.tablet-sp {
        display: inline;
    }
    .wlesson-table caption.tablet-sp {
        display: table-caption;
    }
    .wlesson-table thead.tablet-sp {
        display: table-header-group;
    }
    
    .class-only-table caption::before {
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f0a4";
        color: #e70012;
        font-size: 140%;
        margin-right: 5px;
    }
    .wlesson-chart-part:first-child .plus-sign {
        padding-top: 0;
    }
	
} /* end media query */

.wlesson-chart h5{
	font-weight: bold;
    color: #008e06;
	font-size: 1rem;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.wlesson-chart h5:not(:first-child){
	margin-top: 2em;
}
.wlesson-chart-box p{
	margin: 0;
}
.wlesson-chart-time{
	border: 1px solid #999;
    padding: 10px 20px;
	text-align: center;
}
.wlesson-chart-time .arrow{
	padding: 0 1em;
}
.wlesson-chart-time .arrow:before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #808080;		
}
.wlesson-chart-plus{
	text-align: center;
	font-size: 150%;
	color: #ffc107;
}
.wlesson-chart-time strong{
    font-size: 200%;
    color: #008e06;
    line-height: 1;
    position: relative;
    top: 5px;
    margin: 0 .1em;
}
.wlesson-chart-online{
	color: #ff5722;
	font-size: 90%;
}
.wlesson-chart-arrow{	
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 20px;
}
.wlesson-chart-arrow:before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 400%;
    color: #ffc107;
    line-height: 0.8;
}
.wlesson-chart-finish{
	display: flex;
	justify-content: center;
	align-items: center;
    background: #008e06;
    color: #FFF;
	padding: 20px;
}
.wlesson-chart-finish p{
	line-height: 1;
}
.wlesson-chart-finish.online p{
	font-size: 90%;
}
.wlesson-chart-finish strong{
	font-size: 200%;
	color: #FFDD00;
	line-height: 1;
    position: relative;
    top: 5px;
    margin: 0 .1em;
}

.wlesson-chart-time span {
	white-space: nowrap;
	display: inline-block;
}
.wlesson-chart-time .notes {
	position: relative;
	margin-bottom: 1em;
}
.wlesson-chart-time .notes::after {
	content: '(1日15分ｘ7日)';
	font-size: 80%;
	position: absolute;
	display: inline-block;
	left: 0;
	top: 130%;
	right: 0;
}


@media screen and (min-width: 768px) {
	.wlesson-chart-box p{
		line-height: 1;
	}
	
	.wlesson-chart-box{
		display: flex;
		justify-content: space-between;
	}
	.wlesson-chart-time{
		width: 60%;
		position: relative;
		
	}
	
	.wlesson-chart-time .arrow:before{
		content: "\f061";
	}
	.wlesson-chart-arrow:before{
		content: "\f0da";
	}
	.wlesson-chart-arrow{
		width: 10%;
	}
	.wlesson-chart-finish{
		width: 30%;
	}
} /* end media query */

@media screen and (max-width: 767px) {
	.wlesson-chart-time span{
		display: block;
	}
	.wlesson-chart-time .arrow:before{
		content: "\f063";
	}
	.wlesson-chart-arrow:before{
		content: "\f0d7";
	}
	.wlesson-chart-time p.bk_sp{
		background: #e9e9e9;
    	padding: 5px;
	}
	.wlesson-chart-time p.bk_sp.wlesson-chart-online{
		background: #fff8b9;
	}
	.wlesson-chart-time .notes::after {
    	top: 90%;
	}
} /* end media query */








/*--------------------------- course-list ----------------------------*/

.course-category {
    display: inline-block;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
    font-weight: bold;
    padding: 8px 8px 5px;
    border-radius: 8px;
    background: #669900;
    color: #fff;
    position: absolute;
    left: 25px;
    top: -24px;
    z-index: 2;
}



.course-item {
    height: 100%;
    position: relative;
    padding-top: 1em;
}
.course-item h4 {
    font-weight: bold;
    text-align: center;
    margin-bottom: 1em;
    font-size: 1.2rem;
    position: relative;
    color: #00437f;
	margin-left: -7px;
	margin-right: -7px;
}
.course-item h4::before, 
.course-item h4::after {
    font-family: "Font Awesome 5 Free";
    content: "\f005";
    font-weight: 900;
    font-size: 50%;
    margin-right: 5px;
    margin-left: 5px;
    position: relative;
    top: -.25em;
}
.course-special h4,
.course-special02 h4 {
    
}
.course-item h5 {
    /*font-size: 1.2rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: 1em;
    color: #00437f;*/
}

.course-item img {
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    margin-bottom: 0;
}

.course-item-description {
    padding: 2em 20px 50px;
    position: relative;
	background: #fff;
}
.course-item-description em {
    color: #009FFF;
}


.course-item .btn {
    font-size: .8rem;
    font-weight: bold;
    border-radius: 8px;
    position: absolute;
    right: 20px;
    bottom: 20px;
    text-decoration: none;
	background: #FFF500!important;
	color: #009FFF!important;
	border: 2px solid #009fff!important;
	
}
.course-item .card-description {
    position: static;
}
.label-special {
    font-size: 12px;
    font-weight: bold;
    display: inline-block;
    background: #008bcf;
    color: #fff;
    padding: 5px 10px 3px 5px;
    border-radius: 5px;
    position: absolute;
    left: 12px;
	top: 12px;
    text-align: right;
}
.label-special a {
    text-decoration: none;
    color: #fff;
}
.label-special::before {
    font-family: "Font Awesome 5 Free";
    content: "\f005";
    font-weight: 900;
}

.course-item-plan {
    padding: 20px 20px 60px;
    background: #ccecff;
    /*border-radius: 0 15px 15px 0;*/
}
.course-item-plan h5 {
    letter-spacing: .5em;
}
/*.course-item-plan .price-list > dt {
    width: 115px;
}
.course-item-plan .price-list > dd {
    padding-left: 115px;
    margin-bottom: 0;
}*/
.price-list .plan-feature {
    padding-left: 0;
    margin-bottom: .8em;
}
.plan-feature .badge {
    font-size: 11px;
    border-radius: 6px;
    padding: 0.5em 0.6em;
    margin-bottom: .4em;
}
.plan-feature .badge-success {
    color: #fff;
}
.course-option h6 {
    font-weight: bold;
    font-size: 1.05rem;
    margin-bottom: .2em;
}

/*--- course-special レイアウト */

.course-list > li {
    margin-bottom: 40px;
    position: relative;
}
.course-special-list > li {
    margin-bottom: 4em;
}
.course-special {
    display: flex;
    justify-content: flex-end;
    background: url("../images/course_intro_bg_11.jpg") no-repeat;
    background-position: left top;
   background-size: contain;
}
.course-special.item-02 {
    background: url("../images/course_intro_bg_14.jpg") no-repeat;
    background-size: contain;
}
.course-special.item-03 {
    background: url("../images/course_intro_bg_01b.jpg") no-repeat;
    background-size: contain;
}
.course-special.item-04 {
    background: url("../images/course_intro_bg_07.jpg") no-repeat;
    background-size: contain;
}
.course-special.item-05 {
    background: url("../images/course_intro_bg_13.jpg") no-repeat;
    background-size: contain;
}
.course-special-pt {
    width: 35%;
    position: relative;
    min-width: 320px;
}
.course-special .course-item-description {
    /*padding-top: 3.5em;*/
    padding-bottom: 4.5em;
    /*background: #fff;*/
}
.price-list.long {
    line-height: 1.2;
}
.price-list.long > dt {
    float: none;
    width: 100%;
}
.price-list.long > dd {
    padding-left: 1em;

}

/*---course-special02 横並びバージョン*/

.course-special02 {
    background: #ccecff;
}
.course-special-list02 > li  {
    margin-bottom: 0;
}
.course-special-list02 .course-item-description {
    padding: 2em 20px 1em;
}
.course-special-list02 .price-list {
	margin-bottom: 0.5em;
}

@media screen and (max-width: 992px) {
    .course-special.item-02 {
        background-position: -140px top;
    }
    .course-special.item-03 {
        background-position: -120px top;
    }
    .course-special.item-04 {
        background-position: -100px top;
    }
	
} /* end media query */


@media screen and (max-width: 767px) {
    .course-special {
        display: block;
        background: pink;
    }
    .course-special-pt {
        width: 100%;
        min-width: auto;
    }
    .course-item-plan {
        border-radius: 0 0 15px 15px;
    }
    .course-special-list > li:last-child {
        margin-bottom: 0;
    }
	
	.course-special-list02 > li {
		max-width: 500px;
		margin: 0 auto 4em;
	}
    .course-list > li {
		max-width: 500px;
		margin: 0 auto 4em;
	}
	
} /* end media query */
.course-special-list02 li:not(:last-child) .course-item-description {
    padding-bottom: 3.7em;
}


@media screen and (max-width: 575px) {
    
    .course-list.simple > li {
        margin-bottom: 35px;
        max-width: 380px;
        margin: 0 auto 35px;
    }
    .home-course-intro .course-list > li {
        max-width: 460px;
    }
    
    
} /* end media query */


/*--------------------------------------------------------------
# course案内(lowerより)
--------------------------------------------------------------*/

/*--------------------------- タブ見せ ----------------------------*/

.nav-tabs {
    border-bottom: 4px solid #008bcf;
}
.nav-tabs .nav-item {
    margin-bottom: 0px;
}
.nav-tabs .nav-link {
	border-color: #B2DCF1 #B2DCF1 transparent;
	height: 100%;
	border-radius: 15px 15px 0 0;
}
.nav-tabs .nav-link:hover, 
.nav-tabs .nav-link:focus {
	opacity: 1;
	border-color: #008bcf #008bcf transparent;
}
.nav-tabs .nav-link.active {
	border-width: 3px;
	border-color: #008bcf #008bcf #fff;
    position: relative;
    bottom: -4px;
}


@media screen and (max-width: 600px) {
	.nav-tabs .nav-link {
		padding: .3em;
	}

} /* end media query */



/* --- course-wrap下部のトグルボタン */

.toggle-links {
	width: 96%;
	position: absolute;
    top: calc(100% - 0px );
	left: 0;
    right: 0;
    margin: auto;
}
.course-toggle-btn {
	width: 100%;
	max-width: 360px;
	border: 3px solid;
	border-color: #fff #008bcf #008bcf;
	margin: 0 0 0 auto;
	padding: .5em;
	border-radius: 0 0 15px 15px;
	background: #fff;
	position: relative;
}
.course-toggle-btn:hover,
.course-toggle-btn:active,
.course-toggle-btn:focus {
	opacity: 1;
	top: -2px;
}
.course-toggle-btn.alt {
	margin: 0 auto 0 0;
}
.course-toggle-btn .plan-card-text strong {
	font-size: 120%;
}

/* --- 下のタブ →画面はかわるがトップにスクロールしないのでやめる */

/*.nav-tabs.bottom {
	border-bottom: none;
    border-top: 4px solid #008bcf;
}
.nav-tabs.bottom .nav-link {
	border-color: transparent #B2DCF1 #B2DCF1;
	border-radius: 0 0 15px 15px;
}
.nav-tabs.bottom .nav-link:hover, 
.nav-tabs.bottom .nav-link:focus {
	border-color: transparent #008bcf #008bcf;
}
.nav-tabs.bottom .nav-link.active {
	border-color: #fff #008bcf #008bcf;
    bottom: 4px;
}*/


/*--------------------------- course内容 ----------------------------*/

/*topにもcourse-listがあるので、こちらのセレクタはcourse-detail-listに変更する*/
.course-wrap {
	background: #fff;
	padding: 2em;
	padding-bottom: 1em;
	margin-bottom: 4em;
	border-bottom: 4px solid #008bcf;
	position: relative;
}
.course-wrap .title-mid::before {
	font-family: "Font Awesome 5 Free";
    content: "\f0eb";
    font-weight: 900;
	display: block;
	color: #ee780f;
	font-size: 2rem;
}
.course-wrap dl {
	font-size: .93rem;
}

.course-detail-list {
	margin-bottom: 4em;
	padding-left: 0;
	list-style: none;
}

.course-detail-list .box-w-pict {
	/*padding-right: 220px;
	background: url(../images/course_every_01.jpg) no-repeat right top;
	background-size: 200px;*/
	margin-bottom: 3em;
}
.course-detail-list .floatr-img {
	float: right;
    width: 23%;
    margin: 0 0 1% 2%;
}
.course-detail-list strong {
	color: #008bcf;
}
.course-category .note {
    font-size: 13px;
    font-weight: bold;
    margin-left: 30px;
}
.course-category .note-small {
    font-size: 11px;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    padding-left: 1em;
    text-indent: -1em;
}

/*------------- suitable-for */
.suitable-for {
	display: table;
	margin-top: 2em;
	margin-left: 3em;
}
.suitable-for > dt {
    display: table-cell;
    vertical-align: middle;
    color: #fff;
    padding: 15px;
    background: #ee780f;
    font-weight: bold;
    border-radius: 5px;
    width: 120px;
    text-align: center;
}
.suitable-for > dd {
    margin-left: 10px;
}
.suitable-for dd:first-child {
	margin-top: 7px;
}
.suitable-for dd:last-child {
	margin-bottom: 7px;
}

.suitable-for dd,
.price-list dd,
.option-list li ul>li {
	padding-left: 1em;
	text-indent: -1em;
	
}
.suitable-for dd {
	margin-bottom: 0.2em;
}
.suitable-for dd::before,
.price-list dd::before,
.option-list li ul>li::before {
	content: "・"
}

/* ---- nested */

.suitable-for.nested > dd::before {
	content: none;
}

.textbook-list {
	margin-left: 3em;
}
.textbook-list dt {
	font-size: 1rem;
	line-height: 1.5;
	padding-left: 1.5em;
	text-indent: -1.5em;
	margin-bottom: .3em;
	color: #008bcf;
}
.textbook-list dt small {
	font-weight: bold;
	display: block;
	margin-left: 1.9em;
	color: black;
	margin-top: 2px;
}
.textbook-list dt::before {
	font-family: "Font Awesome 5 Free";
	content: "\f518";
	font-weight: 900;
	margin-right: .45em;
	font-size: 95%;
	color: #008bcf;
}
.textbook-list dd {
	margin-left: 2.5em;
}
.textbook-list .textbook-level {
	font-size: .8rem;
	margin-bottom: .2em;
}
.textbook-list .textbook-description {
	margin-bottom: 1em;
	border-bottom: 1px dotted lightgray;
    padding-bottom: 1em;
}
.textbook-list .textbook-description:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

p.back-btn {
	text-align: center;
}


@media screen and (max-width: 575px) {
	
	.course-wrap {
		padding: 1em;
	}
	.course-detail-list > li {
    	padding: 0 20px 10px;
	}
	.course-detail-list h3 {
		margin: 0 -20px 1em;
	}
	.course-detail-list .floatr-img {
    width: 25%;
	}
	.course-detail-list h3 .label-special {
        right: -0.6em;
        top: -3.2em;
    }
	.suitable-for {
		display: block;
		margin-left: 0;
	}
	.suitable-for > dt {
		display: block;
		width: 80%;
		margin: 0 auto 1em;
		padding: 10px 15px 6px;
	}
	.textbook-list {
		margin-left: 0em;
	}
	.textbook-list dd {
		margin-left: 0em;
	}
	
	
} /* end media query */



/*--------------------------------------------------------------
# home-plan
--------------------------------------------------------------*/

.home-plan,
.home-course-intro {
    padding-bottom: 50px;
    /*background-image: url("../images/bg_dot_blue_02.png");
    background-size: 10px 10px;*/
}
.home-course-intro {
    padding-top: 50px;
    /*margin-bottom: 2em;*/
	position: relative;
}

/*--------------------------------------------------------------
# poster-figure
--------------------------------------------------------------*/

.poster-figure {
	/*padding-top: 3em;*/
}
.intro {
	/*padding: 2em 50px 0;*/
	/*margin-bottom: 30px;*/
    position: relative;
}
.poster-alert {
    display: inline-block;
    background: #008bcf;
    padding: 1.5em 2em;
    /*position: absolute;*/
    text-align: center;
    font-weight: bold;
    color: #fff;
    border-radius: 50%;
    /*bottom: 93%;
    left: 8em;*/
    transform: rotate(-5deg);
}
.poster-alert::before {
  content: "";
  position: absolute;
  bottom: -25px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #008bcf;
  z-index: 0;
}

.intro figure {
    width: 35%;
    float: right;
	margin-left: 20px;
	position: relative;
	
}
.intro figure figcaption {
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	margin-top: 5px;
}
/*.intro h3 {
    font-size: 28px;
    font-weight: bold;
    color: #008e06;
    line-height: 1.4;
    font-feature-settings: "palt";
    margin-bottom: 1em;
    position: relative;
    text-align: center;
}*/
/*.intro h2::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0eb";
    font-weight: 900;
    font-size: 140%;
    color: #e50012;
    margin-right: 8px;
}*/
.intro p {
	font-size: 15px;
}
.intro em {
	font-style: normal;
	font-weight: bold;
	color: #008bcf;
}

@media screen and (max-width: 767px) {
	
	.poster-figure {
		padding-top: 0;
	}
	.intro {
		/*padding: 2em 20px 0;
        margin-top: 3em;*/
	}
	.intro figure {
		width: 45%;
	}
} /* end media query */



@media screen and (max-width: 479px) {
	
	/*.intro h2 {
		font-size: 18px;

	}*/
	
	.intro figure {
		width: 80%;
		margin: 0 auto 30px;
		float: none;
	}
	
} /* end media query */

/*--------------------------------------------------------------
# poster-profile
--------------------------------------------------------------*/

.poster-profile {
	background: url(../images/feature_bcgd_01.png);
	background-size: 10%;
	/*border-top: 12px solid #ffd4df;
	border-bottom: 12px solid #ffd4df;*/
	border: 12px solid #ffd4df;
	padding: 30px 20px 70px;
	position: relative;
    /*margin-bottom: 120px;*/
}
.profile-main {
	position: relative;
	width: 100%;
	margin: 0 auto;
    max-width: 1140px;
    
}
.profile-main img {
	max-width: 100%;
}

.poster-profile .slogan {
	width: 80%;
	max-width: 850px;
	text-align: center;
	background: url(../images/feature_bcgd_03.png) #fff3e6;
	background-size: 33px;
	border-radius: 15px;
	box-shadow: 0 4px 6px rgba(0,0,0,0.2);
	font-size: 26px;
	font-weight: bold;
	color: #00437f;
	line-height: 1.5;
	border-bottom: 0;
	padding: 30px 30px 20px;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: -80px;
}


.poster-profile .slogan::before {
	content: "";
	display: block;
	width: 180px;
	height: 100px;
	background: url(../images/feature_icon_tape.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: -33px;
	left: 0px;
	right: 0px;
	margin: 0 auto;
}
.poster-profile .slogan::after {
	content: "";
	display: block;
	width: 60px;
	height: 60px;
	background: url(../images/feature_icon_light.png) no-repeat left center;
	background-size: contain;
	opacity: 0.9;
	position: absolute;
	top: 0px;
	left: 3%;
	bottom: 0px;
	margin: auto 0;
}

@media screen and (max-width: 1199px) {
	.poster-profile .slogan {
		font-size: 3.2vw;
	}
	.poster-profile .slogan::before {
		width: 26%;
		top: -20%;
		height: 60px;
	}
	.poster-profile .slogan::after {
		left: 3%;
		width: 8%;
		height: 100%;
	}
	
} /* end media query */

@media screen and (max-width: 575px) {
	.poster-profile {
		background: none;
		padding: 0;
	}
	
} /* end media query */

@media screen and (max-width: 480px) {
	.poster-profile .slogan {
		font-size: 5vw;
		padding-left: 10%;
        bottom: -100px;
	}
    .poster-profile .slogan::before {
        top: -9%;
    }
    .poster-alert {
        bottom: 95%;
        left: 6em;
    }
	
} /* end media query */


/*--------------------------------------------------------------
# course-news!
--------------------------------------------------------------*/

.course-news {
    margin-bottom: 2em;
	background: #fff;
    border: 1px solid #ccc;
    border-radius: 15px;
	padding: 0 1em;
}
.course-news .poster-alert {
    position: static;
    margin-left: 8em;
	margin-top: -2em;
}
.course-news h3 {
    color: #008e06;
}
.course-news-figure {
    margin-bottom: 2em;
}
.course-news-figure .row {
    align-items: center;
    justify-content: center;
}

.course-news-figure figcaption {
    text-align: center;
    margin-bottom: 1.5em;
    font-weight: bold;
}
.course-news-figure .badge {
    font-size: inherit;
    padding: 8px 12px;
    border-radius: 5px;
    margin-right: .5em;
}
.course-news-figure img {
    border-radius: 20px;
}
.course-news-figure .plus {
    text-align: center;
    font-size: 60px;
    line-height: 1;
    color: #154e86;
    padding: 0;
    margin: .5em 0;
}
.course-news-list {
    padding: 2em 2.5em 1em 3.5em;
    max-width: 870px;
    margin: 0 auto 1.5em;
    background: #fff9e6;
}
.course-news-list em {
    color: #ff5722;
}

@media screen and (max-width: 575px) {
    
    .course-news h3 {
        font-size: 5.3vw;
    }
    .course-news-figure .plus {
        font-size: 8vw;
    }
    .course-news-list {
        padding: 1.5em 1em 1em 1.5em;
    }
	
} /* end media query */

@media screen and (max-width: 480px) {
    
    .course-news-figure .row {
        flex-direction: column;
    }
    .course-news-figure .pict-box {
        flex: 0 0 80%;
        max-width: 80%;
    }
    
	
} /* end media query */

/*--------------------------------------------------------------
# home-catchline
--------------------------------------------------------------*/

.home-catchline {
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
	color: #ee780f;
	font-feature-settings: "palt";
	margin-bottom: 1em;
}
.home-catchline small,
.balloon {
	display: block;
	font-size: 50%;
	font-weight: bold;
	color: #fff;
	width: 200px;
	background: #3db143;
	padding: 10px 0;
	border-radius: 8px;
	/* margin-left: 10%; */
	position: relative;
	margin-bottom: 15px;
}
.balloon {
    font-size: 15px;
    width: auto;
    display: inline-block!important;
    padding: 10px 15px;
}
.home-catchline small::after,
.balloon::after {
	position: absolute;
	content: '';
	top: 100%;
	left: 43%;
	border: 10px solid transparent;
	border-top: 15px solid #3db143;
	width: 0;
	height: 0;
}


@media screen and (max-width: 575px) {
    
    .home-catchline {
            font-size: 4.7vw;
    }
	
} /* end media query */

@media screen and (max-width: 479px) {
	
	.home-catchline small {
		font-size: 65%;
	}
	
} /* end media query */







/*--------------------------- premium feature ----------------------------*/

.premium-feature h4 {
	color: #ed1e79;
	position: relative;
	font-weight: 800;
    font-size: 1.5rem;
    padding-top: 2.3em;
}
.premium-feature .balloon {
    position: absolute;
    top: 0;
}

.premium-feature li {
	display: flex;
}
.premium-feature .card {
	background: #fff;
	padding: 5%;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
	/*--IE11対策*/
	display: block;
}
.premium-feature img {
    display: block;
    max-width: 75%;
	width: 75%;
    margin: 0 auto 1em;
}
.premium-feature h5 {
	color: #ed1e79;
	font-weight: 800;
	text-align: center;
	font-size: 1rem;
}
.premium-feature p {
	font-size: 0.9rem;
	color: #343434;
}

@media screen and (max-width: 575px) {
	
	.premium-feature li {
        max-width: 380px;
        margin: 0 auto;
    }
	
} /* end media query */



/*----- links to detail */

.link-to-detail .row {
	justify-content: space-around;
}
.link-to-detail .row li {
	width: 360px;
	margin-bottom: .5em;
}

.link-to-detail a.btn {
    display: block;
    border-radius: 8px;
    padding: 15px 16px 10px;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.3;
	white-space: normal;
    text-decoration: none;
}
.link-to-detail a.btn small {
	font-size: 1rem;
	font-weight: 800;
}

/*--------------------------------------------------------------
# why-reason
--------------------------------------------------------------*/

.why-reason {
	padding-top: 4em;
	padding-bottom: 2em;
	background: #fff;
	background-image: repeating-linear-gradient(-45deg ,#f7f7f7, #f7f7f7 2px
,rgba(0,0,0,0) 0, rgba(0,0,0,0) 8px);
}

.invisible {
	display: none;
}

/*------ why */

.why-list > li {
	padding-top: 1.5em;
	
}
.why-item {
	padding: 1.5em 1.5em 1em;
    position: relative;
    text-align: center;
    overflow: visible;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.7;
	border: 4px solid #FFF500;
	
}
.why-balloon {
	position: absolute;
	width: 80px;
	height: 91px;
	background: url("../images/icon_why.png") no-repeat;
	background-size: contain;
	left: 20px;
	top: -50px;
	font-size: 40px;
	padding-top: 32px;
	line-height: 1;
	color: #fff;
	filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
}

.why-item dd {
	margin: 0;
	font-size: 1.2rem;
	font-weight: bold;
	color: #009FFF;
}

/*------ reason */

.reason-header {
	text-align: center;
}
.reason-title {
	position: relative;
	background: #009FFF;
	box-shadow: 0px 0px 0px 8px #009FFF;
	border: dashed 2px #FFF500;
	color: #fff;
	margin-bottom: 2em;
	padding: 1rem 2rem 1rem 130px;
	display: inline-block;
	text-align: left;
}
.reason-title:after {
  position: absolute;
  content: '';
  right: -10px;
  bottom: -10px;
  border-width: 0 0 30px 30px;
  border-style: solid;
  border-color: #a8d4ff #a8d4ff #fff;
  box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.15);
}
.reason-flag {
	position: absolute;
	display: block;
	width: 120px;
	height: 136px;
	background: url("../images/icon_reason.png") no-repeat;
	background-size: contain;
	color: #009FFF;
	text-align: center;
	padding-top: 42px;
    font-size: 65px;
    line-height: 1;
    font-weight: bold;
    left: 4px;
    top: -40px;
	filter: drop-shadow(2px 2px 3px rgba(0,0,0,0.2));
}
.reason-subtitle {
	font-size: 1.3rem;
	color: #009FFF;
	margin-bottom: 1em;
}
.reason-subtitle em {
	color: #009FFF;
	font-size: 140%;
	display: block;
	margin-bottom: 5px;
}

@media screen and (max-width: 767px) {
	.why-list > li {
		max-width: 450px;
		margin: 0 auto 2em;
	}
	.reason-title {
		padding: 1rem;
		font-size: 4.2vw;
	}
	.reason-flag {
		width: 70px;
		height: 80px;
		padding-top: 23px;
		font-size: 43px;
		top: -60px;
	}
	
} /* end media query */

@media screen and (max-width: 599px) {
	
	.reason-subtitle em {
		font-size: 120%;
	}
	
} /* end media query */

@media screen and (max-width: 479px) {
	
	.reason-title {
		font-size: 17px;
	}
	.reason-subtitle {
		font-size: 1rem;
	}
	
} /* end media query */

/*--------------------------------------------------------------
# survey-summary
--------------------------------------------------------------*/

.survey-result {
	/*background: #f3ffed;*/
	padding-top: 10em;
	/*border-top: 2px solid #ff9800;*/
}
.survey-result-title {
	font-size: 1.3rem;
	color: #009FFF;
	margin-bottom: 1em;
}
.survey-result-title em {
	font-size: 140%;
	display: block;
	margin-bottom: 5px;
}
.survey-summary p em {
	color: #009FFF;
	font-size: 110%;
}
.survey-summary-figure {
	padding: 2em 3% 0;
	margin-bottom: 0;
}
.survey-summary-figure figcaption {
	text-align: center;
	margin-top: 1em;
	font-weight: bold;
	font-size: 13px;
	color: #333;
}
.survey-summary-figure figcaption em {
	font-size: 120%;
	white-space: nowrap;
}
.table-wrap {
	margin-bottom: 3em;
}
.survey-result-table {
	width: 100%;
	margin-bottom: .5em;
}
.survey-result-table caption {
	caption-side: top;
	color: #008bcf;
	font-weight: bold;
	font-size: 1.1em;
	line-height: 1.4;
	padding-bottom: .25em;
}
.answer-summary {
    display: inline-block;
    font-size: 1rem;
    color: #008bcf;
    float: right;
    padding-left: 3.6em;
	position: relative;
	margin-top: .5em;
	margin-left: 2em;
}
.answer-summary::before {
	font-family: "Font Awesome 5 Free";
	content: "\f0a4  \f0a4";
	font-weight: 900;
	font-size: 140%;
	margin-right: .5em;
	color: #e50012;
	/*text-shadow: 1px 1px #009FFF;*/
	line-height: 1;
	position: absolute;
	left: 0;
	top: 0;
	
}

.survey-result-table th,
.survey-result-table td {
	padding: 10px 10px;
    border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
    text-align: center;
    vertical-align: middle;
	line-height: 1.5;
}
.survey-result-table thead {
    background: #3db143;
    color: #fff;
    font-weight: bold;
}

.survey-result-table tbody tr {
	background: #e5f5ff;
}
.survey-result-table tbody tr:nth-child(even) {
	background: #ccecff;
}
.survey-result-table thead th {
	width: 24%
}
.survey-result-table thead th:first-child {
	width: 28%;
}
.survey-result-table td em {
	font-size: 120%;
	color: #3db143;
}

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

	.survey-summary-figure {
		max-width: 400px;
		margin: 0 auto;
	}
} /* end media query */

@media screen and (max-width: 599px) {

	.survey-result-title em {
		font-size: 120%;
	}
} /* end media query */


@media screen and (max-width: 479px) {
	.survey-result-title {
	font-size: 1rem;
	}
} /* end media query */


/*--------------------------------------------------------------
# related-services　（flowの一部）
--------------------------------------------------------------*/

.related-services {
	/*padding-top: 3em;*/
}
.related-list,
.flow-list {
	padding-top: 2em;
	margin-bottom: 3em;
}
.related-list > li,
.flow-list > li {
	position: relative;
}
.related-item,
.flow-item {
	/*background: #f3ffed;*/
	background: url(../images/bg_bluegrid.png);
    background-size: 10px 10px;
	/*border: 2px solid #FFF500;*/
}

.related-category {
	display: inline-block;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
    font-weight: bold;
    padding: 8px 10px 5px;
    border-radius: 8px;
    background: #009FFF;
    color: #fff;
    position: absolute;
    left: 25px;
    top: -24px;
    z-index: 2;
}
.related-description,
.flow-description{
	padding: 1em 1em 0;
}

@media screen and (max-width: 767px) {
	.related-list,
    .flow-list {
		margin-bottom: 0;
	}
	.related-list > li,
    .flow-list > li {
		max-width: 450px;
		margin: 0 auto 3em;
	}
	
} /* end media query */


/*--------------------------------------------------------------
# 共通テストリスニング
--------------------------------------------------------------*/

.problem-list {
	margin-bottom: 3em;
}
.problem-list .home-card {
	padding: 1em;
}
.problem-list img {
	width: 100%;
	max-width: 160px;
	margin: 0 auto 1em;
}
.problem-list p {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.english-brain .pict-box {
		max-width: 350px;
		margin-top: 1em;
		
	}

} /* end media query */

@media screen and (max-width: 575px) {
	.problem-list > li {
		margin: 0 auto 2em;
		max-width: 360px;
	}
	.english-brain .pict-box {
		max-width: 350px;
		
	}

} /* end media query */


/*--------------------------- CTAボタン ----------------------------*/

.cta-links {
   /* margin-bottom: 2em;*/
    /* border-bottom: 1px solid; */
}
.cta-links .row {
	margin-right: 0;
	margin-left: 0;
}

.cta-links .mx-auto a {
    display: block;
    max-width: 450px;
}

/* --- 新しいcta-ボタン（cssのみ）*/
.cta-btn {
    text-align: center;
}
.cta-btn a:link,
.cta-btn a:visited {
    text-decoration: none;
    color: white;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 80px;
    background: #e50012;
    display: block;
    padding: 0 1em;
    max-width: 450px;
    margin: 0 auto 1rem;
    position: relative;
    white-space: nowrap;
    border-radius: 40px;
    border: 2px white solid;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}
.cta-btn a:hover{
    transform: translateY(-4px);
}
.cta-btn a:active,
.cta-btn a:focus {
    opacity: 1;
}
.cta-btn a.cta-flow {
    background: #81bf39;
}
.cta-btn a.cta-teachers {
    background: #268078;
}


/* --- 横に並ぶボタン */

.cta-two-links a {
    margin: 0 1em 1em;
	text-decoration: none;
}
.cta-announce {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    color: #ee780f;
    margin-bottom: 1em;
}
.cta-phone {
    font-weight: bold;
    font-size: 26px;
}
.cta-phone::before {
    font-family: "Font Awesome 5 Free";
    content: "\f098";
    font-weight: 900;
    font-size: .8em;
    margin-right: 5px;
}
.cta-contact {
    font-weight: bold;
    border-radius: 8px;
    background: #FFF500!important;
	color: #009FFF!important;
	border: 2px solid #009FFF!important;
}

.cta-two-links {
    justify-content: center;
    align-items: center;
    
}

@media screen and (max-width: 575px) {
	.cta-announce {
        font-size: 16px;
    }
} /* end media query */

@media screen and (max-width: 480px) {
    .cta-btn a:link,
    .cta-btn a:visited {
        font-size: 5vw;
    }
	
} /* end media query */

/*--------------------------- 講師紹介 ----------------------------*/

.teachers {
    /*background: url(../images/bg_yellowgrid.png);
    background-size: 13px 13px;*/
	/*background: #f3ffed;
	background-image: repeating-linear-gradient(
-45deg ,#fff, #fff 2px,rgba(0,0,0,0) 0, rgba(0,0,0,0) 7px);*/
    /*padding-bottom: 20px;*/
}
.teachers .title-smlsection {
    text-align: center;
    margin-bottom: 1em;
}
.teachers em {
	color: #3db143;
}
.teachers-list {
    margin-bottom: 3em;
}

.teachers-pict {
    margin-bottom: 3em;
}
.teachers-pict img {
    margin: 0 auto;
    display: block;
    border-radius: 15px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}

.teachers-list > li {
    margin-bottom: 1em;
    padding: 0 5px;
}
.teacher-card {
    padding-bottom: .5em;
    height: 100%;
    margin-bottom: 0;
	border-width: 2px;
}
.teacher-card img {
    display: block;
}
.teacher-profile {
    margin-top: .5em;
    text-align: center;
    font-size: .95rem;
    color: #008bcf;
    font-weight: bold;
}
.teacher-profile small {
    font-size: 70%;
    white-space: nowrap;
}

/*hiring feature */
.hiring-feature-item {
    text-align: center;
    font-weight: 700;
    position: relative;
    font-size: 1.1rem;
    margin-bottom: 2em;
	/*color: #004b7f;*/
}
.hiring-feature-item::before {
    font-family: "Font Awesome 5 Free";
    content: "\f058";
    font-weight: 900;
    font-size: 60px;
    line-height: 1;
    color: #008bcf;
    display: block;
    margin-bottom: 0.3em;
    
}
.hiring-process-figure {
    margin: 0 auto 3em;
    max-width: 1000px;
}


/*why-filipino*/

.why-filipino {
    border: 3px solid #3db143;
    border-radius: 20px;
    padding: 2em 1em 1em;
    margin-bottom: 2em;
    background: #fff;
}
.why-filipino-list {
    color: #333;
    font-size: 1.1rem;
    margin-bottom: 0;
    font-weight: bold;
}


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

	.why-filipino-list {
    	margin-left: 0.5em;
        font-size: 1rem;
	}
	
} /* end media query */


@media screen and (max-width: 575px) {
    /*.teachers-list > li {
        margin-bottom: 1em;
    }
    .teachers-list figure {
        width: 90%;
        margin: 0 auto;
        max-width: 350px;
    }*/
	
} /* end media query */


/*--------------------------- 流れ ----------------------------*/

.flow {
    /*background: url(../images/bg_bluegrid.png);
    background-size: 13px 13px;*/
    padding-bottom: 5px;
    margin-bottom: 2em
}
.flow-item-title {
    font-size: 1.2rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: 1em;
    margin-top: .5em;
    color: #008bcf;
}
.flow-item-title::after {
    content: "";
    display: block;
    width: 40%;
    height: 8px;
    border-bottom: 4px dotted #ee780f;
    margin: 0.2em auto;
}
.theme-blue .flow-item-title {
    color: #3db143;
}
.flow-item .bullet {
    display: flex;
    width: 60px;
    height: 60px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border-radius: 50%;
    font-weight: bold;
    color: #ffea3c;
    background: #3db143;
    position: absolute;
    top: -35px;
    left: 35px;
    line-height: 1;
    font-size: 1.8rem;
}
.flow-item .bullet small {
    font-size: 8px;
    text-transform: uppercase;
    padding-top: 10px;
}
.theme-blue .flow-item .bullet {
    background-color: #008bcf;
    
}

/*---- 入会からレッスン開始まで */
.flow2-list {
    padding-left: 2.5em;
    counter-reset: my-counter2;
}
.flow2-item {
    position: relative;
}
.flow2-item::before {

    content: counter(my-counter2);
    counter-increment: my-counter2;
    background-color: #ee780f;
    color: white;
    font-weight: bold;
    display: block;
    position: absolute;
    left: -2.5em;
    text-align: center;
    height: 30px;
    width: 30px;
    border-radius: 50%;
    margin-top: -1px;
    line-height: 30px;

}


@media screen and (max-width: 575px) {
    

	
} /* end media query */


/*--------------------------- 生徒様の声 ----------------------------*/
.voices {
    padding-bottom: 3em;
	margin-bottom: 0;
}
.voices-list {
    margin-bottom: 4em;
}
.voices-list .bg-white {
    box-shadow: 1px 1px 4px rgba(0,0,0,0.2);
	border: 2px solid #FFF500;
}

@media screen and (max-width: 575px) {
	.voices-list > div {
        max-width: 400px;
        margin: 0 auto 1.5em;
    }
} /* end media query */


/*--------------------------- voices 中3英検2級 ----------------------------*/

.voices02-list {
	margin-bottom: 3em;
}
@media screen and (max-width: 767px) {
    .voices02-list > li {
        max-width: 500px;
        margin: 0 auto 4em;
    }
    .voices02-list > li:last-child {
        margin-bottom: 0;
    }
	
} /* end media query */


/*---- 高3英検準1級 */
.voices03-list > li {
    margin-bottom: 2em;
}
.voices03-list .card-title {
    text-align: left;
}
.voices03-list .card-title::after {
    margin-left: 0;
}
.voices03-list .plan-card img {
    display: block;
    width: 35%;
    margin: 1.5em;
    border: 1px solid #008bcf;
}

@media screen and (max-width: 575px) {
    .voices03-list .plan-card {
        flex-direction: column;
    }
	.voices03-list .plan-card img {
        width: 80%;
        max-width: 240px;
        margin-bottom: 0;
    }
} /* end media query */


/*--------------------------------------------------------------
# Q&A new
--------------------------------------------------------------*/

.faq {
}
.faq-header-link {
    display: block;
    position: relative;
    padding: 2.1em 1em;
    margin-bottom: 2em;
    text-align: center;
    background: #3db143;
    border-radius: 15px;
}
.theme-blue .faq-header-link {
        background: #008bcf;
}
.faq-header > a:hover,
.faq-header > a:focus {
    opacity: 1;
}
.faq-title {
    display: inline-block;
    font-size: 2.2rem;
    color: #fff;
    position: relative;
    line-height: 1.2;
    margin: 0;
}
.faq-title::before,
.faq-title::after {
    font-size: 136%;
    color: #ffea3c;
    font-weight: 900;
    position: relative;
    top: 4px;
}
.faq-title::before {
    content: 'Q';
    margin-right: .5em;
}
.faq-title::after {
    content: 'A';
    margin-left: .5em;
}
.toggle-sign {
    color: #fff;
    font-weight: bold;
    font-size: 80%;
    margin-bottom: 0;
    text-align: center;
    line-height: 1;
}
.toggle-sign > span {
    display: block;
    position: absolute;
    width: 70px;
    line-height: 1;
    right: 1em;
    bottom: 0;
    transition: all 0.3s ease;
}
.sign-expand::after,
.sign-collapse::after {
    font-family: "Font Awesome 5 Free";
    content: "\f0d7";
    font-weight: 900;
    font-size: 2rem;
    display: block;
    color: #ffea3c;
    margin-top: -8px;
}
.sign-collapse::after {
    content: '\f0d8';
}
.faq-header-link[aria-expanded="false"] .sign-expand {
    opacity: 1;
}
.faq-header-link[aria-expanded="false"] .sign-collapse{
    opacity: 0;
}
.faq-header-link[aria-expanded="true"] .sign-expand {
    opacity: 0;
}
.faq-header-link[aria-expanded="true"] .sign-collapse{
    opacity: 1;
}

.faq-list {
    padding: 0 1em;
}
.faq-list p {
    font-size: .875rem;
}
.faq-list p:last-of-type {
    margin-bottom: 0;
}
.faq-item {
	background: white;
	border: 1px solid #ccc;
	border-radius: 10px;
	position: relative;
	margin-bottom: 1em;
}
.faq-item::before {
	content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: -1px;
    border: 24px solid transparent;
    border-top: 24px solid #ee780f;
    border-left: 24px solid #ee780f;
    border-top-left-radius: 8px;
    width: 0;
    height: 0;
}
.faq-item-q {
	padding: 1.5em 2.4em .3em;
	font-size: 1.125rem;
	font-weight: bold;
	position: relative;
}
.faq-item-q::before {
	content: "Q";
	display: inline-block;
	font-weight: 700;
	font-size: 18px;
	color: white;
	position: absolute;
	top: 0;
	left: 4px;
}
.faq-item-q.open::after {
	transform: rotate(180deg);
}
.faq-item-a {
	position: relative;
	padding: .5em 2em 1.4em 3.5em ;
    margin-bottom: 0;
}
.faq-item-a::before {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    right: -1px;
    border: 24px solid transparent;
    border-bottom: 24px solid #3db143;
    border-right: 24px solid #3db143;
    border-bottom-right-radius: 8px;
    width: 0;
    height: 0;
}

.faq-item-a::after {
	content: "A";
	display: inline-block;
	font-weight: 700;
	font-size: 18px;
	color: white;
	position: absolute;
	bottom: -3px;
	right: 7px;
}


.faq-item-a dl {
	margin-bottom: 1em;
}
.faq-item-a dl:last-of-type {
	margin-bottom: 0;
}
.faq-item-a dt {
	font-weight: bold;
}


@media screen and (max-width: 575px) {
    .faq-title {
        font-size: 5.7vw;
    }
	
} /* end media query */

@media screen and (max-width: 480px) {
    .faq-header-link {
        padding: 1.6em 1em 2.8em;
    }
    .faq-list {
        padding: 0 0.3em;
    }
	.faq-item-a {
        padding: 0.5em 2em 1.4em;
    }
} /* end media query */


/*--------------------------- Q&A old ----------------------------*/

.faq2 {
    /*background: #fdf8e5;
	background-image: repeating-linear-gradient(
45deg ,#fff, #fff 2px,rgba(0,0,0,0) 0, rgba(0,0,0,0) 7px);*/
    border-top: #FFF500 solid 5px;
    border-bottom: #FFF500 solid 5px;
    padding: 3em 0;
}
.border-a p:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 576px) {
	.text-no-q {
		font-size: 16px;
		line-height: 1.5;
	}
	
} /* end media query */


/*--------------------------- 運営者情報 ----------------------------*/

.management {
    border-top: 3px solid #3db143;
}
.management-profile {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}
.management-logo {
	max-width: 200px;
	margin-bottom: .5em;
}

.table-bordered th {
    border: 1px solid #fff;
}

@media screen and (max-width: 400px) {
    .management h2 {
        font-size: 6.6vw;
    }
    .management-logo {
        max-width: 100%;
        width: 90%;
    }
    
	
} /* end media query */


/*--------------------------- footer ----------------------------*/

.bg-footer {
    background: #008bcf;
    color: #fff;
}
