﻿@charset "UTF-8";

body {
	-webkit-text-size-adjust: 100%;/* スマホレイアウト防止 */　
	width: 100%;
	margin: 0px;
	padding: 0px;
	color:#313131;
	-webkit-font-smoothing: antialiased;
	font-family: "Mplus 1p"; /* WEBフォント */
	background-color:#FFF;
}

.img{
	max-width: 100%;
	height:auto;
	}
.w100{max-width: 100%;}
/* 隙間をなくす */
li img,dt img,dd img{
vertical-align:bottom;
}

/* IEの隙間をなくす */
img{
	vertical-align: top;
	vertical-align: bottom;
}	
.switch {
	visibility: hidden;}/* スマホＰＣ切り替えＣＳＳ*/

#wrap {
	width: 100%;
	overflow:hidden;
}

a{ outline: none;}

a:link,
a:visited {
	color: #29b5a0;
	font-weight: normal;
}

a:hover,
a:active {
	text-decoration: none;
	color: #29b5a0;
}
a img {
	border-top-width: 0px;
	border-right-width: 0px;
	border-bottom-width: 0px;
	border-left-width: 0px;
}
/* フロート解除　*/
.clearfloat {
	font-size: 1px;
	line-height: 0px;
	clear: both;
	height: 0px;
}
.br-sp { } /**スマホ改行非表示*/
.br-pc { display:none; } /**ＰＣ改行非表示*/

@media screen and (max-width: 600px) {/*タブレット*/
.br-sp { display:none; } /*スマホ改行非表示*/
.br-pc {  } /*ＰＣ改行非表示*/
}

.fadein {
  opacity : 0;
  transform: translateY(20px);
  transition: all 1s;
}

/* ヘッダー ----------------------------------------------------------------------------------*/

.inner{margin: 0 auto;}
header{
	width: 100%;
}
.header_in{
	width:100%;
	margin:0 auto;
	overflow: hidden;
}
h1{
	font-size:10px;
	line-height:120%;
	padding:5px;
	text-align:center;
	color:#FFFFFF;
	background:#29b5a0;
}
.logo{display:none;}

ul.hed_menu{
	max-width:1000px;
	width:100%;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
}
ul.hed_menu li{
	width:32%;
	text-align:center;
	align-self:center;
	padding:15px 0px;
}

@media screen and (max-width:700px){
h1{
	font-size:9px;
	background:#FFF;
	color:#29b5a0;
	text-align:left;
}
.logo{
	display:block;
	width:80px;
	margin:10px auto;
}
ul.hed_menu{
	display:none;
}

}



header .inner{
	width:100%;
	margin:0 auto;
	overflow: hidden;
}
header nav {
	background:#29b5a0;
	overflow: hidden;
	padding:0px;
}
header nav ul{
	max-width:1000px;
	padding:0px;
	margin:0 auto;
	list-style-type: none;
	display:flex;
}
header nav ul li{
	}
header nav ul li img{
	vertical-align: bottom;/*画像下の余白を消す */
	width:100%;
}
#nav_toggle{display: none;}
.menu_moji{display:none !important;}/*ＰＣでは非表示ボタン */
.li_none{display:none !important;}/*ＰＣでは非表示ボタン */
.menu_img{}


/*メニュー部分 ----------------------------------------------------------------------------------*/
@media screen and (max-width:700px){
header .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
ul.h_menu{display:none;}

nav{
	z-index: 10000 !important;
	display: none;
	position: absolute;
	top:130px;
	width: 100%;
	background: #502e1f;
	left: 0;
}
header nav ul{
	display: block;
	margin: 0 auto;
	width: 90%;
}
header nav ul li{
	margin: 0 auto;
	text-align: center;
	border-bottom: 1px solid #fff;
}
header nav ul li:last-child{
	border: none;
}
header nav ul li a{
	display: block;
	color: #fff;
	text-decoration: none;
	font-size:18px;
	font-weight: bold;
	padding:16px;
}
.menu_moji{display:block !important;color: #fff;}
.li_none{display:block !important;color: #fff;}
.menu_img{display:none !important;}  
}
@media screen and (max-width:700px){	
#nav_toggle{/*開閉ボタン*/
	display: block;
	width: 40px;
	height: 40px;
	position: relative;
	top: 0px;
	right:20px;
	z-index: 10000 !important;
}
#nav_toggle div {
	position: relative;
}
#nav_toggle span{
	display: block;
	height: 3px;
	background: #000;
	position:absolute;
	width: 100%;
	right:0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;	
}
#nav_toggle span:nth-child(1){
	top:0px;
}
#nav_toggle span:nth-child(2){
	top:12px;
}
#nav_toggle span:nth-child(3){
	top:24px;
}
	
/*開閉ボタンopen時*/
.open #nav_toggle span:nth-child(1) {
		top: 12px;
	   -webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.open #nav_toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav_toggle span:nth-child(3) {
		top: 12px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
}

