@charset "utf-8";

body {
	font-family: "游ゴシック", YuGothic, "メイリオ", "Meiryo" , "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
	font-weight: 500;
	font-size: 18px;
	color: #333;
	line-height: 2.0;
	-webkit-text-size-adjust: 100%;
	-webkit-overflow-scrolling: touch;
	min-width:1280px;
}
.innerWrap{
	width:1280px;
	margin:0 auto;
	height:auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
a{
	color: #303030;
	text-decoration:none;
}
a:hover,
.ro:hover{
	opacity:0.8;
	transition: all 0.15s linear;
}
.ro:hover img{
	opacity:1;
}
.ro a:hover,
.ro a:hover img{
	transition: none;
	opacity: 1;
}
.spCont{
	display:none;
}
#spMenuOverlay,
#spMenu{
	display: none;
}
/* commons */
.bold,strong{font-weight: 700;}
.f_left{float:left;}
.f_right{float:right;}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■box_inner,block,hd,btn
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
p.txt strong{
	color: #772d86;
}
/*--------------------------------
	box_inner
--------------------------------*/
.box_inner{
	background:url(../img/bg01.png) no-repeat left top,url(../img/bg02.png) no-repeat right bottom;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	padding: 87px 0;
	position:relative;
	z-index:20;
}
.box_inner.box_top{
	background:url(../img/bg01.png) no-repeat left top;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
}

/*--------------------------------
	block
--------------------------------*/
.block{
	background: url(../img/box_bg_t.png) no-repeat left top,url(../img/box_bg_b.png) no-repeat right bottom;
	-webkit-background-size: 188px auto;
	background-size: 188px auto;
	background-color: #fff;
	padding: 38px 140px 50px 140px;
	margin-bottom: 39px;
	overflow:hidden;
	text-align:center;
}
.block h4:not(.hd03){
	font-weight:700;
	line-height: 1.58;
	font-size:32px;
	margin-bottom: 32px;
}
.block .inner{
	padding-top: 7px;
	overflow:hidden;
}
.block .img{
	float:left;
	width:320px;
}
.block .f_right,
.block .f_left{
	width:640px;
	text-align:left;
	padding-top: 4px;
}
.block .movie{
	overflow:hidden;
	margin-top: 40px;
}
.block .movie li{
	width: 480px;
	float:left;
}
.block .movie li:nth-of-type(2n){
	float:right;
}
.block .movie li .youtube{
	width:100%;
	text-align:center;
	position:relative;
	padding-top: 56.25%;
}
.block .movie li iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
.block .btn02{
	margin-top: 40px;
}

/*--------------------------------
	hd
--------------------------------*/
.hd01{
	text-align:center;
	line-height:1.0;
	margin-bottom: 77px;
}
.hd01:before,
.hd01:after{
	content:"";
	display:inline-block;
	width:50px;
	height: 100px;
	background-repeat: no-repeat;
	background-position: left bottom;
	-webkit-background-size: 50px 41px;
	background-size: 50px 41px;
}
.hd01:before{
	background-image: url(../img/ttl_l02.png);
	margin-right: 31px;
}
.hd01:after{
	background-image: url(../img/ttl_r02.png);
	margin-left: 31px;
}

.hd02{
	text-align: center;
	color: #fff;
	background: #772D86;
	font-size: 22px;
	line-height: 1.5;
	font-weight: 700;
	padding: 9px 15px;
	margin-bottom: 20px;
	box-sizing: border-box;
}

.hd03{
	font-weight: 700;
	color: #772D86;
	font-size: 32px;
	line-height: 1.5;
	margin-bottom: 8px;
}

