@charset "utf-8";
/* CSS Document */

.imgFlowContact {
	text-align:center;
	margin-bottom:35px;
}

/*ボタンの設定*/
a.direct {
	display:block;
	height:0;
	overflow:hidden;
	padding:40% 0 0 0;
	background:no-repeat left top;
	background-size:100%;
	box-shadow:0 0 15px rgba(0,0,0,0.3);
	transition-property:width, background;
	transition-duration:0.3s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
}
a.direct.tel {
	background-image:url(css_img/btmContactLinkptn_tel.png);
}
a.direct.mail {
	background-image:url(css_img/btmContactLinkptn_mail.png);
}

.listBtmContact {}
.listBtmContact li {
	padding:20px 0;
	box-sizing:border-box;
	transition-property:width,float,padding;
	transition-duration:0.3s;
	transition-timing-function:ease-in-out;
	transition-delay:0s;
}

h3.thanksContact {
	text-align:center;
	font-size:7.1vw!important;
	padding:0 0 10px!important;
	/*border:none!important;*/
	color:#FF4343!important;
	margin-bottom:35px!important;
}

.group.thanks{}
.group.thanks p{
	text-align:center;
	font-size:1.2em;
	color:#333;
}

.attendContact {
	border:solid 1px #FFA8A8;
	margin-bottom:30px;
	padding:15px 10px;
}
.attendContact li {
	color:#FF6E6E;
	padding:10px 0 10px 30px;
	position:relative;
}
.attendContact li:before {
	content:"";
	position:absolute;
	left:0;
	top:15px;
	display:block;
	border:solid 3px #FFA8A8;
	border-left:none;
	border-bottom:none;
	width:12px;
	height:12px;
	-moz-transform:    rotate( 45deg );  /* Firefox用 */
	-webkit-transform: rotate( 45deg );  /* Chrome,Safari,新しいOpera用 */
	-o-transform:      rotate( 45deg );  /* 古いOpera用 */
	-ms-transform:     rotate( 45deg );  /* IE9用 */
	transform:         rotate( 45deg );  /* CSS3の書き方 */
}

@media screen and ( min-width:992px ){
	
	h3.thanksContact {
		font-size:1.95em!important;
	}
	
	.listBtmContact {}
	.listBtmContact li {
		float:left;
		width:50%;
		padding:0 20px;
	}
	
}

/*お問合せインデックスページ*/

#areaIndexForm {}

#areaIndexForm .pageIntro{
	background:url(css_img/imgContactIndexMain.png) no-repeat left top;
	background-size:100%;
	padding:100% 0 0 0;
	position:relative;
	margin-bottom:30px;
}
#areaIndexForm .pageIntro p{
	padding:45% 0 0 0;
	background:url(css_img/imgIntroContactIndex.svg) no-repeat left top;
	background-size:100%;
	height:0;
	overflow:hidden;
	position:absolute;
	width:100%;
	left:0;
	bottom:0;
	margin:0;
}

#areaIndexForm .group {
	padding:35px 0;
}

#areaIndexForm .group ul {
	padding:0 10px;
}

#areaIndexForm .group li {
	padding:15px 0;
	text-align:center;
}
#areaIndexForm .group li img{
	width:100%;
}
#areaIndexForm .group h3.introTel {
	font-weight:bold;
	font-size:1.45em;
	margin-bottom:25px;
	padding:0 0 0 55px;
	position:relative;
}
#areaIndexForm .group h3.introTel::before {
	position:absolute;
	content:"";
	left:0;
	top:0;
	background:#31BAB5;
	width:38px;
	height:38px;
	border-radius: 38px;        /* CSS3草案 */  
	-webkit-border-radius: 38px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 38px;   /* Firefox用 */

}

#areaIndexForm .listFormCon {}

#areaIndexForm .listFormCon li.new {
	position:relative;
}
#areaIndexForm .listFormCon li.news::before {
	content:"new!";
	position:absolute;
	left:-15px;
	top:-2px;
	background:#FF4343;
	color:#fff;
	text-align:center;
	font-size:0.98em;
	font-weight:bold;
	/*padding:5px;*/
	width:40px;
	height:40px;
	line-height:40px;
	border:solid 2px #fff;
	border-radius: 40px;        /* CSS3草案 */  
	-webkit-border-radius: 40px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 40px;   /* Firefox用 */
	box-shadow:0px 0px 8px #fff;
}

@media screen and ( min-width:992px ){
	
	#areaIndexForm .pageIntro{
		background-size:650px;
		padding-top:450px;
	}
	#areaIndexForm .pageIntro p{
		padding:24% 0 0 0;/**/
		width:550px;
		left:auto;
		right:0;
		bottom:0;
	}
	
	#areaIndexForm .group li {
		float:left;
		width : -webkit-calc(50% - 40px) ;
		width : calc(50% - 40px) ;
		margin:0 20px;
	}
	
}

