/*--------------------------------------
基本設定
--------------------------------------*/

/* PC用CSS
   ========================================================================== */
@media screen and (min-width:1020px){

/* 全体設定
------------------------------------*/
#top-wrap{
	width: 100%;
	margin: 0 auto;
}

#top-wrap #top-in{
	width: 100%;
}

/* コンテンツ設定
------------------------------------*/
#contents-wrap{
	width: 1020px;
	margin: 0 auto;
}

/* メインビジュアル
------------------------------------*/
/* タイトル */
#contents-wrap .contents-text{
	width: 1020px;
	height: 130px;
	background-image: url(../img/about/mainv-back2.png);
	background-repeat: no-repeat;
	background-position: center;
	margin: 0 auto;
}

#contents-wrap .contents-text span{
	width: 550px;
	color: #ff7506;
	display: block;
	font-size: 18px;
	text-align: center;
	margin: 0 auto;
	padding: 30px 0 20px 0;
}


#contents-wrap .contents-text h2{
	width: 550px;
	color: #ff7506;
	font-size: 34px;
	text-align: center;
	margin: 0 auto;
	padding: 0px 0 30px 0;
}

#img-main{
	width: 100%;
	background-image: url(../img/about/mainv-back.jpg);
	background-repeat: repeat;
	margin-left: -500%;
	margin-right: -500%;
	padding-left: 500%;
	padding-right: 500%;
	padding-bottom: 50px;
}

.mainvisual-wrap{
	width: 1020px;
	position: relative;
}

.mainvisual-wrap figure{
	width: 270px;
	position: absolute;
	bottom: -50px;
	left: 50%;
	margin-left: -135px;
	z-index: 3;
}

/* ページ内リンク
------------------------------------*/
#contents-wrap .page-link{
	width: 290px;
	margin: 30px auto 60px auto;
}

#contents-wrap .page-link ul{
	margin:0;
	padding:0;
	height:45px;
	list-style:none;
}

#contents-wrap .page-link  ul li{
	width:auto;
	min-width:140px;
	height:30px;
	margin:0;
	padding:15px 0 0 0;
	float:left;
	display:inline;
	border-left: 1px solid #3e3a39;
	color: #3e3a39;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	}

#contents-wrap .page-link  ul li:last-of-type{
	border-right: 1px solid #3e3a39;
}

#contents-wrap .page-link  ul li a{
	width:auto;
	min-width:140px;
	color: #3e3a39;
	display: block;
	cursor: pointer;
}

/* クラス紹介
------------------------------------*/
#contents-wrap #contents-article{
	width: 1020px;
	margin: 0 auto;
}

#contents-article #class-wrap{
	width: 1020px;
	margin-bottom: 100px;
}

#contents-wrap .sub-title{
	text-align: center;
}

#class-wrap h3{
	color: #ea5b00;
	border-bottom: 3px solid #afc112;
	display: inline-block;
	font-size: 30px;
	margin: 0 auto 40px auto;
	padding-bottom: 5px;
}

#class-wrap .class-in{
		width: 1020px;
		height: 1800px;
		background-image: url(../img/architecture/class-back-line.png);
		background-repeat: repeat-y;
		background-position: center;
		padding-top: 30px;
		position: relative;
}

#class-wrap .class-list{
		width: 535px;
		position: relative;
}

#class-wrap .class-list:nth-of-type(odd){
		width: 535px;
		margin-bottom: 60px;
		background-image: url(../img/architecture/class-pin-or.png);
		background-repeat: no-repeat;
		background-position: 455px 200px;
}

#class-wrap .class-list:nth-of-type(even){
		width: 455px;
		margin-bottom: 60px;
		background-image: url(../img/architecture/class-pin-bl.png);
		background-repeat: no-repeat;
		background-position: 0px 200px;
		position: absolute;
		padding-left: 80px;

}

#class-wrap .one-year{
		left: 490px;
		top: 120px;
}

#class-wrap .two-year{
		top: 50px;
}

#class-wrap .three-year{
		left: 490px;
		top: 740px;
}

#class-wrap .four-year{
		top: 100px;
}

#class-wrap .five-year{
		left: 490px;
		top: 1379px;
}

.class-list img{
		width: 396px;
		height: 185px;
		display: block;
		margin: 30px auto;
}

.class-list dl{
		width: 454px;
		border-radius: 10px;
		margin-bottom: 60px;
}

.class-list .class-or{
		border: 1px solid #ea5b00;
}

.class-list .class-bl{
		border: 1px solid #448bd8;
}