/*--------------------------------
	btn
--------------------------------*/
.btn01{
	text-align:center;
}
.btn01 a{
	display: block;
	line-height:1.0;
	color: #fff;
	font-size:30px;
	font-weight:700;
	width: 800px;
	padding:21px 0;
	display:inline-block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #eb2d4e; /* Old browsers */
	background: -moz-linear-gradient(-45deg,  #eb2d4e 0%, #ec3a6b 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg,  #eb2d4e 0%,#ec3a6b 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg,  #eb2d4e 0%,#ec3a6b 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eb2d4e', endColorstr='#ec3a6b',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
	-webkit-box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.18);
	-moz-box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.18);
	box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.18);
}
.btn01 a span{
	width:800px;
	display:inline-block;
	background:url(../img/ico_arrow01.png) no-repeat 95% center;
	-webkit-background-size: 24px auto;
	background-size: 24px auto;
}
/*btn02*/
.btn02{
	text-align:center;
}
.btn02 a{
	display:inline-block;
	background: url(../img/ico_blank.png) no-repeat 93% center #fff;
	-webkit-background-size: 16px auto;
	background-size: 16px auto;
	width: 500px;
	border: 2px solid #772d86;
	padding: 8px 0;
	color: #772d86;
	font-weight:700;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.btn02 a span{
	background: url(../img/ico01.png) no-repeat left center;
	-webkit-background-size: 18px auto;
	background-size: 18px auto;
	padding:0 30px;
}

/*--------------------------------
box_list
--------------------------------*/
.box_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.box_list li{
	width: 48%;
	max-width: 608px;
	padding: 30px;
	background: #fff;
	margin-bottom: 25px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.box_list li .img{
	line-height: 1;
}
.box_list li .img img{
	width: 100%;
	height: auto;
}
.box_list li .img + .txt_area{
	margin-top: 18px;
}
.box_list li .txt_area{
	font-size: 16px;
	line-height: 1.62;
}
/*3つ並び*/
@media only screen and (min-width: 768px) {
	.box_list3:after{
		content: "";
		display: block;
		width: 32%;
		max-width: 400px;
	}
	.box_list3 li{
		width: 32%;
		max-width: 400px;
	}
}

/*--------------------------------
read_area
--------------------------------*/
.hd01 + .read_area{
	margin-top: -15px;
}
.read_area{
	text-align: center;
	margin-bottom: 55px;
	line-height: 1.62;
}
.read_area .read_txt{
	font-size: 24px;
}
.read_area .read_txt + .kome{
	margin-top: 14px;
}

/*--------------------------------
notes_box
--------------------------------*/
.notes_box{
	display: flex;
	justify-content: center;
}
.notes_box .kome li{
	text-indent: -1em;
	padding-left: 1em;
	font-size: 13px;
	line-height: 1.61;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
header{
	width:100%;
	height:123px;
	position:relative;
	overflow:hidden;
}
header h1{
	position:absolute;
	top:35px;
	left:50%;
	margin-left: -623px;
}
header nav{
	width:100%;
	height:123px;
	background: #25143c;
	position:absolute;
	top:0;
	left:50%;
	margin-left: -275px;
}
header nav ul{
	overflow:hidden;
	padding: 44px 0 0 39px;
}
header nav li{
	float:left;
	background: url(../img/hd_bg.png) no-repeat right center;
	padding-right: 37px;
	margin-right: 26px;
}
header nav li:last-of-type{
	padding: 0;
	margin: 0;
	background: none;
}
header nav li a{
	color:#fff;
	font-weight:700;
	background-repeat: no-repeat;
	background-position: left center;
	-webkit-background-size: auto 24px;
	background-size: auto 24px;
	padding-left: 34px;
}
header nav li:nth-of-type(1) a{
	background-image: url(../img/hd_ico01.png);
	padding-left: 25px;
}
header nav li:nth-of-type(2) a{
	background-image: url(../img/hd_ico02.png);
	padding-left: 27px;
}
header nav li:nth-of-type(3) a{
	background-image: url(../img/hd_ico03.png);
}
header nav li:nth-of-type(4) a{
	background-image: url(../img/hd_ico04.png);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■main_img
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#main_img{
	text-align:center;
	position:relative;
}
#main_img h2{
	width:100%;
}
#main_img h2 img{
	width:100%;
	height:auto;
}
#main_img .btn01{
	position:absolute;
	top:75.7%;
	left:50%;
	margin-left: -400px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■type
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#type{
	background: #fdfbf8;
	padding: 40px 0 80px 0;
	overflow:hidden;
}
#type h3{
	text-align:center;
	background: url(../img/pt01.png) repeat-x left bottom;
	position:relative;
	line-height:1.0;
	margin-bottom: 52px;
}
#type h3:before,
#type h3:after{
	content:"";
	position:absolute;
	left:50%;
}
#type h3:before{
	background: url(../img/type_ttl_l.png) no-repeat left center;
	width:409px;
	height:98px;
	top:79px;
	margin-left: -864px;
}
#type h3:after{
	background: url(../img/type_ttl_r.png) no-repeat left center;
	width:272px;
	height:87px;
	top:86px;
	margin-left: 459px;
}

