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


@media screen and (max-width: 1024px){
	h3{
		font-size: 4vw;
	}
	h3 b{
		font-size: 2vw;
	}
	h4{
		font-size: 2.8vw;
	}
	h5{
		font-size: 2.3vw;
	}
    	.back2 {
        	top: -17%;
    	}
	.content,.content_01{
		width: 95%;
	}
	.grade{
		font-size: 2.2vw; 
	}
	.cap{
		top: -6vh;
		font-size: 2vw; 
	}
	.curriculum{
		top: -4vh;
	}
	.hanamaru{
		width: 90%;
	}
	.about p{
		font-size: 2.5vw; 
	}
	.detail{
		font-size: 1.7vw;
	}
	.foot{
		width: 40%;
	}
}
@media screen and (max-width: 767px) {
	body{
		font-size: 4vw;
	}
	.sp{
		display: block;
	}
	.pc{
		display: none;
	}
	h1{
		width: 40%;
		margin: 20px;
	}
	h2{
		font-size: 5.2vw;
        margin: 40px 0;
        position: absolute;
        top: 0;
        display: block;
        width: 100%;
        text-align: center;
        line-height: 1.5;
	}
	h2 span{
		font-size: 10vw;
	}
	h3{
		font-size: 5.7vw;
		padding-top: 1em;
	}
	h3 span{
        width: 5vh;
        height: 5vh;
        line-height: 5vh;
	}
	h3 b{
		font-size: 4vw;
	}
	h3 em{
		font-size: 7.1vw;
	}
	font{
		font-size: 6.7vw;
	}
	font.b{
		font-size: 7.7vw;
	}
	h4{
		font-size: 6.1vw;
		text-align: center;
		padding: 0;
		margin-top: 30px;
		margin-bottom: 30px;
	}
	h4::before {
    	content: "";
    	display: block;
    	position: relative;
    	left: 50%;
		transform: translateX(-50%);
    	top: 0;
    	background-size: contain;
    	background-position: center;
    	background-repeat: no-repeat;
	}
	h5 {
    	font-size: 4.5vw;
	}
	h6 {
		font-size: 7.1vw;
		padding: 0;
		background-size: 28%;
	}
	.back{
		display: none;
	}
	.sp_back{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		display: block;
	}
    .back2 {
        top: -10vh;
    }
	.flex{
		display: block;
	}
	.top_t{
		display: none;
	}
	.top_t_sp {
    	width: 80%;
    	position: relative;
    	display: block;
    	margin: 20vh 0 0 auto;
	}
	.circle {
    	width: 85%;
    	display: block;
    	position: absolute;
    	top: 23vh;
    	z-index: 10;
		margin: 0;
	}
	.chatch{
		font-size: 15px;
		margin: 0.7em 1em 0.2em;
    	width: 29vw;
    	height: 29vw;
		padding-top: 10px;
	}
	.chatch strong{
		font-size: 23px;
		line-height: 1.1;
	}
	.ido{
		width: 43%;
		margin: 0;
	}
	.cry{
		width: 5%;
		padding-bottom: 3vw;
	}
	.back2{
		display: none;
	}
	.back2_sp{
		width: 100%;
		position: absolute;
		bottom: -5vh;
		left: 0;
		z-index: 2;
		display: block;
	}
	main{
		margin: 0 auto;
	}

	.w_38,.w_60 {
		width: 100%;
	}
	.content,.content_01{
		width: 90%;
	}
	.m_t_150{
		margin-top: 30px;
	}
	.m_r2{
		margin-bottom: 30px;
	}
	.grade{
		margin-top: 8em;
		font-size: 4vw; 
		margin-top: 3em;
		padding: 20px 15px 1em 15px;
	}
	.grade p{
		position: relative;
		z-index: 40;
	}
	.grade img{
		margin-left: -20px;
		margin-right: -25px;
        position: relative;
        top: 0;
		z-index: 30;
	}
	.grade-title {
		width: 92px;
    	height: 75px;
		top: -15px;
		left: -15px;
		padding-top: 15px;
		z-index: 20;
	}
	.grade-title01{
		width: 92px;
		height: 92px;
		top: -15px;
		left: -15px;
		line-height: 92px;
		z-index: 20;
	}
	.w_25{
		width: 50%;
	}
	.p_l20{
		padding: 0;
	}
	.cap{
		position: relative;
		font-size: 4vw;
		display: flex;
        justify-content: center;
		align-items: center;
		top:-3vh;
	}
	.cap span{
		display: block;
		font-weight: 500;
	}
	.cap span.long{
		font-size: 5vh;
    	font-weight: 100;
	}
	.curriculum{
		position: relative;
		top: -2.5vh;
		font-size: 7.1vw;
		line-height: 1.2;
	}
	.hamamaru_group {
		width: 70%;
	}

	.title{
		font-size: 5.7vw;
	}
	.title_f01{
		left: 0;
		width: 4vw;
	}
	.title_f02{
		right: 0;
		width: 4vw;
	}
	.j_h{
		font-size: 3vw;
		width: 50%;
		margin: 0em 1.5%;
	}
	.logo{
		width: 100%;
	}
	.m_s_b150{
		margin-bottom: 115px;
	}
	.figure_sp {
		width: 100%;
	}
	.hanamaru{
		margin: 15px auto;
		font-size: 4.2vw;
		padding: 14px;
		width: 90%;
		margin-bottom: 0;
	}
	.line_h1{
		line-height: 1.6;
	}
	.hana_pb0{
		padding-bottom: 0px;
	}
	.kid01{
		width: 36%;
	}
	.kid02{
		width: 34%;
    	height: 113px;
		left: 20%;
	}
	.kid03{
		right: 17%;
    	width: 32%;
    	height: 123px;
	}
	.kid04{
		right: 0;
    	width: 26%;
    	height: 115px;
	}
	.takahama{
		margin-top: 35px;
    	margin-left: -20px;
		width: 58%;
	}
	.about {
    	width: 66%;
    	top: -20vh;
    	left: 30%;
	}
	.about p{
		font-size: 4.7vw;
	}
	.accordion-006{
		background-color: #FFF;
	}
	.accordion-006 summary{
		font-size: 6vw;
		background-color: #EA6AA3;
		border-radius: 10px;
	}
	.accordion-006 summary::before{
		right: 0.7em;
	}
	.accordion-006 summary::after{
		top: 1.6em;
		right: 1.05em;
	}
	.accordion-006 .class{
		padding: 10px;
		font-size: 4.5vw;
	}
	.accordion-006 span{
		vertical-align: middle;
	}
	.detail{
		font-size: 4vw;
		display: inline-block;
	}
	.sp_f{
		font-size: 9vw;
		margin-top: 30px;
		margin-bottom: -6vw;
		
	}
	.challenge_txt{
		font-size: 4.2vw;
	}
	.challenge_txt p{
		margin: 0 0 1em;
		padding: 0;
	}
	.question{
		margin: 30px 0;
    	padding: 30px;
		border-top: 3px solid #EA6AA3;
	}
	.challenge{
		padding: 10px;
		width: 100%;
		box-sizing: border-box;
	}
	.w_30{
		width: 30%;
		margin-right: -20px;
	}
	.m_r2_sp{
		margin-bottom: 0;
	}
	footer{
		right: 0;
	}
	.foot{
		width: 95%;
		float: none;
		margin: 0 auto;
	}

}