body{
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #fafafa;
    background-image: url(/img/back.gif);
    background-repeat: repeat;
	/* padding-bottom: 3rem; */
}

.anchor {
	margin-top: -60px;
	padding-top: 60px;
}

.vanish {
	display: none;
}

a{
	text-decoration: none!important;
}

ul{
	list-style: none;
	padding: 0;
}

ol {
	counter-reset:number; /*数字をリセット*/
	list-style-type: none!important; /*数字を一旦消す*/
}

img{
	vertical-align: bottom;
}

.lp-header,
.lp-header2{
    display: flex;
	position: fixed;
	width: 300px;
	height: 60px;
    align-items: center;
	background: #1e73be;
    flex-wrap: wrap;
	top: 10px;
    left: 10px;
	border-radius: 20px;
	padding: 0 30px 0 0;
	z-index: 100;
}

@media screen and (max-width: 767px){
	.lp-header {
		width: 100%;
		top: 0;
    	left: 0;
		border-radius: 0;
		padding: 0;
		height: 53px;
		background: rgba(255, 255, 255, 0.8);
		border-bottom: 1px solid #ccc;
	}
	
	.lp-header2 {
		background: #e5f3e8;
	}
}

.wrap{
	width: 100%;
    max-width: 1200px;
    margin-left: auto;
	margin-right: auto;
}

.lp-header .wrap,
.lp-header2 .wrap{
	align-items: center;
}

.lp-header h1,
.lp-header2 h1{
    width: 100%;
    margin: auto 0;
    font-size: unset;
	text-align: right;
    letter-spacing: unset;
    line-height: unset;
}

@media screen and (max-width: 767px){
	.lp-header h1,
	.lp-header2 h1{
		text-align: left;
		padding-left: 10px;
	}
}

.lp-header h1 img,
.lp-header2 h1 img{
	max-width: 160px;
}

@media screen and (max-width: 485px){
	.lp-header h1 img,
	.lp-header2 h1 img{
		max-width: 120px;
	}
}

.lp-header .right,
.lp-header2 .right{
    margin-left: auto;
	border-radius: 100px;
    background: #fff;
}

@media screen and (max-width: 1200px){
	.lp-header .right,
	.lp-header2 .right{
		margin-right: 10px;
	}
}

@media screen and (max-width: 800px){
	.lp-header .right,
	.lp-header2 .right{
		margin: 0 5px;
	}
}

.lp-header .right ul,
.lp-header2 .right ul{
    display: flex;
    flex-wrap: wrap;
	width: 100%;
    margin: 0 0 0 auto;
	padding: 5px 20px;
}

@media screen and (max-width: 800px){
	.lp-header .right ul,
	.lp-header2 .right ul{
		justify-content: center;
		padding: 0;
	}
}

.lp-header .right ul li,
.lp-header2 .right ul li{
	border-right: 1px solid #ccc;
	margin: 0;
}

@media screen and (max-width: 485px){
	.lp-header .right ul li,
	.lp-header2 .right ul li{
		margin-top: 3px;
		margin-bottom: 3px;
	}
}

.lp-header .right ul li:last-child,
.lp-header2 .right ul li:last-child{
	border-right: unset;
}

.lp-header .right ul li a,
.lp-header2 .right ul li a{
	display: block;
	padding: 10px;
	text-decoration: none;
}

@media screen and (max-width: 1130px){
	.lp-header .right ul li a,
	.lp-header2 .right ul li a{
		font-size: 0.9rem;
		padding: 5px;
	}
}

@media screen and (max-width: 485px){
	.lp-header .right ul li a,
	.lp-header2 .right ul li a{
		padding: 0 5px;
		letter-spacing: -0.1em;
	}
}

@media screen and (max-width: 400px){
	.lp-header .right ul li a,
	.lp-header2 .right ul li a{
		padding: 0 3px;
	}
}

.lp-header3 {
    background: #1e73be;
	padding: 10px 0;
}

@media screen and (max-width: 485px){
	.lp-header3 {
		background: #cedefc;
		padding: 5px 0;
	}
}

.lp-header3 h1 {
	margin: 0;
}

@media screen and (max-width: 1000px){
	.lp-header3 h1 {
		margin: 0 auto;
	}
}

@media screen and (max-width: 485px){
	.lp-header3 h1 {
		max-width: 160px;
	}
}

.lp-header3 .wrap {
	display: flex;
	align-items: center;
    justify-content: space-between;
}

.lp-header3 ul {
	display: flex;
	background: #fff;
	margin: 0;
	padding: 10px 20px;
	border-radius: 100px;
}

.lp-header3 ul li {
	font-size: 14px;
}

.lp-header3 ul li:not(:last-child){
	position: relative;
	margin-right: 10px;
	padding-right: 10px;
}

.lp-header3 ul li:not(:last-child)::after {
	content: "";
	position: absolute;
	width: 1px;
	height: 100%;
	background: #ccc;
	top: 0;
	right: 0;
}

@media screen and (max-width: 1000px){
	.lp-header3 .right {
		display: none;
	}
}

/* メインビジュアル */
.mv.top {
	background-image: url(/img/mv2025_01pc.jpg);
	background-color: #fff;
	background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	padding: 100px 0;
}

@media screen and (max-width: 767px){
	.mv.top {
		background-image: url(/img/mv2025_01sp.jpg);
		/* padding: 80px 0 160px; */
		padding: 40px 0 160px;
	}
}

.mv.top .img_box{
	max-width: 1200px;
	margin: 0 auto 2rem;
    background-repeat: no-repeat;
    background-position: bottom right;
}

@media screen and (max-width: 1200px){
	.mv.top .img_box {
		padding: 0;
	}
}

@media screen and (max-width: 767px){
	.mv.top .img_box {
		margin: auto;
	}
}

.mv.top a {
	display: inline-block;
}

.mv.top ul,
ul.top_list {
	max-width: 1200px;
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	justify-content: space-between;
}

@media screen and (max-width: 767px){
	.mv.top ul,
	ul.top_list {
		margin: -30px 10px 0;
		gap: 5px; 
	}
}

.mv.top ul li,
ul.top_list li {
	width: calc(100% / 4 - 5px);
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background: #28a745;
    padding: 2rem 1rem;
    border: 1px solid #28a745;
	text-shadow: 0 2px 2px #333;
}

@media screen and (max-width: 767px){
	.mv.top ul li,
	ul.top_list li {
		width: calc(100% / 2 - 3px);
		font-size: 1rem;
		margin: 0;
		padding: 10px;
		background: rgba(40, 167, 69, 1);
		border-radius: 10px;
	}
}

.mv.top ul li span,
ul.top_list li span{
	color: #ffff00;
}

.mv.top2 {
	max-width: 1200px;
	margin: auto;
	padding: 50px 0;
}

@media screen and (max-width: 1200px){
	.mv.top2 {
		padding: 0 0 50px;
	}
}

@media screen and (max-width: 485px){
	.mv.top2 {
		padding: 0 0 30px;
	}
}

.mv .img_box img {
	display: block;
	max-width: 100%;
    margin: auto;
}

@media screen and (max-width: 767px){
	.mv .img_box img {
		width: 80%;
	}
}

.mv.top2 .lead {
	margin-top: -100px!important;
}

.mv.top p.first {
	font-size: 28px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 50px;
	text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
}

@media screen and (max-width: 940px){
	.mv.top p.first {
		font-size: 24px;
	}
}

@media screen and (max-width: 740px){
	.mv.top p.first {
		font-size: 20px;
	}
}

@media screen and (max-width: 485px){
	.mv.top p.first {
		font-size: 16px;
		margin-bottom: 20px;
	}
}

.mv.top p.first span {
	color: #c57805;
}

.mv.top .lead_box {
	
}

.mv.top .lead_box p {
	font-weight: 600;
	margin-bottom: 10px;
}

@media screen and (max-width: 485px){
	.mv.top .lead_box p {
		text-align: center;
	}
}

.mv.top .lead_box p.small {
	font-size: 20px;
	text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
}

@media screen and (max-width: 940px){
	.mv.top .lead_box p.small {
		font-size: 18px;
	}
}

@media screen and (max-width: 485px){
	.mv.top .lead_box p.small {
		font-size: 16px;
		margin-bottom: 0;
	}
}

