@charset "utf-8";

body {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 12px;
	line-height: 1.66;
	min-width:inherit;
}
.innerWrap{
	width:100%;
	padding-left: 15px !important;
	padding-right: 15px !important;
}
a:hover,
a:hover img,
.ro:hover{
	opacity:1;
}
.pcCont{
	display: none!important;
}
.spCont{
	display:block;
}
#spMenuOverlay,
#spMenu{
	display: block;
}
/* commons */
.f_left{float:none;}
.f_right{float:none;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■box_inner,block,hd,btn
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
img {
	max-width: 100%;
}

/*--------------------------------
	hd
--------------------------------*/
.hd01{
	margin-bottom: 28px;
}
.hd01 img{
	width: auto;
	max-width:100%;
}
#voice .hd01 img{
	height:36px;
}
#plan .hd01 img{
	height:34px;
}

.hd02{
	margin-bottom: 20px;
}
.hd02 span{
	padding: 0 15px;
}
.hd02 img{
	width: auto;
	height: 17px;
}

/*--------------------------------
	btn
--------------------------------*/
.btn01 a{
	width: 100%;
	font-size:13px;
	font-weight:bold;
	padding:0;
}
.btn01 a span{
	width: 100%;
	background-size: 12px auto;
}
/*btn02*/
.btn02 a{
	background-size: 12px auto;
	width: 100%;
	font-weight:bold;
}
.btn02 a span{
	background-size: 13px auto;
	padding:0 20px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
header{
	height:73px;
	background: #fff;
	border-bottom: 1px solid #25143c;
}
header h1{
	position:static;
	margin-left: 0;
	float:left;
	padding: 15px 0 0 10px;
}
header h1 img{
	width: auto;
	height: 28px;
}
header .menuBtn{
	float:right;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■main_img
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#main_img .btn01 {
	top: 55%;
	width: 80%;
	margin-left: 0;
	margin-top: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 1;
}
#main_img .btn01 img {
	max-width: 100%;
}
#main_img .main_point {
	width: 186px;
	position: absolute;
	top: 55%;
	left: 50%;
	margin-top: -26px;
	margin-left: -93px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■type
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#point{
	padding: 30px 0 5px 0;
}
#point h3{
	margin-bottom: 25px;
}
#point h3 img {
	width: auto;
	height: 36px;
}
#point .bg_type03 {
	padding-top: 20px;
}
#point .box{
	display:block;
	width:auto;
	padding:0;
	margin-bottom: 30px;
}
#point h4{
	font-size:15px;
	background-size: 70px auto;
  margin-bottom: 13px !important;
	padding:0;
}
#point .box ul{
	margin-bottom: 16px;
}
#point .box li a{
	position:relative;
	display:block;
	padding-top: 75px;
}
#point .txt_area{
	height:176px;
	padding:75px 12px 2px 12px;
	background-size: 220px 176px;
}
#point .type02 .txt_area{
	padding-top: 86px;
}
#typointpe .box ul{
	margin-bottom: 13px;
}
#point .box li .catch{
	font-size:13px;
	margin-bottom: 7px;
}
#point .box li .anchor{
	font-size:9px;
	width:214px;
	padding-top: 2px;
}
#point .box li .anchor:before,
#point .box li .anchor:after{
	width:6px;
	height: 5px;
	background-size: auto 5px;
}
#point .box li .anchor:before{
	margin-right: 7px;
}
#point .box li .anchor:after{
	margin-left: 7px;
}
#point .box .btn01{
	background: none;
	min-height:inherit;
	padding-top: 0;
}
#point .box .btn01 a{
	width: 260px;
	font-size:13px;
	padding: 9px 0;
}
#point .box .btn01 a span{
	width: 260px;
	background: url(../../img/ico_arrow06.png) no-repeat 94% center;
	background-size:10px auto;
}

#point .box li a:before,
#point .box li a:after{
	width:220px;
	height:252px;
	background-size: 220px 252px;
}

#point .ornament_inner {
	padding: 10px 25px 17px 25px;
}
#point .ornament:before,
#point .ornament:after,
#point .ornament_line:before,
#point .ornament_line:after {
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	position: absolute;
	background-size: cover;
}

#point .ornament:before{
    width: 49px;
    top: -5px;
    left: -5px;
}
#point .ornament:after{
    top: -6px;
    right: -4px;
}
#point .ornament_line:before{
    bottom: -6px;
    right: -4px;
}
#point .ornament_line:after{
    bottom: -5px;
    left: -5px;
    width: 49px;
}