/*オーディション情報用の枠*/
.boxInfoAudi {
	position:relative;
	padding:20px 0;
}

.boxInfoAudi dt {
	position:absolute;
	left:5px;
	top:25px;
	color:#fff;
	font-weight:bold;
	font-size:5.1vw;
	text-shadow:1px 1px 3px #00000066;
}

.boxInfoAudi .dataImage {
	position:relative;
	padding:55% 0 0 0;
	background:#eee;
	z-index:-1;
	overflow:hidden;
}
.boxInfoAudi .dataImage img {
	position:absolute;
	width:100%;
	left:0;
	top:0;
}

.boxInfoAudi .dataDate {
	position:absolute;
	color:#FF6E6E;
	background:#ffffffee;
	box-sizing:border-box;
	padding:5px 5px;
	right:5px;
	top:50%;
	max-width:85%;
	font-size:3vw;
	font-weight:bold;
}

.boxInfoAudi .dataEtc {
	position:absolute;
	background:#FFA8A8;
	bottom:0;
	left:0;
	width:100%;
	box-sizing:border-box;
	padding:5px 10px;
	font-size:1.5vw;
}

@media screen and ( min-width:992px )
{
	
	
	.boxInfoAudi {
		width : -webkit-calc(50% - 40px);
  	width : calc(50% - 40px);
		margin:0 20px 40px;
		float:left;
	}
	.boxInfoAudi dt {
		font-size:1.8em;
		left:35px;
		top:35px;
	}
	
	.boxInfoAudi .dataDate {
		font-size:1.0em;
		top:45%;
	}

	.boxInfoAudi .dataEtc {
		font-size:0.9em;
		padding:10px 20px;
	}
}



/*********************************************
オーディション申込ページ
*********************************************/
#blockFormAudition {}

#blockFormAudition .boxMessageUpload {
	font-weight:bold;
	color:#ff4343;
	font-size:1.2em;
	padding:1.5em 0;
}

#blockFormAudition .blockIntroPage {
	margin-bottom:35px;
	position:relative;
}
#blockFormAudition .blockIntroPage p{
	position:relative;
	color:#666;
	font-size:1.05em;
	line-height:1.8em;
	/*font-weight:bold;*/
	z-index:10;
	text-shadow:1px 1px 0px #ffffffff;
}
#blockFormAudition .blockIntroPage .backImg {
	margin:-35% 0 0 0;
	text-align:center;
	line-height:0;
}
#blockFormAudition .blockIntroPage .txtImg {
	width:100%;
	position:absolute;
	left:0;
	bottom:0;
}
#blockFormAudition .blockIntroPage .backImg img,
#blockFormAudition .blockIntroPage .txtImg img {
	width:100%;
}

#blockFormAudition .btmScrollForm {
	padding:15px 0;
}
#blockFormAudition .btmScrollForm a{
	position:relative;
	padding-left:50px;
	text-align:left;
	font-size:1.25em;
}
#blockFormAudition .btmScrollForm a::before{
	position:absolute;
	background:#fff url(css_img/iconFormTtl_mail.svg) no-repeat center center;
	background-size:90%;
	width:24px;
	height:24px;
	margin-top:-12px;
	content:"";
	left:15px;
	top:50%;
	border-radius: 24px;        /* CSS3草案 */  
	-webkit-border-radius: 24px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 24px;   /* Firefox用 */
}


#blockFormAudition .group,
.pageForm .group {
	padding:35px 0;
}

#blockFormAudition .group h3,
.pageForm .group h3 {
	border-bottom:solid 1px #DEDEDE;
	font-weight:bold;
	font-size:4.5vw;
	padding:0 0 2.5% 12.8%;
	margin-bottom:4.5%;
	position:relative;
	color:#262626;
}
#blockFormAudition .group h3::before,
.pageForm .group h3::before {
	content:"";
	position:absolute;
	display:block;
	background-position:left top;
	background-repeat:no-repeat;
	background-size:100%;
	left:2%;
	top:0;
	width:9.3%;
	height:70%;
}

