p{
	font-family: "Arial";
	font-size: 16px;
	line-height: 1.7;
}



/*heading*/
.head0{
	text-transform: uppercase;
}
.head0, .text-head01-en, .text-mission01, .heading-1{
	color: #3E6E95;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1px;
}
.head1, .text-head01, .lead-2, .lead-new{
	color: #374048;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.head2{
	color: #374048;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
}
.head-small, .bottom-line-center{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.15em;
	position: relative;
}
	.head-small:before, .bottom-line-center:before{
		background-color: #3E6E95;
		content: '';
		display: inline-block;
		width: 100px;
		height: 2px;
		bottom: -0.5em;
		left: 50%;
		position: absolute;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}

.head-background{
	background: white;
	border-top: 5px solid #3E6E95;
	box-shadow: 0px 10px 20px rgba(0,0,0,0.2);
	padding: 20px 50px  50px 50px !important;
	margin: 20px auto 40px auto;
	width: 750px;
}

/*text*/

.text-main, .text1{
	color: #606e79;
	font-size: 14px;
	letter-spacing: 0.02em;
	line-height: 1.8;
}

.text-main01{
	color: #FFF !important;
	font-size: 3.1vw;
	letter-spacing: 2px;
	line-height: 1.35;
	text-shadow: 2px 2px 10px rgba(0,0,0,0.5); }
.text-main02{
	color: white;	
	font-size: 1.3vw;
	letter-spacing: 2px;
	line-height: 1.75;
	margin: 20px 0 30px 0;
	text-shadow: 1px 1px 10px rgba(0,0,0,0.2); }
.text-main-position{
	position: absolute;
	top: 22%;
	left: 16%;}

.text-point, .text-point02{
	background: #3E6E95;
	border-radius: 2px;
	color: #FFF !important;
	display: inline-block;
	padding: 0.2em 0.8em;
	line-height:1;
	margin-bottom: 0em;
}

.text-small{
	font-size: 12px;
	font-weight: normal;
}

.price{
	font-size:28px;
	font-weight: bold;
	letter-spacing: 2px;
	margin: 10px 0 30px 0;
}

.border02{
	border-bottom: 1px solid #cfd3d7;
	font-weight: bold;
	letter-spacing: 1px;
	padding-bottom: 0.5em;
}
.QA{
	color: #3E6E95;
	font-size: 20px;
	font-weight: bold;
	margin-right: 15px;
}

.text-title{
	color:  #adb4b9;
	font-family: Times;
	font-style: italic;
	line-height: 0.25;
	margin-top: 1em;
	text-align: right;
}

.text-name{
	font-family: Times;
	line-height: 1;
	text-align: right;
}


.background-white{
	background-color: #FFF;
	border: 10px solid #f9f9fa;
	padding: 1em;
}



/*height*/

.height1{
	line-height: 1.5;
}

/*post-layout*/

.post p{
	font-family: "Arial";
	color: #374048;
	font-size: 15px;
	line-height: 1.75;
	letter-spacing: 0.03em;
}
.post audio{
	margin: 20px auto 10px auto;
}
.post em, .highlight{
		color: #374048;
		font-weight: bold; 
		background: linear-gradient(transparent 50%, rgb(255,255,102, 0.8));
}

.page-title{
	color: #374048;
	font-size: 20px;
	letter-spacing: 0.1em;
	line-height: 1.35;
}

.post h2{
	border-top: 1px solid #3E6E95;
	border-bottom: 1px solid #3E6E95;
	font-size: 20px;
	letter-spacing: 0.1em;
	padding: 0.5em 0;
	margin-bottom: 20px;
}
.post h3{
	border-left: 5px solid #3E6E95;
	font-size: 18px;
	letter-spacing: 0.1em;
	padding: 0 0 0 1em;
	margin-bottom: 30px;
}

.post h4{
	color: #3E6E95;
	font-size: 18px;
	margin: 30px auto !important;
}

.post h5{
	font-size: 16px;
	margin: 30px auto !important;
}

.red{
	color: #CE1E35;
	font-weight: bold;
}

.blue{
		color: #3E6E95;
}
/*button, link*/
.button1, 
.button10{
	background: #41aea9;
	border: none;
	border-radius: 3px;
	box-shadow: 2px 4px 10px rgba(0,0,0,0.1);
	color: #FFF !important;
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.1em;
	padding: 0.7em 1em;
	margin: 20px auto !important;
	text-align: center;
	width: 60%;
}
.button1 a, .button10 a{
	color: white;
}
.button1:hover, .button10:hover{
	background: #0d7377;
}
.button20{
	border:2px solid #3E6E95 ;
	border-radius: 3px;
	box-shadow: 2px 4px 10px rgba(0,0,0,0.1);
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.1em;
	padding: 0.7em 1em;
	margin: 20px auto !important;
	text-align: center;
	width: 60%;
}
.button20:hover{
	background: #3E6E95;
	color: #FFF !important;
}