#point .ornament_line {
	border:1px solid #fff;
}
#point .movie_item_type {
	width: 100%;
	margin-bottom: 15px;
}
#point .movie_item_type img {
	width: 100%;
}

#point .movie_name{
	font-size: 13px;
}

#point .type02 .right_item {
	width: 100%;
	float: none;
	margin-top: 20px;
}

#point .txt_type {
	font-size: 12px;
	margin-bottom: 20px;
}

#point .link_type {
	text-align: left;
	margin-top: 5px;
	padding: 0;
	padding-bottom: 30px;
}
#point .link_type a {
	font-size: 12px;
	height: 20px;
	line-height: 20px;
	padding-left: 15px;
	background-size: 12px;
}

#point .type02 .left_item {
	float: none;
	width: 100%;
}


#point .item_type04 {
	/*padding: 0 0 15px;*/
	padding: 0;
}
#point .img_type04,
#point .con_type04 {
	width: 100%;
	float: none;
}
#point .con_type04 {
	margin-top: 20px;
}
#point .img_type04 img {
	width: 100%;
}
#point .link_type04 {
	margin: 20px auto;
	max-width: 293px;
	background-position: right;
}
#point .link_type04 a {
	font-size: 13px;
	padding:18px 20px;
}

#point:before{
	content:none;
}
#point .type_main{
	margin-bottom: 17px;
}
#point .type_main img{
	width: 100%;
	height: auto;
}
#point .intro{
	margin-bottom: 25px;
}
#point .intro .catch{
	margin-bottom: 13px;
	text-align:center;
}
#point .intro .catch img{
	width: 240px;
	height: auto;
}
#point .intro .sub{
	font-size:16px;
	margin-bottom: 3px;
}

#point .point{
	margin-bottom: 8px;
}
#point .point img{
	width:auto;
	height: 14px;
}
#point #point05 .img{
	float:none;
}

#point .beginner {
	padding:25px 0;
}
#point .ttl_beginenr {
	font-size: 15px;
	margin-bottom: 25px;
}
#point .t_item {
	width: 100%;
	margin-bottom: 50px;
	float: none;
}
#point .t_item:last-of-type {
	margin-bottom: 0;
}
#point .t_item:nth-of-type(2n) {
	float: none;
}
#point .t_item_l {
	margin:0 auto 20px;
	float: none;
}
#point .t_item_r {
	font-size: 12px;
	width: 100%;
	height: auto;
	float: none !important;
}

#point .t_item_r span {
	margin-left: -.5em;
}


#point .slide_type_box,
#teacher .slide_type_box{
	margin-bottom: 40px;
	position: relative;
}
#point .slide_type_box p,
#point .slide_type_box div,
#teacher .slide_type_box p,
#teacher .slide_type_box div {
	width: 100%;
	float: none;
	padding:0;
}
/*#point .slide_type_box:first-child .slide_item,
#teacher .slide_type_box:first-child .slide_item  {
	display: block;
}*/
#point .slide_item,
#teacher .slide_item {
	display: none;
}
#point .m_ttl,
#teacher .m_ttl {
	font-size: 15px;
	line-height: 1.5;
	width: 100%;
	height: 86px;
	padding: 5px 30px 0px 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
	display: table;
	margin-bottom: 0;
	background-image:url(../../img/arrow_w.png);
	background-position:right 10px center;
	background-repeat: no-repeat;
	background-size: 20px;
}
#point .m_ttl.open,
#teacher .m_ttl.open {
	background-image:url(../../img/arrow_w_up.png);
}
#point .m_ttl .table_ttl,
#teacher .m_ttl .table_ttl {
	vertical-align: middle;
	display: table-cell;
	width: 100%;
}
#point .m_ttl small,
#teacher .m_ttl small {
	font-size: 11px;
	display: inline-block;
	padding-top: 5px;
}
#point .l_img,
#teacher .l_img {
	display: inline-block;
	width: 80px !important;
	height: 90px;
	margin: -5px 10px -5px -10px;
	overflow: hidden;
}
#point .upcont,
#teacher .upcont {
	margin-bottom: 0;
}
#point .ttl_rt, #point .ttl_cen,
#teacher .ttl_rt, #teacher .ttl_cen {
	font-size: 15px;
	text-align: center;
	margin:30px 0 20px !important;
}
#point .txt_rt,
#teacher .txt_rt {
	font-size: 12px;
	padding:0 20px !important;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#point .r_txtarea,