.class-list dl dt{
		width: 300px;
		height: 60px;
		background-color: #f9fdd9;
		border: 2px dotted #afc112;
		border-radius: 10px;
		color: #ea5b00;
		font-size: 30px;
		font-weight: 900;
		line-height: 60px;
		text-align: center;
		margin: 0 auto;
		position: absolute;
}

.class-list .class-or dt{
	top:-30px;
	left: 70px;
}

.class-list .class-bl dt{
	top:-30px;
	left: 155px;
}

.class-list dl dt .age{
		border-bottom: 3px solid #448bd8;
		font-size: 22px;
		margin-left: 20px;
		position: relative;
		top: -5px;
}

.class-list dl dd{
		font-size: 14px;
}

.class-list dl dd p:first-of-type{
		width: 390px;
		line-height: 25px;
		margin: 40px auto 20px auto;
		padding-top: 10px;
}

.class-list dl dd p:nth-of-type(2){
		width: 390px;
		line-height: 25px;
		margin: 0 auto;
}

/* 園舎案内
------------------------------------*/
#architecture-wrap{
	width: 100%;
	background-color: #e8fdff;
	margin-left: -500%;
	margin-right: -500%;
	padding-left: 500%;
	padding-top: 90px;
	padding-bottom: 180px;
	padding-right: 500%;
}

#architecture-wrap #architecture-in-sp{
	display: none;
}

#architecture-wrap #architecture-in{
	width: 1020px;
	margin: 0 auto;
}

#architecture-in h3{
	color: #ea5b00;
	border-bottom: 3px solid #afc112;
	display: inline-block;
	font-size: 30px;
	margin: 0 auto 40px auto;
	padding-bottom: 5px;
}

#architecture-in .architecture-list01{
		width: 1020px;
		height: 440px;
		background-image: url(../img/architecture/architecture-img01.png);
		background-repeat: no-repeat;
		background-position: center;
		position: relative;
}

.architecture-list01 p{
		width: 289px;
		font-size: 14px;
		font-weight: 800;;
		position: absolute;
		top: 303px;
		left: 730px;
}

.architecture-list01 p strong{
		font-size: 22px;
		color: #ea5b00;
		display: block;
}

#architecture-in .architecture-list02{
		width: 1020px;
		height: 425px;
		background-image: url(../img/architecture/architecture-img02.png);
		background-repeat: no-repeat;
		background-position: center;
		position: relative;
}

.architecture-list02 p{
		width: 289px;
		font-size: 14px;
		font-weight: 800;
		position: absolute;
}

.architecture-list02 p strong{
		font-size: 22px;
		color: #ea5b00;
		display: block;
}

.architecture-list02 p:first-of-type{
	top: 370px;
	left: 0px;
}

.architecture-list02 p:nth-of-type(2){
	top: 370px;
	left: 318px;
}

.architecture-list02 p:nth-of-type(3){
	width: 384px;
	top: 370px;
	left: 635px;
}

}/*pcここまで*/






/* タブレット用CSS
   ========================================================================== */
@media screen and (max-width:1019px){

	/* 全体設定
	------------------------------------*/
	#top-wrap{
		width: 100%;
		margin: 0 auto;
	}

	#top-wrap #top-in{
		width: 100%;
	}

	/* コンテンツ設定
	------------------------------------*/
	#contents-wrap{
		width: 100%;
		margin: 0 auto;
	}

	/* タイトル */
	#contents-wrap .contents-text{
		width: 100%;
		height: 110px;
		background-image: url(../img/about/mainv-back2.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: 80% 100%;
		margin: 0 auto;
	}

	#contents-wrap .contents-text span{
	width: 80%;
	max-width: 480px;
	color: #ff7506;
	display: block;
	font-size: 16px;
	text-align: center;
	margin: 0 auto;
	padding: 20px 0 15px 0;
}