.mv.top .lead_box p.small span {
	background: linear-gradient(transparent 60%, #ffce7acc 60%);
}

.mv.top .lead_box p.last {
	font-size: 48px;
	font-weight: 800;
    color: #1e73be;
	text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
}

@media screen and (max-width: 940px){
	.mv.top .lead_box p.last {
		font-size: 36px;
	}
}

@media screen and (max-width: 485px){
	.mv.top .lead_box p.last {
		font-size: 28px;
	}
}

.mv.top .lead_box p.shiryo {
	margin-top: 80px;
}

@media screen and (max-width: 767px){
	.mv.top .lead_box p.shiryo {
		text-align: right;
		margin-top: 60px;
	}
}

.mv.top .lead_box p.shiryo span{
    font-size: 26px;
    color: #fff;
    background: #dc3545;
    padding: 10px 40px;
}

@media screen and (max-width: 940px){
	.mv.top .lead_box p.shiryo span {
		font-size: 22px;
	}
}

@media screen and (max-width: 485px){
	.mv.top .lead_box p.shiryo span {
		display: inline-block;
		font-size: 18px;
		text-align: center;
		padding: 10px;
	}
}

.mv_seminar .wrap .img_box img {
    width: 100%;
    max-height: 850px;
    object-fit: cover;
	vertical-align:top;
}

@media screen and (min-width: 1201px){
	.mv_seminar .wrap .img_box img {
		border-radius: 100px;
		margin-top: 2rem;
		box-shadow: 0 0 20px #999;
	}
}

.mv .wrap .lead {
	position: relative;
    max-width: 950px;
	text-align: center;
	padding: 100px 1rem 1rem;
    margin: 0 auto 0;
    background: linear-gradient(45deg, #ffefd5, #fff, #ffefd5);
	border-radius: 20px;
	box-shadow: 0 2px 4px #999;
}

@media screen and (min-width: 1201px){
	.mv .wrap .lead {
		border-radius: unset;
	}
}

@media screen and (max-width: 1200px){
	.mv .wrap .lead {
		width: 90%;
		padding: 8vw 1rem 1rem;
	}
}

@media screen and (max-width: 485px){
	.mv .wrap .lead {
		width: 92%;
		padding: 15vw 0.5rem 1rem;
		border-radius: 10px;
	}
}

.mv .wrap .lead img {
    position: absolute;
    left: 0;
    right: 0;
    top: -80px;
	margin: 0 auto;
}

@media screen and (max-width: 1200px){
	.mv .wrap .lead img {
		width: 53vw;
    	top: -7.1vw;
	}
}

@media screen and (max-width: 485px){
	.mv .wrap .lead img {
		width: 86vw;
		top: -9.1vw;
	}
}

.mv .wrap .lead h2 {
    color: #bb3333;
	font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}

@media screen and (max-width: 485px){
	.mv .wrap .lead h2 {
		font-size: 1.5rem;
		margin-bottom: 1rem;
	}
}

.mv .wrap .lead ul {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}
@media screen and (max-width: 485px){
	.mv .wrap .lead ul {
		margin-bottom: 0;
	}
}

.mv .wrap .lead ul li {
    width: calc(100% / 2 - 10px);
    margin: 5px;
}

@media screen and (max-width: 840px){
	.mv .wrap .lead ul li {
		width: 100%;
	}
}

.mv .wrap .lead ul li a {
    display: flex;
	flex-wrap: wrap;
	position: relative;
    border-radius: 10px;
    box-shadow: 0 4px 4px #999;
	overflow: hidden;
	height: 70px;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 840px){
	.mv .wrap .lead ul li a {
		height: 60px;
	}
}

.mv .wrap .lead ul li a:hover{
	opacity: 1;
}

.mv .wrap .lead ul li a span {
	display: inline-block;
	position: relative;
	width: 100%;
    font-size: 1.2rem;
	padding-left: 3rem;
    color: #fff;
}

.mv .wrap .lead ul li a span.tp1 {
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.2;
}

@media screen and (max-width: 1080px){
	.mv .wrap .lead ul li a span.tp1 {
		font-size: 1.3rem;
		background-size: 16px;
	}
}

@media screen and (max-width: 840px){
	.mv .wrap .lead ul li a span.tp1 {
		font-size: 1.6rem;
		background-size: 24px;
	}
}

.mv .wrap .lead ul li a span.tp1 strong {
    display: block;
    font-size: 16px;
}

.mv .wrap .lead ul li a span.tp2 {
	font-size: 1rem;
    margin-top: -20px;
}

.mv .wrap .lead ul li a.taiken,
.mv .wrap .lead ul li a.trial{
	background: #f39800;
}

.mv .wrap .lead ul li a.line,
.mv .wrap .lead ul li a.seminar{
	background: #28a745;
}

.mv .wrap .lead ul li a.call{
	background: #17a2b8;
}

.mv .wrap .lead ul li a.taiken::after,
.mv .wrap .lead ul li a.line::after,
.mv .wrap .lead ul li a.call::after,
.mv .wrap .lead ul li a.trial::after,
.mv .wrap .lead ul li a.seminar::after{
	content:"";
	position: absolute;
	width: 40px;
	height: 40px;
	top: calc(50% - 20px);
	left: 15px;
	background-size: 40px;
	background-repeat: no-repeat;
}

@media screen and (max-width: 930px){
	.mv .wrap .lead ul li a.taiken::after,
	.mv .wrap .lead ul li a.line::after,
	.mv .wrap .lead ul li a.call::after,
	.mv .wrap .lead ul li a.trial::after,
	.mv .wrap .lead ul li a.seminar::after{
		left: 10px;
	}
}

.mv .wrap .lead ul li a.taiken::after{
	background-image: url(/img/icon_tel.png);
}

.mv .wrap .lead ul li a.line::after{
	background-image: url(/img/icon_line.png);
}

.mv .wrap .lead ul li a.call::after{
	background-image: url(/img/icon_pot.png);
}

.mv .wrap .lead ul li a.trial::after{
	background-image: url(/img/icon_trial.png);
}

.mv .wrap .lead ul li a.seminar::after{
	background-image: url(/img/icon_seminar.png);
}

.mv .wrap .lead ul li a:before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100px;
	height: 100px;
	content: '';
	-webkit-transition: all .5s ease-in-out;
	transition: all .3s ease-in-out;
	-webkit-transform: translateX(-30%) translateY(-25px);
	transform: translateX(-30%) translateY(-25px);
	/*border-radius: 50%; */
}

@media screen and (max-width: 930px){
	.mv .wrap .lead ul li a:before{
		-webkit-transform: translateX(-50%) translateY(-25px);
		transform: translateX(-50%) translateY(-25px);
	}
}

@media screen and (max-width: 840px){
	.mv .wrap .lead ul li a:before{
		-webkit-transform: translateX(-40%) translateY(-25px);
		transform: translateX(-40%) translateY(-25px);
	}
}

.mv .wrap .lead ul li a.taiken:before,
.mv .wrap .lead ul li a.trial:before{
	background: #b5750a;
}

.mv .wrap .lead ul li a.line:before,
.mv .wrap .lead ul li a.seminar:before{
	background: #0e6c24;
}

.mv .wrap .lead ul li a.call:before{
	background: #066b7a;
}

.mv .wrap .lead ul li a:hover:before{
	width: 400px;
	height: 400px;
	-webkit-transform: translateX(-1%) translateY(-175px);
	transform: translateX(-1%) translateY(-175px);
}

/* 3つの通学方法 */
.schooling {
	margin-bottom: 30px;
}

@media screen and (max-width: 1200px){
	.schooling {
		padding: 0 20px;
	}
}

.schooling figure.point {
    text-align: center;
}

@media screen and (max-width: 767px){
	.schooling figure.point {
		margin-top: -50px;
	}
}

@media screen and (max-width: 767px){
	.schooling {
		margin-bottom: 20px;
		padding: 0 10px;
	}
}

.schooling h2 {
	font-size: 32px;
    text-align: center;
    color: #fff;
    background: #1e73be;
    border-radius: 15px;
    padding: 10px 10px 15px;
}

@media screen and (max-width: 900px){
	.schooling h2 {
		font-size: 26px;
		padding: 8px 8px 12px;
	}
}

@media screen and (max-width: 767px){
	.schooling h2 {
		font-size: 20px;
		border-radius: 10px;
	}
}

.schooling .wrap {
	padding: 20px;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 2px 2px rgb(128 128 128 / 80%);
}

@media screen and (max-width: 767px){
	.schooling .wrap {
		border-radius: 10px;
	}
}

.schooling .wrap ul {
	width: 100%;
    display: flex;
    margin: auto;
    gap: 20px;
    justify-content: center;
}

@media screen and (max-width: 740px){
	.schooling .wrap ul {
		width: 100%;
		flex-wrap: wrap;
		gap: 10px;
	}
}

.schooling .wrap ul li {
	position: relative;
	width: 40%;
    border: 1px solid #ccc;
    border-radius: 20px;
    box-shadow: 0 2px 2px rgb(128 128 128 / 80%);
    overflow: hidden;
}

@media screen and (max-width: 767px){
	.schooling .wrap ul li {
		width: 100%;
		border-radius: 10px;
	}
}

.schooling .wrap ul li img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.schooling .wrap ul li span {
	display: block;
    position: absolute;
    width: 100%;
    bottom: 0;
    font-size: 24px;
    font-weight: 600;
    color: #1e73be;
    background: rgba(255, 255, 255, 0.8);
    line-height: 1;
    padding: 20px;
    text-align: center;
}

/* みんなの学園とは */
section.point .wrap{
	display: flex;
    flex-wrap: wrap;
	padding: 1rem;
}

@media screen and (max-width: 840px){
	section.point .wrap{
		display: block;
	}
}

section.point h2{
    width: 40%;
    position: relative;
    font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font-size: 2rem;
    font-weight: 600;
    color: #0e9fd1;
    z-index: 10;
    padding: 1rem 0 1rem 2rem;
    line-height: 200px;
}

@media screen and (max-width: 840px){
	section.point h2{
		width: 100%;
		margin: 0;
	}
}

@media screen and (max-width: 485px){
	section.point h2{
		line-height: 140px;
		padding: 1rem 0 1rem 1rem;
	}
}

section.point h2::before{
    content: "";
    position: absolute;
    width: 200px;
    height: 200px;
    left: 0;
    background: #e4f8ff;
    border-radius: 50%;
    z-index: -1;
}

@media screen and (max-width: 485px){
	section.point h2::before{
		width: 140px;
		height: 140px;
	}
}

section.point h2 span{
    position: absolute;
    color: #999;
    top: 3rem;
    left: 2rem;
    display: block;
    width: calc(100% - 3rem);
    line-height: 1.2;
    border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 485px){
	section.point h2 span{
		font-size: 1.6rem;
		top: 2rem;
		left: 1rem;
		width: calc(100% - 1rem);
	}
}

section.point .right {
	width: 60%;
}

@media screen and (max-width: 840px){
	section.point .right{
		position: relative;
		width: 100%;
		margin-top: -5rem;
		z-index: 10;
	}
}

@media screen and (max-width: 485px){
	section.point .right {
		margin-top: -4rem;
		border-radius: 10px;
	}
}

section.point .right table{
	margin-top: 1rem;
}

section.point .right table th,
section.point .right table td{
	padding: 5px;
}

section.point .right table th{
	background: #eafaff;
	white-space: nowrap;
}

section.point .right table td{
	background: #fff;
	font-size: 18px;
	text-align: center;
}

section.point .right ul {
	background: #fff;
	padding: 1rem;
	border: 1px solid #ccc;
    border-radius: 30px;
}

section.point .right ul li {
    position: relative;
    font-size: 1rem;
    font-weight: 600;
	color: #0d5083;
	padding: 10px 0 10px 40px;
    margin: 0;
	border-bottom: 1px dashed #0d5083;
}

@media screen and (max-width: 991px){
	section.point .right ul li {
		padding: 10px 0 10px 30px;
	}
}

section.point .right ul li::before {
    content: "";
    position: absolute;
    top: 11px;
    left: 0;
    display: block;
    border: 2px solid #5c98cd;
    border-radius: 5px;
    width: 24px;
    height: 24px;
}

@media screen and (max-width: 991px){
	section.point .right ul li::before {
		width: 20px;
		height: 20px;
	}
}

section.point .right ul li::after {
    content: "";
    display: block;
    position: absolute;
    top: 11px;
    left: 0px;
    width: 26px;
    height: 14px;
    border-left: 3px solid #ee723a;
    border-bottom: 3px solid #ee723a;
    -webkit-transform: rotate( -45deg );
    transform: rotate( -45deg );
}

@media screen and (max-width: 991px){
	section.point .right ul li::after {
		width: 22px;
		height: 10px;
	}
}

section.point .right ul li:last-child {
    border-bottom: none;
}

section.point .right figure {
	background: linear-gradient(45deg, #0e9fd1, #c9f1ff, #c9f1ff, #0e9fd1);
	padding: 10px;
}

@media screen and (max-width: 485px){
	section.point .right figure {
		margin: 0 calc(50% - 50vw);
		width: 100vw;
	}
}

@media screen and (min-width: 486px){
	section.point .right figure {
		border-radius: 20px;
	}
	
	section.point .right figure img{
		display: block;
		max-width: 480px;
		margin: auto;
	}
}

/* 合格実績 */
section.goukaku .wrap{
	display: flex;
    flex-wrap: wrap;
	padding: 1rem 1rem 0;
}

@media screen and (max-width: 840px){
	section.goukaku .wrap{
		display: block;
	}
}

section.goukaku h2{
    width: 40%;
    position: relative;
    font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font-size: 2rem;
    font-weight: 600;
    color: #0e9fd1;
    z-index: 10;
    padding: 1rem 0 1rem 2rem;
    line-height: 200px;
}

@media screen and (max-width: 840px){
	section.goukaku h2{
		width: 100%;
		margin: 0;
	}
}

@media screen and (max-width: 485px){
	section.goukaku h2{
		line-height: 140px;
		padding: 1rem 0 1rem 1rem;
	}
}

section.goukaku h2::before{
    content: "";
    position: absolute;
    width: 200px;
    height: 200px;
    left: 0;
    background: #e4f8ff;
    border-radius: 50%;
    z-index: -1;
}

@media screen and (max-width: 485px){
	section.goukaku h2::before{
		width: 140px;
		height: 140px;
	}
}

section.goukaku h2 span{
    position: absolute;
    color: #999;
    top: 3rem;
    left: 2rem;
    display: block;
    width: calc(100% - 3rem);
    line-height: 1.2;
    border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 485px){
	section.goukaku h2 span{
		font-size: 1.6rem;
		top: 2rem;
		left: 1rem;
		width: calc(100% - 1rem);
	}
}

section.goukaku .right {
	width: 60%;
}

@media screen and (max-width: 840px){
	section.goukaku .right{
		position: relative;
		width: 100%;
		margin-top: -5rem;
		z-index: 10;
	}
}

@media screen and (max-width: 485px){
	section.goukaku .right {
		margin-top: -4rem;
		border-radius: 10px;
	}
}

section.goukaku .right figure {
	padding: 10px;
}

@media screen and (max-width: 485px){
	section.goukaku .right figure {
		background: #fff;
		margin: 0 0 1rem;
    	border: 1px solid #ccc;
    	border-radius: 10px;
	}
}

/* 出席扱い制度 */
section.seido {
    /* background: #fff; */
	padding: 3rem 0;
}

@media screen and (max-width: 767px){
	section.seido {
		padding: 0 0 3rem;
		overflow: hidden;
	}
}

section.seido h2{
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
}

@media screen and (min-width: 768px){
	section.seido h2{
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
		text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff;
	}
}

@media screen and (max-width: 767px){
	section.seido h2{
		font-size: 1.6rem;
		margin: 0;
    	padding: 10px;
    	color: #fff;
    	background: #1e73be;
	}
}

section.seido h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #666;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px){
	section.seido h2 span{
		display: none;
	}
}

section.seido .box {
    background: #fff;
    padding: 2rem;
    border-radius: 20px;
}

@media screen and (max-width: 767px){
	section.seido .box {
		position: relative;
		margin: 2rem 1rem 0;
		padding: 0;
		border-radius: 10px;
		z-index: 10;
		overflow: hidden;
	}
}

section.seido .box p.lead {
    background: #1eb9ee;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    padding: 0.5rem 1rem;
}

@media screen and (max-width: 485px){
	section.seido .box p.lead {
		font-size: 1.1rem;
		padding: 10px;
	}
}

section.seido .box ul.image {
	max-width: 950px;
    display: flex;
    flex-wrap: wrap;
	margin: 0 auto 2rem;
    align-items: center;
}

@media screen and (max-width: 680px){
	section.seido .box ul.image {
		display: block;
		max-width: 400px;
	}
}

section.seido .box ul.image li img {
	width: 100%;
    height: 100%;
}

section.seido .box ul.image li:first-child{
	position: relative;
	width: calc(60% - 100px);
	margin: 0 100px 0 0;
}

@media screen and (max-width: 680px){
	section.seido .box ul.image li:first-child{
		width: 100%;
		margin: 0 0 20px;
	}
}

section.seido .box ul.image li:first-child::before{
	content: '';
    width: 0;
    height: 0;
    top: calc(50% - 40px);
    right: -70px;
    border-style: solid;
    border-width: 40px 0 40px 40px;
    border-color: transparent transparent transparent #1e73be;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    margin: auto;
}

@media screen and (max-width: 680px){
	section.seido .box ul.image li:first-child::before{
		display: none;
	}
}

section.seido .box ul.image li:last-child{
	width: 40%;
	margin: 0 ;
}

@media screen and (max-width: 680px){
	section.seido .box ul.image li:last-child{
		width: 100%;
		max-width: 240px;
   		margin: auto;
	}
}

section.seido .box .left {
	width: calc(50% - 20px);
	margin: 0 20px 0 0;
    float: left;
}

@media screen and (max-width: 680px){
	section.seido .box .left {
		width: 100%;
	}
}

section.seido .box .left h3{
	font-size: 1.2rem;
	font-weight: 600;
	text-align: center;
	color: #29598d;
    background: #e8f4ff;
	padding: 10px;
}

section.seido .box .left ol{
	padding: 0;
}

@media screen and (max-width: 485px){
	section.seido .box .left ol{
		width: 95%;
		margin: 0 auto 2rem;
	}
}

section.seido .box .left ol li{
	position: relative;
    font-weight: 600;
    padding: 10px 20px;
    margin-left: 50px;
	margin-bottom: 30px;
    background: #eee;
    border-radius: 50px;
}

@media screen and (max-width: 485px){
	section.seido .box .left ol li{
		margin-bottom: 24px;
	}
}

section.seido .box .left ol li:last-child{
	margin-bottom: 0;
}

section.seido .box .left ol li:before{
	position: absolute;
    counter-increment: number;
    content: counter(number);
    display: inline-block;
    background: #1eb9ee;
    color: #fff;
    font-weight: 600;
    font-size: 1.6rem;
    border-radius: 50%;
    left: -50px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    top: 24px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

section.seido .box .left ol li:after{
	content: '';
    width: 0;
    height: 0;
    bottom: -40px;
	right: calc(50% - 20px);
    border-style: solid;
    border-width: 16px 20px;
    border-color: #1eb9ee transparent transparent transparent;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    margin: auto;
}

@media screen and (max-width: 485px){
	section.seido .box .left ol li:after{
		bottom: -30px;
		right: calc(50% - 16px);
		border-width: 12px 16px;
	}
}

section.seido .box .left ol li:last-child:after{
	display: none;
}

section.seido .box .right {
	width: 50%;
    float: left;
}

@media screen and (max-width: 680px){
	section.seido .box .right {
		width: 100%;
	}
}

section.seido .box .right h3{
	font-size: 1.2rem;
	font-weight: 600;
	text-align: center;
	color: #29598d;
    background: #e8f4ff;
	padding: 10px;
}

section.seido .box .right ul{
	margin: 0;
}

@media screen and (max-width: 485px){
	section.seido .box .right ul{
		width: 95%;
		margin: auto;
		padding-bottom: 1rem;
	}
}

section.seido .box .right ul li{
	display: flex;
	margin: 0;
}

section.seido .box .right ul li:first-child{
	margin: 0 0 1rem;
}

section.seido .box .right ul li figure{
	width: calc(30% - 10px);
	margin-right: 10px;
	text-align: center;
}

section.seido .box .right ul li figure a p.kakudai {
    display: inline-block;
    text-align: center;
    margin: 5px 0 0;
    background: #0e9fd1;
    color: #fff;
	font-size: 0.9rem;
    font-weight: 600;
    padding: 0 10px;
    border-radius: 20px;
}

@media screen and (max-width: 485px){
	section.seido .box .right ul li figure a p.kakudai {
		font-size: 0.8rem;
		padding: 2px 10px;
	}
}

section.seido .box .right ul li .toc{
	width: 70%;
}

section.seido .box .right ul li .toc h4 {
    color: #0e9fd1;
    border-bottom: 1px solid #0e9fd1;
}

section.seido .box .right ul li .toc p {
    font-size: 0.9rem;
}

/* メニューコース */

section.service {
    background: #e8f4ff;
	padding: 3rem 0;
	background-image: url(/img/menuback2.jpg);
    background-size: 100%;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px){
	section.service {
		padding: 0 0 1rem;
		overflow: hidden;
	}
}

section.service h2{
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
	text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff;
}

section.service h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #666;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 485px){
	section.service h2{
		width: 100%;
		position: relative;
		font-size: 2rem;
		font-weight: 600;
		text-align: left;
		color: #0d5083;
		z-index: 10;
		padding: 1rem 0 1rem 2rem;
		line-height: 140px;
		text-shadow: none;
	}
	
	section.service h2::before{
		content: "";
		position: absolute;
		width: 140px;
		height: 140px;
		left: 1rem;
		background: #afdbb9;
		border-radius: 50%;
		z-index: -1;
	}
	
	section.service h2 span{
		position: absolute;
		font-size: 1.6rem;
		color: #fff;
		top: 3rem;
		left: 2rem;
		display: block;
		width: calc(100% - 3rem);
		line-height: 1.2;
		border-bottom: 1px solid #fff;
	}
}

section.service p.lead {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 600;
    color: #1e73be;
}

@media screen and (max-width: 767px){
	section.service p.lead {
		position: relative;
		padding: 10px;
		color: #fff;
    	background: linear-gradient(to right, #28a745, #52c56c, #28a745);
        z-index: 10;
        text-shadow: 0 2px 4px #333;
	}
}

@media screen and (min-width: 768px){
	section.service p.lead {
		text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff;
	}
}

section.service p.lead span{
	font-size: 2rem;
    padding: 0 5px;
    color: #f39800;
}

@media screen and (max-width: 485px){
	section.service p.lead span{
		color: #ffff00;
		font-size: 1.6rem;
	}
}

section.service ul {
    display: flex;
    flex-wrap: wrap;
}

@media screen and (max-width: 840px){
	section.service ul {
		display: block;
		padding: 0 1rem;
	}
}

@media screen and (max-width: 485px){
	section.service ul {
		position: relative;
		z-index: 10;
	}
}

section.service ul li {
	display: flex;
    flex-direction: column;
    width: calc(100% / 2 - 20px);
    margin: 10px;
	padding: 1rem;
    background: rgba(255,255,255,0.9);
    border-radius: 10px;
}

@media screen and (max-width: 840px){
	section.service ul li {
		width: 100%;
		margin: 20px 0;
		border-radius: 0;
	}
}

section.service ul li a {
    display: block;
    width: 100%;
    max-width: 300px;
    text-align: center;
    margin: 20px auto 0;
    padding: 5px;
    color: #fff;
    background: #1e73be;
    border-radius: 10px;
}

section.service ul li h3{
	text-align: center;
    line-height: 64px;
	color: #1e73be;
	margin-bottom: 10px;
    background: url(/img/midashiback.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 64px;
	text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff;
	border-bottom: 1px solid #128153;
}

@media screen and (max-width: 485px){
	section.service ul li h3{
		line-height: 48px;
		background-size: 48px;
	}
}

section.service ul li p{
	display: flex;
	padding-left: 120px;
	background-repeat: no-repeat;
	background-size: 100px;
	background-position: left center;
	flex-grow: 1;
	margin: 0;
	min-height: 100px;
	align-items: center;
}

@media screen and (max-width: 840px){
	section.service ul li p{
		padding-left: 100px;
		background-size: 80px;
		min-height: 80px;
	}
}

@media screen and (max-width: 485px){
	section.service ul li p{
		padding-left: 90px;
		line-height: 1.5;
	}
}

section.service ul li.serv1 p{
	background-image: url(/img/calc1.jpg);
}

section.service ul li.serv2 p{
	background-image: url(/img/calc2.jpg);
}

section.service ul li.serv3 p{
	background-image: url(/img/calc3.jpg);
}

section.service ul li.serv4 p{
	background-image: url(/img/calc4.jpg);
}

section.service ul li.serv5 p{
	background-image: url(/img/calc5.jpg);
}

section.service ul li.serv6 p{
	background-image: url(/img/calc6.jpg);
}

section.service ul li.serv7 p{
	background-image: url(/img/price3.png);
}

@media screen and (max-width: 485px){
	section.service ul li.serv2,
	section.service ul li.serv4,
	section.service ul li.serv6{
		position: relative;
	}
	
	section.service ul li.serv2::before,
	section.service ul li.serv4::before,
	section.service ul li.serv6::before{
		content: "";
		position: absolute;
		background-repeat: no-repeat;
		z-index: -1;
	}

	section.service ul li.serv2::before {
		width: 240px;
    	height: 300px;
   		top: 60%;
		right: -40%;
		background-image: url(/img/menuback2.png);
		background-size: 240px;
	}

	section.service ul li.serv4::before {
		width: 240px;
		height: 300px;
		left: -20%;
		background-image: url(/img/menuback5.png);
		background-size: 240px;
	}

	section.service ul li.serv6::before {
		width: 260px;
		height: 300px;
		right: -1rem;
		top: 30%;
		background-image: url(/img/menuback6.png);
		background-size: 260px;
	}
}

/* 入学の流れ */

section.flow {
    /* background: #e5f3e8; */
	padding: 3rem 0;
}

@media screen and (max-width: 767px){
	section.flow{
		padding: 0 0 1rem;
	}
}

section.flow h2{
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
}

@media screen and (min-width: 768px){
	section.flow h2{
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	}
}

@media screen and (max-width: 767px){
	section.flow h2{
		font-size: 1.6rem;
		margin: 0;
    	padding: 10px;
    	color: #fff;
    	background: #1e73be;
	}
}

section.flow h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #999;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px){
	section.flow h2 span{
		display: none;
	}
	
	section.flow h2::before{
		content: "";
		position: absolute;
		width: 140px;
		height: 140px;
		left: 1rem;
		background: #e4f8ff;
		border-radius: 50%;
		z-index: -1;
	}
}

section.flow .box{
	display: flex;
    position: relative;
	align-items: center;
}

@media screen and (max-width: 800px){
	section.flow .box{
		display: block;
	}
}

@media screen and (max-width: 767px){
	section.flow .box{
		margin-top: 0;
		z-index: 10;
	}
}

section.flow .box figure{
	width: 50%;
}

@media screen and (max-width: 800px){
	section.flow .box figure{
		width: 100%;
	}
}

section.flow .box figure img{
	display: block;
	width: 100%;
}

@media screen and (max-width: 800px){
	section.flow .box figure img{
		max-height: 300px;
		object-fit: cover;
		object-position: top;
	}
}

section.flow .box ol {
	width: 70%;
	position: relative;
	background: rgba(11, 164, 217, .8);
	margin: 0 0 0 -20%;
	padding: 2rem;
	height: fit-content;
}

@media screen and (max-width: 800px){
	section.flow .box ol {
		width: 95%;
		margin: -10% auto 0;
	}
}

@media screen and (max-width: 767px){
	section.flow .box ol {
		margin: -30% auto 0 10px;
	}
}

section.flow .box ol::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 10px;
	right: 10px;
    bottom: 10px;
    border: 1px solid #eee;
}

section.flow .box ol li {
	position: relative;
    font-size: 1.2rem;
    font-weight: 600;
	margin: 0;
	padding: 16px 10px 16px 50px;
    color: #fff;
	border-bottom: 2px dashed #fff;
}

@media screen and (max-width: 998px){
	section.flow .box ol li {
		font-size: 1rem;
		padding: 16px 10px 16px 42px;
	}
}

@media screen and (max-width: 767px){
	section.flow .box ol li:first-child {
		padding: 0 0 16px 30px;
	}
	
	section.flow .box ol li {
		padding: 16px 0 16px 30px;
	}
}

section.flow .box ol li:last-child {
	border-bottom: unset;
}

section.flow .box ol li:before{
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display:inline-block;
	background: #fff;
    color: #1e73be;
    font-weight: 600;
    font-size: 1.6rem;
	border-radius: 50%;
	left: 0;
	width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    top: 32px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media screen and (max-width: 998px){
	section.flow .box ol li:before{
		font-size: 1.4rem;
		width: 32px;
		height: 32px;
		line-height: 32px;
		top: 30px;
	}
}

@media screen and (max-width: 767px){
	section.flow .box ol li:before{
		font-size: 1.2rem;
		width: 26px;
		height: 26px;
		line-height: 26px;
	}
}

@media screen and (max-width: 767px){
	section.flow .box ol li:first-child:before {
		top: 12px;
	}
}

section.flow .box ol li p{
	margin: 0;
}

section.flow .box ol li a {
	text-decoration: underline!important;
	color: #fff;
}

/* 卒業後の進路 */
section.shinro {
	/* background: #fff; */
	padding: 3rem 0;
}

@media screen and (max-width: 767px){
	section.shinro{
		padding: 0 0 2rem;
	}
}

section.shinro h2{
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
}

@media screen and (min-width: 768px){
	section.shinro h2{
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	}
}

@media screen and (max-width: 767px){
	section.shinro h2 {
    	font-size: 1.6rem;
    	margin: 0;
    	padding: 10px;
    	color: #fff;
    	background: #1e73be;
	}
}

section.shinro h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #999;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px){
	section.shinro h2 span{
		display: none;
	}
}

section.shinro figure{
	width: 100%;
    max-width: 950px;
    margin: auto;
    padding: 20px;
    background: #fff;
    border: 1px solid #999;
}

@media screen and (max-width: 767px){
	section.shinro figure{
		position: relative;
		padding: 10px;
		border-top: none;
		border-right: none;
		border-left: none;
		border-bottom: 1px solid #999;
	}
}

section.shinro figure img{
	display: block;
	width: 100%;
	max-width: 700px;
	margin: auto;
}

section.shinro .flex {
	display: flex;
	flex-wrap: wrap;
	max-width: 950px;
    margin: 30px auto 0;
	justify-content: space-between;
}

@media screen and (max-width: 767px){
	section.shinro .flex {
		width: 95%;
		margin: 1rem auto 0;
	}
}

section.shinro .flex .box {
	width: 48%;
	background: #fff;
	padding: 20px;
	border-radius: 20px;
	box-shadow: 0 2px 2px rgb(128 128 128 / 80%);
}

@media screen and (max-width: 767px){
	section.shinro .flex .box {
		width: 100%;
		border-radius: 10px;
	}
	
	section.shinro .flex .box:first-child {
		margin-bottom: 20px;
	}
}

section.shinro .flex .box h3 {
	color: #1e73be;
	text-align: center;
}

section.shinro .flex .box h3 span {
	color: #f39800;
}

section.shinro .flex .box p {
	margin: 0;
}

/* 料金システム */
section.system {
    background: #fff8e1;
    padding: 3rem 0;
}

@media screen and (max-width: 485px){
	section.system{
		padding: 1rem 0;
	}
}

section.system h2{
	font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
}

section.system h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #999;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 485px){
	section.system h2{
		width: 100%;
		position: relative;
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
		font-size: 2rem;
		font-weight: 600;
		text-align: left;
		color: #0d5083;
		z-index: 10;
		padding: 1rem 0 1rem 2rem;
		line-height: 140px;
	}
	
	section.system h2::before{
		content: "";
		position: absolute;
		width: 140px;
		height: 140px;
		left: 1rem;
		background: #ffecb4;
		border-radius: 50%;
		z-index: -1;
	}
	
	section.system h2 span{
		position: absolute;
		font-size: 1.6rem;
		color: #999;
		top: 3rem;
		left: 2rem;
		display: block;
		width: calc(100% - 3rem);
		line-height: 1.2;
		border-bottom: 1px solid #ccc;
	}
}