#point .rl_img,
#teacher .r_txtarea,
#teacher .rl_img {
	margin-bottom: 20px;
}
#point .r_txtarea.r_pa,
#teacher .r_txtarea.r_pa {
	margin-bottom: 0 !important;
}
#point .l_txtarea_item .ttl_rt,
#teacher .l_txtarea_item .ttl_rt {
	padding:0 5px;
}
#point .rl_img,
#point .rr_img,
#point .lb_img,
#teacher .rl_img,
#teacher .rr_img,
#teacher .lb_img {
	text-align: center;
	float: none !important;
}
#point .rl_img img,
#point .rr_img img,
#point .lb_img img,
#teacher .rl_img img,
#teacher .rr_img img,
#teacher .lb_img img {
	width: 100%;
	max-width: 400px;
}





/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■course
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#course {
	padding: 25px 0;
}
#course .hd01 {
	margin-bottom: 25px;
}
#course .hd01 img {
	width: auto;
	max-width: auto;
	height: 33px;
}
.course_block + .course_block{
	margin-top: 35px;
}
#course .course_list {
	display: block;
}
#course .course_list li {
	width: 100%;
	height: auto !important;
  padding: 0 25px 25px;
	float:none !important;
	margin-bottom: 20px !important;
}
#course .course_list li:after {
	width: calc(100% - 12px);
	height: calc(100% - 12px);
}
#course .h_course {
	font-size: 15px;
	line-height: 1.8;
}
.ttl_course img{
	width: auto;
	height: 20px;
}
#course .txt_course {
	font-size: 12px;
	min-height: inherit;
}
#course .music_list {
	height: auto;
}
#course .ttl_music_list {
	font-size: 14px;
	padding-left: 20px;
	background-size:15px;
}
#course .txt_music_list {
	font-size: 12px;
}
#course .txt_music_list span {
	display: inline-block;
}
#course .link_course {
	margin-top: 20px;
}
#course .link_course a,
#teacher .link_course a{
	width: 100%;
	max-width: 290px;
	padding:9px 0;
	background-size: contain;
}

.course_catch{
	margin-top: 30px;
}

