﻿@charset "utf-8";

/*  基本レイアウト ここから↓ */

html{
	scroll-behavior:smooth;
}
body{
	width:100%;
	margin:0 auto;
	padding:0 auto;
	color:#000;
	font-size:16px;	
	text-align:center;
	background:#31948d;
}
#main{
	max-width:1300px;
	margin:0 auto;
}


/*　ヘッダー　*/
header{
	position:relative;
	margin:0 auto;
	width:100%;
	height:300px;
	padding:30px 0 0 0;
	z-index:1;	
}

#yane{
	z-index:2;
	margin:0 auto;
	width:90%;
	height:100%;
	max-height:300px;	
}
#nav_back{
	z-index:4;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:130px;
}

#hana{
	z-index:3;
	position:absolute;
	width:100%;
	max-width:170px;
	bottom:30px;
	right:30px;
}
#logo_top {
   	position:absolute;
    	z-index:5;
    	width:220px;
    	margin:0 auto;
    	display:block;
    	left:49.5%;
    	transform: translateX(-50%);
	bottom:40%;
}

#logo_top:hover {
    transform: translateX(-50%) rotate(-5deg);
}
.purupuru {
	animation: purupuru_anim 3s infinite;
}

@media(max-width:768px){
	#hana{
		display:none;
	}
	#logo_top{
    		bottom:20%;
		width:40%;
	}
	header{
		height:auto;
		padding: 20px 0 0 0;	
	}
	#nav_back{
		left:0;
		bottom:0;
		width:100%;
		height:20%;
	}
}

@media(max-width:390px){
	#logo_top{
    		bottom:20%;
		width:150px;
	}
}

@keyframes purupuru_anim {
	0%   {	transform: translate(0, 0);}
	5%   {	transform: translate(-2px, -2px);}
	10%  {	transform: translate(2px, 2px);}
	15%  {	transform: translate(-2px, -2px);}
	20%  {	transform: translate(2px, 2px);}
	25%  {	transform: translate(-2px, -2px);}
	30%  {	transform: translate(0, 0);}
	100% {	transform: translate(0, 0);}
}

/*  左上のアドレス　*/
.add1{
	position:absolute;
	top:30px;
	left:50px;
}
.add1 p{
	font-size:13px;
	font-weight:bold;
	color:#fff;
}
#kanri{	
	background-color:#fff;
	font-size:10px;
	border-radius:3px;
	text-decoration:none;
	transition:all 0.3s;
}
#kanri:hover{	
	transform:translateY(-5px);
}
.add1 a{
	color:#31948d;
	text-decoration:none;

}

@media(max-width:768px){
	.add1{
		display:none;
	}
}

/*  hana 吹き出し　*/
.hukidasi img{
	position:absolute;
	top:110px;
	right:70px;
  	transition: transform 0.3s ease;
}
.hukidasi img:hover{
 	transform: translateY(-5px);	
}
@media(max-width:768px){
	.hukidasi{
		display:none;
	}
}

/*  navi  */
nav{
	position: absolute;
	z-index:5;
	width:100%;
	bottom:0;
	display: flex;
    	justify-content: center;
	align-items:center;
	text-shadow:1px 1px 2px silver;
}
nav ul{
	list-style:none;
	display: flex;
	align-items:center;
	padding:0;
	position:relative;
}
nav ul li{
	padding:0 40px;
	font-size:14px;
	font-weight:bold;
	letter-spacing:0.08em;
}
.eigo{
	font-size:10px;
}
nav ul li a{
	color:#5f1111;
	text-decoration:none;
	display: block;
  	transition: transform 0.3s ease;
}
nav ul li a:hover {
  	transform: translateY(-5px);
}

@media(max-width:938px){
	nav ul li{
		padding:0 30px;
		font-size:12px;
	}
}
@media(max-width:769px){
	nav ul li{
		padding:0 30px;
		font-size:11px;
	}
}
/*  生徒募集中バナー　*/
.boshu1{
	display:block;
	z-index:100;
	position:fixed;
	left:-10px;
	top:25%;
  	transition: transform 0.3s ease;
}
.boshu1:hover{
	transform: translateX(-5px);
}
.boshu2{
	display:none;
}
@media(max-width:768px){
	.boshu1{
		display:none;
	}
	.boshu2{
		display:block;
		position:fixed;
		left:20px;
		top:-0.5%;
		width:50px;
    		z-index:100;
	}
}
/*  スライドショー　*/
.slider{
	display:flex;
	overflow:hidden;
	background:#fff;
	margin:0 auto;
	padding:50px 0;
	width:100%;
	margin-top :50px;
}
.slider img{
	background:#fff;
	margin:20px;
	position:relative;
	transform:translateX(0);
	animation:loop 25s infinite linear -3s both;
}
@keyframes loop{
	0%{
		transform:translateX(0);
	}
	100%{
		transform:translateX(-100%);
	}
}
@media(max-width:768px){
	.slider img{
		height:150px;
		margin:5px;
	}
	.slider{
		margin-top :0px;
		padding:20px 0;
	}
}