/*フッダー ----------------------------------------------------------------------------------*/
footer{
	width: 100%;
	background:#d0e7e1;
}	
.footer_in{
	width: 100%;
	max-width:1000px;
	margin:0 auto;
	overflow: hidden;
	padding:20px 0px 0px;
}
.f_logo{
	float:left;
}
.f_right{
	width:60%;
	float:right;
	overflow:hidden;
	padding:0px;
	display:flex;
}

.f_menu{
	text-align:center;
	font-size: 15px;
	line-height:130%;
	margin:10px;
}
footer p a{
	text-decoration:none;
}
footer p a:link,
footer p a:visited {
	color: #000000;
	font-weight: normal;
}

footer p a:hover,
footer p a:active {
	text-decoration: none;
	color: #3a5c23;
	font-weight:bold;
}
.copy{
	background:#29b5a0;
	text-align:center;
	color:#FFF;
}
.f_br{}
@media screen and (max-width: 850px) {/*タブレット*/
.f_right{
	width:80%;
}
.f_br{display:none;}
}
@media screen and (max-width: 750px) {/*タブレット*/
.f_logo{
	float:none;
	width:30%;
	margin:0 auto;
}
.f_right{
	margin:30px 0px 0px;
	float:none;
	width:90%;
}
}

/* 文字  ----------------------------------------------------------------------------------*/
.S{
	font-size:16px;
	line-height: 170%;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.M{
	font-size:25px;
	line-height: 130%;
}
.L{
	font-size: 30px;
	line-height: 150%;
}
.pink{color:#ec5d6f;}
.white{color:#FFF;}

.marker{
	background: linear-gradient(transparent 0%, #ffff66 0%);
}
.red{
	color:#FF0004;
}

@media screen and (max-width: 600px) {/*PC*/
.S{font-size:14px;line-height: 150%;}
}
/* 配置 ----------------------------------------------------------------------------------*/
.right1{float: right;margin:15px;}
.left1{float: left;margin:15px;}
.hover:hover{
	opacity:0.7;
	filter: alpha(opacity=70);
}
.m10{margin:10px;}
.m20{margin:20px;}

.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb50{margin-bottom:50px;}
.tb5{margin-top:5px;margin-bottom:10px;}
.mt20{margin-top:20px;}


/* ページＴＯＰ  ----------------------------------------------------------------------------------*/
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 100%;
}
#page-top a {
    background:#2eac98;
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 30px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-top a:hover {
    text-decoration: none;
    background: #fff100;
	color:#2eac98;
}


/* 共通 ----------------------------------------------------------------------------------*/
.main{
	width: 100%;
}
.main_2nd{
	width:100%;
	padding:50px 0px;
}
.p_top{
	padding-top: 50px;
}
.box{
	width: 100%;
	max-width:1000px;
	margin:0 auto;
	padding-bottom:30px;
	overflow:hidden;
	box-sizing: border-box;
}
.box2{
	width: 100%;
	max-width:800px;
	margin:0 auto;
	padding-bottom:60px;
	overflow:hidden;
}
.pink{color:#ED1178;}
.bg1{
	background:url(../img/base/bg1.jpg) repeat;
}
.pt{
	text-align:center;
	padding:50px 0px;
	background:url(../img/base/pt_bg.png);
	}

@media screen and (max-width: 1050px) {/*box1050以下*/
.p_top{padding-top:30px;}
.box{width: 95%;}
.box2{
	width: 95%;
}
}

@media screen and (max-width: 700px) {
.pt{
	padding:20px;
	border-top: solid 8px #29b5a0;
	}

}

/* タイトル ----------------------------------------------------------------------------------*/
.title{
	width:100%;
	color:#FFF;
	background: #29b5a0;
	text-align:center;
	font-size:35px;
	line-height:150%;
	padding:20px 0px;
	margin-bottom:20px;
}
.title_img{
	text-align:center;
	padding:20px;
}
.title_new{
	height:89px;
	color:#29b5a0;
	font-size:30px;
	line-height:100%;
	padding:0px 0px 10px 130px;
	background:url(../img/base/title.png) no-repeat;
	display: table-cell; /* IE8から使用可能 */
	 vertical-align: middle;
}
@media screen and (max-width: 800px) {/*タブレット*/
.title{
	font-size:25px;
	line-height:120%;
}
.title_new{font-size:26px;}
}
@media screen and (max-width: 500px) {/*タブレット*/
.title_new{
	font-size:18px;
	font-weight:bold;
	padding:0px 0px 10px 80px;
	height:47px;
	background:url(../img/base/title_sp.png) no-repeat;
	}
}

/* TOP ----------------------------------------------------------------------------------*/
.wideslider{
	margin-bottom:50px;
}

/* TOPのコンセプト--------------------*/
.top_plus1{
	margin:30px auto;
	overflow:hidden;
}
.top_plus1_img{
	float:left;
	width:32%;
}
.top_plus1_in{
	padding-top:30px;
	width:65%;
	float:right;
}
.top_plus2{
	margin:30px auto;
	overflow:hidden;
}
.top_plus2_img{
	float:right;
	width:32%;
}
.top_plus2_in{
	padding-top:30px;
	width:65%;
	float:left;
}
@media screen and (max-width: 800px) {/*タブレット*/
.top_plus1_img,.top_plus2_img{
	width:48%;
}
.top_plus1_in,.top_plus2_in{
	width:48%;
	padding:0px;
}
}

@media screen and (max-width: 500px) {/*SP*/
.top_plus1_img,.top_plus2_img{
	float:none;
	margin:0 auto;
	width:80%;
}
.top_plus1_in,.top_plus2_in{
	float:none;
	width:100%;
	margin:0 auto;
}
}
/* TOPのお知らせとSNS--------------------*/
.news{
	width:100%;
	margin:20px 0px 0px;
	box-sizing: border-box;
}
.blog{
	width:48%;
	float:left;
	margin:20px 0px 0px;
	box-sizing: border-box;
}

.facebook{
	width:48%;
	float:right;
	margin:20px 0px 0px;
	text-align:center;
}
ul.news{
	background-color:#d1eae3;
	padding:15px;
	width:95%;
	margin:30px auto;
	border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px; /* Safari,Chrome */
}
ul.news li{
	font-size:15px;
	border-bottom:solid 1px #AFAFAF;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding:10px;
}
.news_data{
	padding-right:20px;
	display:block;
}
@media screen and (max-width: 600px) {/*SP*/
.blog,.facebook{
	width:100%;
	float:none;
	margin:20px auto;
}
ul.news li{font-size: 13px;}
}


/* 表 --------------------------------------------*/
table.type01 {
	max-width:800px;
	width:100%;
	margin-bottom:10px;
	border-collapse: separate;
	border-spacing: 0;
	text-align: left;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	background-color:#FFFFFF;
    font-size:15px;
	line-height:140%;
}
table.type01 th {
	padding: 5px 10px;
	font-weight: bold;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	background: #eee;
	vertical-align:middle;
	text-align:center;
}
table.type01 td {
	padding: 5px 10px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	vertical-align:middle;
}

@media screen and (max-width: 600px) {/*タブレット*/
table.type01 {
	font-size:12px;
}
}

/* ギャラリー--------------------------------------------*/
ul.gallery{
	display:flex;
	justify-content:center;
	margin:0px auto 30px;
	flex-wrap:wrap;
}
ul.gallery li{
	width:25%;
	margin:10px;
}
/* アクセスMAP --------------------------------------------*/
.map{
	background-color:#CFCFCF;
	width:100%;
}
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


/* お問合わせ　----------------------------------------------------------------------------------*/
.mailbox_all{
	box-sizing: border-box;
	margin:30px auto;
	padding: 20px 10px;
	width: 90%;
	background-color:#FFFFFF;
}
.mailbox{
	margin:10px;
}
.thanks_tel{
	background-color:#FFFFFF;
	padding:10px;
	margin:0 auto;
}
.contact_news{
	background: #FFFFFF;
	color: red;
	border: solid 3px red;
	text-align: center;
	max-width: 400px;
	width: 80%;
	margin: 0 auto 30px;
	padding: 10px;
	font-size: 20px;
	font-family: "Mplus 1p"; /* WEBフォント */
}
@media screen and (max-width: 600px) {/*タブレット*/
.mailbox_all{
	width: 100%;
	padding:10px;
}
	.contact_news{font-size: 16px;}
}


.lesson_img{
	max-width:800px;
	width:80%;
	margin:0px auto;
}


/* お知らせギャラリー--------------------------------------------*/
ul.gallery_news{/* 写真2並び*/
	display:flex;
	justify-content:center;
	margin:0px auto 30px;
	flex-wrap:wrap;
}
ul.gallery_news li{
	width:40%;
	margin:10px;
}
ul.gallery_news3{/* 写真3並び*/
	display:flex;
	justify-content:center;
	margin:0px auto 30px;
}
ul.gallery_news3 li{
	width:40%;
	margin:10px;
}
@media screen and (max-width: 600px) {/*タブレット*/
ul.gallery_news{
	margin:0px auto 10px;
}
}


/* お知らせページ--------------------*/
.news_txt{
	font-size:16px;
	line-height: 170%;
	width: 95%;
	margin: 0 auto;
	padding: 15px 0px 0px;
	box-sizing: border-box;
}
.sen{
	font-size:16px;
	line-height: 170%;
	width: 95%;
	padding: 25px 10px;
	margin: 0 auto;
	border-bottom: #b69580 5px dotted;
	box-sizing: border-box;
}

@media screen and (max-width: 600px) {
.news_txt{
	font-size:13px;
}
.sen{
	font-size:13px;
}
}