.course_list li.full .ttl_course{
	padding-bottom: 15px;
}
.course_list li.full .inner{
	display: block;
	padding: 0;
}
.course_list li.full .left{
	width: 100%;
}
.course_list li.full .h_course{
	text-align: center;
	margin-top: 15px;
}
.course_list li.full .right{
	width: 100%;
}
.course_list li.full .music_list{
	margin-top: 24px;
	min-height: inherit;
}
.course_list li.full .link_course{
	margin-top: 0;
	margin-bottom: 0;
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■reservation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.reservation{
	font-weight:bold;
	font-size:13px;
}
.reservation .innerWrap {
	padding:30px 0;
}
.reservation p strong{
	font-size:18px;
}
.reservation .pr{
	border-width: 1px;
	margin-bottom: 7px;
	padding:4px 27px;
}
.reservation .txt{
	margin-bottom: 10px;
	font-size:12px;
	line-height: 1.5;
}
.reservation .btn{
	margin-bottom: 10px;
}
.reservation .btn a{
	font-size:14px;
	width: 100%;
	padding:12px 0;
}
.reservation .btn a span{
	width: 100%;
	background-size: 12px auto;
}
.reservation .other{
	display:block;
	padding-right: 0;
	margin-bottom: 7px;
}
.reservation .btn_other{
	display:block;
	padding-left: 0;
}
.reservation .btn_other a{
	width: 240px;
	font-size:13px;
	padding: 10px 0;
	line-height: 1.0;
	display:inline-block;
}
.reservation .btn_other a span{
	width: 240px;
	background-size: 12px auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■voice
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#voice{
	background-size: cover;
	padding: 25px 0;
}
#voice .hd01 {
	margin-bottom: 30px;
}
#voice .box{
	text-align:left;
	float:none;
	width:100%;
	margin-right: 0;
	padding: 0;
	background: #fff;
	margin-bottom: 18px;
	position:relative;
}
#voice .box:last-of-type{
	margin-bottom: 0;
}
#voice .age{
	width: 180px;
	margin:0;
	font-size:11px;
	min-width:110px;
	padding: 6px 5px 6px 10px;
	height: 24px;
	background-position: left;
} 
#voice h4{
	font-weight:bold;
	font-size:14px !important;
	margin-bottom: 20px;
	padding:45px 20px 14px 10px;
	height: auto;
	background: #f2f2f2;
}
#voice .box .inner{
	padding:0 0 15px;
}
#voice .img{
	float:none;
	text-align:center;
	margin-bottom: 20px;
}
#voice .img img{
	width: 160px;
	height:auto;
}
#voice .txt_area{
	float:none;
	font-size:11px;
	line-height: inherit;
	width: 100%;
}
#voice .txt_area .strong{
	font-size:14px;
	margin-bottom: 3px;
}
#voice .txt_area .txt{
	font-size: 12px;
	margin-bottom: 12px;
	padding:0 15px;
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■plan
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#plan {
	padding: 25px 0;
}
#plan.plan_link_area{
	padding: 20px 0 25px;
}
#plan .hd01 {
	margin-bottom: 20px;
}
#plan .box{
	background: #fff;
	border:1px solid #713d7b;
	margin-bottom: 17px;
}
#plan .other{
	text-align:center;
	color: #fff;
	font-weight:bold;
	margin:18px 0 13px 0;
	padding: 7px 5px;
	background: #713d7b;
	font-size:15px;
}
#plan h4{
	background-size: 15px auto;
	text-align:center;
	font-size:14px;
	font-weight:bold;
	padding:8px 0;
	position:relative;
}
#plan h4 img{
	position:absolute;
	left:10px;
	top:-10px;
	width: 23px;
	height:auto;
}
#plan h4 span.icon{
	padding:2px 5px;
	margin-right: 10px;
	font-size:10px;
	position:static;
	vertical-align:middle;
}
#plan .box .inner{
	display:none;
}
#plan h5{
	color:#fff;
	text-align:center;
	font-weight:bold;
	background: #b28022;
	padding: 5px 0;
}
#plan h5 span{
	font-size:10px;
}
#plan .txt{
	padding: 10px 13px;
  display: flex;
  flex-wrap: wrap;
  line-height: 2;
}
#plan .txt p.first {
  width: 80px !important;
	font-weight: 700;
}
#plan .txt p .mini {
  font-size: 0.8em;
  color: inherit;
}
#plan .txt.col2 p {
  width: 50%;
}
#plan .txt.col3 p {
  width: calc((100% - 75px) / 2);
}
#plan .txt p.long {
  width: 100% !important;
  margin-top: 5px;
}
#plan .txt p a {
  text-decoration: underline;
  transition: 0.3s;
  color: #06f;
}

#plan .txt span{
	font-weight:bold;
	color: #810a26;
}
#plan .line {
	display: block;
	width: 100%;
	height: 1px;
	border-top: 1px solid #b9b9b9;
	margin:10px auto;
}
#plan .txt .kome{
	font-size:10px;
}
#plan small.bk{
	margin-bottom: 1px;
}

#plan .g05 h4 img{
	width:20px;
}
#plan .g06 h4 img{
	top:-3px;
}

#plan .catch{
	font-size:11px;
	line-height: 1.5;
	width: 100%;
	margin-bottom: 10px;
	background-size: auto 50px;
}
#plan .catch span{
	background-size: auto 26px;
	padding:0;
}

#plan .caution {
	font-size: 11px;
	margin-bottom: 40px;
}
#plan .other_link a {
	font-size: 13px;
	width: 100%;
	background-size: contain;
}

#plan .other_link {
	margin-top: 0;
}

#plan .note_txt{
	font-weight: 500;
	margin-bottom: 20px;
}

#plan .plan_title{
	text-align: center;
	padding: 5px;
	font-weight: 700;
	background: #e2e2e2;
}
#plan .plan_title .mini{
	font-size: 80%;
}
#plan .txt.col2 .second{
	width: calc(100% - 80px);
}

#plan .information_box{
	margin-top: 20px;
	padding: 20px;
	font-size: 12px;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■teacher
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#teacher {
	padding: 30px 0;
}
#teacher .hd01 {
	margin-bottom: 24px;
}
#teacher .hd01 img{
	height: 34px;
}
#teacher .teache_wrap {
	display: block;
	margin-bottom: 0;
}
#teacher .teacher_box {
	width: 100%;
	margin-bottom: 30px;
	display: block;
}
#teacher .teacher_box:last-of-type{
	margin-bottom: 0;
}
#teacher .teacher_box .img {
	width: 150px;
	margin: 0 auto 10px;		
}
#teacher .teacher_box .txt_area {
	width: 100%;
}
#teacher .teacher_box .name {
	font-size: 14px;
	text-align: center;
	margin-bottom: 10px;
}
#teacher .teacher_box .catch {
	min-height: inherit;
	margin-bottom: 13px;
	font-size: 13px;
}
#teacher .teacher_box .txt_area .txt {
	font-size: 12px;
}
#teacher .teacher_box .link_course{
	margin-top: 18px;
}
#teacher .teacher_box .link_course a{
	margin-left: auto;
}