#type .innerWrap{
	text-align:center;
	font-size:0;
}
#type .box{
	display:inline-block;
	width:336px;
	text-align:center;
	padding:0 27px;
	color:#fff;
	vertical-align:top;
}
#type h4{
	font-size:20px;
	font-weight:700;
	position:relative;
	background: url(../img/ttl_bg01.png) no-repeat right bottom #522f73;
	-webkit-background-size: auto 70px;
	background-size: auto 70px;
	line-height:1.0;
	padding:25px 0;
	margin-bottom: 21px;
}
#type h4:after{
	content:"";
	position:absolute;
	left:50%;
	bottom:-12px;
	margin-left: -6px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 6px 0 6px;
	border-color: #522f73 transparent transparent transparent;
}
#type .box li{
	width:336px;
	height:385px;
	background-repeat:on-repeat;
	background-position: left top;
	font-size:14px;
	padding-top: 115px;
	margin-bottom: 23px;
	background-repeat: no-repeat;
	background-position: left top;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#type .box.type03 li.photo08{
	padding-top: 0;
}
#type .box li a{
	position:relative;
	display:block;
	padding-top: 115px;
}
#type .txt_area{
	color:#fff;
	height:270px;
	padding:122px 20px 2px 20px;
	position:relative;
	background: url(../img/pt02.png) no-repeat left bottom;
	-webkit-background-size: auto 270px;
	background-size: auto 270px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	z-index:30;
}
#type .type02 .txt_area{
	background-image: url(../img/pt03.png);
}
#type .type03 .txt_area{
	background-image: url(../img/pt04.png);
}
#type .box ul{
	margin-bottom: 7px;
}
#type .box li .catch{
	font-size:19px;
	font-weight:700;
	border:1px solid #fff;
	margin-bottom: 12px;
	padding: 1px;
}
#type .box li .txt{
	text-align:left;
	line-height: 1.5;
}
#type .box li .anchor{
	position:absolute;
	left:2px;
	bottom: 2px;
	color: #25143c;
	font-weight:700;
	width:330px;
	background-color: #f3f3f4;
	padding: 1px;
}
#type .box li .anchor:before,
#type .box li .anchor:after{
	content:"";
	width:8px;
	height: 7px;
	display:inline-block;
	background: url(../img/ico_arrow02.png) no-repeat left center;
	-webkit-background-size: auto 7px;
	background-size: auto 7px;
}
#type .box li .anchor:before{
	margin-right: 10px;
}
#type .box li .anchor:after{
	margin-left: 10px;
}
#type .box .btn01{
	background: url(../img/bg_arrow.png) no-repeat center center;
	min-height:116px;
	padding-top: 26px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#type .box .btn01 a{
	width: 335px;
	font-size:18px;
	padding: 16px 0;
	border-radius: 30px;
}
#type .box .btn01 a span{
	width:335px;
	background: none;
}

#type .box li a:before,
#type .box li a:after{
	position:absolute;
	left:0;
	top:0;
	content:"";
	display:block;
	width:336px;
	height:385px;
	z-index:10;
	background-repeat: no-repeat;
	background-position: left top;
}
#type .box li a:hover{
	opacity:1;
}
#type .box li a:hover:after{
	opacity:0;
	transition: all 0.15s linear;
}

/*#type .box.type01 li.photo01 a:before{
	background-image: url(../img/type_photo01_on.jpg);
}
#type .box.type01 li.photo01 a:after{
	background-image: url(../img/type_photo01.jpg);
}
#type .box.type01 li.photo02 a:before{
	background-image: url(../img/type_photo02_on.jpg);
}
#type .box.type01 li.photo02 a:after{
	background-image: url(../img/type_photo02.jpg);
}
#type .box.type01 li.photo03 a:before{
	background-image: url(../img/type_photo03_on.jpg);
}
#type .box.type01 li.photo03 a:after{
	background-image: url(../img/type_photo03.jpg);
}*/
#type .box.type03 li.photo08 a:before{
	background-image: url(../img/type_photo08.jpg);
}
#type .box.type03 li.photo08 a:after{
	background-image: url(../img/type_photo08_on.jpg);
}