/*  ポイント　*/
.title{
	padding-top:50px;
	background:#fff;
}
.title img{
	vertical-align:bottom;
	width:100%;
	max-width:895px;
}
#point{
	margin:0 auto;
	padding-top:20px;
}
.point_4 img{
	padding:10px;
}
.manabu1{
	display:flex;
	width:100%;
    	justify-content: center;
	align-items:center;
	margin:0 auto;
}
.manabu2{
	display:none;
}
.manabu1 p{
	text-align:left;
	font-weight:bold;
}
.p_youso{
	width:700px;
	line-height:8px;
	color:#fff;
}
.s_hukidasi1{
	padding:10px;
}
.s_hukidasi2{
	display:none;
}
.kuwasiku_banner{
	padding-left:30px;
  	transition: transform 0.3s ease;
}
.kuwasiku_banner:hover{
	transform: translateY(-5px);
}
.mokuteki1{
	padding-bottom:0px;
}
.mokuteki2{
	border-top:3px solid #fff;
	padding-top:15px;
}
@media(max-width:768px){
	.manabu1{
		display:none;
	}
	.manabu2{
		display:block;
		background:#efb194;
	}
	.manabu2 p{
		text-align:left;
		font-weight:bold;
		font-size:14px;
		width:80%;
		margin:0 auto;
	}
	.p_youso{
		width:100%;
	}
	hr{
		width:80%;
		margin:0 auto;
	}
	.s_hukidasi2{
		width:50px;
		display:block;
		text-align:left;
		margin-left:20px;
		margin-bottom:-20px;
		z-index:51;
	}
	.mokuteki{
		line-height:30px;
		padding-top:15px;
	}
	.about_a{
		background:#fff;
		border-radius:5px;
		display: inline-block;
		width:400px;
		height:40px;
		line-height:40px;
		margin-bottom:15px;
		transition: transform 0.3s ease;
	}
	.about_a p{
		text-align:center;
		font-size:14px;
		transition: transform 0.3s ease;
	}
	.about_a a{
		text-decoration:none;
		color:#efb194;
	}
	.about_a:hover{
  		transform: translateY(-5px);
	}
}
@media(max-width:414px){
	.point_4 img{
		width:40%;
	}
	.s_hukidasi2{
		width:40px;
		margin-bottom:-10px;
	}
	.mokuteki{
		line-height:20px;
		font-size:10px;
	}
	.naraigoto{
		font-size:8px;
	}
	.about_a{
		width:300px;
		height:30px;
		line-height:30px;
	}
	.about_a p{
		font-size:12px;
	}
}

/*  料金とクラス  */
#price{
	margin-top:100px;
	display:flex;
	width:100%;
  	justify-content:flex-end;
}
.p_big{
	font-size:25px;
	font-weight:bold;
	letter-spacing:0.2em;
}
.p_small{
	font-size:18px;
	font-weight:bold;
}
.price_left{
	width:100%;
	margin:0px;
	color:#fff;
	
}
#price_a{
	width:80%;
  	transition: transform 0.3s ease;
}
#price_a:hover{
  	transform: translateY(-5px);
}
.price_left p{
	border-bottom:3px dotted #fff;
	display:inline-block;
}
.price_left img{
	padding:10px;
	width:40%;
}


@media(max-width:768px){
	#price{
		display:block;
		width:100%;
	}
	.price_left{
		width:100%;
	}
	.price_left img{
		padding:0 auto;
		margin:0 auto;
		width:80%;
	}
}
@media(max-width:414px){
	#price{
		margin-top:50px;
		display:block;
	}
	.p_big{
		font-size:15px;
	}
	.p_small{
		font-size:11px;
	}
	.price_left{
		width:100%;
		margin:0px;
		color:#fff;
	
	}
	.class{
		display:flex;
		flex-direction:column;
		width:100%;
	}
	#price_a{
		display:none;
	}
	.price_left img{
		padding:0 auto;
		margin:0 auto;
		width:80%;
	}
}
/* 　サイドバナー　*/
.side_b{
	background:#45aba5;
	width:100%;
	height:30px;
	border-radius:5px;
  	transition: transform 0.3s ease;
}
.side_b:hover {
  	transform: translateY(-5px);
}
.side_b p{
	color:#fff;
	line-height:30px;
	text-align:center;
	font-size:13px;
}
.side_b a{
	display: block;
	text-decoration: none;
}