section.system .box {
	max-width: 950px;
    margin: auto;
    position: relative;
    align-items: center;
}

@media screen and (max-width: 485px){
	section.system .box{
		margin-top: -5rem;
		z-index: 10;
	}
}

section.system .box ul.step1{
	display: flex;
	flex-wrap: wrap;
}

@media screen and (max-width: 800px){
	section.system .box ul.step1{
		display: block;
		padding: 0 1rem;
	}
}

section.system .box ul.step1 li{
	width: calc(100% / 2 - 10px);
	margin: 5px;
	padding: 2rem;
	text-align: center;
	background: #fff;
	border: 1px solid #1eb9ee;
	border-radius: 10px;
}

@media screen and (max-width: 800px){
	section.system .box ul.step1 li{
		width: 100%;
		max-width: 540px;
		margin: 5px auto;
	}
}

@media screen and (max-width: 485px){
	section.system .box ul.step1 li{
		padding: 1rem;
	}
}

section.system .box ul.step1 li:last-child{
	border: 1px solid #28a745;
	
}

section.system .box ul.step1 li h3 {
    color: #fff;
    font-size: 1.2rem;
    padding: 5px;
    background: #1eb9ee;
    border-radius: 20px;
    /* border-bottom: 1px solid #29598d; */
    margin-bottom: 1rem;
}

section.system .box ul.step1 li ul.step2{
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}

section.system .box ul.step1 li ul.step2 li{
	width: calc(100% / 3 - 10px);
	margin: 0 5px;
	padding: 0;
	border: unset;
}

section.system .box ul.step1 li ul.step2 li h3 {
    color: #fff;
	background: #28a745;
    /* border-bottom: 1px solid #128153; */
}

section.system .box ul li p {
	font-size: 1.4rem;
	font-weight: 600;
	text-align: center;
	margin: 0;
}

section.system .box ul li p span{
	font-size: 1rem;
}

section.system .box ul li p.before,
section.system .box ul li p.after{
	display: inline;
}

section.system .box ul li p.before{
	color: #ccc;
	position: relative;
	padding-right: 60px;
}