#type .box.type01 li.photo01{
	background-image: url(../img/type_photo01_on.jpg);
}
#type .box.type01 li.photo02{
	background-image: url(../img/type_photo02_on.jpg);
}
#type .box.type01 li.photo03{
	background-image: url(../img/type_photo03_on.jpg);
}
#type .box.type02 li.photo04{
	background-image: url(../img/type_photo04_on.jpg);
}
#type .box.type02 li.photo05{
	background-image: url(../img/type_photo05_on.jpg);
}
#type .box.type02 li.photo06{
	background-image: url(../img/type_photo06_on.jpg);
}
#type .box.type03 li.photo07{
	background-image: url(../img/type_photo07_on.jpg);
}
#type .box.type03 li.photo09{
	background-image: url(../img/type_photo09_on.jpg);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■reservation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.reservation{
	font-weight:700;
	text-align:center;
	color:#fff;
	font-size:20px;
	padding:50px 0 37px 0;
	background: #eb2d4e; /* Old browsers */
	background: -moz-linear-gradient(-45deg,  #eb2d4e 0%, #ec3a6b 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg,  #eb2d4e 0%,#ec3a6b 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg,  #eb2d4e 0%,#ec3a6b 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eb2d4e', endColorstr='#ec3a6b',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.reservation p strong{
	font-size:32px;
}
.reservation .pr{
	border: 2px solid #fff;
	margin-bottom: 15px;
	border-radius: 30px;
	line-height: 1.0;
	padding:7px 40px;
	display:inline-block;
}
.reservation .txt{
	margin-bottom: 18px;
}
.reservation .btn{
	margin-bottom: 16px;
}
.reservation .btn a{
	display: block;
	line-height:1.0;
	color: #eb2d4e;
	font-size:30px;
	width: 800px;
	padding:21px 0;
	display:inline-block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(top,  #ffffff 0%, #ececec 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #ffffff 0%,#ececec 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #ffffff 0%,#ececec 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ececec',GradientType=0 ); /* IE6-9 */
	-webkit-box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.18);
	-moz-box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.18);
	box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.18);
}
.reservation .btn a span{
	width:800px;
	display:inline-block;
	background:url(../img/ico_arrow03.png) no-repeat 95% center;
	-webkit-background-size: 24px auto;
	background-size: 24px auto;
}
.reservation .other{
	display:inline-block;
	padding-right: 12px;
	vertical-align:middle;
}
.reservation .btn_other{
	display:inline-block;
	padding-left: 12px;
}
.reservation .btn_other a{
	display:block;
	width: 320px;
	color: #eb2d4e;
	font-size:16px;
	padding: 12px 0;
	line-height: 1.0;
	border-radius: 30px;
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(top,  #ffffff 0%, #ecebeb 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #ffffff 0%,#ecebeb 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #ffffff 0%,#ecebeb 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ecebeb',GradientType=0 ); /* IE6-9 */
}
.reservation .btn_other a span{
	width:320px;
	display:inline-block;
	background:url(../img/ico_arrow03.png) no-repeat 93% center;
	-webkit-background-size: 16px auto;
	background-size: 16px auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■point
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#point{
	background: #e9ecf4; /* Old browsers */
	background: -moz-linear-gradient(top,  #e9ecf4 0%, #d4d9e8 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #e9ecf4 0%,#d4d9e8 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #e9ecf4 0%,#d4d9e8 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e9ecf4', endColorstr='#d4d9e8',GradientType=0 ); /* IE6-9 */
	position:relative;
	z-index:10;
}
#point:before{
	content:"";
	position:absolute;
	right:0;
	top:145px;
	width:146px;
	height:568px;
	background: url(../img/point_sub.png) no-repeat left top;
	display: block;
}
#point .hd01:before{
	background-image: url(../img/ttl_l01.png);
	margin-right: 44px;
}
#point .hd01:after{
	background-image: url(../img/ttl_r01.png);
	margin-left: 44px;
}
#point .main_img{
	margin-bottom: 45px;
	line-height: 1.0;
}
#point .intro{
	text-align:center;
	margin-bottom: 50px;
}
#point .intro .catch{
	margin-bottom: 37px;
}
#point .intro .sub{
	font-size:30px;
}