/*list*/
.post ul,
.example,
.example02{
	border: 1px solid #AAA;	border-radius: 3px;
	color: #374048;
	font-size: 13px;
	list-style: none;
	padding: 20px 40px;
	margin: 30px 0;
}
.post ul li, .example li, .example02 li{
	padding: 0.5em 0;
}
.list-important{
	background: #FFF;
	border: 3px solid #3E6E95;
	border-radius: 3px;
	font-weight: bold;
}
.post ol {
	counter-reset: item;
	border: 1px solid #adb4b9;
	border-radius: 3px;
	color: #374048;
	font-size: 13px;
	list-style: none;
	padding: 20px 40px;
	margin: 30px 0;
}
.post ol li{
	border-bottom: 1px dashed #dee1e3;
	list-style-position: inside;
	padding: 0.25em 0;
	margin: 0.25em 0;
}
.post ol li:last-child{
	border-bottom: none;
}
.post ol li:before{
	counter-increment: item;
  content: counter(item)'.';
  padding-right : 1em;
  font-weight: bold;
}
.list-ref{
	background: #f9f9fa;
}
.list-none{
	font-weight: bold;
	list-style: none;
	padding: 0;
}
.list-none li{
	padding: 0.5em 0;
}

.list-scroll{
	font-size: 13px;
	list-style: none;
	padding: 0.5em 1em;
}
.list-scroll li{
	border-bottom: 1px dashed #cfd3d7;
	padding: 0.5em 0 0.25em 0;
	position: relative;
}
.list-scroll li:before{
	content: '\f328';
	font-family: "Font Awesome 5 Free";
	margin-right: 1em;
}

.list-point{
	border: 2px solid #125d98 !important;
	position: relative; 
}
.list-point:before{
	background: #FFF;
	color: #125d98;
	content: '今回のまとめ';
	font-size: 13px;
	font-weight: bold;
	padding: 0px 10px;
	position: absolute;
	top: -1em;
	left: 0.5em;
}

.list-point li,
.list-step li{
 	counter-increment: count-ex01; 
	padding: 5px 0;
}
.list-step li:before{
	 content: "Step" counter(count-ex01) "." !important;
}
	
.list-point li:before {
	content: "ポイント" counter(count-ex01) "." !important;}

.list-step li:before,
.list-point li:before{
	font-family: "Arial";
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	margin-right: 1em;
}

.list-page{
	list-style: none;
	padding: 0 1em;
	margin: 1em 0;
}
.list-page li{
	padding: 0.25em 0;
}
.list-page li:before{
	font-family: "Font Awesome 5 Free";
	color: #5289A4;
	content: '\f058';
	font-weight: bold;
	margin-right: 1em;
}

.list-post{
	font-size: 14px;
	list-style: none;
	padding: 0;
	margin: 20px 0 30px 0;
}
.list-post li{
	padding: 0.25em 0;
}
.list-post li:before{
	font-family: "Font Awesome 5 Free";
	content: '\f15c';
	margin-right: 1em;
}

.scroll{
 height:240px; 
 overflow:scroll;
 white-space:nowrap;
}

.scroll-container{
	border: 1px solid #cfd3d7;
	border-radius: 3px;
	overflow:scroll;
	white-space:nowrap;
	width: 750px;
	height:180px; 
	padding: 1em 2em;
	margin: 20px auto;
}

/*table*/
.table-1, 
.table-2,
.table-03, 
.tableA, 
.tableB,
.table-company,
.table-left,
.table-normal{
	font-size: 14px;
	margin: 30px auto;
	width: 100%;
}

.table-1 tr, 
.table-2 tr,
.table-03 tr, 
.tableA tr, 
.tableB tr,
{
	border: 1px solid #AAA;
}
.table-1 tr:nth-child(1), 
.table-2 tr:nth-child(1),
.table-normal tr:nth-child(1) td,
.table-left th{
	background: #3E6E95;
	color: #FFF;
	font-weight: bold;
	text-align: center;
}
.table-normal td{
	border: 1px solid #AAA;
	padding: 0.5em 1em;
	vertical-align: top;
}
.table-left th, td{
	border: 1px solid #AAA;
	padding: 0.5em 1em;
}