@media screen and (max-width: 800px){
	section.system .box ul li p.before{
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 485px){
	section.system .box ul li p.before{
		padding-right: 36px;
	}
}

section.system .box ul li p.before::before{
	content: '';
    width: 0;
    height: 0;
    top: -4px;
    right: 15px;
    border-style: solid;
    border-width: 16px 0 16px 20px;
    border-color: transparent transparent transparent #1e73be;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    margin: auto;
}

@media screen and (max-width: 485px){
	section.system .box ul li p.before::before{
		right: 4px;
	}
}

section.system .box ul li p.after{
	font-size: 1.6rem;
	color: #ff0000;
}

@media screen and (max-width: 800px){
	section.system .box ul li p.after{
		font-size: 2rem;
	}
}

section.system .box2 {
	max-width: 950px;
    margin: auto;
}

section.system .box2 h3 {
	width: 100%;
	text-align: center;
}

section.system .box2 h3 span{
	position: relative;
    font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    color: #f39800;
    background: #fff8e1;
    padding: 0 10px;
    z-index: 10;
}

section.system .box2 h3 span::before {
    content: "";
    position: absolute;
    width: 300%;
    max-width: 950px;
    height: 1px;
    top: 50%;
    left: -100%;
    background: #f39800;
    z-index: -1;
}

section.system .box2 ul{
	display: flex;
	flex-wrap: wrap;
}

@media screen and (max-width: 800px){
	section.system .box2 ul{
		display: block;
		padding: 0 1rem;
	}
}

section.system .box2 ul li{
	display: flex;
	flex-wrap: wrap;
	width: calc(100% / 3 - 10px);
    margin: 5px;
    padding: 10px 10px 10px 120px;
    background: #fff;
    background-repeat: no-repeat;
    background-size: 100px;
    background-position: left 10px center;
    border: 1px solid #f39800;
    border-radius: 10px;
    min-height: 120px;
	align-items: center;
}

@media screen and (max-width: 900px){
	section.system .box2 ul li{
		padding: 10px 10px 10px 100px;
		background-size: 80px;
		min-height: 100px;
	}
}

@media screen and (max-width: 800px){
	section.system .box2 ul li{
		width: 100%;
		max-width: 540px;
    	margin: 5px auto;
	}
}

section.system .box2 ul li.course1{
	background-image: url(/img/price1.png);
}

section.system .box2 ul li.course2{
	background-image: url(/img/price2.png);
}

section.system .box2 ul li.course3{
	background-image: url(/img/price3.png);
}

section.system .box2 ul li h4{
	width: 100%;
	font-size: 1.2rem;
	color: #b77810;
	margin-bottom: 10px;
	border-bottom: 1px solid #b77810;
}

@media screen and (max-width: 800px){
	section.system .box2 ul li h4{
		font-size: 1.4rem;
	}
}

section.system .box2 ul li p{
	width: 100%;
	font-size: 0.9rem;
	margin-bottom: 0;
}

@media screen and (max-width: 800px){
	section.system .box2 ul li p{
		font-size: 1.1rem;
	}
}

section.system .box2 ul li p span{
	font-size: 1.2rem;
	font-weight: 600;
	padding: 0 5px;
	color: #ff0000;
}

@media screen and (max-width: 800px){
	section.system .box2 ul li p span{
		font-size: 1.6rem;
	}
}

section.system .box2 ul li .pot {
    width: 100%;
}

/* 講師紹介 */
section.teachers {
    padding: 3rem 0;
}

@media screen and (max-width: 485px){
	section.teachers{
		padding: 1rem 0;
	}
}

section.teachers h2{
	font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
}

section.teachers h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #999;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 485px){
	section.teachers h2{
		width: 100%;
		position: relative;
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
		font-size: 2rem;
		font-weight: 600;
		text-align: left;
		color: #0d5083;
		z-index: 10;
		padding: 1rem 0 1rem 2rem;
		line-height: 140px;
	}
	
	section.teachers h2::before{
		content: "";
		position: absolute;
		width: 140px;
		height: 140px;
		left: 1rem;
		background: #e4f8ff;
		border-radius: 50%;
		z-index: -1;
	}
	
	section.teachers h2 span{
		position: absolute;
		font-size: 1.6rem;
		color: #999;
		top: 3rem;
		left: 2rem;
		display: block;
		width: calc(100% - 3rem);
		line-height: 1.2;
		border-bottom: 1px solid #ccc;
	}
}

section.teachers ul {
    display: flex;
    flex-wrap: wrap;
	background: #fff;
    padding: 2rem;
	border-radius: 20px;
}

@media screen and (max-width: 485px){
	section.teachers ul {
		position: relative;
		margin: -5rem 1rem 0;
		padding: 1rem 0;
		border-radius: 10px;
		z-index: 10;
	}
}

section.teachers ul li {
	position: relative;
    width: calc(100% / 4 - 10px);
    margin: 5px;
    overflow: hidden;
}

@media screen and (max-width: 900px){
	section.teachers ul li {
		width: calc(100% / 3 - 10px);
	}
}

@media screen and (max-width: 768px){
	section.teachers ul li {
		width: calc(100% / 2 - 10px);
	}
}

section.teachers ul li figure{
	width: 100%;
}

section.teachers ul li figure img{
	display: block;
	width: 100%;
	max-width: 200px;
	margin: auto;
	border-radius: 50%;
}

@media screen and (max-width: 768px){
	section.teachers ul li figure img{
		max-width: 50%;
		max-height: 300px;
		object-fit: cover;
		object-position: top;
	}
}

section.teachers ul li h3{
    position: relative;
	margin-top: -18px;
	margin-bottom: -18px;
	text-align: center;
}

section.teachers ul li h3 span{
	text-align: center;
    font-size: 1.2rem;
    color: #fff;
    background: #1e73be;
    padding: 3px 20px;
}

@media screen and (max-width: 485px){
	section.teachers ul li h3 span{
		font-size: 1rem;
		padding: 2px 10px;
	}
}

section.teachers ul li p{
	font-size: 0.9rem;
    padding: 28px 15px 10px;
    margin: 0 auto;
    line-height: 1.5;
	background: #fff;
	border: 1px solid #c1cfdd;
}

@media screen and (max-width: 485px){
	section.teachers ul li p{
		text-align: justify;
		padding: 20px 8px 10px;
	}
}

/* ヒアリング担当者 */
section.manager {
    padding: 3rem 0;
}

@media screen and (max-width: 767px){
	section.manager{
		padding: 0 0 1rem;
	}
}

section.manager h2{
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
}

@media screen and (min-width: 768px){
	section.manager h2{
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	}
}

@media screen and (max-width: 767px){
	section.manager h2 {
    	font-size: 1.6rem;
    	margin: 0;
    	padding: 10px;
    	color: #fff;
		background: #1e73be;
	}
}

section.manager h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #999;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px){
	section.manager h2 span{
		display: none;
	}
}

section.manager p.lead {
	position: relative;
	font-size: 20px;
	font-weight: 600;
    color: #0693e3;
	text-align: center;
    margin-top: -5rem;
	margin-bottom: 5px;
    z-index: 10;
}

@media screen and (max-width: 767px){
	section.manager p.lead {
		margin-top: 1rem;
	}
}

section.manager p.lead span{
	display: inline-block;
    position: relative;
    line-height: 50px;
}

section.manager p.lead span::before,
section.manager p.lead span::after {
    content: "";
    position: absolute;
    width: 40px;
    height: 50px;
    top: 0;
    background-repeat: no-repeat;
    background-size: contain;
}

section.manager p.lead span::before {
    background-image: url(/img/textleft3.png);
    left: -50px;
}

section.manager p.lead span::after {
    background-image: url(/img/textright3.png);
    right: -50px;
}

@media screen and (min-width: 768px){
	section.manager p.lead{
		display: none;
	}
}

section.manager ul {
	
}

@media screen and (max-width: 767px){
	section.manager ul {
		position: relative;
		background: #fff;
		margin: 0 1rem;
		padding: 1rem;
		border-radius: 10px;
		z-index: 10;
	}
}

section.manager ul li {
    display: flex;
    flex-wrap: wrap;
}

@media screen and (max-width: 767px){
	section.manager ul li {
		display: block;
	}
}

section.manager ul li figure {
    width: 240px;
}

@media screen and (max-width: 767px){
	section.manager ul li figure {
		width: 100%;
	}
}

section.manager ul li figure img{
    width: 100%;
}

@media screen and (max-width: 767px){
	section.manager ul li figure img{
		display: block;
		max-width: 200px;
		max-height: 200px;
    	object-fit: cover;
    	object-position: top;
		margin: auto;
	}
}

section.manager ul li .box {
    width: calc(100% - 240px);
	padding-left: 20px;
}

@media screen and (max-width: 767px){
	section.manager ul li .box {
		width: 100%;
		padding-left: 0;
	}
}

section.manager ul li .box h3 {
	font-size: 32px;
    color: #0e9fd1;
    border-bottom: 1px solid;
	margin-bottom: 10px;
}

@media screen and (max-width: 767px){
	section.manager ul li .box h3 {
		font-size: 20px;
		text-align: center;
		margin-top: 10px;
	}
}

section.manager ul li .box p.property {
	color: #fff;
	background: #0e9fd1;
    padding: 10px 20px;
    border-radius: 20px;
}

@media screen and (max-width: 767px){
	section.manager ul li .box p.property {
		font-size: 12px;
		padding: 10px;
		border-radius: 10px;
		margin-bottom: 10px;
	}
}

section.manager ul li .box p.txt {
	font-size: 14px;
	background: #fff;
    padding: 20px;
    border-radius: 20px;
}

@media screen and (max-width: 767px){
	section.manager ul li .box p.txt {
		padding: 0;
	}
}

section.lpvoice h2{
	font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
}

section.lpvoice h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #999;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 485px){
	section.lpvoice h2{
		width: 100%;
		position: relative;
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
		font-size: 2rem;
		font-weight: 600;
		text-align: left;
		color: #0d5083;
		z-index: 10;
		padding: 1rem 0 1rem 2rem;
		line-height: 140px;
	}
	
	section.lpvoice h2::before{
		content: "";
		position: absolute;
		width: 140px;
		height: 140px;
		left: 1rem;
		background: #e4f8ff;
		border-radius: 50%;
		z-index: -1;
	}
	
	section.lpvoice h2 span{
		position: absolute;
		font-size: 1.6rem;
		color: #999;
		top: 3rem;
		left: 2rem;
		display: block;
		width: calc(100% - 3rem);
		line-height: 1.2;
		border-bottom: 1px solid #ccc;
	}
}

section.lpvoice ul {
	position: relative;
}

@media screen and (max-width: 485px){
	section.lpvoice ul {
		margin: -5rem 1rem 0;
		z-index: 10;
	}
}

section.lpvoice ul li {
	background: #fff;
	padding: 20px;
	border: 2px solid #0e9fd1;
	
}

/* ご利用者様の声（体験談） */
section.lpvoice2 {
	background: #fff;
    padding: 3rem 0;
}

@media screen and (max-width: 767px){
	section.lpvoice2 {
		padding: 0;
	}
}

section.lpvoice2 .wrap {
	padding: 0 20px;
}

@media screen and (max-width: 767px){
	section.lpvoice2 .wrap {
		padding: 0;
	}
}

section.lpvoice2 h2{
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
}

@media screen and (min-width: 768px){
	section.lpvoice2 h2{
	font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	}
}

section.lpvoice2 h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #999;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px){
	section.lpvoice2 h2{
		font-size: 1.6rem;
		margin: 0;
		padding: 10px;
    	color: #fff;
    	background: #1e73be;
	}
	
	section.lpvoice2 h2 span{
		display: none;
	}
}

section.lpvoice2 ul {
    margin: auto;
}

@media screen and (max-width: 767px){
	section.lpvoice2 ul {
		position: relative;
		background: #e4f8ff;
		padding-top: 20px;
		z-index: 10;
	}
}

section.lpvoice2 ul li {
	background: #e4f8ff;
    padding: 1rem;
}

@media screen and (max-width: 767px){
	section.lpvoice2 ul li:first-child { 
		margin-top: 0;
	}
	
	section.lpvoice2 ul li:last-child { 
		margin-bottom: 0;
	}
}

section.lpvoice2 ul li h3 {
	text-align: center;
}

@media screen and (max-width: 767px){
	section.lpvoice2 ul li h3 {
		
	}
}
section.lpvoice2 ul li h3 span {
	font-size: 32px;
}

section.lpvoice2 ul li .box {
	display: flex;
    flex-wrap: wrap;
}

@media screen and (max-width: 767px){
	section.lpvoice2 ul li .box {
		
	}
}

section.lpvoice2 ul li .box .inline {
	width: calc(100% / 3 - 12px);
    background: #fff;
    padding: 1rem;
}

section.lpvoice2 ul li .box .inline:nth-child(2) {
	margin: 0 18px;
}

@media screen and (max-width: 767px){
	section.lpvoice2 ul li .box .inline {
		width: 100%;
	}
	
	section.lpvoice2 ul li .box .inline:nth-child(2) {
		margin: 10px 0;
	}
}

section.lpvoice2 ul li .box .inline h4 {
	font-size: 1.1rem;
}

section.lpvoice2 ul li .box .inline h4 span {
	display: flex;
    flex-wrap: wrap;
    position: relative;
    font-size: 1rem;
    margin-bottom: 10px;
    padding-left: 60px;
	align-items: center;
}

section.lpvoice2 ul li .box .inline h4 span::before {
    display: flex;
    position: absolute;
    width: 50px;
    height: 50px;
    left: 0;
    color: #fff;
    background: #0e9fd1;
    border-radius: 100px;
    align-items: center;
    justify-content: center;
}

section.lpvoice2 ul li .box .inline:first-child h4 span::before {
	content: "質問1";
}

section.lpvoice2 ul li .box .inline:nth-child(2) h4 span::before {
	content: "質問2";
}

section.lpvoice2 ul li .box .inline:nth-child(3) h4 span::before {
	content: "質問3";
}

section.lpvoice2 ul li .box .inline p {
	font-size: 0.9rem;
	margin: 0;
}

/* よくある質問 */
section.question {
    padding: 3rem 0;
	background: #ecf9fd;
}

@media screen and (max-width: 767px){
	section.question{
		padding: 0 0 2rem;
	}
}

section.question h2{
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0d5083;
}

@media screen and (min-width: 768px){
	section.question h2{
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	}
}

@media screen and (max-width: 767px){
	section.question h2{
		font-size: 1.6rem;
    	margin: 0;
    	padding: 10px;
    	color: #fff;
    	background: #1e73be;
	}
}

section.question h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #ccc;
    margin: -10px auto 0;
    border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 767px){
	section.question h2 span{
		display: none;
	}
}

section.question ul{
	display: flex;
    flex-wrap: wrap;
	max-width: 950px;
    margin: auto;
    background: #fff;
    padding: 2rem;
    border-radius: 20px;
}

@media screen and (max-width: 767px){
	section.question ul {
		position: relative;
		margin: 1rem 1rem 0;
		padding: 2rem 1rem;
		border-radius: 10px;
		z-index: 10;
	}
}

section.question ul li {
    width: 100%;
    border-bottom: 1px solid #ccc;
    margin-bottom: 20px;
}

section.question ul li:last-child {
	border-bottom: unset;
	margin-bottom: 0;
}

section.question ul li h3{
	position: relative;
	color: #0e9fd1;
    padding-left: 60px;
}

@media screen and (max-width: 485px){
	section.question ul li h3{
		font-size: 1.2rem;
		padding-left: 50px;
	}
}