.aside_banner {
	flex-direction: column;
	width:60%;
	text-align:left;
}
.banner_flex {
    	display: flex;
    	align-items: center;
	font-size:14px;
	font-weight:bold;
	width:100%;
}
.side_bun{
	width:35%;
}


@media(max-width:768px){
	.aside_banner{
		width:95%;
		margin:0 auto;
	}
	.side_b{
		width:100%;
	}
	.banner_flex {
		justify-content:center;
	}
}
@media(max-width:414px){
	.aside_banner {
		width:95%;
		margin:0 auto;
		justify-content:center;
	}
	.banner_flex {
		font-size:12px;
		justify-content:center;
	}
}
/* 　サイドバナー1つ目　*/
.banner1{
	background:#fac070;
	height:350px;
  	display: flex;
	flex-direction:column;
  	justify-content: center;
    	align-items:flex-start;
	padding-left:50px;
}
.size_h2{
	display:none;
}
#osusume_t{
	display:block;
}
#osusume_t{
	max-width:350px;
	width:80%;
	max-width:;
}
.side_banner_img1{
	max-width:180px;
	width:45%;
	margin-right:20px;
	padding:10px;
}

@media(max-width:768px){
	.banner1{
		float:center;
		height:300px;
		margin:0;
		padding-left:0;
	}
	#osusume_t{
		display:none;
	}
	.size_h2{
		display:block;
		margin:0 auto;
		padding-bottom;20px;
	}
	.side_banner_img1{
		width:80%;
		max-width:200px;
	}
}

@media(max-width:414px){
	.banner1{
		height:280px;
		margin:0;
		padding-left:0;
		justify-content:center;
	}
	#osusume_t{
		display:none;
	}
	.size_h2{
		display:block;
		margin-bottom:20px;
	}
	.banner1 .side_banner_img1{
		width:40%;
		margin:0;
	}
	.side_b{
		width:100%;
	}
	.side_bun{
		width:60%;
	}
	
}


/* 　サイドバナー2つ目　*/
.banner2{
	background:#efb194;
	height:280px;
  	display: flex;
	flex-direction:column;
  	justify-content: center;
    	align-items:flex-start;
	padding-left:50px;
}
.side_banner_img2{
	width:35%;
	max-width:200px;
	margin:20px 0 0 20px;
}
h2{
	margin:0;
	padding:0;
	border-bottom:3px dotted #000;
}
@media(max-width:768px){
	.banner2{
		padding:0;
	}
	h2{
		padding-top:10px;
		margin:0 auto;
		width:93%;
		text-align:center;
	}
	.side_banner_img2{
		width:40%;
		max-width:180px;
		margin-top:10px;
	}
	.banner2{
    		align-items:center;
	}
	.fadeIn.animated {
   		width: 100%;
	}
}
@media(max-width:414px){
	.banner2{
		height:250px;
		padding:0;
		justify-content:center;
	}
	.banner2 .side_banner_img2{
		width:30%;
		margin:0;
		padding:15px 0 0 15px;
	}
}


/*  スケジュール  */
#hiniti{
	height:560px;
	width:100%;
	max-width:1035px;
	margin:0 auto;
	display:flex;
	flex-direction:column;
	position:relative;
	background-image:url(../sozai/note_back.png);
	background-size:100%;
	background-repeat:no-repeat;
   	background-position: center;
}
#hiniti p{
	background:#31948d;
	font-size:13px;
	font-weight:bold;
	width:170px;
	line-height:3em;
	position: absolute;
 	right:77px;
	top:176px;
	border-top-left-radius:10px;
	border-top-right-radius:10px;
	color:#fff;
  	transition: all 0.3s ease;
}
#hiniti p:hover{
	transform: translateY(-0.5em);
	line-height:3.5em;	
}
.memo_a{
	display:block;
}
.memo_a table{
	width:90%;
	position:absolute;
	top:45%;
	margin-left:10%;
	text-align:left;
}
.memo_a table a{
	font-size:16px;
	text-align:left;
	color:#000;
	text-decoration:none;
}
.memo_a table a:hover{
	color:#efb194;
}
.memo_b{
	display:none;
}
@media(max-width:768px){
	#hiniti{
		height:360px;
		position:relative;
		background-size:90%;
	}
	#hiniti p{
	 	font-size:10px;
		width:150px;
		line-height:3em;
		position: absolute;
 		right:10%;
		top:30%;
	}
	.memo_a {
		display:none;
	}
	.memo_b{
		display:block;
	}
	.memo_b table{
		width:60%;
		position:absolute;
		top:45%;
		margin-left:25%;
	}
	.memo_b table td{
		font-size:14px;
		text-align:left;
	}
	.memo_b table td a{
		color:#000;
		text-decoration:none;		
	}
	.memo_b table td a:hover{
		color:#efb194;
	}
}
@media(max-width:414px){
	#hiniti{
		height:200px;
	}
	#hiniti p{
	 	font-size:8px;
		width:100px;
 		right:10%;
		top:25%;
	}
	.memo_a {
		display:none;
	}
	.memo_b{
		display:block;
	}
	.memo_b table{
		width:80%;
		position:absolute;
		top:45%;
		margin-left:20%;
	}
	.memo_b table td{
		font-size:10px;
		text-align:left;
	}
	.memo_b table td a{
		color:#000;
		text-decoration:none;		
	}
	.memo_b table td a:hover{
		color:#f8c5ac;
	}
	.blog_pin img{
		width:40%;
		height:auto;
	}
}