#point .block:last-of-type{
	margin-bottom: 0;
}
#point .block .point{
	margin-bottom: 17px;
}
#point #point05 .img{
	float:right;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■curriculum
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#curriculum{
	background: url(../img/curriculum_sub.png) no-repeat right 150px #fbf5eb;
	text-align:center;
}
#curriculum .hd01{
	margin-bottom: 62px;
}
#curriculum .hd01:before{
	margin-right: 40px;
}
#curriculum .hd01:after{
	margin-left: 40px;
}
#curriculum .about{
	position:relative;
	font-size:20px;
	height:292px;
	margin-bottom: 30px;
}
#curriculum .about .img{
	position:absolute;
	top:0;
	left: 50px;
	z-index:20;
}
#curriculum .about .box{
	border: 1px solid #dedede;
	background: #fff;
	padding:46px 200px 40px 200px;
	position:absolute;
	top:50px;
	right:50px;
	z-index:10;
}
#curriculum .about .catch{
	font-size:32px;
}
#curriculum .about .catch strong{
	color:#772d86;
}

#curriculum .course .catch{
	font-size:24px;
	margin-bottom: 5px;
}
#curriculum .course .catch span{
	background: url(../img/deco_l01.png) no-repeat left center,url(../img/deco_r01.png) no-repeat right center;
	-webkit-background-size: auto 31px;
	background-size: auto 31px;
	padding:0 37px;
}
#curriculum .course h4{
	font-weight:700;
	font-size:32px;
	line-height:1.56;
	margin-bottom: 50px;
}
#curriculum .course h4 strong{
	color: #772d86;
}
#curriculum .course .img{
	margin-bottom: 40px;
}
#curriculum .course .txt{
	margin-bottom: 40px;
}

#curriculum .block{
	padding-top: 53px;
	margin-bottom: 75px;
}
#curriculum .block h4{
	font-size:24px;
	margin-bottom: 20px;
}
#curriculum .block:last-of-type h4{	
	margin-bottom: 0 !important;
}
#curriculum .block .hd{
	font-weight:700;
	color:#772d86;
	line-height: 1.0;
	background: #f5f5f5;
	padding: 10px;
}
#curriculum .block .movie{
	position:relative;
}
#curriculum .block .icon{
	position:absolute;
	top:137px;
	left:50%;
	margin-left: -30px;
}

