@charset "UTF-8"; 

/* CSS Document */

@media screen and (max-width: 768px){

/* ---------------
    font 
	 ---------------*/

body{
	font-size:0.9em ;
	font-family: 'M PLUS 1', sans-serif;
/*	*font-size: small;
	*font: x-small;*/
	letter-spacing: 1px;
	line-height:1.6em;
	color:#606060;
	text-align:center;
	background:#FFFFFF;
}

/* ---------------
    title  text
	 ---------------*/
.cap {
	font-family: 'M PLUS 1', sans-serif;
    font-weight: bold;
    transform: rotate(0.05deg);
	color:#666666;
    font-size: 1.1em;
	letter-spacing: 1.1px;
	line-height:1.6em;
	margin:0;
    padding:50px 0 20px 0;
	text-align:center;
}
.cap-txt,.h2.cap-txt{
	font-family: 'M PLUS 1', sans-serif;
    transform: rotate(0.05deg);
	color:#666666;
    font-size: 1.4em;
    font-weight: bold;
	letter-spacing: 1.6px;
	line-height:1.6em;
	margin:0;
    padding:1em 0 2em 0;
	text-align:center;
    text-decoration: solid underline  #feb417 15px;
    text-underline-offset: -0.5rem;
}

.cap-txt-w,h2.cap-txt-w{
	font-family: 'M PLUS 1', sans-serif;
    transform: rotate(0.05deg);
	color:#666666;
    font-size: 1.4em;
    font-weight: bold;
	letter-spacing: 1.6px;
	line-height:1.6em;
	margin:0;
    padding:2em 0 1.5em 0;
	text-align:center;
    text-decoration: solid underline  #ffffff 15px;
    text-underline-offset: -0.5rem;
}

.ulOr{
    text-decoration: solid underline  #feb417 15px;
    text-underline-offset: -0.5rem;
}
.ul-or,.ul-wh{
	position: relative;
}

.ul-or::before,.ul-wh::before{
	display: block;
	content: "";
	width: 104%;
	height: 11px;/* 任意 */
	background-color: #feb417;/* 任意の色 */
	position:absolute;
	bottom: 2px;/* 任意 */
	left: -2%;
	border-radius: 11px;/* heightと同値 */
	z-index: -1;

}
.ul-wh::before {
	background-color: #ffffff;/* 任意の色 */
}

.cap-s{
	font-family: 'M PLUS 1', sans-serif;
    font-weight: bold;
    transform: rotate(0.05deg);
	color:#666666;
    font-size: 1.0em;
	letter-spacing: 1px;
	line-height:1.6em;
	margin:0;
    padding:2em 0 0 0;
	text-align:center;
}

.cap-s .ul-or::before,.cap-s.ul-wh::before{
	display: block;
	content: "";
	width: 102%;
	height: 9px;/* 任意 */
	background-color: #feb417;/* 任意の色 */
	position:absolute;
	bottom: 2px;/* 任意 */
	left: -1%;
	border-radius: 9px;/* heightと同値 */
	z-index: -1;
}


.emphasis {
	font-family: 'M PLUS 1', sans-serif;
    font-weight: bold;
	color:#666666;
	font-size:0.95em ;
	letter-spacing: 1px;
	line-height: 1.6em;
	margin:0 auto 20px auto;
}

/* ---------------
     bg box
	 ---------------*/	

.bgbox-or {
	margin:0px auto 30px auto;
	background:url(../images/bg_orange_box_sp.png) no-repeat center top;
	background-size: cover;
	width:90%;
	height:auto;
	position: relative;
}
.bgbox-gr-pt {
	margin:0 auto 50px auto;
	background:url(../images/bg_gray_box_pt_sp.png) no-repeat center top;
	background-size: cover;
	width:90%;
	position: relative;
}
.bgbox-gr-pt-s {
	margin:0 auto 50px auto;
	background:url(../images/bg_gray_box_pt_sp.png) no-repeat center top;
	background-size: cover;
	width:100%;
	position: relative;
}
/*
.bgbox-btm {
	margin:0 auto;
    padding: 0 0 20px 0 ;
	background:url(../images/bg_foot.png) no-repeat center bottom;
    background-size: 100%;
	text-align: center;
	width:100%;
}*/
.bgbox-btm-s {
	margin:0 auto;
    padding: 20px 0 20px 0 ;
	background:url(../images/bg_foot.png) no-repeat center bottom;
    background-size: 100%;
	text-align: center;
	width:100%;
}
.bg-or {
	margin:0 auto;
    padding:  0;
	background:url(../images/bg_orange.jpg) repeat center top;
	width: 100%;
	text-align: center;
	position: relative;
}

.bg-gr {
	margin:0 auto;
    padding: 0 0 20px 0;
	background:url(../images/bg_gray.jpg) repeat center top;
	width: 100%;
	text-align: center;
	position: relative;
}    
    
.bg-gr-l {
	margin:0 auto;
    padding: 0 0 20px 0;
	background:url(../images/bg_gray_02.jpg) repeat center top;
	width: 100%;
	text-align: center;
	position: relative;
}
    
    
    
/* ---------------
     btn
	 ---------------*/	   
	
.btn{
    margin: 0 auto;
    padding:3em 0 4em;
    text-align:center;
	font-family: 'M PLUS 1p', sans-serif;
	font-size:0.85em ;
	letter-spacing: 1px;
}

.btn a {
    justify-content: space-between;
    align-items: center;
    margin: 0 10px;
    padding: 10px 20px;
    background-color: #223138;
    transition: 0.3s;
    text-decoration: none;
    border-radius:10px;
    color: #fff;
}
.btn a:hover,.btn a:visited  {
  text-decoration: none;
  background-color: #000;
  color: #fff;
}


/* ---------------
     img
	 ---------------*/	   
	
    
.half{
	width:90%;
}
    

/* ---------------
ボタンページ下部に固定
	 ---------------*/

#fixed-menu{
   position: fixed;
   width: 100%;
   bottom: 0px;
   font-size: 0;
   /*opacity: 0.9;*/
   z-index: 99999;
}

