html{font-size:15px;}

.for_sp{display:none;}
.ime_j{ime-mode:active;}
.ime_e{ime-mode:inactive;}
.center_pc{margin-left:auto;margin-right:auto;text-align:center;}



#header .hdr img{
	width:150px;
}
#header .dscr{
	font-size:14px;
}



#footer .wrp{
	display:flex;
	justify-content:space-between;
}
#footer .nav{
	display:flex;
	column-gap:40px;
}



#visual_wrapper.index .wrp.name{
	bottom:10vw;
}
#visual_wrapper.index .wrp.name .hdr,
#visual_wrapper.index .wrp.name .txt{
	font-size:20px;
	line-height:30px;
	margin:10px 0;
}
#visual_wrapper.index .wrp.name .hdr img{
	width:250px;
}
#visual_wrapper.index .wrp.lnk{
	bottom:2vw;
	width:30%;
}
#visual_wrapper.index .wrp.lnk a{
	font-size:18px;
	line-height:50px;
	border-radius:25px;
}



#visual_wrapper.contact .wrp.name,
#visual_wrapper.price .wrp.name{
	bottom:7vw;
}
#visual_wrapper.contact .wrp.name .hdr,
#visual_wrapper.price .wrp.name .hdr{
	font-size:45px;
	line-height:65px;
	margin:0;
}



.dl_tbl{
	display:flex;
	flex-wrap:wrap;
	width:100%;
}
.dl_tbl dt,
.dl_tbl dd{
	padding:40px 50px;
	margin:0;
	box-sizing:border-box;
	border-bottom:1px solid #3bc;
}
.dl_tbl dt{
	width:30%;
	font-weight:bold;
}
.dl_tbl dd{
	width:70%;
}
.dl_tbl.noline dt,
.dl_tbl.noline dd{
	padding:30px 0;
	border-bottom:none;
}



#about .wrp{
	display:flex;
	justify-content:space-between;
}
#about .dscr{
	font-size:23px;
	line-height:30px;
}
#about .txt2{
	font-size:15px;
	line-height:20px;
}
#about .img{
	text-align:right;
}
#about .img img{
	width:420px;
}



#course .wrp{
	display:flex;
	justify-content:space-around;
}



#review .rvw{
	display:flex;
	align-items:center;
	column-gap:20px;
	padding:10px 120px 10px 10px;
	background:url('../img/logo2.png') center right 10px no-repeat #fff;
	background-size:100px;
}
#review .rvw p{
	margin:0;
}
#review .rvw .name{
	width:90px;
}
#review .rvw .txt{
	flex:1;
}



#recom .wrp{
	display:table;
	margin-left:auto;
	margin-right:auto;
}



#flow .cell:nth-child(odd){
	position:relative;
}
#flow .cell:nth-child(odd)::after{
	content:"";
	width:30px;
	height:90px;
	background:url('../img/ar.png') center no-repeat;
	background-size:contain;
	position:absolute;
	top:50%;
	right:-60px;
	margin-top:-45px;
}



#price_other .wrp,
#price .wrp{
	column-gap:20px;
	row-gap:20px;
}
#price .wrp{
	padding:20px 20px 45px;
}
#price_other .wrp{
	padding:20px;
}
#price_other .cell,
#price .cell{
	padding:5px 10px;
}
#price .cell{
	width:calc(50% - 10px);
}
#price_other .cell{
	width:calc(100% - 10px);
}
#price .attn{
	margin-top:-30px;
}
#price_other .txt{
	padding-left:3rem;
}



#contact .dscr{
	display:table;
	margin-left:auto;
	margin-right:auto;
}