section.question ul li h3:before {
    position: absolute;
    display: inline-block;
    background: #1eb9ee;
    color: #fff;
    font-weight: 600;
    font-size: 1.4rem;
    border-radius: 50%;
    left: 0;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media screen and (max-width: 485px){
	section.question ul li h3:before {
		font-size: 1.2rem;
		width: 40px;
		height: 40px;
		line-height: 40px;
	}
}

section.question ul li:first-child h3:before{
	content:"Q1.";
}

section.question ul li:nth-child(2) h3:before{
	content:"Q2.";
}

section.question ul li:nth-child(3) h3:before{
	content:"Q3.";
}

section.question ul li:nth-child(4) h3:before{
	content:"Q4.";
}

section.question ul li:nth-child(5) h3:before{
	content:"Q5.";
}

section.question ul li:nth-child(6) h3:before{
	content:"Q6.";
}

section.question ul li:nth-child(7) h3:before{
	content:"Q7.";
}

section.question ul li p{
	margin-bottom: 20px;
	padding-left: 60px;
}

section.question ul li:last-child p{
	margin-bottom: 0;
}

section.question ul li p span{
	color: #f39800;
    font-weight: 600;
}

@media screen and (max-width: 485px){
	section.question ul li p{
		padding-left: 0;
	}
}

/* ごあいさつ */
section.greed {
    padding: 3rem 0;
}

@media screen and (max-width: 767px){
	section.greed{
		padding: 0 0 2rem;
	}
}

section.greed h2{
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
}

@media screen and (min-width: 768px){
	section.greed h2{
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	}
}

@media screen and (max-width: 767px){
	section.greed h2{
		font-size: 1.6rem;
    	margin: 0;
    	padding: 10px;
    	color: #fff;
    	background: #1e73be;
	}
}

section.greed h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #999;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 485px){
	section.greed h2 span{
		display: none;
	}
}

section.greed p {
    max-width: 950px;
    margin: 0 auto;
    background: #ecf9fd;
    padding: 2rem;
    border: 1px solid #1eb9ee;
    border-radius: 20px;
}

@media screen and (max-width: 767px){
	section.greed p {
		position: relative;
		margin: 1rem 1rem 0;
		padding: 2rem 1rem;
		border-radius: 10px;
		z-index: 10;
	}
}

/* 教室案内 */
section.school {
    padding: 3rem 0;
}

@media screen and (max-width: 485px){
	section.school{
		padding: 1rem 0;
	}
}

section.school h2{
	font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
}

section.school h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #999;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 485px){
	section.school h2{
		width: 100%;
		position: relative;
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
		font-size: 2rem;
		font-weight: 600;
		text-align: left;
		color: #0d5083;
		z-index: 10;
		padding: 1rem 0 1rem 2rem;
		line-height: 140px;
	}
	
	section.school h2::before{
		content: "";
		position: absolute;
		width: 140px;
		height: 140px;
		left: 1rem;
		background: #e4f8ff;
		border-radius: 50%;
		z-index: -1;
	}
	
	section.school h2 span{
		position: absolute;
		font-size: 1.6rem;
		color: #999;
		top: 3rem;
		left: 2rem;
		display: block;
		width: calc(100% - 3rem);
		line-height: 1.2;
		border-bottom: 1px solid #ccc;
	}
}

section.school ul{
	display: flex;
    flex-wrap: wrap;
	max-width: 950px;
    margin: auto;
    padding: 2rem;
}

@media screen and (max-width: 840px){
	section.school ul{
		display: block;
	}
}

@media screen and (max-width: 485px){
	section.school ul {
		position: relative;
		margin: -8rem auto 0;
		padding: 2rem 1rem;
		border-radius: 10px;
		z-index: 10;
	}
}

section.school ul li{
	width: calc(100% / 3 - 10px);
	margin: 5px;
	padding: 10px;
	background: #fff;
	border: 1px solid #1eb9ee;
    border-radius: 20px;
}

@media screen and (max-width: 840px){
	section.school ul li{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		border-radius: 10px;
	}
}

section.school ul li h3{
	font-size: 1.2rem;
    text-align: center;
    color: #29598d;
    margin-bottom: 10px;
}