#blockFormAudition .group.info h3::before,
.pageForm .group.info h3::before,
.pageForm .group.infoSeminer h3::before {
	background-image:url(css_img/iconFormTtl_megaphone.svg);
}
#blockFormAudition .group.listRec h3::before,
.pageForm .group.listRec h3::before {
	background-image:url(css_img/iconFormTtl_paper.svg);
}
#blockFormAudition .group.flowPro h3::before,
.pageForm .group.flowPro h3::before {
	background-image:url(css_img/iconFormTtl_buillding.svg);
}
#blockFormAudition .group.etc h3::before,
.pageForm .group.etc h3::before {
	background-image:url(css_img/iconFormTtl_paper.svg);
}
#blockFormAudition .group.auditionForm h3::before,
.pageForm .group.auditionForm h3::before {
	background-image:url(css_img/iconFormTtl_mail.svg);
}

.pageForm .group .groupInfo {
	padding:25px 0;
}
.pageForm .group .groupInfo h4 {
	color:#fff;
	background:#7d7d7d;
	/*padding:0.4em 0.6em;*/
	text-align:center;
	font-size:1.2em;
	margin:0 auto 25px auto;
	max-width:250px;
	box-sizing:border-box;
	font-weight:bold;
	height:35px;
	line-height:35px;
	border-radius: 35px;        /* CSS3草案 */  
	-webkit-border-radius: 35px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 35px;   /* Firefox用 */
}

.pageForm .group .groupInfo .boxInfoSem {
	color:#333;
	float:left;
	width:50%;
	width:-webkit-calc(50% - 20px);
	width:calc(50% - 20px);
	margin:0 10px 20px 10px;
	font-size:0.92em;
	background:#fff;
	border:solid 2px #ffa8a8;
	padding:5px 10px;
	box-sizing:border-box;
	border-radius: 15px;        /* CSS3草案 */  
	-webkit-border-radius: 15px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 15px;   /* Firefox用 */
	box-shadow:2px 2px 8px rgba(0,0,0,0.2);
}
.pageForm .group .groupInfo .boxInfoSem dt{
	text-align:center;
	font-weight:bold;
	border-bottom:solid 1px #ffa8a8;
	color:#ff4343;
	margin-bottom:8px;
	padding:0.5em 0;
}
.pageForm .group .groupInfo .boxInfoSem dd{
	padding:5px 0;
}

.infoSeminer .boxIntroSeminer {
	background:#eee;
	padding:1em 1.1em;
}

.pageForm .group.flowContact {}
.pageForm .group.flowContact .block{
	padding:1.2em 0;
}
.pageForm .group.flowContact .block h4{
	font-weight:bold;
	font-size:1.08em;
	margin-bottom:20px;
	position:relative;
	padding:0.2em 0 0.2em 2.6em;
}
.pageForm .group.flowContact .block h4::before{
	background:#bbb;
	position:absolute;
	left:5px;
	top:0;
	content:"";
	width:25px;
	height:25px;
}

@media screen and ( min-width:992px )
{
	#blockFormAudition .blockIntroPage {
	}
	#blockFormAudition .blockIntroPage p{
		font-size:1.25em;
		line-height:1.8em;
		width:650px;
		position:absolute;
		top:35vpx;
		left:10px;
	}
	#blockFormAudition .blockIntroPage .backImg {
		margin-top:-80px;
		width:580px;
		float:right;
	}
	#blockFormAudition .blockIntroPage .txtImg {
    width: 560px;
    left: 50px;
    bottom: 100px;
	}
	
	#blockFormAudition .group h3,
	.pageForm .group h3 {
		font-size:1.4em;
		padding:0 0 20px 65px;
		margin-bottom:35px;
	}
	
	
	#blockFormAudition .group h3::before,
	 .pageForm .group h3::before{
		left:5px;
		top:0;
		width:50px;
		/*height:65%;*/
	}
	
	.pageForm .group .groupInfo .boxInfoSem {
		width:33%;
		width:-webkit-calc(100%/3 - 20px);
		width:calc(100%/3 - 20px);
		margin:0 10px 20px 10px;
		font-size:0.92em;
		padding:5px 10px;
	}
	
}

/*********************************************
オーディション情報詳細項目
*********************************************/

#blockFormAudition .boxListShosai,
.pageForm .boxListShosai{
	border:#FFA8A8 1px solid;
	padding:20px 15px;
}