.table-1 td, .table-2 td{
	padding: 0.5em 1em;
	text-align: center;
}
.table-1 td:nth-child(1) td{
	background: #f9f9fa;
	font-weight: bold;
}

.table-03 th{
	background: #3E6E95;
	color: #FFF;
	padding: 0.5em 1em;
	width: 25%;
}
.table-03 td, .tableA td, .tableB th{
	padding: 0.8em 1em;
}
.tableA th, .tableB tr:nth-child(1){
	background: #3E6E95;
	color: #FFF;
	padding: 0.5em 1em;
}
.tableB th{
	text-align: center;
}

.table-company{
	width: 750px;
}
.table-company tr{
	border-bottom: 1px dashed #cfd3d7;
}
.table-company td{
	padding: 1em 0;
}



/*feature*/

.luke{
	position: relative;
	font-size: 14px !important;
	font-weight: bold;
	background: #f9f9fa;
	border-radius: 5px;
	padding: 20px;
	margin: 3em 0 2em 5em;
	box-sizing: border-box;
	letter-spacing: 0.03em;
}

.luke:before{
 display: inline-block;
	position: absolute;
	top: 0.2em;
	left: -5em;
 content: '';
 width: 60px;
 height: 60px;
  background-image: url(https://static.solo-ielts-toefl.com/wp-content/uploads/2019/12/22072820/luke-circle.png);
  background-size: contain;
}

.luke:after{
	content: "";
  position: absolute;
  top: 30%;
  left: -20px;
  margin-top: -0.5em;
  border: 10px solid transparent;
  border-right: 15px solid #f9f9fa;
}


/*a*/

.list-scroll a,
.list-post a{
	text-decoration: underline;
}
.list-scroll a:after,
.list-post a:after{
	font-family: "Font Awesome 5 Free";
	content: '\f35d';
	font-size: 10px;
	font-weight: bold;
	margin-left: 0.5em;
}
/*contact-form*/
.table-res-form{
	font-size: 14px;
	width: 100% ;
	margin: 30px auto;
}
 .table-res-form th{
	color: #374048;
	text-align: right;
	width: 24%;
}
.table-res-form td{
	border: none;
}
.table-res-form input[type="text"], .table-res-form input[type="email"], .table-res-form textarea, .table-res-form select{
	background: #f9f9fa;
	border-radius: 3px;
	color: #374048 !important;
	padding: 0.5em 1em;
	margin: 0.5em 0;
}
.table-res-form textarea{
	height: 200px;
}
.table-res-form input[type="text"]:focus, textarea:focus, input[type="email"]:focus{
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
}
.table-res-form input[type="submit"] {
  border: 1px #89BDDE solid;
  border-radius: 3px;
	background: #67aca7;
  box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
  color: #FFF;
	font-size: 16px;
  font-weight: bold;
	padding: 1em 2em;
	margin-top: 30px;
	width: 100%;
}
.table-res-form input[type="submit"]:hover {
    background: #317772;
    box-shadow: none;
}
select{
	width: 100%;
}
.required{
	background: #3E6E95;
	border-radius: 3px;
	color: #FFF;
	display: inline-block;
	padding: 4px 8px;
	margin: 0 1em;
}
.free{
	background: #98a1a9;
	border-radius: 3px;
	color: #FFF;
	display: inline-block;
	padding: 4px 8px;
	margin: 0 1em;
}

/*navigation-menu*/
.nav-h{
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.25;
	margin: 0 0.5em;
}
.nav-txt{
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0.05em;
	padding:0.2em 0;
}
.nav-ja{
	color: #777;
	font-size: 10px;
	font-weight: normal;
}
.nav-button{
	background: #41aea9;
	border-radius: 3px;
	box-shadow: 1px 3px 10px rgba(0,0,0,0.1);
	color: #FFF;
	display: inline;
	font-size: 16px !important;
	font-weight: bold;
	padding: 0.75em 1em !important;
}
.nav-button:hover{
	background: #317772;
}

/*timeline*/
.cp_timeline {
position: relative;
padding: 0 0.5em 2em 0.5em 0;
margin: 30px auto;
}
.cp_timeline:before {
position: absolute;
top: 0px;
left: 1.2em;
width: 3px;
height: 100%;
content: '';
background: #3E6E95;
}
.cp_timeline .timeline_item {
margin-left: 3.3em;
}
.cp_timeline .timeline_item .time_date .time {
	color: #98a1a9;
	font-family: "DIN Alternate",serif;
	font-size: 1.2em;
	font-weight: bold;
	letter-spacing: 0.05em;
	position: relative;
	margin: 0 0 5px 0;
}
.cp_timeline .timeline_item .time_date .time:before {
	position: absolute;
	content: '';
	top: 50%;
	left: -2.3em;
	width: 24px;
	height: 24px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	background: #3E6E95;
	border-radius: 50%;
}
.cp_timeline .timeline_item .time_date .flag {
font-size: 18px;
font-weight: bold;
margin: -10px 0 0 0;
}
.cp_timeline .timeline_item .desc {
	color: #606e79;
	font-size: 14px; 
	padding-left: 1.5em;
	padding-bottom: 20px;
	margin : 10px 0 20px 0;
	border-left: 1px solid #cfd3d7;
}


/*width*/
.margin-auto{
	margin: 0 auto !important;
}
.width-1000{
	width: 1000px;
	margin: 0 auto !important;
}
.width-1000-white{
	width: 1000px;
	padding: 40px 20px;
	margin: 0 auto !important;
}
.width-850{
	width: 850px;
	margin: 0 auto !important;
}
.width-750{
	width: 750px;
	margin: 0 auto !important;
}
.width-550{
	width: 550px;
	margin: 0 auto !important;
}

.width-450{
		width: 450px;
		margin: 0 auto !important;
}

/*Responsive*/

.pc { display: block !important; }
.sp { display: none !important; }

@media only screen and (max-width: 750px) {
	
	.pc, 
	.empty{ 
			display: none !important; 
	}
	.sp, 
	.table-company th, 
	.table-company td, 
	.link:before, 
	.table02 td, 
	.table-transcript td, 
	.list-point li:before,
	.list-step li:before{
		display: block !important; 
	}

/*responsive-heading*/
	.head-background{
		padding: 40px 20px !important;
	}
	
/*responsive-text*/
.text-point{
	display: block;
	margin: 0 30px;
	text-align: center !important;
	}
	
.text-main01{
	font-size: 8vw;
	letter-spacing: 1px;				
	text-shadow: 2px 2px 10px rgba(0,0,0,0.5); 						}
.text-main02{
	font-size: 4.8vw;
	padding: 0 20px;
	margin: 10px 0 20px 0;
	text-shadow: 1px 1px 10px rgba(0,0,0,0.5); 					
	}
	.text-main-position{
	position: absolute;
	top: 35%;
	left: 0%;
	padding: 0 20px;
	text-align: center;
	}
	
/*responsive-list*/

	.post ul,
	.post ol, 
	.example, 
	.example02, 
	.list-important, 
	.list-scroll{
	padding: 1em 1.5em;	
	}
	
/*responsive-button*/
	
.button10, .button20{
	display: block;
	margin: 30px auto;
	text-align: center;
	width: 80%;
	}
	
.nav-button{
	background: initial;
	color: #67aca7;
	padding: 0 !important;
}
	
/*responsive-table*/
	.table-1 td,
	.table-03 th, 
	.table-03 td,
	.table-left th, td
	{
		display: block;
		text-align: center;
		width: 100%;
	}
	
	.table-1 td{
	border: 1px solid #cfd3d7;	
	border-top: none;
	}

	.table-1 td:nth-child(1){
	background: #3E6E95;
	color: #FFF;
	font-weight: bold;
	}

	.table-1 tr:nth-child(1){
		display: none;
	}

	.table-1 tr{
		border: none;
	}
	
	.table-company th{
		padding-top: 1em;
	}
	.table-company td{
		padding: 0.25em 0 0.5em 0;
	}
	
/*responsive-contactform*/
.table-res-form th, .table-res-form td {
	width: 100%;
	display: block;
	}
.table-res-form th{
text-align: left;		
margin-top: 20px;
	}
	
/*respoinsive-timeline*/
		.cp_timeline:before {
left: -20px;
}
.cp_timeline .timeline_item .time_date .time:before {
	left: -45px;
}
.cp_timeline .timeline_item {
margin-left: 1em ;
}
.cp_timeline .timeline_item .desc {
	border-top: 1px solid #cfd3d7;
	border-left: none;
	padding-top:1em;
	padding-left: 0px;
}	
/*responsive-width*/
	.width-1000, 
	.width-1000-white,
	.width-850, 
	.width-750,
	.width-550,
	.head-background,
	.scroll-container	{
	width: 100%;
}
	.button1, 
	.button10{
		width: 90%;
	}
	
	.width-1000-white,
	{
		padding: 1em 0;
	}
	
	.scroll-container{
		padding: 1em 0;
		white-space: normal;
	}
}