@media screen and (max-width: 840px){
	section.school ul li h3{
		width: 100%;
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 485px){
	section.school ul li h3{
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 840px){
	section.school ul li figure{
		width: 50%;
	}
}

section.school ul li p{
	text-align: center;
	margin: 0;
}

@media screen and (max-width: 840px){
	section.school ul li .box{
		width: 50%;
		padding-left: 1rem;
	}
	
	section.school ul li p{
		font-size: 1rem;
		text-align: left;
	}
}

section.school ul li p:first-child{
	font-weight: 600;
	margin-top: 10px;
}

section.school ul li p:last-child{
	font-size: 0.9rem;
}

.page_top_btn {
    bottom: 10%!important;
}

/* 悩みを解決 */
section.lpmes {
	background: linear-gradient(to bottom, #1e73be, #1eb9ee, #1e73be);
	padding: 30px 0;
}

@media screen and (max-width: 1200px){
	section.lpmes {
		padding: 20px;
	}
}

@media screen and (max-width: 767px){
	section.lpmes {
		margin-top: -95px;
        padding: 100px 10px 10px;
	}
}

section.lpmes figure.point,
section.offer figure.point{
	text-align: center;
}

section.offer figure.point {
	margin-top: -80px;
}

@media screen and (min-width: 768px){
	section.lpmes figure.point.topm{
		margin-top: -100px;
	}
}

@media screen and (max-width: 767px){
	section.lpmes figure.point,
	section.offer figure.point{
		margin-top: -50px;
	}
}

@media screen and (max-width: 767px){
	section.offer figure.point{
		padding: 0 2rem;
	}
}

section.lpmes .wrap {
    background: #fff;
    padding: 1px 0 2rem;
    border-radius: 20px;
    box-shadow: 0 2px 2px rgb(128 128 128 / 80%);
}
	

@media screen and (max-width: 767px){
	section.lpmes .wrap {
		padding: 0;
		border-radius: 10px;
		overflow: hidden;
	}
}

section.lpmes .wrap h2{
    text-align: center;
    color: #fff;
    background: #f39800;
    margin: 20px 0 40px;
    padding: 1rem;
}

@media screen and (max-width: 485px){
	section.lpmes .wrap h2{
		font-size: 1.4rem;
		margin: 0;
	}
}

section.lpmes .flexbox {
	display: flex;
	justify-content: space-between;
	padding: 0 2rem;
}

@media screen and (max-width: 840px){
	section.lpmes .flexbox {
		display: block;
		padding: 1rem;
	}
}

section.lpmes .flexbox .box {
	position: relative;
	width: calc(100% / 3 - 40px);
	background: #e8f4ff;
	border-radius: 20px;
	padding: 2rem;
}

section.lpmes .flexbox .box p {
	margin: 0;
}

@media screen and (max-width: 991px){
	section.lpmes .flexbox .box {
		width: calc(100% / 3 - 20px);
	}
}

@media screen and (max-width: 767px){
	section.lpmes .flexbox .box {
		width: 100%;
		background-size: 120px;
    	background-repeat: no-repeat;
    	background-position: bottom right 20px;
		padding: 10px;
		border-radius: 10px;
	}
	
	section.lpmes .flexbox .box:not(:last-child){
		margin-bottom: 30px;
	}
	
	/* section.lpmes .flexbox .box:not(:last-child){
		margin-bottom: 30px;
	}
	
	section.lpmes .flexbox .box.nayami1 {
		background-image: url(/img/lead_back1s.png);
	}
	
	section.lpmes .flexbox .box.nayami2 {
		background-image: url(/img/lead_back2s.png);
	}
	
	section.lpmes .flexbox .box.nayami3 {
		background-image: url(/img/lead_back3s.png);
	} */
}

section.lpmes .flexbox .box:not(:last-child)::before {
	content: '';
    width: 0;
    height: 0;
    top: calc(50% - 30px);
    right: -48px;
    border-style: solid;
    border-width: 30px 0 30px 30px;
    border-color: transparent transparent transparent #1e73be;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    margin: auto;
}

@media screen and (max-width: 991px){
	section.lpmes .flexbox .box:not(:last-child)::before {
		top: calc(50% - 20px);
    	right: -24px;
		border-width: 20px 0 20px 14px;
	}
}

@media screen and (max-width: 840px){
	section.lpmes .flexbox .box:not(:last-child)::before {
		top: unset;
    	bottom: -44px;
    	right: calc(50% - 8px);
    	border-width: 28px 0 28px 16px;
		transform: rotate(90deg);
	}
}

section.lpmes .flexbox .box h3 {
	font-size: 24px;
    text-align: center;
    color: #fff;
    background: #0e9fd1;
    margin: 0;
    padding: 10px 0;
    border-radius: 20px 20px 0 0;
}

@media screen and (max-width: 840px){
	section.lpmes .flexbox .box h3 {
		font-size: 20px;
		padding: 5px 0;
	}
}

section.lpmes ul {
    display: flex;
    flex-wrap: wrap;
    margin: auto;
	padding: 20px;
}

section.lpmes ul li {
    position: relative;
    width: 100%;
    font-size: 1rem;
    font-weight: 600;
    padding-left: 30px;
}

@media screen and (max-width: 840px){
	section.lpmes ul li {
		font-size: 16px;
		margin: 2px 0;
	}
}

section.lpmes ul li::before,
section.lpmes ul li::after{
	content: '';
    display: block;
	position: absolute;
}

section.lpmes ul li::before {
	content: '';
    display: block;
    position: absolute;
    background: #1e73be;
    top: 0px;
    left: 0px;
    width: 24px;
    height: 24px;
    border-radius: 5px;
}

@media screen and (max-width: 991px){
	section.lpmes ul li::before {
		width: 24px;
		height: 24px;
	}
}

section.lpmes ul li::after {
    top: 5px;
    left: 4px;
    width: 16px;
    height: 10px;
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: rotate(-45deg);
}

@media screen and (max-width: 991px){
	section.lpmes ul li::after {
		top: 6px;
		left: 4px;
		width: 16px;
		height: 8px;
		border-left: 3px solid #fff;
		border-bottom: 3px solid #fff;
	}
}

section.lpmes p.last,
section.lpmes2 p.last{
	position: relative;
	font-size: 1.4rem;
	font-weight: 600;
	text-align: center;
	margin-top: 70px;
}

@media screen and (max-width: 485px){
	section.lpmes p.last,
	section.lpmes2 p.last{
		width: 95%;
		margin: 70px auto 0;
	}
}

section.lpmes p.last::before,
section.lpmes2 p.last::before{
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border: 60px solid transparent;
    border-top: 25px solid #1eb9ee;
    left: calc(50% - 60px);
    top: -30px;
}

section.lpmes p.last:after,
section.lpmes2 p.last:after{
	position: absolute;
    content: "";
    width: 60px;
    height: 30px;
    background: linear-gradient(#fff, #1eb9ee);
    left: calc(50% - 30px);
	top: -60px;
}

section.lpmes p.last span,
section.lpmes2 p.last span{
	display: inline-block;
    position: relative;
	color: #f39800;
}

section.lpmes p.last span::before,
section.lpmes p.last span::after,
section.lpmes2 p.last span::before,
section.lpmes2 p.last span::after{
	content: '';
	position: absolute;
    width: 0;
    height: 0;
    top: -10px;
	border-style: solid;
}

@media screen and (max-width: 485px){
	section.lpmes p.last span::before,
	section.lpmes p.last span::after,
	section.lpmes2 p.last span::before,
	section.lpmes2 p.last span::after{
		top: 10px;
	}
}

section.lpmes p.last span::before,
section.lpmes2 p.last span::before{
    left: -30px;
    border-width: 5px 0 50px 12px;
    border-color: transparent transparent transparent #f39800;   
    transform: rotate(-45deg);
}

section.lpmes p.last span::after,
section.lpmes2 p.last span::after{
    right: -30px;
    border-width: 5px 12px 50px 0px;
    border-color: transparent #f39800 transparent transparent;
    transform: rotate(45deg);
}

section.lpmes p.blue,
section.lpmes2 p.blue{
    width: 100%;
    max-width: 600px;
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    text-decoration: underline;
    margin: auto;
    padding: 10px;
    color: #fff;
    background: #1eb9ee;
}

@media screen and (max-width: 767px){
	section.lpmes p.blue,
	section.lpmes2 p.blue{
		margin-top: 1rem;
	}
}

section.lpmes2 {
	padding: 20px;
}

section.lpmes2 h2 {
	font-size: 2.4rem;
	text-align: center;
	color: #0e9fd1;
}

@media screen and (max-width: 767px){
	section.lpmes2 h2 {
		font-size: 1.3rem;
	}
}

section.lpmes2 h3 {
	font-size: 1.8rem;
    line-height: 48px;
    text-align: center;
    color: #0e9fd1;
    margin-bottom: -24px;
}

@media screen and (max-width: 767px){
	section.lpmes2 h3 {
		font-size: 1.2rem;
		margin-top: 1rem;
	}
}

section.lpmes2 h3 span {
	display: inline-block;
    line-height: 48px;
    color: #fff;
    background: #0e9fd1;
    padding: 0 20px;
}

@media screen and (max-width: 767px){
	section.lpmes2 h3 span {
		line-height: 36px;
	}
}

section.lpmes2 ul {
    display: flex;
    flex-wrap: wrap;
    margin: auto;
	padding: 40px 20px 20px;
	background: #fff;
	border: 1px solid #999;
    border-radius: 10px;
}

@media screen and (max-width: 767px){
	section.lpmes2 ul {
		padding: 30px 10px 10px;
	}
}

section.lpmes2 ul li {
    position: relative;
    width: calc(100% / 3);
    font-size: 1rem;
    font-weight: 600;
	line-height: 2;
    padding-left: 30px;
}

@media screen and (max-width: 991px){
	section.lpmes2 ul li {
		width: calc(100% / 2);
		font-size: 16px;
		margin: 2px 0;
		line-height: 2;
	}
}

@media screen and (max-width: 767px){
	section.lpmes2 ul li {
		width: 100%;
		font-size: 14px;
		margin: 2px 0;
		line-height: 24px;
	}
}

section.lpmes2 ul li::before,
section.lpmes2 ul li::after{
	content: '';
    display: block;
	position: absolute;
}

section.lpmes2 ul li::before {
	content: '';
    display: block;
    position: absolute;
    background: #1e73be;
    top: calc(50% - 12px);
    left: 0px;
    width: 24px;
    height: 24px;
    border-radius: 5px;
}

@media screen and (max-width: 991px){
	section.lpmes2 ul li::before {
		top: 0;
		width: 24px;
		height: 24px;
	}
}

section.lpmes2 ul li::after {
    top: 9px;
    left: 4px;
    width: 16px;
    height: 10px;
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: rotate(-45deg);
}

@media screen and (max-width: 991px){
	section.lpmes2 ul li::after {
		top: 6px;
		left: 4px;
		width: 16px;
		height: 8px;
		border-left: 3px solid #fff;
		border-bottom: 3px solid #fff;
	}
}

/* 8つのタイプ */
section.type .wrap {
    /* background: #fff; */
    padding: 2rem;
}

@media screen and (max-width: 800px){
	section.type .wrap {
		padding: 0;
	}
}

section.type h2 {
    text-align: center;
    color: #fff;
    padding: 10px;
    background: #1e73be;
}

section.type ul {
    display: flex;
    flex-wrap: wrap;
	margin: 0;
}

@media screen and (max-width: 767px){
	section.type ul {
		display: block;
	}
}

section.type ul li {
    width: calc(100% / 2 - 10px);
    margin: 5px;
	padding: 1rem;
	background: #fff;
	border: 1px solid #29598d;
    border-radius: 10px;
}

@media screen and (max-width: 767px){
	section.type ul li {
		width: 95%;
		margin: 10px auto;
	}
}

section.type ul p {
    margin: 0;
}

section.type ul li h3{
	font-size: 1.2rem;
	text-align: center;
	color: #29598d;
    border-bottom: 1px solid #29598d;
}

section.type ul li ul{
    display: block;
}

section.type ul li ul li{
	width: calc(100% - 30px);
	list-style: disc;
	margin-left: 30px;
	padding: 0;
	border-top: none;
	border-right: none;
	border-left: none;
	border-bottom: 1px dashed #999;
	border-radius: 0;
}

section.type ul li ul li:last-child{
	border-bottom: unset;
}

section.type .box {
    background: #fff;
    margin-top: 2rem;
    padding: 2rem;
}

@media screen and (max-width: 485px){
	section.type .box {
		background: #fbf6ec;
	}
}

section.type .box h3 {
    position: relative;
    color: #c17900;
    margin: 0 0 20px 50px;
    border-bottom: 1px solid #f39800;
    line-height: 40px;
}

@media screen and (max-width: 485px){
	section.type .box h3 {
		font-size: 1.4rem;
		margin: 0 0 12px 40px;
		line-height: 30px;
	}
}

section.type .box h3::before {
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    top: -5px;
    left: -60px;
    background: rgba(243, 152, 0, 0.9);
    border-radius: 50%;
}

@media screen and (max-width: 485px){
	section.type .box h3::before {
		width: 30px;
		height: 30px;
		left: -50px;
	}
}

section.type .box h3::after {
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    top: 5px;
    left: -50px;
    background: rgba(255, 193, 7, 0.4);
    border-radius: 50%;
}

@media screen and (max-width: 485px){
	section.type .box h3::after {
		width: 30px;
		height: 30px;
		left: -40px;
	}
}

section.type .box p {
	font-size: 1rem;
}

@media screen and (max-width: 485px){
	section.type .box p {
		font-size: 0.9rem;
	}
}

/* フッター */
/* キーフレーム */
@keyframes shiny {
    0% {
        transform: scale(0) rotate(25deg);
        opacity: 0;
    }

    50% {
        transform: scale(1) rotate(25deg);
        opacity: 1;
    }

    100% {
        transform: scale(50) rotate(25deg);
        opacity: 0;
    }
}

section.lpfooter {
    background: #fff;
    padding: 1rem 0 4rem;
    text-align: center;
}

@media screen and (max-width: 767px){
	section.lpfooter img{
		max-width: 160px;
	}
}

section.lpfooter p{
	font-size: 0.9rem;
	margin-top: 1rem;
}

.splink{
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 99;
	margin: 0;
}
	
.splink ul{
	display: flex;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	padding: 5px;
}

@media screen and (max-width: 767px){
	.splink ul{
		padding: 2px;
	}
}

.splink ul li{
	width: 100%;
    min-width: fit-content;
	margin: 0;
	padding: 2px;
}

.splink ul li a{
	display: block;
	position: relative;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 600;
	text-align: center;
	padding: 20px;
	border-radius: 10px;
	transition: 0.3s;
    overflow: hidden;
    z-index: 1;
}

@media screen and (max-width: 767px){
	.splink ul li a{
		display: flex;
        height: 100%;
        font-size: 1.2rem;
        padding: 10px;
        border-radius: 5px;
        align-items: center;
        justify-content: center;
	}
}

.splink ul li a::after,
.download a::after{
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 50px;
    height: 50px;
    background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
    animation-name: shiny;
    animation-duration: 2s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.splink ul li.link1 a{
	background: #28a745;
}

.splink ul li.link1 a span {
    position: relative;
	padding-left: 32px;
}

.splink ul li.link1 a span::before {
    content: "";
    position: absolute;
    background-image: url(/img/line_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 26px;
    height: 26px;
    left: 0;
}

.splink ul li.link10 a{
	background: #007bff;
}

.splink ul li.link11 a{
	background: #28a745;
}

.splink ul li.link2 a{
	background: #f39800;
}

@media screen and (max-width: 485px){
	.splink ul li.link2 a {
		line-height: 1.2;
	}
	
	.splink ul li.link2 a span small {
		display: block;
		font-size: 0.7em;
	}
}

.splink ul li.link3 a{
	background: #28a745;
}

.splink ul li.link4 a{
	background: #28a745;
}

/* お問い合わせフォーム */
.lp_contact {
    background: #ecf9fd;
	padding: 2rem;
}

@media screen and (max-width: 485px){
	.lp_contact {
		padding: 2rem 1rem;
	}
}

.lp_contact .description {
	text-align: center;
}

.lp_contact .description span {
	font-weight: bold;
}

.lp_contact h2{
	font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    color: #0e9fd1;
}

.lp_contact table.contact_table{
	max-width: 950px;
	margin: 0 auto 2rem;
}

@media screen and (max-width: 485px){
	.lp_contact table.contact_table{
		border-top: 1px solid #e5e5e5;
	}
}

.lp_contact table.contact_table th,
.lp_contact table.contact_table td {
    background: #fff;
    border: 1px solid #e5e5e5;
}

@media screen and (max-width: 485px){
	.lp_contact table.contact_table th,
	.lp_contact table.contact_table td {
		display: block;
		font-size: 1rem;
		width: 100%;
		border-top: unset;
	}
	
	.lp_contact table.contact_table td {
		padding: 5px;
	}
}

.lp_contact table.contact_table th{
	color: #fff;
    background: #1eb9ee;
	white-space: nowrap;
}

@media screen and (min-width: 486px){
	.lp_contact table.contact_table input[name="name1"],
	.lp_contact table.contact_table input[name="name2"]{
		max-width: 300px;
	}

	.lp_contact table.contact_table input[name="tel"]{
		max-width: 240px;
	}
}

.lp_contact .mail_caution {
    text-align: center;
    margin-top: 2rem;
    color: #dc3545;
}

@media screen and (max-width: 485px){
	.lp_contact .mail_caution {
		font-size: 0.9rem;
		margin-top: 1rem;
	}
}

@media screen and (max-width: 485px){
	input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea {
		padding: 10px;
	}
}

textarea {
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
}

section.confirm {
    background: #ecf9fd;
	padding: 6rem 2rem;
}

@media screen and (max-width: 485px){
	section.confirm {
		padding: 6rem 1rem;
	}
}

section.confirm h2,
section.confirm p{
    text-align: center;
}

section.confirm table{
	max-width: 950px;
	margin: auto;
}

section.confirm table th{
	width: 30%;
	color: #fff;
    background: #28a745;
}

section.confirm table td{
	background: #fff;
}

section.confirm .reset_btn{
	display: none;
}

.btn_area, .confirm .btn_area {
    width: 70%;
    margin: 30px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 485px){
	.btn_area, .confirm .btn_area {
		width: 90%;
		display: block;
	}
}

.btn_area input, .confirm .btn_area input {
    width: 100%;
    max-width: 450px;
    border: none;
    background: #1eb9ee;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 15px 0;
    margin: 0 20px;
    border-radius: 100px;
    cursor: pointer;
}

@media screen and (max-width: 485px){
	.btn_area input, .confirm .btn_area input {
    	font-size: 18px;
		padding: 15px 0;
		margin: 0 auto 10px;
	}
}

.btn_area input:hover,
.btn_area input:hover {
    background: #17a2b8;
    transition: 0.3s;
}

.btn_area input[type="reset"],
.btn_area input.back {
    background: #8b8b8b;
}

section.confirm.thanks a {
	display: block;
    width: 100%;
    max-width: 450px;
    border: none;
    background: #29598d;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 15px 0;
    margin: auto;
    border-radius: 100px;
    cursor: pointer;
}

html.thanks,
html.thanks body {
    height: 100%;
}

section.confirm.thanks {
	height: calc(100% - 55px);
	padding: 6rem 1rem;
}

.contact_table .mwform-radio-field input,
.contact_table .mwform-checkbox-field input{
	display: none;
}

.lp_contact table td.flex{
	display: flex;
	flex-wrap: wrap;
}

.lp_contact table td.flex span{
	width: calc(100% / 3);
}

.lp_contact figure img {
	display: block;
	width: 100%;
	max-width: 950px;
	margin: auto;
	border: 1px solid #ccc;
}

/* 両親・生徒が選ぶみん学が良かった理由 */
.merit {
    background: #fff9f0;
}

.merit .wrap {
    display: flex;
    flex-wrap: wrap;
	padding: 3rem 0;
}

@media screen and (max-width: 485px){
	.merit .wrap {
		padding: 1rem 0;
	}
}

.merit .wrap .box {
    width: calc(50% - 20px);
    margin: 10px;
    /* padding: 1rem; */
    border: 1px solid #f39800;
	border-radius: 20px 20px 0 0;
	overflow: hidden;
}

@media screen and (max-width: 767px){
	.merit .wrap .box {
		width: 100%;
		border-radius: 10px 10px 0 0;
	}
}


.merit .wrap .box h2 {
    font-size: 1.4rem;
    text-align: center;
	margin: 0;
    padding: 1rem;
    color: #fff;
    background: #f39800;
}

@media screen and (max-width: 485px){
	.merit .wrap .box h2 {
		font-size: 1.2rem;
		padding: 0.5rem;
	}
}

.merit .wrap .box h2 span{
	display: block;
    font-size: 2.4rem;
	color: #ffff00;
}

@media screen and (max-width: 485px){
	.merit .wrap .box h2 span{
		font-size: 2.0rem;
	}
}

.merit .wrap .box ul{
	margin: 0;
	padding: 1rem;
	background: #fff;
	background-position: right 10px bottom;
	background-repeat: no-repeat;
}

@media screen and (max-width: 485px){
	.merit .wrap .box ul{
		padding: 0.5rem 1rem;
	}
}

.merit .wrap .box ul.parent{
	background-size: 140px;
	background-image: url(/img/reason2.png);
}

@media screen and (max-width: 980px){
	.merit .wrap .box ul.parent{
		background-size: 120px;
		background-image: none;
	}
}

@media screen and (max-width: 485px){
	.merit .wrap .box ul.parent{
		background-size: 100px;
	}
}

.merit .wrap .box ul.student{
	background-size: 120px;
	background-image: url(/img/reason3.png);
}

@media screen and (max-width: 980px){
	.merit .wrap .box ul.student{
		background-size: 100px;
	}
}

@media screen and (max-width: 485px){
	.merit .wrap .box ul.student{
		background-size: 80px;
	}
}

.merit .wrap .box ul li {
    position: relative;
    font-size: 20px;
	font-weight: 600;
	color: #0e9fd1;
    line-height: 40px;
    margin-left: 10px;
}

@media screen and (max-width: 767px){
	.merit .wrap .box ul li {
		font-size: 16px;
		line-height: 30px;
	}
}

.merit .wrap .box ul li::before {
    display: inline-block;
    position: relative;
    width: 40px;
    height: 40px;
    top: 0;
    left: -10px;
    text-align: center;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    background: #000;
    border-radius: 50%;
}

@media screen and (max-width: 767px){
	.merit .wrap .box ul li::before {
		width: 32px;
    	height: 32px;
		line-height: 32px;
	}
}

.merit .wrap .box ul li:first-child::before {
	content: "1";
	background: linear-gradient(45deg, #fdda71, #c19104, #c19104);
}

.merit .wrap .box ul li:nth-child(2)::before {
	content: "2";
	background: linear-gradient(45deg, #eee, #999, #999);
}

.merit .wrap .box ul li:nth-child(3)::before {
	content: "3";
	background: linear-gradient(45deg, #ff953f, #994705, #994705);
}

/* 無料オンライン説明会 */
.gaiyo {
	background: #fff;
}

.gaiyo .wrap {
    padding: 1rem;
}

.gaiyo p.title {
	text-align: center;
	font-weight: 600;
	color: #fff;
	background: #0e9fd1;
	margin: 0;
	padding: 10px;
	border-radius: 10px 10px 0 0;
}

.gaiyo h2 {
    font-size: 14px;
    text-align: center;
    margin: 0 0 1rem;
    padding: 10px;
    border-left: 1px solid #0e9fd1;
    border-right: 1px solid #0e9fd1;
    border-bottom: 1px solid #0e9fd1;
}

.gaiyo table {
	margin: 0;
}

.gaiyo table th{
	background: #e0f7ff;
	border: 1px solid #0e9fd1;
}

.gaiyo table td{
	border: 1px solid #0e9fd1;
}

.nayami_lp {
	background: #fff;
}

.nayami_lp .wrap {
    padding: 1rem;
}

.nayami_lp figure {
	width: 80%;
	margin: auto;
}

.nayami_lp p.big {
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	color: #007bff;
}

.nayami_lp p.txt {
    background: #eafaff;
    padding: 10px;
    border: 1px dashed #999;
}

.nayami_lp p.txt span{
	font-weight: 600;
	color: #ff0000;
}

.nayami_lp p.small {
	font-size: 12px;
	font-weight: 600;
	color: #007bff;
}

section.pc_only {
    background: #fff;
}

section.pc_only .wrap {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 50px auto 0;
	padding: 50px 0;
}

section.pc_only .wrap .gaiyo {
    width: calc(50% - 50px);
    margin-right: 50px;
    /* background: transparent; */
}

section.pc_only .wrap .nayami_lp {
    width: 50%;
    /* background: transparent; */
}

.zoom {
    background: #eafaff;
}

.zoom .wrap {
	display: flex;
    flex-wrap: wrap;
    padding: 1rem;
	align-items: center;
}

.zoom .wrap figure {
	width: 40%;
}

@media screen and (max-width: 485px){
	.zoom .wrap figure {
		width: 100%;
		text-align: center;
	}
}
@media screen and (max-width: 485px){
	.zoom .wrap figure img{
		max-width: 240px;
	}
}

.zoom .wrap p{
	width: 60%;
	padding-left: 50px;
}

@media screen and (max-width: 485px){
	.zoom .wrap p{
		width: 100%;
		font-size: 12px;
		padding-top: 10px;
		padding-left: 0;
	}
}

.zoom .wrap p span.red{
	color: #ff0000;
	font-weight: 600;
}

.zoom .wrap p span.line {
	font-weight: 600;
	background:linear-gradient(transparent 60%, #ffff00 60%);
}

.teacher {
    background: #fff;
}

.teacher h2 {
    font-size: 24px;
    text-align: center;
    color: #29598d;
    margin: 0;
    padding: 2rem 1rem 1rem;
}

.teacher .wrap {
    display: flex;
    flex-wrap: wrap;
	flex-direction: row-reverse;
    padding: 1rem;
	align-items: center;
}

.teacher .wrap figure {
	width: 30%;
}

@media screen and (max-width: 485px){
	.teacher .wrap figure {
		width: 100%;
		text-align: center;
	}
}
@media screen and (max-width: 485px){
	.teacher .wrap figure img{
		max-width: 240px;
	}
}

.teacher .wrap p{
	width: 70%;
	padding-right: 50px;
}

@media screen and (max-width: 485px){
	.teacher .wrap p{
		width: 100%;
		font-size: 12px;
		padding-top: 10px;
		padding-right: 0;
	}
}

/* 無料体験 */
section.zoom_howto {
    background: #bcdbe5;
}

@media screen and (max-width: 767px){
	section.zoom_howto {
		padding-top: 50px;
	}
}

section.zoom_howto p{
	margin: 0;
	padding: 0 0 20px;
}

section.zoom_howto h2 {
    width: 100%;
    font-size: 48px;
    text-align: center;
    color: #fff;
    margin: 0 auto 0;
    padding: 5rem;
    background: url(/img/taikenback.jpg);
    background-size: cover;
}

@media screen and (max-width: 485px){
	section.zoom_howto h2 {
		font-size: 24px;
		margin: auto;
		padding: 4rem;
	}
}

section.zoom_howto .wrap {
	padding: 2rem;
}

@media screen and (max-width: 485px){
	section.zoom_howto .wrap {
		padding: 1rem;
	}
}

section.zoom_howto ul {
    max-width: 950px;
    margin: auto;
}

section.zoom_howto ul li {
	background: #fff;
	border-radius: 10px;
	padding: 1rem;
}

section.zoom_howto ul li:not(:last-child){
	position: relative;
	margin-bottom: 30px;
}

section.zoom_howto ul li:not(:last-child)::before{
	content: '';
    width: 0;
    height: 0;
    bottom: -40px;
    right: calc(50% - 20px);
    border-style: solid;
    border-width: 16px 20px;
    border-color: #fff transparent transparent transparent;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    margin: auto;
}

section.zoom_howto ul li p {
	padding: 0;
}

@media screen and (max-width: 485px){
	section.zoom_howto ul li p {
		font-size: 12px;
	}
}

section.zoom_howto p.red{
	color: #cc0000;
	margin-top: 20px;
}

@media screen and (min-width: 486px){
	section.zoom_howto p.red{
		text-align: center;
	}
}

.taiken_question.time .tablebox{
	overflow: hidden;
	overflow-x: scroll;
}

.taiken_question.time .mwform-checkbox-field label span{
	display: none;
}

.taiken_question {
    max-width: 950px;
    background: #fff;
    margin: 20px auto;
    padding: 20px;
    border-radius: 10px;
}

.taiken_question h3{
	font-size: 16px;
	color: #29598d;
}

.taiken_question span.spn {
	display: block;
	font-size: 12px;
	margin-bottom: 20px;
	color: #ff0000;
}

.taiken_question label{
	padding-left: 0;
}

.taiken_question table {
	border: 1px solid #fff;
}

.taiken_question table tr td{
	text-align: center;
}

.taiken_question table tr th:first-child {
	background: #f8f9fa;
	position: sticky;
	top: 0;
    left: 0;
    z-index: 10;
}

.taiken_question table tr.head th{
	background: #e1effd;
	    white-space: nowrap;
    padding: 0.5rem;
}

.mw_wp_form_input table.vain{
	display: none;
}

.mw_wp_form_confirm table.select{
	display: none;
}

section.confirm table.vain th{
	color: #000!important;
}

/* 会社概要 */
.company {
	padding: 3rem 0 1rem;
}

@media screen and (max-width: 485px){
	.company {
		padding: 2rem 1rem;
	}
}

.company h2 {
    font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    color: #0e9fd1;
}

.company table {
	width: 100%;
	max-width: 950px;
	margin: auto;
	background: #fff;
}
.company table th {
	background: #fff;
	white-space: nowrap;
}

/* 他社比較 */
section.hikaku {
    padding: 3rem 0;
}

@media screen and (max-width: 767px){
	section.hikaku{
		padding: 0 0 1rem;
	}
}

section.hikaku h2{
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
}

@media screen and (min-width: 768px){
	section.hikaku h2{
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	}
}

@media screen and (max-width: 767px){
	section.hikaku h2 {
    	font-size: 1.6rem;
    	margin: 0;
    	padding: 10px;
    	color: #fff;
		background: #1e73be;
	}
}

section.hikaku h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #999;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px){
	section.hikaku h2 span{
		display: none;
	}
}

@media screen and (max-width: 767px){
	section.hikaku .wrap {
		padding: 20px;
	}
	section.hikaku .scroll {
		overflow-x: scroll;
	}
}

section.hikaku table {
	
}

section.hikaku table th,
section.hikaku table td{
	border: 1px solid #999;
	white-space: nowrap;
}

section.hikaku table th{
	font-size: 16px;
	background: #e8f4ff;
}

@media screen and (max-width: 767px){
	section.hikaku table th{
		font-size: 12px;
	}
}

section.hikaku table tr:first-child th {
	font-size: 20px;
	color: #fff;
	background: #29598d;
}

@media screen and (max-width: 767px){
	section.hikaku table tr:first-child th {
		font-size: 14px;
	}
}

section.hikaku table td{
	font-size: 24px;
	background: #fff;
	text-align: center;
}

@media screen and (max-width: 767px){
	section.hikaku table td{
		font-size: 20px;
	}
}

section.hikaku table tr:nth-child(10) td,
section.hikaku table tr:nth-child(11) td {
	font-size: 16px;
}

@media screen and (max-width: 767px){
	section.hikaku table tr:nth-child(10) td,
	section.hikaku table tr:nth-child(11) td {
		font-size: 14px;
	}
}

section.hikaku p.caution3 {
	color: #dc3545;
    background: #fff;
    font-weight: 600;
    margin: 20px 0 0;
    padding: 10px;
}

/* slick（お客様の声） */
.slider-1 .slick-slide {
  width: 600px;
  margin: 0;
  position: relative;
  overflow: hidden;
}
.slider-1 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider-1 .slick-arrow {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: 180px;
  z-index: 1;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.slider-1 .slick-arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid #09000d;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 14px;
  transform: rotate(45deg);
}
.slider-1 .slick-next {
  top: calc(50% - 20px);
  right: 15px;
}
.slider-1 .slick-prev {
  top: calc(50% - 20px);
  left: 15px;
}
.slider-1 .slick-next::before {
  left: 12px;
}
.slider-1 .slick-prev::before {
  border-width: 0 0 3px 3px;
  right: 12px;
}
.dots-1 .slick-dots {
  text-align: center;
}
.dots-1 .slick-dots li {
  display: inline-block;
}
.dots-1 .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #bcbcbc;
  border-radius: 50%;
}
.dots-1 .slick-dots .slick-active button {
  background: #0a467d;
}

/* slick（ヒアリング担当者） */
.slider-2 .slick-slide {
  width: 600px;
  margin: 0 20px;
  position: relative;
  overflow: hidden;
}
.slider-2 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider-2 .slick-arrow {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: 180px;
  z-index: 1;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.slider-2 .slick-arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid #09000d;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 24px;
  transform: rotate(45deg);
}
.slider-2 .slick-next {
  top: 80px;
  right: 0;
}
.slider-2 .slick-prev {
  top: 80px;
  left: 0;
}
.slider-2 .slick-next::before {
  left: 20px;
}
.slider-2 .slick-prev::before {
  border-width: 0 0 3px 3px;
  right: 22px;
}
.dots-2 .slick-dots {
  text-align: center;
}
.dots-2 .slick-dots li {
  display: inline-block;
}
.dots-2 .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #bcbcbc;
  border-radius: 50%;
}
.dots-2 .slick-dots .slick-active button {
  background: #0a467d;
}

/* メタバース */
section.metaverse {
    /* background: #fff; */
	padding: 3rem 0;
}

@media screen and (max-width: 767px){
	section.metaverse {
		padding: 0;
		overflow: hidden;
	}
}

section.metaverse h2{
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #1e73be;
}

@media screen and (min-width: 768px){
	section.metaverse h2{
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
		text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff;
	}
}

@media screen and (max-width: 767px){
	section.metaverse h2{
		font-size: 1.3rem;
		margin: 0;
    	padding: 10px;
    	color: #fff;
    	background: linear-gradient(to right, #28a745, #52c56c, #28a745);
        z-index: 10;
        text-shadow: 0 2px 4px #333;
	}
}

section.metaverse h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #666;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px){
	section.metaverse h2 span{
		display: none;
	}
}

section.metaverse ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

@media screen and (max-width: 767px){
	section.metaverse ul {
		padding: 10px;
	}
}

section.metaverse ul li {
	width: 24.5%;
	padding: 20px;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 2px 2px rgb(128 128 128 / 80%);
}

@media screen and (max-width: 767px){
	section.metaverse ul li {
		width: 49%;
		padding: 10px;
		border-radius: 10px;
	}
}

section.metaverse ul li h3 {
	position: relative;
    font-size: 20px;
    text-align: center;
	color: #29598d;
    margin: 0 0 20px;
    padding-top: 80px;
}

@media screen and (max-width: 767px){
	section.metaverse ul li h3 {
		font-size: 16px;
		margin: 0 0 10px;
		padding-top: 50px;
	}
}

section.metaverse ul li h3::before {
    content: "";
    position: absolute;
    width: 80px;
    height: 80px;
    top: 0;
    left: calc(50% - 40px);
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px){
	section.metaverse ul li h3::before {
		width: 50px;
		height: 50px;
		left: calc(50% - 25px);
	}
}

section.metaverse ul li h3.meta01::before {
	background: url(/img/club01.svg);
}

section.metaverse ul li h3.meta02::before {
	background: url(/img/club02.svg);
}

section.metaverse ul li h3.meta03::before {
	background: url(/img/club03.svg);
}

section.metaverse ul li h3.meta04::before {
	background: url(/img/club04.svg);
}

section.metaverse ul li h3.meta05::before {
	background: url(/img/club05.svg);
}

section.metaverse ul li h3.meta06::before {
	background: url(/img/club06.svg);
}

section.metaverse ul li h3.meta07::before {
	background: url(/img/club07.svg);
}

section.metaverse ul li h3.meta08::before {
	background: url(/img/club08.svg);
}

section.metaverse ul li p {
	font-size: 0.9rem;
	margin: 0;
}

@media screen and (max-width: 767px){
	section.metaverse ul li p {
		font-size: 12px;
		line-height: 1.4;
		margin: 0 0 10px;
	}
}

section.metaverse ul li p span {
	font-weight: 600;
	color: #247837;
}

/* オンライン部活動について */
section.club {
    /* background: #fff; */
	padding: 3rem 0;
}

@media screen and (max-width: 767px){
	section.club {
		padding: 0;
		overflow: hidden;
	}
}

section.club h2{
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
}

@media screen and (min-width: 768px){
	section.club h2{
		font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
		text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff;
	}
}

@media screen and (max-width: 767px){
	section.club h2{
		font-size: 1.6rem;
		margin: 0;
    	padding: 10px;
    	color: #fff;
    	background: #1e73be;
	}
}

section.club h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #666;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px){
	section.club h2 span{
		display: none;
	}
}

section.club ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

section.club ul li {
    width: 20%;
	text-align: center;
}

@media screen and (max-width: 767px){
	section.club ul li {
		width: 50%;
	}
}

section.club ul li img {
	width: 80%;
}

section.club ul li p {
	position: relative;
    width: fit-content;
    color: #1e73be;
    font-weight: bold;
    margin: -25px auto 0;
    padding: 3px 10px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 2px #29598d;
}

section.service2 {
    background: #e8f4ff;
	padding: 3rem 0;
	background-image: url(/img/menuback3.jpg);
    background-size: 100%;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px){
	section.service2 {
		padding: 0 0 1rem;
		overflow: hidden;
		background-image: url(/img/menuback3s.jpg);
	}
}

section.service2 h2{
    font-size: 2rem;
    font-weight: 600;
	text-align: center;
    color: #0e9fd1;
	text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff;
}

section.service2 h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #666;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 485px){
	section.service2 h2{
		width: 100%;
		position: relative;
		font-size: 2rem;
		font-weight: 600;
		text-align: left;
		color: #0d5083;
		z-index: 10;
		padding: 1rem 0 1rem 2rem;
		line-height: 140px;
		text-shadow: none;
	}
	
	section.service2 h2::before{
		content: "";
		position: absolute;
		width: 140px;
		height: 140px;
		left: 1rem;
		background: #afdbb9;
		border-radius: 50%;
		z-index: -1;
	}
	
	section.service2 h2 span{
		position: absolute;
		font-size: 1.6rem;
		color: #fff;
		top: 3rem;
		left: 2rem;
		display: block;
		width: calc(100% - 3rem);
		line-height: 1.2;
		border-bottom: 1px solid #fff;
	}
}

section.service2 p.lead {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 600;
    color: #29598d;
}

@media screen and (max-width: 767px){
	section.service2 p.lead {
    	position: relative;
		margin-top: 0;
    	padding: 10px;
    	color: #fff;
    	background: #1e73be;
    	z-index: 10;
	}
}

section.service2 p.lead span {
    font-size: 2rem;
    padding: 0 5px;
    color: #f39800;
}

@media screen and (max-width: 485px){
	section.service2 p.lead span {
		color: #ffff00;
		font-size: 1.6rem;
	}
}

section.service2 p.txt {
    width: calc(100% - 20px);
	max-width: 800px;
	text-align: center;
    margin: auto;
    padding: 20px;
    background: rgba(255, 255, 255, 0.8);
}

@media screen and (max-width: 767px){
	section.service2 p.txt {
		text-align: left;
		padding: 10px;
	}
}

section.service2 ul {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

@media screen and (max-width: 767px){
	section.service2 ul {
		padding: 10px;
	}
}

section.service2 ul li {
	padding: 20px;
	border-radius: 20px;
}

@media screen and (max-width: 767px){
	section.service2 ul li {
		margin-top: 0;
    	margin-bottom: 10px;
		padding: 10px;
		border-radius: 10px;
	}
}

section.service2 ul li:not(:last-child) {
	width: 23%;
	font-size: 24px;
	text-align: center;
	color: #333;
    background: #fff;
    border: 1px solid #0e9fd1;
}

@media screen and (max-width: 767px){
	section.service2 ul li:not(:last-child) {
		font-size: 18px;
		width: 48%;
	}
}

section.service2 ul li:last-child {
	position: relative;
    width: 100%;
	margin-top: 60px;
}

section.service2 ul li:last-child::before {
    content: "\f067";
    position: absolute;
    font-family: "Font Awesome 5 Free";
    display: block;
	color: #0e9fd1;
    margin: auto;
    top: -60px;
    left: calc(50% - 24px);
    line-height: 1;
    font-size: 48px;
    width: 48px;
}

section.service2 ul li:last-child span {
	display: flex;
    position: relative;
    font-size: 32px;
    font-weight: 600;
    max-width: 640px;
    color: #c37c05;
    background: #fff6db;
    border: 1px solid #c37c05;
    border-radius: 20px;
    margin: auto;
    box-shadow: 0 2px 2px rgb(128 128 128 / 80%);
    text-align: left;
    padding-left: 150px;
    line-height: 1.2;
    height: 120px;
    align-items: center;
}

@media screen and (max-width: 767px){
	section.service2 ul li:last-child span {
		font-size: 18px;
		border-radius: 10px;
		padding-left: 120px;
		height: 80px;
	}
}

section.service2 ul li:last-child span::before {
	content: "";
    position: absolute;
    left: -20px;
    top: -20px;
    width: 160px;
    height: 160px;
    background: url(/img/meta_class.png);
    background-size: contain;
}

@media screen and (max-width: 767px){
	section.service2 ul li:last-child span::before {
		left: -15px;
    	top: -20px;
    	width: 120px;
    	height: 120px;
	}
}

/* TOPへ戻るボタン */
#page-top {
    position: fixed;
    bottom: 80px;
    right: 20px;
	z-index: 10;
}

@media screen and (max-width: 767px){
	#page-top {
		right: 10px;
		bottom: 40px;
	}
}

#page-top a {
    background: #fff;
    text-decoration: none;
    color: #1e73be;
    width: 120px;
    padding: 20px 0;
	font-weight: 600;
    text-align: center;
    display: block;
    border: 1px solid #7bacd7;
    border-radius: 5px;
}

@media screen and (max-width: 767px){
	#page-top a {
		width: 70px;
		font-size: 14px;
		line-height: 1;
    	padding: 0 0 10px;
	}
}

#page-top a:hover {
    text-decoration: none;
	color: #fff;
    background: #1e73be;
}

#page-top a span {
	position: relative;
}