/*メニューを横並びにする*/
#fixed-menu ul{
   display: flex;
   list-style: none;
   padding:0;
   margin:0;
   width:100%;
}

#fixed-menu li{
   justify-content: center;
   align-items: center;
   width: 50%;
   padding:0;
   margin:0;
   font-size: 1rem;
   /*border-top: 1px solid #fff;*/

}

#fixed-menu li a.or{
	background:url(../images/bg_orange.jpg) repeat center top;
   /*border-right: 1px solid #fff;*/

}
#fixed-menu li a.gr{
	background:url(../images/bg_dgray.jpg) repeat center top;
   /*border-left: 1px solid #fff;*/

}


/*ボタンを調整*/
#fixed-menu li a{
   color: #fff;
   text-align: center;
   display:block;
   width: 100%;
   padding:20px;
}


#fixed-menu li a:hover,#fixed-menu li a:visited  {
  text-decoration: none;
}



/* ---------------
    head
	 ---------------*/
.head {
    margin: 0 auto;
    padding: 1em 0 1em 0;
    max-height: 3.6em;
} 

.head .logo{
	text-align: left;
    float: left;
    margin: 0 1em 1em 0.5em ;
} 
.head .catch{
	text-align: left;
    float: left;
    margin: 1.6em 0 0 0;
    font-size: 0.7em;
    line-height: 1.5em;
    font-weight: bold;
} 

.head .catch a {
  text-decoration: none;
	color:#666666;
}
.head .catch a:hover,.head .catch a:visited  {
  text-decoration: none;
	color:#666666;
}
.head .logo img{
	width:60px;
} 
.head .logoTxt{
	font-size: 1.4em;
} 

/* ---------------
    nav ハンバーガーメニュー
	 ---------------*/

.nav{
    background-color:none;	
    padding: 0;	
	position: relative;
    z-index: 999999; /* 他の要素の下に隠れないように前面配置させます */
} 
	
	
.nav .menu{
	float: left;
    padding: 10px;	
	text-align: left;
} 

.nav .menu{
    margin: 0;	
	text-align: center;
} 

    
/* メニューのデザイン*/
#globalMenuSp {	
	position: fixed;
    z-index: 4;
    top: 0;
    left: 0;
    color: #606060;
    text-align: center;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
	padding-top:-100px;
    background:rgba(255,255,2550,0.8);
    min-height: 100%;
}

#globalMenuSp ul {
    background-color: #feb417;	
	background:url(../images/bg_orange.jpg) repeat center top;
　　margin: 0 auto;
    padding: 30px 0 40px 0;
    width: 100%;
	display:inherit;
}

#globalMenuSp ul li {
    font-size: 0.95em;
    font-weight: bold;
    list-style-type: none;
    padding: 0;
    width: 100%;
    border-bottom: 1px solid #feb417;
}

/* 最後はラインを描かない */

#globalMenuSp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

#globalMenuSp ul li a {
    display: block;
    color: #606060;
    padding: 0.5em 0;
    text-decoration: none;
}
#globalMenuSp ul li.btn a {
    justify-content: space-between;
    align-items: center;
    margin: -20px 70px 0 70px;
    padding: 0.5em 0;
    color: #FFF;
    font-weight: bold;
    transition: 0.3s;
    background-color: #606060;
  text-decoration: none;
    display: block;
}


/* このクラスを、jQueryで付与・削除する */

#globalMenuSp.active {
    transform: translateY(0%);
}

/*ハンバーガー用CSS*/

.navToggle {
    display: block;
    position: fixed;    /* bodyに対しての絶対位置指定 */
    right: 1em;
    top: 1.8em;
    width: 2em;
    height: 2em;
    cursor: pointer;
    z-index: 5;
    text-align: center;
}

.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 30px;
    border-bottom: solid 3px #606060;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 6px;
}

.navToggle span:nth-child(1) {
    top: 9px;
}
.navToggle span:nth-child(2) {
    top: 18px;
}
.navToggle span:nth-child(3) {
    top: 27px;
}
.navToggle span:nth-child(4) {

    border: none;
    color: #eee;
    font-size: 9px;
    font-weight: bold;
    top: 34px;
}


/*ハンバーガーメニュータップ後CSS*/
/* 最初のspanをマイナス45度に */

.navToggle.active span:nth-child(1) {
    top: 18px;
    left: 6px;
    border-bottom: solid 3px #606060;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */

.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 18px;
    border-bottom: solid 3px #606060;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);

}


/* ---------------
    top main 
	 ---------------*/

/* .imgMain{
	margin:0 auto;
	padding: 0;
	width: 100%;
	text-align:center;
	background:url(../images/top_mvisual.jpg) no-repeat center -50px;
    background-size: 160%;
    height: 420px;
	position: relative;
	}

*/


.container{
    background-size: 100%;
    height: 420px;
    padding-top: 20px;
  position: relative;
}

.container p img{
	margin:15% 10% 10% 10%;
    width:80%;
    height:auto;
    position: relative;
	}
    
.imageMainAni {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  background-size: cover;
  background-position: center center;
  animation: image-switch-animation 25s infinite;
}

.src1 {
  background-image: url(../images/top_mvisual_01.jpg);
}
.src2 {
  background-image: url(../images/top_mvisual_02.jpg);
}
.src3 {
  background-image: url(../images/top_mvisual_03.jpg);
}
.src4 {
  background-image: url(../images/top_mvisual_05.jpg);
}
.src5 {
  background-image: url(../images/top_mvisual_04.jpg);
}

    
    
    
.imageMainAni:nth-of-type(1) {
  animation-delay: 0s;
}
.imageMainAni:nth-of-type(2) {
  animation-delay: 5s;
}
.imageMainAni:nth-of-type(3) {
  animation-delay: 10s;
}
.imageMainAni:nth-of-type(4) {
  animation-delay: 15s;
}
.imageMainAni:nth-of-type(5) {
  animation-delay: 20s;
}