#teacher .modal_box{
	padding: 10px !important;
}

.txt_rt.mb2 {
  margin-bottom: 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
footer{
	height:auto;
	padding: 10px 0;
}
footer .innerWrap{
	position:static;
	font-size:13px;
}
footer .logo{
	position:static;
}
footer .logo img{
	width: auto;
	height: 52px;
}
footer #pageTop{
	position:static;
	margin-bottom: 25px;
}
footer #pageTop a{
	background-size: auto 14px;
	background-position: left center;
	padding: 0 0 0 33px;
}
footer .copyright{
	padding-top: 20px;
	font-size:8px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■spMenu
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#spMenuOverlay {
	display: none;
	position: fixed;
	width: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0,0,0,0.5);
	z-index: 998;
}
#spMenu {
	display: none;
	position: fixed;
	width: 100%;
	top: 0;
	right: 0;
	padding: 0;
	overflow: hidden;
	z-index: 999;
	
}
#spMenu.open {
	display:block;
}
#spMenu .inner {
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#spMenu ul{
	border-top: 1px solid #25143c;
	background: #f5f5f5;
	margin-top: 73px;
}
#spMenu ul li{
	border-bottom: 1px solid #ccc;
}
#spMenu ul li a{
	display: block;
	font-size:15px;
	padding: 15px 10px 15px 48px;
	position: relative;
	font-weight:normal;
	text-decoration: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-repeat: no-repeat;
	background-position: 20px center;
	background-size: auto 24px;
	background-color: #25143c;
	color: #fff;
}
#spMenu ul li:last-of-type{
	border-bottom: none;
}
#spMenu ul li:nth-of-type(1) a{
	background-image: url(../../img/hd_ico01.png);
}
#spMenu ul li:nth-of-type(2) a{
	background-image: url(../../img/hd_ico02.png);
}
#spMenu ul li:nth-of-type(3) a{
	background-image: url(../../img/hd_ico03.png);
	background-position: 15px center;
}
#spMenu ul li:nth-of-type(4) a{
	background-image: url(../../img/hd_ico04.png);
	background-position: 15px center;
}
/*#spMenu ul li a:after{
	content: "";	
	border-right: 1px solid #25143c;
	border-top: 1px solid #25143c;
	height: 4px;
	width: 4px;
	right: 15px;
	position: absolute;
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	top: 50%;
	margin: -2px 0 0 0;
}*/

#spMenu .close{
	position:absolute;
	right:0;
	top:0;
	text-align:center;
	width:100%;
}
#spMenu .close a{
	display:block;
	width:73px;
	height:73px;
	padding-top: 20px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	z-index:1000;
	background: #fff;
	float:right;
}



.modal_wrap {
	background-color: rgba(0,0,0,.6);
}
#course .modal_box,
#teacher .modal_box{
	width: 96%;
	max-height: 96vh;
	overflow-y: scroll;
	padding:20px 25px 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#course .modal_ttl {
	margin-bottom: 20px;
}
#course .modal_item {
	margin-bottom: 20px;
}
#course .modal_item:last-of-type {
	margin-bottom: 0;
}
#course .modal_hdr {
	width: 180px;
	margin-bottom: 5px;
}
#course .modal_sub {
	font-size: 15px;
	padding-left: 10px;
}
#course .modal_txt {
	font-size: 12px;
	line-height: 20px;
	padding-left: 10px;
}
#course .modal_close {
	width: 20px;
	height: 20px;
	margin-bottom: -15px;
	margin-right: -17px;
	position: static;
	float: right;
}



/*#####################################################################

2019/12
ロゴ変更/料金注意書き追加

#####################################################################*/
header h1 {
	width: auto;
	padding: 16px 0 0 30px;
}
header h1 img {
	max-width: 110px;
	height: auto;
}
.notice {
	margin-bottom: 40px;
	font-size: 10px;
}