/*  戻るボタン　*/
#modoru{
	margin:50px;
}
#modoru a{
	display: block;
  	transition: transform 0.3s ease;
}
#modoru a:hover{
  	transform: translateY(-5px);
}

/*  footer  */
footer{  
	margin:0 auto;
	height:100%;
	max-height:400px;
	position: relative;
	overflow:hidden;
}
iframe{
	z-index:90;
	position:relative;
	top:-150px;
	width:100%;
	height:700px;
	vertical-align:bottom;
}
.map_banner{
	background:#31948d;
	z-index:99;
	position: absolute;
	display:flex;
	justify-content:center;
	align-items:center;
	border-radius:10px;
	top:120px;
	left:15%;
	height:200px;
}
.map_banner2{
	display:none;
}
.map_left{
	width:150px;
}

.map_left p a {
	display:  block;
	width: 80px;
	height: 10px;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	margin: 0 auto;
}
.map_right{
	width:200px;
	border-left:3px dotted #fff;
	padding-top:5px;
}
.map_big{
	font-size:13px;
	font-weight:bold;
}
.map_banner p {
   	color: #fff;
   	text-align:left;
	font-size:11px;
	padding-left:10px;
}
#access{
    	background: #fff;
	color:#31948d;
	font-weight:bold;
	border-radius:5px;
	display:inline-block;
	width:90px;
	text-align:center;
 	transition: transform 0.3s ease;
}
#access:hover{
  	transform: translateY(-5px);
}
#access p {
    	text-decoration: none;
}
#footer_p1{
	display:block;
	margin:50px auto;
}
#footer_p2{
	display:none;
}
#footer_p1 .footer_big{
	color:#fff;
	font-size:14px;
	font-weight:bold;
}
#footer_p1 .footer_small{
	color:#fff;
	font-size:12px;
}
@media (max-width: 768px) {
	footer{
		overflow:visible;
	}
	.map_banner {
		display: none;
	}
	.map_banner2 {
		display: flex;
		justify-content:center;
		align-items:center;
		z-index: 91;
		color: #000;
	}
	iframe {
		z-index:0;
		width: 100%;
		max-height: 300px;
		top: 0;
	}
	.map_banner2 p {
   		color: #fff;
   		text-align:left;
		font-size:15px;
		padding:0 30px;
	}
	.map_left2 p a {
		display:  block;
		width: 100px;
		height: 10px;
		font-weight: bold;
		color: #fff;
		text-decoration: none;
		margin: 0 auto;
	}
	#logo_bottom{
		align-items:center;
		width:100%;
		max-width:150px;
		padding:10px 10px 0 0 ;
	}
	#access{
		margin:0 0 20px 0;
	}
	#footer_p1{
		display:none;
	}
	#footer_p2{
		display:block;
		margin:130px auto 30px auto;
	}
	#footer_p2 .footer_big{
		color:#fff;
		font-size:14px;
		font-weight:bold;
	}
	#footer_p2 .footer_small{
		color:#fff;
		font-size:12px;
	}
}
@media (max-width: 414px) {
	.map_left2 img{
		width:200px;
    		display: block;
	}
	.map_banner2 p {
		font-size:12px;
		padding:0 15px;
	}
	iframe{
		z-index:0;
	}
	#footer_p1{
		display:none;
	}
	#footer_p2{
		display:block;
		margin:80px auto 30px auto;
	}
	#footer_p2 .footer_big{
		color:#fff;
		font-size:12px;
		line-height:12px;
		font-weight:bold;
		display:inline-block;
		padding:0;
	}
	#footer_p2 .footer_small{
		color:#fff;
		font-size:10px;
		line-height:10px;
		display:inline-block;
		margin-top:0;
		padding:0;
	}
}


/*下からフェードイン*/
.fadeIn {
  transform: translate3d(0, 50px, 0);
  transition: 1s;
  opacity: 0;
}
.fadeIn.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}