#curriculum .criterion{
	overflow:hidden;
}
#curriculum .criterion .box{
	width: 610px;
	float:left;
}
#curriculum .criterion .box:last-of-type{
	float:right;
}
#curriculum .criterion h4{
	font-size:25px;
	text-align:center;
	color: #fff;
	line-height: 1.0;
	background: #864491;
	padding: 12px 0;
	margin-bottom: 18px;
}
#curriculum .criterion h4 strong{
	color: #FFFF00;
}
#curriculum .criterion li{
	border: 4px solid #e2d8c9;
	background: #fff;
	margin-bottom: 22px;
	position:relative;
	display:table;
	padding: 4px 10px 4px 13px;
	text-align:left;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#curriculum .criterion li:after{
	content:"";
	display:inline-block;
	text-align:center;
	width: 23px;
	height: 20px;
	background: url(../img/ico_arrow07.png) no-repeat center bottom;
	-webkit-background-size: auto 20px;
	background-size: auto 20px;
	position:absolute;
	left:50%;
	bottom:-20px;
	margin-left: -12px;
}
#curriculum .criterion li:last-of-type{
	margin-bottom: 5px;
}
#curriculum .criterion li:last-of-type:after{
	content:none;
}
#curriculum .criterion li .cell{
	display:table-cell;
	vertical-align:middle;
}
#curriculum .criterion .txt_area{
	padding: 8px 0 8px 22px;
	font-size:14px;
	line-height: 1.6;
	width:485px;
}
#curriculum .criterion h5{
	font-weight:bold;
	font-size:20px;
	background: url(../img/ico02.png) no-repeat left center;
	-webkit-background-size: auto 25px;
	background-size: auto 25px;
	padding-left: 30px;
	margin-bottom: 2px;
}
#curriculum .criterion h5.technique{
	background-image: url(../img/ico03.png);
}
#curriculum .criterion p{
	margin-bottom: 10px;
}
#curriculum .criterion li p:last-of-type{
	margin-bottom: 0;
}
#curriculum .criterion .kome{
	font-size:12px;
	text-align:right;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■voice
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#voice{
	background: url(../img/voice_sub.png) no-repeat right 150px,url(../img/voice_bg.jpg) no-repeat left top;
	-webkit-background-size: auto auto,cover;
	background-size: auto auto,cover;
	padding: 85px 0 100px 0;
	overflow:hidden;
}
#voice .hd01:before{
	background-image: url(../img/ttl_l03.png);
}
#voice .hd01:after{
	background-image: url(../img/ttl_r03.png);
}
#voice .box{
	float:left;
	width:637px;
	text-align:center;
	margin-right: 6px;
	padding: 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: -moz-linear-gradient(top,  #f2f2f2 39%, #ffffff 39%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #f2f2f2 39%,#ffffff 39%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #f2f2f2 39%,#ffffff 39%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f2f2', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
}
#voice .box:last-of-type{
	margin-right: 0;
}
#voice .age{
	text-align:center;
	margin: -40px 0 0 -93px;
	color: #fff;
	min-width:186px;
	height:40px;
	line-height: 1.0;
	padding: 13px 5px;
	border-radius:25px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display:inline-block;
	position:absolute;
} 
#voice .voice01 .age{
	background: #43b2a1;
}
#voice .voice02 .age{
	background: #e94f8b;
}
#voice h4{
	font-weight:700;
	font-size:20px;
	line-height: 1.5;
	padding-top: 18px;
	margin-bottom: 13px;
	height: 57px;
	color: #000;
	text-align:left;
}
#voice h4.small{
	font-size:16px;
	line-height: 1.5;
	margin-right: -15px;
}
#voice .img{
	float:left;
}
#voice .txt_area{
	float:right;
	text-align:left;
	width: 305px;
	color: #666;
	font-size:16px;
	line-height: 1.7;
}
#voice .txt_area .strong{
	font-size:23px;
	font-weight:700;
}
#voice .voice01 .txt_area .strong{
	color: #43b2a1;
}
#voice .voice02 .txt_area .strong{
	color: #e94f8b;
}
#voice .txt_area .txt{
	margin-bottom: 20px;
}
#voice .txt_area .txt:last-of-type{
	margin-bottom: 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■plan
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#plan{
	background: url(../img/plan_sub.png) no-repeat right 150px #fbf5eb;
}
#plan table{
	width:100%;
	margin:-20px 0 77px 0;
	table-layout:fixed;
}
#plan th,
#plan td{
	vertical-align:middle;
	font-size:16px;
	line-height: 1.87;
	padding: 14px 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	table-layout:fixed;
}
#plan thead th,
#plan th.other{
	font-weight:700;
	color: #fff;
	background: #713d7b;
	text-align:center;
	line-height: 1.4;
	font-size:18px;
	border-right: 1px solid #ccc;
	padding: 20px;
}
#plan thead th:last-of-type{
	border-right: 2px solid #713d7b;
	width:335px;
}
#plan thead th span{
	font-size:13px;
	font-weight:500;
	display: block;
}
#plan tbody{
	border: 2px solid #713d7b;
}
#plan tbody th,
#plan tbody td{
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
#plan tbody th{
	background: #f5f5f5;
	font-weight:700;
	position:relative;
	z-index: -1;
}
#plan span.icon{
	background: #cd1f1f;
	color:#fff;
	padding:4px 15px;
	font-weight:500;
	font-size:13px;
	position:absolute;
	top:0;
	left:0;
}
#plan tbody th span{
	display:inline-block;
	line-height:1.5;
	vertical-align:middle;
}
#plan tbody th img{
	margin-right: 15px;
	vertical-align:middle;
}
#plan tbody td{
	background: #fff;
	width: 300px;
}
#plan tbody td span{
	font-weight:700;
	color: #cd1f1f;
}
#plan tbody td .kome{
	font-size: 90%;
	margin-top: 5px;
}
#plan tbody td small.bk{
	display: block;
	line-height: 1.5;
	margin: -2px 0 2px;
}

#plan .catch{
	text-align:center;
	font-size:20px;
	line-height: 1.6;
	margin-bottom: 15px;
}
#plan .catch span{
	background: url(../img/deco_l01.png) no-repeat left bottom,url(../img/deco_r01.png) no-repeat right bottom;
	-webkit-background-size: auto 51px;
	background-size: auto 51px;
	padding:0 42px;
	display:inline-block;
}