#page-top a span::before {
	content: "";
    background-image: url(/img/top_arrow.svg);
    background-size: contain;
    width: 30px;
    height: 30px;
    display: block;
    margin: auto;
}

.yutabon figure {
	width: 100%;
	max-width: 640px;
	margin: 20px auto;
}

@media screen and (max-width: 767px){
	.yutabon figure {
		margin: 0;
	}
}

/* オファー追加 */
.offer {
	
}

.offer p.leadtxt {
	font-size: 36px;
	font-weight: bold;
	color: #dc3545;
	text-align: center;
}

@media screen and (max-width: 767px){
	.offer p.leadtxt {
		font-size: 24px;
	}
}

@media screen and (max-width: 767px){
	.offer p {
		text-align: center;
	}
}

.offer .txtarea p span {
	display: block;
	font-weight: bold;
}

.offer .txtarea p span.bg01 {
	font-size: 1.6rem;
	color: #1e73be;
	margin-top: 1rem;
}

.offer .txtarea p span.bg02 {
	font-size: 1.2rem;
	color: #555;
	margin-bottom: 1rem;
}

.offer .box {
	margin-top: -50px;
	margin-bottom: 40px;
    padding: 70px 10px 10px;
    background: #ffebed;
	border-radius: 20px;
}

@media screen and (max-width: 767px){
	.offer .box {
		margin-bottom: 20px;
		border-radius: 0;
	}
}