#contents-wrap .contents-text h2{
	width: 80%;
	max-width: 480px;
	color: #ff7506;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	margin: 0 auto;
}
	#img-main{
		width: 100%;
		background-image: url(../img-sp/about/mainv-back.jpg);
		background-repeat: repeat;
	}

	.mainvisual-wrap{
		width: 100%;
		position: relative;
	}

	.mainvisual-wrap img{
		width: 100%;
		height: auto;
		margin: 0 auto;
	}

	.mainvisual-wrap figure{
		width: 270px;
		position: absolute;
		bottom: -40px;
		left: 38%;
		margin-left: 0;
		z-index: 3;
	}

	.mainvisual-wrap figure img{
			width: 60%;
			height: auto;
	}

	/* ページ内リンク
	------------------------------------*/
	#contents-wrap .page-link{
		width: 100%;
		max-width: 560px;
		margin: 30px auto 60px auto;
	}

	#contents-wrap .page-link ul{
		width: 90%;
		margin: 40px auto 0 auto;
	}

	#contents-wrap .page-link  ul li{
			position: relative;
	    float: left;
	    box-sizing: border-box;
	    width: 48%;
	    margin: 0 0 4px 0;
	    padding: 0 0px 0 3px;
		}

	#contents-wrap .page-link  ul li:nth-of-type(1),
	#contents-wrap .page-link  ul li:nth-of-type(3){
		margin-right: 3%;
	}

	#contents-wrap .page-link  ul li a{
		display: block;
		border-bottom: 1px dotted #ea5b00;
	  padding: 13px 0 10px 0;
	  color: #3e3a39;
	  font-size: 13px;
	  font-weight: 900;
	  letter-spacing: 0.05em;
	  white-space: nowrap;
	}

	#contents-wrap .page-link  ul li a:after {
		width: 15px;
		height: 15px;
		border: 1px solid #ea5b00;
		border-radius: 30px;
		color: #ea5b00;
	  content: "\f078";
	  font-family: "Font Awesome 5 Free";
		font-weight: 900;
		font-size: 12px;
		line-height: 15px;
		text-indent: 2.5px;
		padding: 0;
		position: absolute;
		right: 0;
		top: 35%;
	}

	/* クラス紹介
	------------------------------------*/
	#contents-wrap #contents-article{
		width: 100%;
		margin: 0 auto;
	}

	#contents-article #class-wrap{
		width: 90%
		margin-bottom: 100px;
		margin: 0 auto;
	}

	#contents-wrap .sub-title{
		text-align: center;
	}

	#class-wrap h3{
		color: #ea5b00;
		border-bottom: 3px solid #afc112;
		display: inline-block;
		font-size: 20px;
		line-height: 30px;
		margin: 0 auto 40px auto;
		padding-bottom: 5px;
	}

	#class-wrap .class-in{
			width: 90%;
			background-image: url(../img/architecture/class-back-line.png);
			background-repeat: repeat-y;
			background-position: center;
			padding-top: 30px;
			position: relative;
			margin: 0 auto;
	}

	#class-wrap .class-list{
			width: 100%;
			position: relative;
	}

	.class-list img{
			width: 80%;
			display: block;
			margin: 30px auto;
	}

	.class-list dl{
			width: 100%;
			border-radius: 10px;
			margin-bottom: 60px;
	}

	.class-list .class-or{
		background-color: #fff;
		border: 1px solid #ea5b00;
	}

	.class-list .class-bl{
		background-color: #fff;
		border: 1px solid #448bd8;
	}

	.class-list dl dt{
			width: 80%;
			height: 60px;
			background-color: #f9fdd9;
			border: 2px dotted #afc112;
			border-radius: 10px;
			color: #ea5b00;
			font-size: 19px;
			font-weight: 900;
			line-height: 60px;
			text-align: center;
			margin: 0 auto;
			position: absolute;
	}

	.class-list .class-or dt{
		top:-30px;
		left: 0;
		right: 0;
	}

	.class-list .class-bl dt{
		top:-30px;
		left: 0;
		right: 0;
	}

	.class-list dl dt .age{
			border-bottom: 3px solid #448bd8;
			font-size: 18px;
			margin-left: 20px;
			position: relative;
			top: -5px;
	}

	.class-list dl dd{
			font-size: 14px;
	}

	.class-list dl dd p:first-of-type{
			width: 90%;
			font-size: 2vw;
			line-height: 25px;
			margin: 40px auto 20px auto;
			padding: 20px 0 0 0;
	}


	.class-list dl dd p:nth-of-type(2){
			width: 90%;
			font-size: 2vw;
			line-height: 25px;
			margin: 0 auto;
	}

	/* 園舎案内
	------------------------------------*/
	#architecture-wrap{
		width: 100%;
		background-color: #e8fdff;
		padding: 10% 0;
	}

	#architecture-wrap #architecture-in{
		display: none;
	}

	#architecture-wrap #architecture-in-sp{
		width: 90%;
		margin: 0 auto;
	}

	#architecture-in-sp h3{
		color: #ea5b00;
		border-bottom: 3px solid #afc112;
		display: inline-block;
		font-size: 20px;
		line-height: 30px;
		margin: 0 auto 40px auto;
		padding-bottom: 5px;
	}

	#architecture-in-sp .architecture-list01{
			width: 100%;
			position: relative;
			margin-bottom: 10%;
	}

	#architecture-in-sp .architecture-list01 img{
			width: 100%;
	}

	#architecture-in-sp	.architecture-list01 p{
			width: 90%;
			font-size: 14px;
			margin: 0 auto 0 auto;
	}


	#architecture-in-sp .architecture-list02{
			width: 100%;

	}

	#architecture-in-sp .architecture-list02 .architecture-block01{
			width: 100%;
			font-size: 14px;
			margin-bottom: 10%;
	}

	.architecture-block01 img{
			width: 45%;
			float: left;
			margin-right: 5%;
	}

	.architecture-block01 p{
			width: 48.8%;
			float: left;
			font-size: 14px;
			line-height: 22px;
			margin: 0 auto 0 auto;
	}

	#architecture-in-sp strong{
			font-size: 18px;
			color: #ea5b00;
			display: block;
			margin-bottom: 15px;
	}

 .architecture-block02,
 .architecture-block03
 {
	 	width: 45%;
		float: left;
 }

 .architecture-block02{
	 margin-right: 7%;
 }

 .architecture-block02 img,
 .architecture-block03 img{
	 width: 100%;
 }

 .architecture-block02 p,
 .architecture-block03 p{
	 font-size: 14px;
 		line-height: 22px;
 }

}