@keyframes image-switch-animation {
  0%{ opacity: 0;}
  5%{ opacity: 1;}
  25%{ opacity: 1;}
  30%{ opacity: 0;}
 100%{ opacity: 0;}
}



.copy{
    visibility: hidden;
    font-size: 0.1em;
    height: 0;
	}

.mainbg-btm{
	margin:4em auto 0 auto;
    padding: 10px 0 0 0;
	width: 100%;
    height: 20px;
	background:url(../images/common_bgline_02.png) no-repeat center bottom;
    position: absolute;
    bottom: 0;
}


.mainbgGray-btm{
	margin:4em auto 0 auto;
    padding: 10px 0 0 0;
	width: 100%;
    height: 20px;
	background:url(../images/common_bgline_03.png) no-repeat center bottom;
    position: absolute;
    bottom: 0;
}
    
    

/* ---------------
    index
	 ---------------*/

.bg-or {
	margin:0 auto;
    padding: 0;
	background:url(../images/bg_orange.jpg) repeat center top;
	width: 100%;
	text-align: center;
	position: relative;
}


.bg-top{
	margin:4em auto 0 auto;
    padding: 0 0 10px 0;
	width: 100%;
    height: 20px;
	background:url(../images/common_bgline_01.png) no-repeat center top;
    bottom: 0;
}

.bg-btm{
	margin:4em auto 0 auto;
    padding: 10px 0 0 0;
	width: 100%;
    height: 20px;
	background:url(../images/common_bgline_02.png) no-repeat center bottom;
    position: absolute;
    bottom: 0;
}


    
/* ---------------
    info
	 ---------------*/
    
div .bgGrayTop{
	margin:0 auto 0 auto;
    padding: 4em 0 0 0;
	text-align: center;
	width: 100%;
	background:url(../images/common_bgline_01.png) #f2f2f2 no-repeat center top;
}

.info {
	width:90%;
    margin: 0 auto;
    text-align: left;
}
.info p {
    margin-bottom: 5px;
}

.info a{
    color: #606060;
    text-decoration: none;
    padding: 2px 2px 2px 6px;
}

.info a:hover {
    color: #f9a621;
    text-decoration: none;
}



/* ---------------
    slider banner
	 ---------------*/

.sp-banner {
	width:100%;
    margin: 5em auto;
    text-align: center;
}
    
.sp-banner img{
	width:90%;
	max-width:200px;
}

  
.bnBox {
	margin:50px auto 80px auto;
	width:90%;
	text-align: center;
}

.bnBox img {
	width:100%;
	text-align: center;
}


    
.bnBox a {  
  transition-property: opacity;
  transition-duration: 0.5s;
}
.bnBox a:hover,.bnBox a:visited  {
  opacity: 0.7; 
}




.titleBox{
	margin:0 auto 0 auto;
    padding: 0;
	text-align: center;
	max-width: 90%;
}

.featureBox{
	margin:0 auto 0 auto;
    padding: 0 0 3em 0;
	text-align: center;
	max-width: 90%;
}
.featureBox img{
    margin: 0;
	text-align: center;
	max-width: 100%;
}
    
    
.featureBox .lead{
	margin-bottom:3em;
} 

.instaBox{
	margin:1em auto 2em auto;
    padding: 0;
	text-align: left;
	max-width: 90%;
}
.instaBox p{
	margin:0 auto 1em auto;
}
.instaBox p img{
	width: 100%;
}

    
.messageBox {
	margin:0 auto 0 auto;
    padding: 0;
	text-align: center;
	width:90%;
}

.messageBox img{
	margin:10px auto ;
    width: 100%;
    height: auto;
}
.messageBox p {
	text-align: left;
	padding-bottom: 30px;
    width: 100%;
}
.btnBox-or {
	margin:2em auto 2em auto;
	background:url(../images/bg_orange.jpg) no-repeat center top;
    width: 90%;
    border-radius:40px;
}

.btnBox-or .btn,
.infoBox-or .btn{
    padding:2em 0 3em;
}


/* ---------------
     content box01
	 ---------------*/

.box01 {
	margin:0 auto;
    padding: 0 0 20px 0 ;
	background:url(../images/top_info_foot_sp.png) no-repeat center bottom;
    background-size: 100%;
	text-align: center;
	width:100%;
}
.box01 .cap {
    font-size: 1.3em;
    font-weight: bold;
	letter-spacing: 2px;
    padding:30px 0 20px 0;
}

.box01 .info {
	width:90%;
    margin: 0 auto;
    text-align: left;
}
.box01 .info p {
    margin-bottom: 5px;
}
.box01 .info span {
    margin: 3px;
	background:#fff;
}
.box01 .info a{
	background:#fff;
    color: #606060;
    text-decoration: none;
    padding: 2px 2px 2px 6px;
}

.box01 .info a:hover {
	background:#fff;
    color: #f9a621;
    text-decoration: none;
}

    
/* ---------------
     content box02
	 ---------------*/

.box02 {
	margin:0 auto 0 auto;
    padding: 0;
	text-align: center;
	width:90%;
}
.box02 img{
	width: 65%;
	max-width: 320px;
	height: auto;
    margin: 20px auto;
}

.box02 .lef-photo,
.box02 .rig-photo{
	margin:10px 0 20px 0;
	text-align: center;
}
.box02 .rig-txt,
.box02 .lef-txt{
	width:325px;
	margin:10px 0 20px 0;
	padding: 5px 0 0 0;
	text-align: left;
}

    
/* ---------------
     content box03
	 ---------------*/

