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

/*--------------------------------------------------------------
# 教材ページcss
--------------------------------------------------------------*/

.textbooks h5 {
	font-weight: bold;
	color: #51b3e2;
	font-size: 16px;
	line-height: 1.5;
	padding-left: 1.5em;
    text-indent: -1.5em;
	margin-bottom: 1em;
	position: relative;
	border-bottom: 1px dotted #51b3e2;
}
.textbooks h5::before {
	font-family: "Font Awesome 5 Free";
    content: "\f518";
    font-weight: 900;
    margin-right: .45em;
    font-size: 95%;
}
.textbooks h5 small {
	display: block;
	color: black;
	margin-left: 1.8em;
	position: absolute;
    bottom: 1px;
    right: 30px;
}


/*---------------------- level map ---------------------- */

.contents_section.levelmap {
    margin-bottom: 80px;
}

.levelchart {
    margin: 30px 0 40px;
}



/*----------　table --------------*/

table.levelchart_score {
	width: 100%;
	border-collapse: collapse;
    margin: 0;
    padding: 0;
    font-size: 13px;
	    border-bottom: 3px solid #fff;
}

.levelchart_score th,
.levelchart_score td {
	text-align: center;
	line-height: 1.5;
	padding: 8px 4px;
}
.levelchart_score th:last-child,
.levelchart_score td:last-child {
    border-right: none;
}
.levelchart_score thead th {
	border-right: 5px solid white;
	border-bottom: 5px solid white;
}
.levelchart_score td {
	border-bottom: 2px solid white;
	border-right: 2px solid white;
}
.levelchart_score thead {
	background-image: linear-gradient(to right, #EDF7FC , #95D2EE);
	/*border-bottom: 2px solid #006e9e;*/
}
.levelchart_score thead th {
	width: 14%;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.2;
    color: #006e9e;
    padding-top: 12px;
}
.levelchart_score thead th:first-child {
	width: 16%;
}
.levelchart_score thead th small {
	display: block;
	font-weight: normal;
	letter-spacing: 0.2em;
	font-size: 12px;
}
.levelchart_score tbody {
	background: #DCF0F9;
}
.levelchart_score th[scope="row"] {
    background: #79cdba;
    color: #fff;
    border-right: 4px solid white;
	border-bottom: 1px solid white;
}
.levelchart_score thead th[scope="row"] {
	background: white;
}

/*----------- textbooks chart -------------*/

.levelchart h4 {
	text-align: center;
	font-size: 15px;
	line-height: 2;
	background: #006e9e;
    margin: 0;
    border-radius: 0;
	position: relative;
}
.levelchart h4 small {
    font-size: 11px;
    font-weight: normal;
    position: absolute;
    right: 10px;
    bottom: 2px;
}

.levelchart_books {
	position: relative;
	/*margin-bottom: 50px;*/
	border-top: 3px solid white;
}

.levelchart_cell {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-wrap: nowrap;
}
.levelchart_cell.table_bg {
	background-image: linear-gradient(to right, #EDF7FC , #95D2EE);
	position: absolute;
}
.levelchart_cell.table_header {
	position: relative;
	font-size: 13px;
	text-align: center;
	border-bottom: 2px solid #fff;
	color: #006e9e;
    font-weight: bold;
}
.levelchart_cell > div {
	border-right: 1px solid #fff;
	width: 14%;
	margin: 0;
}
.levelchart_cell > div.cell_header {
	background: #79cdba;
	border-right: 4px solid #fff;
	flex-grow: 2;
}
.levelchart_cell.table_header > div.cell_header {
    background: white;
}
.levelchart_graph {
	position: relative;
	width: 100%;
	padding-top: 10px;
}
.levelchart_graph > dl {
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
	margin: 0;
	font-size: 13px;
	text-align: center;
	margin-bottom: 7px;
	border-bottom: 3px solid #fff;
}
.levelchart_graph > dl dt {
	width: 16%;
	display: flex;
    align-items: center;
    justify-content: center;
	font-weight: bold;
	color: #fff;
}
.levelchart_graph > dl dd {
	width: 84%;
}
.levelchart_graph > dl dd li {
	margin-bottom: 5px;
	background: #e9961c;
	line-height: 1.5;
	border-radius: 4px;
	color: #fff;
	font-weight: bold;
	position: relative;
}

.levelchart_graph > dl dd li a:link,
.levelchart_graph > dl dd li a:visited {
	color: #fff;
    text-decoration: none;
    display: block;
    width: 100%;
    height: 100%;
    padding: 1px;
}
.levelchart_graph > dl dd li a:hover,
.levelchart_graph > dl dd li a:active {
	background: rgba(0,0,0,0.1)
}
.levelchart_graph > .graph_group01 dd li {
	background: #ff6766;
}
.levelchart_graph > .graph_group02 dd li {
	background: #20ab8c;
}
.levelchart_graph > .graph_group03 dd li {
	background: #875185;
}
.levelchart_graph > .graph_group04 dd li {
	
}
.levelchart_graph > .graph_group05 dd li {
	background: #006e9e;
}
.levelchart_graph > .graph_group06 dd li {
	background: #e36e99;
}
.levelchart_graph > .graph_group07 dd li {
	background: #8c6239;
}
.levelchart_graph > .graph_group08 dd li {
	background: #7bbd24;
}

/*------ 各グラフ*/

/*kids*/
.levelchart_graph li.graph_item_k01 {
	width: calc((100% / 6) * 2);
	left: calc((100% / 6) * 0);
}
.levelchart_graph li.graph_item_k01b {
	width: calc((100% / 6) * 3);
	left: calc((100% / 6) * 1);
}
.levelchart_graph li.graph_item_k02 {
	width: calc((100% / 6) * 2);
	left: calc((100% / 6) * 2);
}
/*kids addition 2005*/
.levelchart_graph li.graph_item_k03 {
	width: calc((100% / 6) * 1);
	left: calc((100% / 6) * 0);
}
.levelchart_graph li.graph_item_k04 {
	width: calc((100% / 6) * 5);
	left: calc((100% / 6) * 0);
}

/*business*/
.levelchart_graph li.graph_item_b01 {
	width: calc((100% / 6) * 4);
	left: calc((100% / 6) * 2);
}
.levelchart_graph li.graph_item_b02 {
	width: calc((100% / 6) * 2);
	left: calc((100% / 6) * 2);
}
.levelchart_graph li.graph_item_b03,
.levelchart_graph li.graph_item_b04,
.levelchart_graph li.graph_item_b05 {
	width: calc((100% / 6) * 3);
	left: calc((100% / 6) * 2);
}

/*eiken */
.levelchart_graph li.graph_item_ek01 {
	width: calc((100% / 6) * 5);
	left: calc((100% / 6) * 1);
}

/*toeic*/
.levelchart_graph li.graph_item_tc01 {
	width: calc((100% / 6) * 4);
	left: calc((100% / 6) * 2);
}

/*grammer*/
.levelchart_graph li.graph_item_eb01 {
	width: calc((100% / 6) * 5);
	left: calc((100% / 6) * 0);
}
/*travel*/
.levelchart_graph li.graph_item_trv01 {
	width: calc((100% / 6) * 4);
	left: calc((100% / 6) * 0);
}

/*toefl & ielts*/
.levelchart_graph li.graph_item_tfl01,
.levelchart_graph li.graph_item_i01 {
	width: calc((100% / 6) * 4);
	left: calc((100% / 6) * 2);
}


/*----------- level detail -------------*/

.levelmap .btn_box {
	margin: 0px 0 40px auto;
}

.levelmap .toggle_switch::after {
	font-family: "Font Awesome 5 Free";
	content: "\f05a";
	font-weight: 900;
	font-size: 40px;
	position: absolute;
	margin: auto;
	margin-left: 10px;
    display: inline-block;
    left: 0;
    top: 0;
    bottom: 0;
    height: 70%;
    line-height: 1;
	color: rgba(255,255,255,.2);
}
.levelmap .toggle_switch.open::after {
	display: inline-block;
}

.toggle_box {
    margin: 30px 0 40px;
}
.levelmap h4.toggle_switch {
	background: #ff6766;
}

.leveldetail {
	margin-bottom: 50px;
	font-size: 13px;
}
.leveldetail > dl {
	display: flex;
	flex-wrap: nowrap;
	margin-bottom: 9px;
}
.leveldetail > dl dt {
	width: 20%;
	background: #e5f4fb;
	padding: 7px;
	/*border-top-left-radius: 15px;*/
	display: flex;
	align-items: center;
	color: #006e9e;
}
.leveldetail > dl:nth-child(2) dt {
	background: #d8eef9;
}
.leveldetail > dl:nth-child(3) dt {
	background: #cae8f6;
}
.leveldetail > dl:nth-child(4) dt {
	background: #b9e1f3;
}
.leveldetail > dl:nth-child(5) dt {
	background: #a7d9f0;
}
.leveldetail > dl:nth-child(6) dt {
	background: #95d2ee;
}

.leveldetail > dl dd {
	width: 75%;
	padding: 5px 15px 5px 0;
    margin-left: 15px;
    border-bottom: 1px dotted #ccc;
}

.leveldetail > dl dt span {
	font-weight: bold;
	display: flex;
    line-height: 1;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	font-size: 11px;
	padding-top: 3px;
	margin-left: 15px;
	background: rgba(0,110,158,.7);
    color: #e5f4fb;
}
.leveldetail > dl dt strong {
	display: block;
	font-size: 23px;
    
}
.leveldetail > dl dt small {
	display: block;
    margin-left: 10px;
    font-weight: bold;
    letter-spacing: 0.2em;
	font-size: 14px;
	color: #24947b;
}

.leveldetail > dl dd em {
	font-weight: bold;
	display: block;
}


/*---------------------- textbook list ---------------------- */

.textbook_item {
	margin-bottom: 40px;
}

.one-text figure {
    float: right;
    width: 40%;
    margin-left: 2em;
}
.textbook_img_list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 40px;
	position: relative;
}
.textbook_img_list::before {
	content: "※ テキスト画像クリックで購入サイトへ";
	position: absolute;
	font-size: 10px;
	font-weight: bold;
	top: -2em;
}
.tb_ask_detail::before {
	content: "※ テキストの詳細はお問い合わせ下さい";
}
.tb_ask_detail02::before {
	content: "※ レッスン受講には教材購入が必要となります。詳細はお問い合わせ下さい。";
}
.tb_click_enlarge::before {
	content: "※ 画像をクリックして拡大";
}
.textbook_img {
	width: 25%;
    padding: 0 11px;
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
}
.textbook_img figcaption {
	font-size: 11px;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
	margin-top: 4px;
}
.level_indicator {
    font-size: 11px;
    width: 50px;
    text-align: center;
    margin-left: 10px;
    flex-shrink: 0;
	padding-top: 5px;
}
.level_indicator li {
	background: #c3d9e3;
	color: #fff;
	margin-bottom: 5px;
    line-height: 1.7;
}
.level_indicator li.active {
	background: #e9961c;
}