#plan .note_txt{
	text-align: center;
	font-weight: 700;
	margin: -10px 0 50px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■style
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#style{
	background: url(../img/style_sub.png) no-repeat right -2px top 150px #fbf5eb;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■step
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#step{
	background: url(../img/step_sub.png) no-repeat right -2px top 150px #fbf5eb;
}
#step .box_list .hd02{
	position: relative;
	font-size: 20px;
	margin-left: 30px;
	padding-left: 27px;
}
#step .box_list .hd02 .num{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	line-height: 1;
	color: #fff;
	text-align: center;
	padding: 10px 10px;
	background: #BCA0C2;
	border-radius: 50%;
	position: absolute;
	left: -35px;
	top: 50%;
	margin-top: -30px;
	box-sizing: border-box;
}
#step .box_list .hd02 .num img{
	width: auto;
	height: 16px;
}
#step{

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■textbook
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#textbook{
	background: url(../img/textbook_sub.png) no-repeat right 150px #fbf5eb;
}
#textbook .hd01.pcCont:before{
	background-position: left bottom 24px;
}
#textbook .hd01.pcCont:after{
	background-position: right bottom 24px;
}

@media only screen and (min-width: 768px) {
	#textbook .block{
		padding: 60px 155px;
	}
}
#textbook .block .img{
	width: 205px;
}
#textbook .block .img img{
	width: 100%;
	height: auto;
}
#textbook .block .f_right{
	width: 728px;
}
#textbook .block .txt{
	font-size: 16px;
	line-height: 1.625;
}
/*エクササイズブック*/
#textbook .block_book{
	padding-bottom: 45px;
}
#textbook .info_area{
	background: #F2F2F2;
	margin: 30px 30px 30px 0;
	padding: 25px 120px 25px 30px;
	position: relative;
}
#textbook .info_area .img{
	line-height: 1;
	background: #fff;
	width: 146px;
	height: 146px;
	border: 4px solid #F2F2F2;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: -30px;
	margin-top: -73px;
	box-sizing: border-box;
}
#textbook .info_area .img img{
	width: 64px;
	height: auto;
}

#textbook .score_area{
	border-top: 4px solid #F2F2F2;
	margin: 40px -65px 0;
	padding-top: 35px;
}
#textbook .score_area .hd03{
	font-size: 26px;
	text-align: left;
}
#textbook .score_area .step{
	display: flex;
	justify-content: space-between;
}
#textbook .score_area .step li{
	border: 2px solid #E2D8C9;
	width: 260px;
	padding: 23px 12px 20px;
	box-sizing: border-box;
	position: relative;
}
#textbook .score_area .step li:after{
	content: "";
	display: block;
	width: 20px;
	height: 100%;
	background: url(../img/ico_arrow08.png) no-repeat left center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -20px;
}
#textbook .score_area .step li:last-of-type:after{
	content: none;
}
#textbook .score_area .step .ttl{
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	margin-bottom: 5px;
}
#textbook .score_area .step .img{
	width: 100%;
}
#textbook .score_area .step img{
	max-width: 100%;
	height: auto;
}
#textbook .score_area .step{

}
#textbook .score_area .step{

}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
footer{
	background: #25143c;
	height:84px;
	color:#fff;
}
footer .innerWrap{
	position:relative;
	text-align:center;
	font-size:14px;
}
footer .logo{
	position:absolute;
	top:18px;
	left:0;
}
footer #pageTop{
	position:absolute;
	top:16px;
	right: 0;
}
footer #pageTop a{
	color:#fff;
	background:url(../img/pagetop.png) no-repeat top center;
	-webkit-background-size: auto 18px;
	background-size: auto 18px;
	padding-top: 21px;
	display:inline-block;
	font-weight:bold;
}
footer .copyright{
	padding-top: 28px;
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　■IE用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media all and (-ms-high-contrast:none){
	.btn01 a,
	.reservation .btn a{
		padding-top: 25px;
		padding-bottom: 13px;
	}
	#type .box li .catch{
		padding-top: 2px;
		padding-bottom: 0;
	}
	.reservation .btn_other a{
		padding-top: 16px;
		padding-bottom: 8px;
	}
}

/*#####################################################################

2019/12
ロゴ変更/料金注意書き追加

#####################################################################*/
header h1 {
	top: 50%;
	margin-top: -38px;
	margin-left: -556px;
}
header h1 img {
	max-width: 200px;
	width: 100%;
	height: auto;
}
#plan table {
	margin-bottom: 10px;
}
.notice {
	margin-bottom: 60px;
	font-size: 15px;
}