.box03{
	margin:0 auto 0 auto;
    padding: 0;
	text-align: center;
	max-width: 100%;
}


.box03 .lead{
	margin:5px auto 20px;
	width:90%;
}

    
.box03 .utext{
	margin:20px auto ;
    text-align: left;
	width:90%;
}
.box03 img{
	width:90%;
    height: auto;
	margin:5px auto;
    padding: 0;
}

.btn-box-2col {
	margin:0 auto 30px auto;
    padding: 0;
	text-align: center;
	width:90%;
}

.btn-box-2col div {
	margin:0;
    padding:12px 0;
}



/* ---------------
     content box04
	 ---------------*/

.box04 {
	margin:0 auto 0 auto;
    padding: 0;
	text-align: center;
	width:90%;
}

.box04 img{
	margin:10px auto ;
    width: 100%;
    height: auto;
}
.box04 p {
	text-align: left;
	padding-bottom: 30px;
    width: 100%;
}
.box04 p.p2 {
}
.box04 .inner{
	width:90%;
    margin: 0 auto 20px auto;
    text-align: left;
}

.box04 .cap-s {
	width:90%;
    margin: 0 auto;
}
    
.box04 .bgbox-gr {
	width:100%;
}
    
/* ---------------
     content box05
	 ---------------*/

.imgSub{
	margin:0 auto;
	width: 100%;
	text-align:center;
	background:url(../images/top_svisual_01.jpg) no-repeat center 5%;
    background-size: cover;
    height: 225px;
	position: relative;
	}
    
.imgSub .copy{
	padding:18% 0 0 0;
	font-family: "新丸ゴ B";
    font-weight: bold;
    transform: rotate(0.05deg);
	color:#fff;
    font-size: 1.2em;
	letter-spacing: 5px;
	line-height: 1.7em;
	}

.box05 {
	background:url(../images/bg_top_text_sp.png) no-repeat center 5%;
	background-size: cover;
	margin:0 auto;
    padding: 0;
	text-align: center;
	width: 100%;
}

.box05 .copy {
	width:90%;
	text-align: center;
    margin: 0 auto;
    padding: 40px 0 10px 0;
}


/* ---------------
    foot
	 ---------------*/
.f1{
	margin:0 auto;
	background:url(../images/bg_gray.jpg) repeat center top;
	padding: 0;
	width: 100%;
	text-align:center;
	position: relative;
	}

.f1 .snsbox{
	margin:0 auto;
    display: flex;
	padding:40px 0;
	width: 360px;
	position: relative;
	}
.f1 .snsbox .blog{
    width:150px;
	}
.f1 .snsbox .ico{
    width:210px;
	}
.f1 .snsbox .ico img{
    margin: 10px 3px;
	}
.f2{
	background-color: #F2F2F2;
	padding: 30px 0;
	width: 100%;
	position: relative;
    font-size: 0.8em;
	letter-spacing: 0.5px;
} 
.f2 .box{
	margin:0 auto 0 auto;
	padding: 0;
	width:90%;
	text-align:left;
	position: relative;
} 
.f2 .box div{
	font-size:0.8em;
} 
.f3{
    margin: 20px auto 30px;
	font-size:0.8em;
    color: #6f6f6f;
} 
.f2 a, .f2 a:visited,.f3 a, .f3 a:visited{
    text-decoration: none;
    color: #6f6f6f;
    margin: 0 10px 0 0;
} 
.f2 a:hover, .f2 a:active,.f3 a:hover, .f3 a:active{
	color:#feb417;
    text-decoration: underline;
}




/* ---------------
    2nd dir
	 ---------------*/

/* image */