#blockFormAudition .boxListShosai dl,
.pageForm .boxListShosai dl{
	padding:20px 0 20px 25px;
	border-bottom:solid 1px #8C8C8C;
	position:relative;
	font-size:0.92em;
}
#blockFormAudition .boxListShosai dl p,
#contents .pageForm .boxListShosai dl p{
	padding:10px 0;
	margin:0;
}
#blockFormAudition .boxListShosai dl .oubo,
.pageForm .boxListShosai dl .oubo{
	position:relative;
	padding-right:70px;
	min-height:70px;
}
#blockFormAudition .boxListShosai dl .oubo .btm,
.pageForm .boxListShosai dl .oubo .btm{
	position:absolute;
	right:0;
	top:0;
	background:left top;
	background-size:100%;
	width:65px;
	height:0;
	overflow:hidden;
	padding:70px 0 0 0;
	border:none;
}
#blockFormAudition .boxListShosai dl .oubo .btm.pdf,
.pageForm .boxListShosai dl .oubo .btm.pdf{
	background-image:url(css_img/btmAuditionMosi_PDF.svg);
}
#blockFormAudition .boxListShosai dl .oubo .btm.form,
.pageForm .boxListShosai dl .oubo .btm.form{
	background-image:url(css_img/btmAuditionMosi_Form.svg);
}

#blockFormAudition .boxListShosai dl::before,
.pageForm .boxListShosai dl::before{
	position:absolute;
	left:10px;
	top:22px;
	content:"";
	display:block;
	border-top:solid 7px transparent;
	border-right:solid 7px transparent;
	border-bottom:solid 7px transparent;
	border-left:solid 9px #FF6E6E;
}

#blockFormAudition .boxListShosai dt,
.pageForm .boxListShosai dt{
	font-weight:bold;
	color:#FF6E6E;
}

/*********************************************
「入所までの流れ」項目
*********************************************/

.imgFlowAudition{
	text-align:center;
	line-height:0;
}

/*********************************************
メールフォーム
*********************************************/

.boxFormarea {
	background:#FFA8A8;
	padding:15px 20px;
}
.boxFormarea.check,
.boxFormarea.error {
	background:#fff;
	border:#FFA8A8 solid 1px;
}

.boxFormarea dl {
	padding:15px 0;
	border-bottom:solid 1px #fff;
	box-sizing:border-box;
}
.boxFormarea.check dl {
	border-bottom:solid 1px #FFA8A8;
}

.boxFormarea.error li {
	font-size:1.07em;
}
.boxFormarea.error li::before {
	content:"!";
	background:#FF4343;
	color:#fff;
	display:block;
	text-align:center;
	width:20px;
	height:20px;
	line-height:20px;
	font-weight:bold;
	box-sizing:border-box;
	border-radius: 20px;        /* CSS3草案 */  
	-webkit-border-radius: 20px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 20px;   /* Firefox用 */
	position:absolute;
	left:0;
	top:8px;

}

.boxFormarea dt {
	margin-bottom:10px;
	font-size:0.98em;
	color:#000;
}
.boxFormarea dd {
	box-sizing:border-box;
	padding:0 10px;
}
.boxFormarea.check dd {
	text-align:center;
	font-size:1.1em;
	color:#FF6E6E;
}

#contents .boxFormarea dd input,
#contents .boxFormarea dd select,
#contents .boxFormarea dd p {
	margin-top:5px;
	margin-bottom:5px;
}

.boxFormarea dd .line{
	float:left;
}
.boxFormarea dd .line.half{
	width:50%;
	width : -webkit-calc(50% - 10px) ;
  width : calc(50% - 10px);
	margin-left:5px;
	margin-right:5px;
}

/*********************************************
体験レッスン・説明会申し込みページ
*********************************************/

.blockIntroPage .boxImg.introSeminer{
	position:relative;
	padding:0 0 20% 0;
}


.blockIntroPage .boxImg.introSeminer .text{
	position:absolute;
	bottom:0;
	left:0;
	margin:0!important;
	padding:0;
}


.blockIntroPage .question{
	color:#ff6e6e;
	line-height:1.5em;
	font-size:1.45em;
}
.blockIntroPage .question li{
	position:relative;
	overflow:hidden;
	margin:12px 0;
	font-weight:bold;
}
.blockIntroPage .question li::before{
	display:block;
	content:"";
	left:-25%;
	bottom:-10px;
	width:120%;
	height:30px;
	position:absolute;
	z-index:-1;
	background:#ffa8a877;
	-moz-transform: skewX(-50deg);
	-webkit-transform: skewX(-50deg);
	-o-transform: skewX(-50deg);
	-ms-transform: skewX(-50deg);
}


@media screen and ( min-width:992px ){

	.blockIntroPage .boxImg.introSeminer{
		padding:0;
		height:550px;
	}
	
	.blockIntroPage .boxImg.introSeminer .text{
		/*bottom:0;
		top:0;*/
		left: -20px;
    bottom: 15px;
		width:700px;
		z-index:10;
	}
	
	.blockIntroPage .boxImg.introSeminer .image{
		right:0;
		top:0;
		width:550px;
		position:absolute;
	}
	.blockIntroPage .boxImg.introSeminer .image img{
		width:100%;
		line-height:0;
	}

	
}