/* SP用CSS
========================================================================== */
@media screen and (max-width:479px){
	/* 全体設定
	------------------------------------*/
	#top-wrap{
		width: 100%;
		margin: 0 auto;
	}

	#top-wrap #top-in{
		width: 100%;
	}

	/* コンテンツ設定
	------------------------------------*/
	#contents-wrap{
		width: 100%;
		margin: 0 auto;
	}

	/* タイトル */
	#contents-wrap .contents-text{
		width: 100%;
		max-width: 640px;
		height: 110px;
		background-image: url(../img/about/mainv-back2.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: 80% 100%;
		margin: 0 auto;
	}

	#contents-wrap .contents-text span{
	width: 80%;
	max-width: 480px;
	color: #ff7506;
	display: block;
	font-size: 16px;
	text-align: center;
	margin: 0 auto;
	padding: 20px 0 15px 0;
}

#contents-wrap .contents-text h2{
	width: 80%;
	max-width: 480px;
	color: #ff7506;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	margin: 0 auto;
}
	#img-main{
		width: 100%;
		max-width: 640px;
		background-image: url(../img-sp/about/mainv-back.jpg);
		background-repeat: repeat;
	}

	.mainvisual-wrap{
		width: 640px;
		position: relative;
	}

	.mainvisual-wrap img{
		width: 100%;
		max-width: 400px;
		height: auto;
		margin: 0 auto;
	}

	.mainvisual-wrap figure{
		width: 270px;
		position: absolute;
		bottom: -40px;
		left: 17%;
		margin-left: 0;
		z-index: 3;
	}

	.mainvisual-wrap figure img{
			width: 60%;
			height: auto;
	}

	/* ページ内リンク
	------------------------------------*/
	#contents-wrap .page-link{
		width: 100%;
		max-width: 560px;
		margin: 30px auto 60px auto;
	}

	#contents-wrap .page-link ul{
		width: 85%;
		margin: 40px auto 0 auto;
	}

	#contents-wrap .page-link  ul li{
			position: relative;
	    float: left;
	    box-sizing: border-box;
	    width: 48%;
	    margin: 0 0 4px 0;
	    padding: 0 0px 0 3px;
		}

	#contents-wrap .page-link  ul li:nth-of-type(1),
	#contents-wrap .page-link  ul li:nth-of-type(3){
		margin-right: 3%;
	}

	#contents-wrap .page-link  ul li a{
		display: block;
		border-bottom: 1px dotted #ea5b00;
	  padding: 13px 0 10px 0;
	  color: #3e3a39;
	  font-size: 13px;
	  font-weight: 900;
	  letter-spacing: 0.05em;
	  white-space: nowrap;
	}

	#contents-wrap .page-link  ul li a:after {
		width: 15px;
		height: 15px;
		border: 1px solid #ea5b00;
		border-radius: 30px;
		color: #ea5b00;
	  content: "\f078";
	  font-family: "Font Awesome 5 Free";
		font-weight: 900;
		font-size: 12px;
		line-height: 15px;
		text-indent: 2.5px;
		padding: 0;
		position: absolute;
		right: 0;
		top: 35%;
	}

	/* クラス紹介
	------------------------------------*/
	#contents-wrap #contents-article{
		width: 100%;
		margin: 0 auto;
	}

	#contents-article #class-wrap{
		width: 90%
		margin-bottom: 100px;
		margin: 0 auto;
	}

	#contents-wrap .sub-title{
		text-align: center;
	}

	#class-wrap h3{
		color: #ea5b00;
		border-bottom: 3px solid #afc112;
		display: inline-block;
		font-size: 20px;
		line-height: 30px;
		margin: 0 auto 40px auto;
		padding-bottom: 5px;
	}

	#class-wrap .class-in{
			width: 90%;
			background-image: url(../img/architecture/class-back-line.png);
			background-repeat: repeat-y;
			background-position: center;
			padding-top: 30px;
			position: relative;
			margin: 0 auto;
	}

	#class-wrap .class-list{
			width: 100%;
			position: relative;
	}

	.class-list img{
			width: 80%;
			display: block;
			margin: 30px auto;
	}

	.class-list dl{
			width: 100%;
			border-radius: 10px;
			margin-bottom: 60px;
	}

	.class-list .class-or{
		background-color: #fff;
		border: 1px solid #ea5b00;
	}

	.class-list .class-bl{
		background-color: #fff;
		border: 1px solid #448bd8;
	}

	.class-list dl dt{
			width: 80%;
			height: 60px;
			background-color: #f9fdd9;
			border: 2px dotted #afc112;
			border-radius: 10px;
			color: #ea5b00;
			font-size: 19px;
			font-weight: 900;
			line-height: 60px;
			text-align: center;
			margin: 0 auto;
			position: absolute;
	}

	.class-list .class-or dt{
		top:-30px;
		left: 0;
		right: 0;
	}

	.class-list .class-bl dt{
		top:-30px;
		left: 0;
		right: 0;
	}

	.class-list dl dt .age{
			border-bottom: 3px solid #448bd8;
			font-size: 18px;
			margin-left: 20px;
			position: relative;
			top: -5px;
	}

	.class-list dl dd{
			font-size: 14px;
	}

	.class-list dl dd p:first-of-type{
			width: 90%;
			font-size: 14px;
			line-height: 25px;
			margin: 30px auto 20px auto;
			padding: 30px 0 0 0;
	}

	.class-list dl dd p:nth-of-type(2){
		width: 90%;
			font-size: 14px;
			line-height: 25px;
	}

	/* 園舎案内
	------------------------------------*/
	#architecture-wrap{
		width: 100%;
		background-color: #e8fdff;
		padding: 10% 0;
	}

	#architecture-wrap #architecture-in{
		display: none;
	}

	#architecture-wrap #architecture-in-sp{
		width: 90%;
		margin: 0 auto;
	}

	#architecture-in-sp h3{
		color: #ea5b00;
		border-bottom: 3px solid #afc112;
		display: inline-block;
		font-size: 20px;
		line-height: 30px;
		margin: 0 auto 40px auto;
		padding-bottom: 5px;
	}

	#architecture-in-sp .architecture-list01{
			width: 100%;
			position: relative;
			margin-bottom: 10%;
	}

	#architecture-in-sp .architecture-list01 img{
			width: 100%;
	}

	#architecture-in-sp	.architecture-list01 p{
			width: 90%;
			font-size: 14px;
			margin: 0 auto 0 auto;
	}


	#architecture-in-sp .architecture-list02{
			width: 100%;

	}

	#architecture-in-sp .architecture-list02 .architecture-block01{
			width: 100%;
			font-size: 14px;
			margin-bottom: 10%;
	}

	.architecture-block01 img{
			width: 45%;
			float: left;
			margin-right: 5%;
	}

	.architecture-block01 p{
			width: 48.8%;
			float: left;
			font-size: 14px;
			line-height: 22px;
			margin: 0 auto 0 auto;
	}

	#architecture-in-sp strong{
			font-size: 18px;
			color: #ea5b00;
			display: block;
			margin-bottom: 15px;
	}

 .architecture-block02,
 .architecture-block03
 {
	 	width: 45%;
		float: left;
 }

 .architecture-block02{
	 margin-right: 7%;
 }

 .architecture-block02 img,
 .architecture-block03 img{
	 width: 100%;
 }

 .architecture-block02 p,
 .architecture-block03 p{
	 font-size: 14px;
 		line-height: 22px;
 }


}