.imgAbout{
	background:url(../images/about_mv.jpg) no-repeat center 5%;
	margin:-15px auto 0; padding:0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgAftersc{
	background:url(../images/aftersc_mv.jpg) no-repeat center 5%;
	margin:-15px auto 0; padding:0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgLesson{
	background:url(../images/lesson_mv.jpg) no-repeat center 5%;
	margin:-15px auto 0; padding:0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgPrice{
	background:url(../images/price_mv.jpg) no-repeat center 5%;
	margin:-15px auto 0; padding:0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgEnter{
	background:url(../images/enter_mv.jpg) no-repeat center 5%;
	margin:-15px auto 0; padding:0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgNotice{
	background:url(../images/notice_mv.jpg) no-repeat center 5%;
	margin:0 auto -60px; padding:0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgblog{
	background:url(../images/price_mv.jpg) no-repeat center 5%;
	margin:0 auto -60px; padding:0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgDonation{
	background:url(../images/donation_mv.jpg) no-repeat center 5%;
	margin:-15px auto 0; padding:0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgWorkshop{
	background:url(../images/workshop_mv.jpg) no-repeat center 5%;
	margin:-15px auto 0; padding:0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgWorkshop-{
	background:url(../images/workshop_mv.jpg) no-repeat center 5%;
	margin:0 auto -60px; padding:0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgContact{
	background:url(../images/contact_mv.jpg) no-repeat center 5%;
	margin:-15px auto 0; padding: 0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgChicaro{
	background:url(../images/chicaro_mv.jpg) no-repeat center 5%;
	margin:-15px auto 0; padding: 0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgTable{
	background:url(../images/table_mv.jpg) no-repeat center 5%;
	margin:-15px auto 0; padding: 0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
.imgAccess{
	background:url(../images/access_mv.jpg) no-repeat center 5%;
	margin:-15px auto 0; padding: 0;width: 100%; text-align:center; background-size: cover; height: 250px; position: relative;
	}
/* ---------------
    common
	 ---------------*/

.pTitle {
	font-family: 'M PLUS 1p', sans-serif;
    transform: rotate(0.05deg);
    font-weight: bold;
	color:#ffffff;
    font-size: 1.4em;
	letter-spacing: 1.6px;
	line-height: 1.9em;
	margin:0;
    padding:100px 0 0 0;
	text-align:center; 
    position: relative;
}

.pLead {
	font-family: 'M PLUS 1p', sans-serif;
    transform: rotate(0.05deg);
    font-weight: bold;
	color:#666666;
    font-size: 1em;
	letter-spacing: 1px;
	line-height: 1.6em;
	margin:0 auto 1em auto;
    text-align: left;
}

.sLead {
	font-family: 'M PLUS 1p', sans-serif;
    transform: rotate(0.05deg);
	color:#666666;
    font-size: 1em;
	letter-spacing: 1px;
	line-height: 1.6em;
	margin:0 auto 40px auto;
    text-align: left;
}

div .leadBox{
	margin:0 auto 0 auto;
    padding: 4em 0 1em;
	width:90%;
}

.leadBoxCap{
	margin:0 auto 0 auto;
    padding: 0 0 2em 0;
	text-align: center;
	width:90%;
    position: relative;
}
.leadBoxCap img{
	margin:-3em auto 1em auto;
    width: 100% ;
}

/*w100%*/
div .bgGray{
	margin:0 auto 0 auto;
    padding: 4em 0 0 0;
	text-align: center;
	width: 100%;
	background:url(../images/common_bgline_01.png) #f2f2f2 no-repeat center top;
}
    
div .bgGray-btm{
	margin:4em auto 0 auto;
    padding: 00 0 0;
	width: 100%;
    height: 20px;
	background:url(../images/common_bgline_02.png) #f2f2f2 no-repeat center bottom;
}


div .bgWhite{
	margin:0 auto 0 auto;
    padding: 2em 0 0 0;
	text-align: center;
	width: 100%;
}

    
.Inner{
    max-width: 90%;
    margin: 0 auto 4em auto;
    text-align: left;
}


.Inner .lef-photo,
.Inner .rig-photo{
	margin:10px 0 20px 0;
	text-align: center;
}

.Inner .lef-photo img,
.Inner .rig-photo img,
.Inner .lef-prof img{
	width: 50%;
	max-width: 320px;
	height: auto;
    margin: 1em auto;
}
    
    
.Inner .rig-txt,
.Inner .lef-txt{
	margin:10px 0 20px 0;
	padding: 5px 0 0 0;
	text-align: left;
}


.Inner .rig-txt-index,
.Inner .lef-txt-index{
	width: 100%;
	margin:10px 0 20px 0;
	padding: 5px 0 0 0;
	text-align: left;
}
    
    
.Inner .lef-prof{
	margin:1em auto 1em auto;
	width: 60%;
	text-align: center;
}
    
.Inner .rig-prof{
	margin:1em auto 3em auto;
	padding: 0;
	text-align: left;
}



ul.arrowOr {
    margin: auto 0;
    list-style-position:inside;
    width: 98%;
}
ul.arrowOr li{
    background: url(../images/arrow_or.png) no-repeat;
    padding-left: 2em;
    margin: 0.7em 0;
}

ul.arrowOr li a {
    color: #333;
    font-weight: bold;
}
ul.arrowOr li a:hover  {
  text-decoration: none;
  color: #feb417;
}

    



ul.arrowOr {
    margin: 0 auto;
    list-style-position:inside;
    width: 90%;
}
ul.arrowOr li{
    background: url(../images/arrow_or.png) no-repeat;
    padding-left: 2em;
    margin: 0.7em 0;
}

ul.arrowOr li a {
    color: #666;
    font-weight: bold;
}
ul.arrowOr li a:hover  {
  text-decoration: none;
  color: #feb417;
}


    


/* ---------------
    About
	 ---------------*/
.boxAbout {
	margin:0 auto 0 auto;
    padding: 0 0 2em 0;
	text-align: center;
	width:90%;
    position: relative;
}
    
.boxAbout img{
	margin:0 auto 1em auto;
    width: 100% ;
}
p.m1{
	margin:2em auto 2em auto;
    text-align: left;
}


.boxAbout .inner{
	margin:0 auto 40px auto;
    width: 100%;
}



.boxAbout .lef-prof{
	margin:3em auto 0 auto;
    width: 100%;
	text-align: center;
    
}
.boxAbout .lef-prof img{
    width: 45%;
    max-width: 200px;
    
}
    
.boxAbout .rig-prof{
	margin:2em auto 0 auto;
	padding: 0;
	width: 100%;
}


.boxAbout .name{
    text-align: left;
    font-weight: bold;
    font-size: 1.2em;
    line-height: 1.6em;
	margin:0 auto 30px auto;
}

.boxAbout .stitle{
    text-align: left;
	margin:0 auto 20px auto;
    font-weight: bold;
}


.boxAbout .prof{
    text-align: left;
    font-weight: bold;
	margin:30px auto 10px auto;
}

.boxAbout ul {
    margin: 0 0 0 1em;
  list-style:disc;
    text-align: left;
    padding-bottom: 1em;
    font-size: 0.99em;
}
.boxAbout li {
  position: relative;
  padding-left: 8px;
    margin-bottom: 2px;
}



p.history{
	margin: 0 auto;
    padding: 2em 0 2em 0;
	text-align: left;
}
.history img{
	width: 100%;
}

    
    

/* ---------------
    Service
	 ---------------*/



.boxService .pLead {    
    font-family: 'M PLUS 1', sans-serif;
    transform: rotate(0.05deg);
    font-weight: bold;
	color:#666666;
    font-size: 1.15em;
	letter-spacing: 1px;
	line-height: 1.6em;
	padding:0px 0 30px;
    text-align: center;
}
    
.bgGray .ServiceInner{
    margin: 1em auto 1em auto;
    text-align: left;
}

.boxService {
	margin:0 auto 0 auto;
    padding: 0 0 20px 0;
	text-align: center;
	width: 90%;
}



     
.boxService div.bgCap {
  position: relative;
	text-align: left;
	padding: 1em 0;
    margin: 3em 0 1.2em 0;
	background:url(../images/bg_gray_02.jpg) repeat center top;
    font-weight: bold;
    border-radius: 15px;
} 



.boxService div.bgCap:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 9%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #EDEDED;
}



.boxService div.bgCap h3 {
    padding: 0.3em;
	margin-left: 1em;
    font-size: 1.2em;
    font-weight: bold;
}   
    
      
.boxService div.body {
	text-align: left;
	margin-bottom: 1.3em;
    padding-top: 1em;
}  




.boxService img{
	width: 100%;
    margin: auto;
}
    
.boxService p {
	text-align: left;
	margin-bottom: 1.2em;
}
.boxService .sLead{
	padding-top: 2em;
}
    
.boxService .detail{
    text-align: left;
    margin-bottom: 2em;
	}

.boxService .detail .scap{
    text-align: left;
    font-weight: bold;
    margin-bottom: 0.5em;
	}
.boxService .detail .bold{
    font-weight: bold;
	}
 


.boxService .photo{
	margin-bottom: 3em;
	}
    

    
.boxService .bgbox-gr {
    margin-bottom: 2em;
    padding: 0 0 0 0;
	background:#f2f2f2 repeat center 50px;
	width:100%;
    border-radius:45px;
	position: relative;
}
.boxService .bgbox-gr .sinner{
    margin: 0 auto;
    padding: 40px 0;
	width:90%;
    max-width: 980px;
}
.boxService .bgbox-gr .sinner p{
    margin: 0;
}

.boxService .bgbox-gr .sinner img{
    width: 94%;
    margin: 20px auto;
}

.boxService .lef-prof{
	margin:3em auto 0 auto;
    width: 100%;
	text-align: center;
    
}
.boxService .lef-prof img{
    width: 45%;
    max-width: 200px;
    
}
    
.boxService .rig-prof{
	margin:2em auto 0 auto;
	padding: 0;
	width: 100%;
}


.boxService .prof{
    text-align: left;
    font-weight: bold;
	margin:30px auto 10px auto;
}
    
    
.boxService .btn{
    margin-bottom: 2em;
}


.boxServiceBn {
	margin:0 auto 0 auto;
    padding: 1.2em 0 20px 0;
	text-align: center;
	width: 90%;
}
}
.boxServiceBn p{
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.6em;
    padding: 0 0 20px 0;
}

.boxServiceBn .lef-bn,
.boxServiceBn .rig-bn {
	margin:30px 0 0 0;
	text-align: center;
}

    
.boxServiceBn .lef-bn img,
.boxServiceBn .rig-bn img{
    width: 96%;
}

/* ---------------
    Schedule
	 ---------------*/

.bgGray .ScheduleInner{
    max-width: 90%;
    margin: 1em auto 1em auto;
    text-align: center;
}

.bgGray .ScheduleInner .lead{
	margin-bottom:20px;
    text-align: center;
} 
    
    
.bgGray .ScheduleInner .calender{
	margin-bottom:35px;
    width: 100%;
} 
    
.boxSchedule {
	margin:0 auto 0 auto;
    padding: 0 0 60px 0;
	text-align: center;
	width: 90%;
    position: relative;
}

.boxSchedule .Target{
	text-align: center;
	margin:0 auto 90px auto;
	width:  90%;;
}
.boxSchedule p.text{
	margin:0 auto 0 auto;
    padding: 0 0 60px 0;
	text-align: left;
}


    
    
    
    
    
    
    

/* ---------------
    Afterschool
	 ---------------*/
.boxAftersc {
	margin:0 auto 0 auto;
    padding: 0 0 20px 0;
	text-align: center;
    width: 90%;
}
    
.boxAftersc .inner{
	margin:-25px auto 0 auto;
	width:90%;
}
    

.boxAftersc p {
	text-align: left;
	margin-bottom: 30px;
}


.boxAftersc .pLead {
	font-family: 'M PLUS 1p', sans-serif;
    transform: rotate(0.05deg);
    font-weight: bold;
	color:#666666;
    font-size: 1em;
	letter-spacing: 1px;
	line-height: 1.6em;
	padding:0 0 20px;
    text-align: left;
}

.boxAftersc .caution{
    font-size: 0.8em;
    font-weight:100;
	}
.boxAftersc p.copy{
    visibility: hidden;
    font-size: 0.1em;
    height: 0;
    margin: 0;
	}

.boxAftersc img{
    width: 100%;
}

/* ---------------
    Lesson
	 ---------------*/

p.program{
	margin:0 0 4em 0;
}
 
p.program img{
	width: 100%;
}
.programList{
	margin:0 0 2em 0;
    padding: 0 0 0 1em;
    list-style: disc;
    list-style-position: outside;
}

.lessonTable{
	margin:0 auto 1em auto;
	width: 100%;
    border: 1px solid #bebebe;
    font-size: 0.9em;
    text-align: center;
}

.lessonTable td{
	padding:8px 10px;
    border: 1px solid #bebebe;
    width: 14%;
}

.lessonTable tr.bg{
	background:url(../images/bg_gray.jpg) repeat center top;
    font-weight: bold;
}

p.Tabletxt{
	margin:0 auto 4em auto;
}

/* ---------------
    price
	 ---------------*/


.price-grayBox {
	margin:2em auto 2em auto;
	background:url("../images/bg_gray.jpg") no-repeat center top;
    width: 90%;
    border-radius:40px;
    padding: 0.8em 0;
background-color:rgba(255,255,255,0.40);
background-blend-mode:lighten;
}

.price-grayBox img{
	margin:10px auto 30px auto;
    width: 90%;
}
.price-grayBox ul {
    margin: 0 auto ;
    width: 90%;
  list-style: none;
    text-align: left;
    padding-bottom: 1em;
}
.price-grayBox li {
  position: relative;
  padding-left: 16px;
    font-size: 1.1em;
    font-weight: bold;
}
.price-grayBox li::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 6px;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #feb417;
  border-radius: 5px;
}

.price-grayBox p.text{
    margin: 0 auto ;
    width: 90%;
    text-align: left;
	}
    
    
.price-grayBox .caution{
    margin: 0 auto ;
    width: 90%;
    font-size: 0.8em;
    padding-bottom: 3em;
    text-align: left;
	}
    
.price-leadBox {
    margin: 50px auto 50px;
	max-width:1000px;
	width:90%;
    text-align: left;
    padding: 0.1em 0;
}


.boxP3{
	margin:0 auto 0 auto;
    padding: 0 0 20px 0;
	text-align: center;
	width:90%;
}
.boxP3 img {
    width: 100%;
    margin-bottom: 20px;
}

.boxP3 .cap {
    padding:30px 0 20px 0;
	text-align:center;
}


.boxP3 ul,
.price-leadBox ul{
    margin: 0 auto ;
    width: 100%;
  list-style: none;
    text-align: left;
    padding-bottom: 1em;
}
.boxP3 ul li ,
.price-leadBox ul li{
  position: relative;
  padding-left: 16px;
}
.boxP3 ul li::before ,
.price-leadBox ul li::before{
  content: '';
  display: inline-block;
  position: absolute;
  top: 6px;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #feb417;
  border-radius: 5px;
}
    

    
.boxP3 .s-cap {
    padding:60px 0 30px 0;
	text-align:center;
    font-weight: bold;
}

.boxP3 p{
	font-size:0.9em;
	text-align: left;
    margin: 10px auto 10px;
    
}
.small{
	font-size:0.9em;
    line-height: 1.6em;
}



.boxP3 table{
	margin:0 auto 0 auto;
	width: 100%;
    border: 1px solid #bebebe;
    font-size: 1em;
    text-align: left;
    
}
    
.boxP3 table td{
	padding:8px 10px;
    border: 1px solid #bebebe;
}
    
.boxP3 table td.noborder{
	padding:8px 10px;
    border: 1px solid #ffffff;
}
.boxP3 table td.borderRB{
	padding:8px 10px;
    border: 1px solid #ffffff;
    border-right: 1px solid #bebebe;
    border-bottom: 1px solid #bebebe;
}

.boxP3 table td.borderB{
	padding:0;
    border: 1px solid #ffffff;
    border-bottom: 1px solid #bebebe;
    height: 1em;
}
    
td.wLef{
}
td.wLef2{
}

td.spc{
	height: 15px;
}

.boxP3 p.caution{
	padding: 20px 0 0;
    font-size: 0.8em;
    line-height: 1.6em;
}




.boxP3 table tr.bg,
.boxP3 table td.bg{
	background:url(../images/bg_gray.jpg) repeat center top;
    font-weight: bold;
}
.boxP3 table td.bg1{
	background:url(../images/bg_gray.jpg) repeat center 20px;
    font-weight: bold;
}
.boxP3 table td.bg2{
	background:url(../images/bg_gray.jpg) repeat center 40px;
    font-weight: bold;
}
.boxP3 table td.bg3{
	background:url(../images/bg_gray.jpg) repeat center 60px;
    font-weight: bold;
}



/* ---------------
    *******old
	 ---------------*/


.boxP2{
	margin:0 auto 0 auto;
    padding: 0 0 20px 0;
	text-align: left;
	width:90%;
}

.boxP4{
	margin:0 auto 0 auto;
    padding: 0 0 30px 0;
	text-align: center;
	width:90%;
}

/* ---------------
    Workshop
	 ---------------*/

.boxWorkshop {
	margin:0 auto 0 auto;
    padding: 0 0 20px 0;
	text-align: center;
    width: 90%;
    position: relative;
    
    
}

.boxWorkshop .Target{
    padding: 0 0 1em 0;
	margin: 0 auto 2em;
	width: 100%;
}
.boxWorkshop .Target img{
	margin: 0;
	width: 100%;
    padding: 0;
}
.boxWorkshop p.text{
	margin:0 auto 0 auto;
    padding: 0 0 2em 0;
	text-align: left;
}


/* ---------------
    notice
	 ---------------*/

.boxP5 {
	margin:0 auto 0 auto;
    padding: 60px 0 60px 0;
	text-align: left;
	width:90%;
    position: relative;
}

/* ---------------
    Access
	 ---------------*/


.boxMap{
	margin:0 auto 50px auto;
    padding: 0;
	text-align: center;
	max-width: 90%;
}

.boxMap p{
	margin: 0 auto;
    padding: 0 0 50px 0;
	text-align: left;
}

.map{
	margin-bottom: 50px;
}
    


.boxAccess {
	margin:0 auto 30px auto;
    padding: 0;
	text-align: center;
	max-width: 90%;
}
.boxAccess p {
	text-align: left;
	margin-bottom: 30px;
}

.boxAccess .movie {    
    padding: 0 0 80px 0;
	margin:0 auto 0 auto;
}
.boxAccess .movie video {
	width: 70%;
}
.boxAccess .inner {    
    padding: 0 0 30px 10%;
	margin:0 auto 0 auto;
}



.boxAccess .pnl,
.boxAccess .pnl-r {    
    width: 40%;
    float: left;
    margin: 0 3%;
	text-align: left;
    margin-bottom: 20px;
}
    
}

.boxAccess .pnl-r {  
}
.boxAccess .pnl img,
.boxAccess .pnl-r img  {    
    width: 100%;
    margin-bottom: 20px;
}






/* ---------------
    other
	 ---------------*/

.imgOther{
	background:url(../images/bg_orange.jpg) no-repeat center top;
	margin:-15px auto 0; padding:0;width: 100%; text-align:center; background-size: cover; height: 8px; position: relative;
	}

.boxP6 {
	margin:0 auto 0 auto;
    padding: 150px 0 150px 0;
	width:90%;
    position: relative;
}
    
.boxP7 {
	margin:0 auto 0 auto;
    padding: 20px 0 40px 0;
	width:90%;
    position: relative; 
    text-align:left;
}
.scap{
	font-family: 'M PLUS 1p', sans-serif;
}
    
.boxP7 h2{
	margin:10px auto 10px auto;
    text-align: center;
}

.boxP7 table{
	margin:0 auto 30px auto;
	width: 100%;
    border: 1px solid #bebebe;
    font-size: 0.8em;
    text-align: left;
}

.boxP7 table td{
	padding:4px 5px;
    border: 1px solid #bebebe;
}

.boxP7 table td ul {
}
.boxP7 table td ul li {
position:relative;/*疑似要素にabsoluteを使用する場合必要*/
padding-left:7px; /*画像を表示させるスペースを確保*/
}
.boxP7 table td ul li:before {
content:""; /*空の疑似要素を生成する*/
width:3px; /*幅指定*/
height:3px; /*高さ指定*/
background:#606060;/*色指定*/
border-radius:3px;/*アイコンを丸く*/
position:absolute;/*絶対配置にする*/
left:0px;/*横の表示位置指定*/
top:10px;/*縦の表示位置指定*/
}

.boxP7 table td ul li.L {
position:relative;/*疑似要素にabsoluteを使用する場合必要*/
padding-left:7px; /*画像を表示させるスペースを確保*/
margin-left:10px;
}

.prnx{
	width: 90%;
    margin: 20px auto;
    display:flex;
}
.prnx div.prev{
    width: 50%;
    text-align: left;
}
.prnx div.next{
    width: 50%;
    text-align: right;
}

.calender{
	width:90%;
    margin: 0 auto;
}

    
/* ---------------
    form
	 ---------------*/

/*調整イキ*/
.bgbox-gr {
	margin:0 auto 1em auto;
    padding: 0 0 2em 0;
	background:#f2f2f2 repeat center 50px;
	width:100%;
    border-radius:60px;
	position: relative;
}
    
.boxform {
	margin:0 auto 0 auto;
    padding: 0 0 20px 0;
	text-align: center;
	width: 90%;
}
.boxform .bgbox-gr .inform{
    width: 95%;
	margin:0 auto;
    padding:50px 0 20px;
    text-align: left;
}


.boxform form {
    width: 95%;
	margin:0 auto;
    text-align: left;
} 

.boxform p {
	margin:0 0 5px 0;
	width:100%;
} 

.boxform form b{
	font-family: 'M PLUS 1p', sans-serif;
    font-weight: bold;
    font-size: 1.0em;
	line-height: 1.6em;
	margin:0 0 10px;
	color:#f9a621;
	}

    
    
.boxform .bgbox-gr form .fcap{
	font-family: 'M PLUS 1p', sans-serif;;
    font-weight: bold !important;
    font-size: 1.0em;
	line-height: 1.6em;
	margin:5px 0 10px;
	}
    

.boxform form hr{
	margin:-10px auto;
	}

.boxform form .accept{
	background-color: #fff;
    text-align: center;
    padding: 10px 20px 10px 0;
    margin: 15px 0;   
	}
    
input[type='text'],
input[type='email'],
input[type='tel'],
input[type='date'],
.boxform form select{
    background-color: #FFF;
	border: none;
    width: 100%;
    height: 40px; 
	border-radius: 4px;
    margin: 2px 0 15px 0;
}


input[type='radio']{
    background-color: #FFF;
	border: none;
    height: 20px; 
    margin: 2px 10px 2px 0 ;
}
input[type='checkbox']{
    background-color: #FFF;
	border:none;
    height: 20px; 
    margin: 5px 0px;
}
    
.wpcf7-textarea{
    background-color: #FFF;
	border: none;
    width: 100%;
    height: 120px; 
	border-radius: 4px;
    margin: 2px 0 15px 0;
}   
    
/*submit*/
input.has-spinner,
input.wpcf7-submit  {
    border-radius:4px; 
	display       : inline-block;
	text-align    : center;      /* 文字位置   */
	cursor        : pointer;     /* カーソル   */
	padding       : 14px 20px;   /* 余白       */
	background    : #f9a621;     /* 背景色     */
	color         : #606060;     /* 文字色     */
	line-height   : 1em;         /* 1行の高さ  */
	transition    : 0.3s;      /* なめらか変化 */
	border        : 0;    /* 枠の指定 */
    font-weight: bold;
	letter-spacing: 2px;
}
input.has-spinner:hover,
input.wpcf7-submit:hover {
	text-decoration: none;
	background-color: #bbbbbb;
    font-weight: bold;
}
    
.box04 div{
    margin-bottom: 10px
    }
    
.bar{
	padding: 0;
	width:100%;
	border-top:dashed #BCBCBC 2px;
	margin:10px auto 40px;
	}






/* ---------------
    scrollUp
	 ---------------*/

		
#scrollUp {
	bottom: 0;
	right: 0;
	width:40px;
	height: 40px;
	margin-right:30px;
	margin-bottom:80px;
	background: url(../images/btn_02.png) no-repeat;
	background-size:40px 40px;
	color: #fff;
	text-decoration: none;
	opacity: 1;
}
#scrollUp:hover {
	background: url(../images/btn_02_ov.png) no-repeat;
	background-size:40px 40px;
	opacity: 1;
}


}