.offer .flex {
	display: flex;
	align-items: start;
}

@media screen and (max-width: 767px){
	.offer .flex {
		display: block;
	}
}

.offer .flex figure {
	width: 800px;
	max-width: 40%;
	margin-right: 3rem;
	padding: 1rem 0 0 1rem;
    background: #fff;
}

@media screen and (max-width: 767px){
	.offer .flex figure {
		max-width: 80%;
		margin: 0 auto 2rem;
	}
}

.offer ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 1rem;
    padding: 10px;
    background: #fff;
}

.offer ul li {
    position: relative;
    width: 100%;
    font-size: 1rem;
    font-weight: 600;
    padding-left: 30px;
}

@media screen and (max-width: 767px){
	.offer ul li {
    	font-size: 14px;
    	margin: 2px 0;
		line-height: 2;
	}
}

.offer ul li::before {
    content: '';
    display: block;
    position: absolute;
    background: #dc3545;
    top: 0px;
    left: 0px;
    width: 24px;
    height: 24px;
    border-radius: 5px;
}

@media screen and (max-width: 767px){
	.offer ul li::before {
		width: 24px;
    	height: 24px;
	}
}

.offer ul li::after {
	content: '';
    display: block;
    position: absolute;
    top: 5px;
    left: 4px;
    width: 16px;
    height: 10px;
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: rotate(-45deg);
}

@media screen and (max-width: 767px){
	.offer ul li::after {
		top: 6px;
    	left: 4px;
    	width: 16px;
    	height: 8px;
    	border-left: 3px solid #fff;
    	border-bottom: 3px solid #fff;
	}
}

.offer a {
	display: block;
	width: 100%;
	max-width: 640px;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	margin: auto;
	color: #fff;
	background: #f39800;
	padding: 1rem;
}

.message2 {
	padding: 2rem 0;
	background: #fff;
}

@media screen and (max-width: 767px){
	.message2 {
		padding: 10px;
	}
}

.message2 .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.message2 .head {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px){
	.message2 .head {
		text-align: center;
        background: #e8f4ff;
        border-bottom: 0;
        padding: 1rem;
	}
}

.message2 .head h2 {
	margin-bottom: 10px;
	color: #1e73be;
}

@media screen and (max-width: 767px){
	.message2 .head h2 {
		font-size: 1.6rem;
	}
}

.message2 .head p.meta {
	margin: 0;
}

.message2 .head p.meta span {
	font-size: 1.2em;
	font-weight: bold;
	color: #f39800;;
}

.message2 .flex .left {
	width: 20%;
}

@media screen and (max-width: 767px){
	.message2 .flex .left {
		width: 100%;
	}
}

.message2 .flex .left img {
	display: block;
	width: 100%;
}

.message2 .flex .right {
	width: 78%;
}

@media screen and (max-width: 767px){
	.message2 .flex .right {
		width: 100%;
	}
	
	.message2 .flex .right img {
		display: block;
		max-width: 140px;
		float: left;
		margin-bottom: 1rem;
	}
	
	.message2 .flex .right p {
		font-size: 0.9rem;
		margin-bottom: 10px;
	}
}

.message3 {
	padding: 2rem 0;
	background: #fff;
}

@media screen and (max-width: 767px){
	.message3 {
		padding: 10px;
	}
}

.message3 .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.message3 .head {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px){
	.message3 .head {
		text-align: center;
        background: #e8f4ff;
        border-bottom: 0;
        padding: 1rem;
	}
}

.message3 .head h2 {
	margin-bottom: 10px;
	color: #1e73be;
}

@media screen and (max-width: 767px){
	.message3 .head h2 {
		font-size: 1.6rem;
	}
}

.message3 .head p.meta {
	margin: 0;
}

.message3 .head p.meta span {
	font-size: 1.2em;
	font-weight: bold;
	color: #f39800;;
}

.message3 .flex .left {
	width: 20%;
}

@media screen and (max-width: 767px){
	.message3 .flex .left {
		width: 100%;
	}
}

.message3 .flex .left img {
	display: block;
	width: 100%;
}

.message3 .flex .right {
	width: 78%;
}

@media screen and (max-width: 767px){
	.message3 .flex .right {
		width: 100%;
	}
	
	.message3 .flex .right img {
		display: block;
		max-width: 120px;
		float: right;
		margin-left: 1rem;
		margin-bottom: 1rem;
	}
	
	.message3 .flex .right p {
		font-size: 0.9rem;
		margin-bottom: 10px;
	}
}

.message4 {
	padding: 2rem 0;
	background: #fff;
}

@media screen and (max-width: 767px){
	.message4 {
		padding: 10px;
	}
}

.message4 .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.message4 .head {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px){
	.message4 .head {
		text-align: center;
        background: #e8f4ff;
        border-bottom: 0;
        padding: 1rem;
	}
}

.message4 .head h2 {
	margin-bottom: 10px;
	color: #1e73be;
}

@media screen and (max-width: 767px){
	.message4 .head h2 {
		font-size: 1.6rem;
	}
}

.message4 .head p.meta {
	margin: 0;
}

.message4 .head p.meta span {
	font-size: 1.2em;
	font-weight: bold;
	color: #f39800;;
}

.message4 .flex .left {
	width: 20%;
}

@media screen and (max-width: 767px){
	.message4 .flex .left {
		width: 100%;
	}
}

.message4 .flex .left img {
	display: block;
	width: 100%;
}

.message4 .flex .right {
	width: 78%;
}

@media screen and (max-width: 767px){
	.message4 .flex .right {
		width: 100%;
	}
	
	.message4 .flex .right img {
		display: block;
		max-width: 140px;
		float: left;
		margin-bottom: 1rem;
	}
	
	.message4 .flex .right p {
		font-size: 0.9rem;
		margin-bottom: 10px;
	}
}

.message2 .teacher_history,
.message4 .teacher_history {
	max-width: 800px;
    position: relative;
    padding: 40px 1rem 1rem;
    background: #eee;
}

.teacher_history span.label {
    position: absolute;
    font-weight: bold;
    color: #fff;
    background: #28a745;
    line-height: 30px;
    padding: 0 30px;
    top: 0;
    left: 0;
}

.teacher_history p {
	margin-bottom: 0;
}

.voice2 {
	background: #fff9f0;
    padding: 0 0 3rem;
}

@media screen and (max-width: 767px){
	.voice2 {
		padding: 0 0 1rem;
	}
}

.voice2 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
}

@media screen and (max-width: 767px){
	.voice2 ul {
		margin: 0 10px;
	}
}

.voice2 ul li {
	width: 49%;
    background: #fff;
    padding: 1rem;
	border: 1px solid #f39800;
    border-radius: 20px;
}

@media screen and (max-width: 767px){
	.voice2 ul li {
		width: 100%;
		border-radius: 10px;
	}
	
	.voice2 ul li:not(:last-child){
		margin-bottom: 1rem;
	}
}

.voice2 ul li p {
	margin: 0;
}

.voice2 ul li p.meta {
	font-size: 1.2em;
	font-weight: bold;
	color: #1e73be;
	margin-bottom: 1rem;
}

.plan {
	background: #ecf9fd;
    padding: 3rem 0;
}

@media screen and (max-width: 767px){
	.plan {
		padding: 0;
	}
}

.plan h2 {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    color: #0e9fd1;
}

@media screen and (max-width: 767px) {
    .plan h2 {
        font-size: 1.6rem;
        margin: 0;
        padding: 10px;
        color: #fff;
        background: #1e73be;
    }
}

@media screen and (min-width: 768px) {
    .plan h2 {
        font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    }
}

.plan .wrap {
	max-width: 800px;
}

.plan h2 span {
    display: block;
    position: relative;
    width: 200px;
    color: #999;
    margin: -10px auto 0;
    border-bottom: 1px solid #999;
}

@media screen and (max-width: 767px) {
    .plan h2 span {
        display: none;
    }
}

.plan .caution5 {
	color: #990000;
}

@media screen and (max-width: 767px){
	.plan .box {
		padding: 10px;
	}
}

.plan table th,
.plan table td {
	font-size: 1.2rem;
	text-align: left;
	padding: 1rem;
}

@media screen and (max-width: 767px){
	.plan table th,
	.plan table td {
		padding: 10px;
		font-size: 1rem;
	}
}

.plan table th {
	background: #e8f4ff;
}

.plan table td {
	background: #fff;
}

.plan table td span {
	font-size: 1.2em;
	font-weight: bold;
	color: #1e73be;
	margin-right: 5px;
}

@media screen and (max-width: 767px){
	.plan table td span {
		font-size: 1.5em;
	}
}

.download {
	padding: 3rem 0;
    background: #0ba6da;
}

@media screen and (max-width: 767px){
	.download {
		padding: 1rem;
	}
}

.download a {
	display: block;
    position: relative;
    max-width: 600px;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    margin: auto;
    padding: 2rem;
    color: #fff;
    background: linear-gradient(45deg, #bb7500, #f39800, #bb7500);
    border: 3px solid #fff;
    border-radius: 20px;
    overflow: hidden;
    z-index: 1;
}

@media screen and (max-width: 767px){
	.download a {
		font-size: 1.6rem;
		border: 2px solid #fff;
		border-radius: 10px;
		padding: 1rem;
	}
}

.download a span {
	display: block;
    position: relative;
}

.download a span small {
    display: block;
    width: 100%;
    font-size: 0.7em;
}

.download a span::before {
	content: "";
    display: block;
    position: absolute;
    width: 60px;
    height: 60px;
    top: calc(50% - 30px);
	left: 0;
    background: url(/img/download_back.svg);
    background-size: contain;
    margin-right: 10px;
}

@media screen and (max-width: 767px){
	.download a span::before {
		width: 40px;
		height: 40px;
		top: calc(50% - 20px);
	}
}

.dlpage {
	padding: 2rem;
	height: 100vh;
	height: 100dvh;
}

.dlpage h2 {
	line-height: 2;
}

.dlpage h2 span {
	display: block;
	color: #1e73be;
}

.dlpage .wrap {
	width: 100%;
	padding: 4rem;
	background: #fff;
	text-align: center;
}

@media screen and (max-width: 767px){
	.dlpage .wrap {
		padding: 2rem;
	}
}

.dlpage .wrap a.btn {
	display: block;
	max-width: 600px;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 2rem;
	padding: 1rem;
	border-radius: 10px;
	color: #fff;
	background: #007bff;
}

@media screen and (min-width: 768px){
	.dlpage .wrap a.btn {
		font-size: 1.2rem;
	}
}

.dlpage .wrap a.back {
	display: block;
	width: fit-content;
	margin: auto;
	padding: 10px 30px;
	color: #fff;
	background: #666;
}