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

/*--- 基本設定 ------------------------------------------------*/
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
body{
	font-family: YuGothic, Yu Gothic, "游ゴシック", "メイリオ", "Meiryo", sans-serif;
	background: #e4eef8;
	color: #333;
	margin: 0;
}
a{
	color: #333333;
	text-decoration: none;
	transition: 0.3s;
}
a:hover{opacity: 0.7;}
ul{ list-style: none;}
p{font-size: 14px;}
.flex{
	display: flex;
}
.flexbox_center {/* フレックスボックス センター揃え */
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flexbox_left {/* フレックスボックス 左揃え */
	display: flex;
	-webkit-justify-content: left;
	justify-content: left;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flexbox_between {/* フレックスボックス センター揃え */
	display: flex;
	-webkit-justify-content: space-between;
	justify-content:  space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.arrow:after{
	position: absolute;
    top: 50%;
    right: 1.2em;
    content: '';
    margin-top: -4px;
    width: 9px;
    height: 9px;
    border-top: solid 2px #aaa;
    border-right: solid 2px #aaa;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: all .2s;
}
.arrow_dark:after{
	position: absolute;
    top: 50%;
    right: 1.2em;
    content: '';
    margin-top: -4px;
    width: 9px;
    height: 9px;
    border-top: solid 2px #092e52;
    border-right: solid 2px #092e52;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: all .2s;
}
.arrow_white:after{
	position: absolute;
    top: 50%;
    right: 1.2em;
    content: '';
    margin-top: -4px;
    width: 9px;
    height: 9px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: all .2s;
}
.arrow_blue:after{
	position: absolute;
    top: 50%;
    right: 1.2em;
    content: '';
    margin-top: -4px;
    width: 9px;
    height: 9px;
    border-top: solid 2px #009dd5;
    border-right: solid 2px #009dd5;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: all .2s;
}
.arrow_yellow:after{
	position: absolute;
    top: 50%;
    right: 1.2em;
    content: '';
    margin-top: -4px;
    width: 9px;
    height: 9px;
    border-top: solid 2px #ffff00;
    border-right: solid 2px #ffff00;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: all .2s;
}
.arrow_up:after{
	position: absolute;
    top: 50%;
    right: 1.2em;
    content: '';
    margin-top: -2px;
    width: 9px;
    height: 9px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(-45deg);
    -ms-transform: rotate(-5deg);
    -webkit-transform: rotate(-45deg);
    transition: all .2s;
}
.arrow:hover::after,.arrow_dark:hover::after,.arrow_white:hover::after,.arrow_blue:hover::after,.arrow_yellow:hover::after {
    right: 1em;
}
.arrow_up:hover::after {
    top: 1em;
}
.arrow_dark:hover::after{
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;	
}
.line {
    display: block;
    width: 60px;
    border: none;
    border-top: 1px solid rgba(67,67,67,1);
    margin: 25px auto 30px auto;
}
.link_right{ text-align: right;}
.form-control::-webkit-input-placeholder{ color: #ccc;}
.form-control::-moz-placeholder{ color: #ccc;}
.form-control:-moz-placeholder{ color: #ccc;}
.form-control:-ms-input-placeholder{ color: #ccc;}


/*----- jquery 【fadein】 -----*/
.element {
     opacity: 0;
     transform: translateY(20px);
     transition: opacity 0.6s, transform 0.6s;
}
.element.is-fadein {
     opacity: 1;
     transform: translateY(0);
}


/*--- ハンバーガーメニュー ------------------*/ 
@media screen and (max-width: 960px) {
#wrapper nav {
    position: fixed;
    top: 0;
    right: -300px;
    width: 210px;
    height: 100%;
    padding-top: 50px;
    background:#333;
    font-size: 16px;
    box-sizing: border-box;
    z-index: 2
}
#wrapper nav ul li {
    display:block;
	font-size: 14px;
	border-bottom: 1px dotted #555;
    padding: 0 0 0 10px;
	margin: 0 15px;
}
#wrapper nav ul li a {
	display: block;
    text-decoration: none;
    color: #ddd;
	padding: 15px 0;
}
#wrapper .btn-gnavi {
    position: fixed;
    top: 15px;
    right: 20px;
    width: 30px;
    height: 24px;
    z-index: 3;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 400ms;
    transition: all 400ms
} 
#wrapper .btn-gnavi span {
    position: absolute;
    width: 30px;
    height: 4px;
    background: #888;
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms;
} 
#wrapper .btn-gnavi span:nth-child(1) {
    top: 0
} 
#wrapper .btn-gnavi span:nth-child(2) {
    top: 10px
} 
#wrapper .btn-gnavi span:nth-child(3) {
    top: 20px
} 
#wrapper .btn-gnavi.open {
    /*-webkit-transform: rotate(180deg);
    transform: rotate(180deg)*/
} 
#wrapper .btn-gnavi.open span {
    background: #fff
} 
#wrapper .btn-gnavi.open span {
    width: 30px;
}
#wrapper .btn-gnavi.open span:nth-of-type(1) {
    top: 0;
    left: 0;
    transform: translateY(6px) rotate(-45deg);
}
#wrapper .btn-gnavi.open span:nth-of-type(2) {
	opacity: 0;/*真ん中の線は透過*/
}
#wrapper .btn-gnavi.open span:nth-of-type(3){
    top: 12px;
    left: 0;
    transform: translateY(-6px) rotate(45deg);
}
#wrapper .contents section p {
    position: absolute;
    top: 50%;
    width: 30%;
    line-height: 1.4;
    font-size: 20px;
    color: #fff;
    text-shadow: 0 0 6px #666
} 
#wrapper .contents section:nth-child(odd) p {
    left: 10%
} 
#wrapper .contents section:nth-child(even) p {
    right: 10%
}
}






/*********************************************************************************************************
 * PC用CSS
 *********************************************************************************************************/
@media screen and (min-width: 960px) { /*ウィンドウ幅が960px以上の場合に適用*/

.all_wrap{
	overflow: hidden;
}
.wrap{
	margin: 0 auto;
}
.wrapcontents{
	position: relative;
	box-sizing: border-box;
	text-align: center;
    max-width: 960px;
    padding: 0;
	margin: 0 auto;
}
.wrapcontents1280{
	box-sizing: border-box;
	text-align: center;
    max-width: 1280px;
    padding: 0;
	margin: 0 auto;
}
.wrapcontents820{
	position: relative;
	box-sizing: border-box;
	text-align: center;
    max-width: 820px;
    padding: 0;
	margin: 0 auto;
}
.flex960 {
    display: flex;
    max-width: 960px;
    margin: 0 auto;
}
.flex1280 {
    display: flex;
	flex-wrap: wrap;
    max-width: 1280px;
    margin: 0 auto;
}
.leftbox{
	float: left;
}
.rightbox{
	float: right;
}
.flex_center {
    display: flex;
    justify-content: center;
    max-width: 960px;
    margin: 0 auto;
}
.maincontents{
	position: relative;
	padding: 0;
}
.maincontents .wrap{
	box-sizing: border-box;
	text-align: center;
    max-width: 1280px;
    padding: 0;
}
.netprint_btn{
	position: relative;
	display: inline-block;
	background: #fff;
	border: 1px solid #333333;
	border-radius: 50px;
	padding: 25px 40px;
	margin: 20px 0 0 0;
}
.maincontents h2{
	font-size: 30px;
	font-weight: bold;
	line-height: 30px;
	margin: 0 0 40px 0;
}
.maincontents h2 span:first-child{
	font-size: 14px;
	color: #fff000;
}
/*.pc_only{ display: none;}*/
.sp_only{ display: none;}
.tab_only{ display: none;}


/*--- 下層ページの設定 ---*/
.subpage_mainvisual{
	position: relative;
	overflow: hidden;
}





/*--- PC ヘッダー ------------------*/
header{
	box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 30;
    width: 100%;
    background: #4a4a4a;
    box-shadow: 0 1px 3px rgb(0 0 0 / 50%);
    padding: 0 0 0 0;
}
header .wrap{
	box-sizing: border-box;
    max-width: 1280px;
	height: 100px;
    padding: 0;
}
.top_info{
	float: right;
	width: 550px;
	color: #fff;
	text-align: right;
	margin: 10px 0 0 0;
}
.top_info p.invoice{
	float: left;
	width: 220px;
	font-size: 12px;
	margin: 10px 30px 0 0;
}
.top_info p{
	float: left;
	width: 300px;
	font-size: 12px;
}
.top_info p a{
	color: #fff;
}
.top_info span{
	font-size: 25px;
	font-weight: 700;
}
.sitelogo{
	display: inline-block;
	float: left;
	margin: 15px 0 0 0;
}
h1 img{
	width: 100%;
}
.headNavi{
	float: right;
	margin: 15px 0;
}
.headNavi ul{
	padding: 0;
	margin: 0;
}
.headNavi ul li{
	float: left;
	font-size: 15px;
    font-weight: 700;
	padding: 0 15px 0 20px;
}
.headNavi ul li:last-child{
	padding-right: 0;
}
.headNavi ul li a{
	color: #fff;
}




/*--- PC メインビジュアル ------------------------------------*/
.mainvisual{
	overflow: hidden;
	padding: 75px 0 0 0;
}
.main_slider .mainimg {
    min-height: 900px;
    background-size: cover!important;
}
.main_slider .mainimg img{
	width: 100%;
}
.main_slider .bg01 { background: url(../img_top/mainimg/mainimg_001.jpg) center no-repeat;}
.main_slider .bg02 { background: url(../img_top/mainimg/mainimg_002.jpg) center no-repeat;}
.main_slider .bg03 { background: url(../img_top/mainimg/mainimg_003.jpg) center no-repeat;}
.main_slider .bg04 { background: url(../img_top/mainimg/mainimg_004.jpg) center no-repeat;}




/*--- PC 最新情報はこちらSNS ------------------*/
.sns_infobox{
	width: 270px;
	position: absolute;
	top: -35px;
	left: 50%;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.sns_infobox p{
	color: #fff;
	font-size: 19px;
	font-weight: 700;
	text-align: center;
	line-height: 24px;
	margin: 0 0 10px 0;
	text-shadow: #333 0 0 6px;
}
.sns_infobox div{
	text-align: center;
}
.sns_infobox img{
	margin: 0 10px;
}



/*--- PC 利用申込書をダウンロード ------------------*/
.pdf_download{
	background: #4abfbf;
	width: 120px;
	height: 120px;
	position: absolute;
	top: -90px;
	right: 0;
	font-weight: 700;
	text-align: center;
	border-radius: 50%;
	box-shadow: #999 0 0 6px;
}
.pdf_download a{
	display: inline-block;
	font-size: 16px;
	color: #fff;
	padding: 0 0 0 0;
}
.pdf_download a:before {
	content: " ";
	display: inline-block;
	background: url("../img_top/icon/icon_beginner.png") no-repeat;
	background-size: contain;
	width: 21px;
	height: 35px;
	vertical-align: middle;
	margin: -8px 0 6px 0;
}




/*--- PC アドスムム概要 ------------------*/
.adsm_into{
	text-align: center;
	line-height: 27px;
	padding: 100px 0 0 0;
	margin: 0 auto;
}
.adsm_into p{
	font-size: 17px;
	margin: 0 0 20px 0;
}
.adsm_into p.english{
	font-size: 15px;
	line-height: 24px;
}



/*--- PC バナー F・I・T ------------------*/
.banner{
	text-align: center;
	margin: 50px 0 70px 0;
}



/*--- PC 設備紹介 ------------------*/
.facility{
	background: url("../img_top/facility/bg_facility.jpg") center center no-repeat;
	background-size: cover;
}
.facility_wrap{
	padding: 70px 0;
}
.facilitybox{
	width: 33.3%;
}
.facilitybox_item{
	background: #fff;
	width: 306px;
	border-radius: 7px;
	-webkit-border-radius: 7px;
	padding: 0 0 20px 0;
	margin: 0 7px;
}
.facilitybox_item img{
	border-radius: 7px 7px 0 0;
	-webkit-border-radius: 7px 7px 0 0;
}
.facility_title{
	font-size: 21px;
	font-weight: 700;
	color: #0098d0;
	margin: 18px 5px 13px 5px;
}
.facility_text{
	text-align: left;
	line-height: 20px;
	padding: 0 20px 20px 20px;
}
.facility_btn{
	position: relative;
	display: inline-block;
	background: #0062a0;
	width: 196px;
	font-size: 14px;
	color: #fff;
	border-radius: 50px;
	padding: 12px 60px 12px 40px;
}



/*--- PC 各種割引 ------------------*/
.service{
	padding: 70px 0;
}
.service h2{
	font-size: 35px;
	line-height: 24px;
}
.service h2 span{
	font-size: 14px;
	color: #1b95d6;
}
.service p{
	font-size: 17px;
	line-height: 27px;
}
.service p.service_copy{
	margin: 0 0 15px 0;
}
.service_wrap{
	margin: 40px 50px;
}
.servicebox{
	width: 33.3%;
}
.servicebox_item{
}
.servicebox img{
	width: 100%;
}
.servicebox_item_ladys,
.servicebox_item_student,
.servicebox_item_senior{
	background: #fff;
	border-radius: 15px;
	-webkit-border-radius: 15px;
	padding: 0 0 5px 0;
	margin: 0 7px;
}
.servicebox_item_ladys{border: 3px solid #d40050;}
.servicebox_item_student{border: 3px solid #249a92;}
.servicebox_item_senior{border: 3px solid #8484a7;}

.service_title_ladys,
.service_title_student,
.service_title_senior{
	font-size: 21px;
	font-weight: 700;
	line-height: 16px;
	color: #fff;
	border-radius: 7px 7px 0 0;
	-webkit-border-radius: 7px 7px 0 0;
	padding: 11px 0 6px 0;
}
.service_title_ladys{ background: #d40050;}
.service_title_student{ background: #249a92;}
.service_title_senior{ background: #8484a7;}

.service_title_ladys span,
.service_title_student span,
.service_title_senior span{
	display: inline-block;
	font-size: 12px;
	font-weight: 100;
}
.servicebox p{
	font-size: 24px;
	font-weight: 700;
	line-height: 20px;
	padding: 13px 10px 5px;
}
.servicebox p span{
	font-size: 14px;
}
.servicebox_item_ladys p{color: #d40050;}
.servicebox_item_student p{color: #249a92;}
.servicebox_item_senior p{color: #8484a7;}

.catchcopy{
	font-size: 22px !important;
    font-weight: 700;
    margin: 40px 0 10px 0;
}
.catchcopy span{
	font-size: 16px;
	font-weight: 100;
}




/*--- PC ギャラリー ------------------*/
.gallery{
	background: #143e7e;
	padding: 70px 0;
}
.gallery h2{
	color: #fff;
	font-size: 35px;
	line-height: 24px;
}
.gallery h2 span{
	font-size: 14px;
	color: #1b95d6;
}
.gallerybox ul li{
	margin: 0 20px 20px 0;
}
.gallerybox ul li:nth-of-type(4n){
	margin-right: 0;
}
.gallery_btn{
	position: relative;
	display: inline-block;
	background: #fe6281;
	width: 250px;
	font-size: 20px;
	color: #fff;
	border-radius: 50px;
	padding: 17px 60px 17px 40px;
}




/*--- PC ご利用料金 ------------------*/
.price{
	background: #fff;
	padding: 70px 0;
}
.price h2{
	font-size: 35px;
	line-height: 24px;
}
.price h2 span{
	font-size: 14px;
	color: #1b95d6;
}
.pricebox{
	max-width: 570px;
	margin: 0 35px;
}
.pricewrap{
	width: 50%;
	margin: 0 auto;
}
.pricebox h3{
	position: relative;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	text-align: left;
	background: #1b95d6;
	padding: 10px;
	margin: 0 0 15px 0;
}
.beginnersplan h3{
	padding-left: 50px;
}
.beginnersplan h3 img.icon_beginner{
	position: absolute;
	top: -5px;
	left: 10px;
	width: 32px;
	height: 52px;
	transform: rotate(15deg);
}
.pricebox h3 span{
	font-size: 12px;
}
.pricebox p{
	text-align: left;
	line-height: 20px;
}
.pricemenu ul{
	margin: 20px 0;
}
.pricemenu img{
	width: 100%;
}
.price_info{
	text-align: left;
}
.price_info dl{
	border-top: 2px solid #999;
	border-bottom: 2px solid #999;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 0 60px 0;
}
.price_info dt{
	box-sizing: border-box;
	font-size: 14px;
	font-weight: normal;
	width: 35%;
	background: #e4eef8;
    border-bottom: 1px solid #999;
	padding: 15px 0 10px 20px;
	margin: 0;
}
.price_info dt:last-of-type{
    border-bottom: none;
}
.price_info dd{
	box-sizing: border-box;
	font-size: 14px;
	font-weight: normal;
	width: 65%;
	text-align: right;
    border-bottom: 1px solid #999;
	padding: 10px 10px 10px 20px;
	margin: 0;
}
.price_info dd strike img{
	position: relative;
	top: -3px;
}
.price_info dd span.price_txt{
	font-size: 20px;
}
.price_info dd span.price_txt_red{
	font-size: 23px;
	font-weight: 700;
	color: #d73800;
}
.price_info dd:last-of-type{
    border-bottom: none;
}
.price_info dd a{
	text-decoration: underline;
}
.price_btn{
	position: relative;
	display: inline-block;
	background: #fe6281;
	width: 250px;
	font-size: 20px;
	color: #fff;
	border-radius: 50px;
	padding: 17px 60px 17px 40px;
}




/*--- PC 初めてご利用の方 ------------------*/
.beginner{
	padding: 70px 0;
}
.beginner_box{
	background: #fff;
	width: 750px;
	border-radius: 7px;
	padding: 20px;
	margin: 0 auto;
}
.beginner_box h2{
	margin: 20px 0;
}
.beginner_box h2:before{
	content: " ";
	display: inline-block;
	background: url("../img_top/icon/icon_beginner.png") no-repeat;
	background-size: contain;
	width: 22px;
	height: 35px;
	vertical-align: middle;
	margin: -5px 11px 0 0;
    }
.beginner_box h2:after{
	content: " ";
	display: inline-block;
	background: url("../img_top/icon/icon_beginner.png") no-repeat;
	background-size: contain;
	width: 22px;
	height: 35px;
	vertical-align: middle;
	margin: -5px 0 0 11px;
    }
.beginner_box p{
	line-height: 20px;
	margin: 0 0 20px 0;
}
.beginner_box a{
	display: inline-block;
	background: #4abfbf;
	color: #fff;
	border-radius: 25px;
	padding: 16px 30px;
	margin: 0 0 40px 0;
}
.beginner_box a:after{
	content: " ";
	display: inline-block;
	background: url("../img_top/icon/icon_download.png") no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	vertical-align: middle;
	margin: -4px 0 0 10px;
}
.beginner_box ul{
	margin: 0 35px;
}
.beginner_box ul li{
	font-size: 14px;
	line-height: 20px;
	text-align: left;
}






/*--- PC ボルダリングって何？ ------------------*/
.whats_bouldering{
	background: #abdbed;
	color: #0049a0;
	padding: 100px 0;
}
.whats_bouldering .title{
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 10px 0;
}
.whats_bouldering .leftbox{
	width: 240px;
}
.whats_bouldering .leftbox img{
	margin: 0 0 12px 0;
}
.whats_bouldering .rightbox{
	width: 690px;
	line-height: 20px;
	text-align: left;
}



/*--- PC フッター ------------------*/
footer{
	background: #4a4a4a;
	margin: 0 0 0 0;
}
.footercontents{
	padding: 40px 0 0 0;
}
.footercontents .wrap960{
	box-sizing: border-box;
	text-align: center;
    max-width: 960px;
}
.top_return{
	position: absolute;
	top: -74px;
	right: 0;
	display: inline-block;
	background: #4a4a4a;
	color: #fff;
	width: 130px;
	height: 35px;
	font-size: 14px;
	border-radius: 7px 7px 0 0;
	padding: 10px 20px 0 0;
}
.footercontents .leftbox{
	min-width: 530px;
}
.footercontents .rightbox{
	float: right;
}
.companybox{
	text-align: left;
	color: #fff;
	margin: 10px 30px 0 0;
}
.companybox p{
	font-size: 14px;
	line-height: 22px;
	margin: 5px 0;
}
.companybox .shopname{
	font-size: 13px;
	border-bottom: 1px solid #999;
	padding: 0 0 5px 0;
	margin: 0 0 15px 0;
}
.companybox .shopname span{
	font-size: 24px;
	font-weight: 700;
 }
.companybox span{
	color: #fff;
	font-size: 25px;
	font-weight: 700;
}
.company_name{
	font-size: 22px !important;
	font-weight: bold;
	margin: 0;
	padding: 0;
}
.tellink{
	color: #fff;
}
.snsbox{
	margin: 15px 0 0 0;
}
.snsbox ul{
	width: 110px;
	float: left;
	padding: 0;
	margin: 0 10px 0 0;
}
.snsbox ul li{
	float: left;
	width: 45px;
	margin: 0 10px 0 0;
}
.snsbox ul li img{
	width: 100%;
}
.snsbox p{
	float: left;
	font-size: 18px;
	font-weight: 700;
    text-align: left;
    color: #fff;
    margin: 14px 0 0 0;
}
.g_map{
	width: 420px;
	height: 280px;
	margin: 0 auto;
}
.copyright{
	font-size: 12px;
	color: #fff;
	text-align: center;
	padding: 10px 0;
	margin: 50px 0 0 0;
}
.copyright p{
	font-size: 12px;
	color: #a6a6a6;
	margin: 0;
}
.btn_fix,.btn_fix_icon{display: none;}





/*--- PC キッズスクール kidsschool.html ------------------*/
#kidsschool img{width: 100%;}
#kidsschool .subpage_mainvisual{
	position: relative;
	background: url("../img/kidsschool/mainimg.jpg") no-repeat;
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	height: 850px;
}
#kidsschool .subpage_mainvisual::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(190, 200, 200, 1);
	mix-blend-mode: multiply;
}
#kidsschool .subpage_mainvisual .innerbox{
	position: relative;
	width: 800px;
	margin: 230px auto 0;
}
#kidsschool .centerline{
	position: absolute;
	bottom: -100px;
	left: 50%;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.kidsschool_btn{
	position: relative;
	display: inline-block;
	background: #ffff00;
	width: 310px;
	font-size: 20px;
	font-weight: 700;
	color: #009dd5;
	border-radius: 50px;
	overflow: hidden;
	padding: 17px 60px 17px 40px;
}
.kidsschool_btn_blue{
	position: relative;
	display: inline-block;
	background: #009dd5;
	width: 310px;
	font-size: 20px;
	font-weight: 700;
	color: #ffff00;
	border-radius: 50px;
	overflow: hidden;
	padding: 17px 60px 17px 40px;
}
.kidsschool_btn::before,.kidsschool_btn_blue::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fbfbfb;
    animation: btn_animation 3s ease-in-out infinite;
}
@-webkit-keyframes btn_animation {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

/*--- PC 登れば、もっと好きになる。 ---*/
#kidsschool .introbox{
	display: flex;
	margin: 110px 0 110px 0;
}
#kidsschool .introbox .imgbox_left{
	width: 55%;
	margin: 0 55px 0 0;
}
#kidsschool .introbox .imgbox_left img{
	border-radius: 0 20px 20px 0;
}
#kidsschool .introbox .textbox_right{
	width: 30%;
}
#kidsschool .introbox .textbox_right .intro_title{
	color: #009dd5;
	font-size: 34px;
	font-weight: 700;
	margin: 0 0 18px 0;
}
#kidsschool .introbox .textbox_right .intro_text{
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.5px;
	line-height: 26px;
	margin: 0 0 15px 0;
}
.philosophy{
	display: inline-block;
	color: #0081dc;
	padding: 10px 0;
}

/*--- PC スクール概要 ---*/
.schooloutline{
	position: relative;
	background: url("../img/kidsschool/img_kids02.jpg") no-repeat;
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	height: 100%;
	padding: 0 0 40px 0px;
}
.schooloutline::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(80, 135, 133, 0.8);
}
.schooloutline h2{
	font-size: 35px;
	line-height: 24px;
	color: #fff;
	padding: 90px 0 0 0;
}
.schooloutline h2 span{
	font-size: 14px;
	color: #fff;
}
.schooloutline_info{
	text-align: left;
}
.schooloutline_info dl{
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	color: #fff;
	margin: 0 0 60px 0;
}
.schooloutline_info dt{
	box-sizing: border-box;
	font-size: 18px;
	font-weight: normal;
	width: 23%;
    border-bottom: 1px solid #fff;
	padding: 30px 0 30px 60px;
	margin: 0;
}
.schooloutline_info dt:last-of-type{
    border-bottom: none;
}
.schooloutline_info dt span{
	display: inline-block;
	background: #2a6d6a;
	width: 100px;
	text-align: center;
	border-radius: 15px;
	padding: 5px 20px;
}
.schooloutline_info dd{
	box-sizing: border-box;
	font-size: 14px;
	font-weight: normal;
	width: 77%;
    border-bottom: 1px solid #fff;
	padding: 27px 10px 27px 20px;
	margin: 0;
}
.schooloutline_info dd strike img{
	position: relative;
	top: -3px;
}
.schooloutline_info dd span.infotext{
	display: inline-block;
	font-size: 24px;
	letter-spacing: 0.1rem;
	padding: 0 0 5px 0;
}
.schooloutline_info dd span.price_yellow{
	font-size: 35px;
	font-weight: 700;
	color: #ffff00;
}
.schooloutline_info dd span.txt_yellow{
	color: #ffff00;
}
.schooloutline_info dd:last-of-type{
    border-bottom: none;
}
.schooloutline_info dd a{
	text-decoration: underline;
}


/*--- PC レッスン内容 ---*/
.lesson{
	background: #fff;
	padding: 100px 0;
}
.lesson h2{
	font-size: 35px;
	line-height: 24px;
}
.lesson h2 span{
	font-size: 14px;
	color: #1b95d6;
}
.lessonbox{
	width: 25%;
}
.lessonbox_item{
	position: relative;
	width: 100%;
	border-radius: 7px;
	-webkit-border-radius: 7px;
	padding: 0 10px 20px 10px;
	margin: 0;
}
.lessonbox_item img{
	border-radius: 0 20px 0 20px;
	-webkit-border-radius: 0 20px 0 20px;
}
.lesson_title{
	text-align: left;
	font-size: 21px;
	font-weight: 700;
	color: #333333;
	margin: 10px 0;
}
.lesson_text{
	text-align: left;
	line-height: 20px;
	padding: 0 0px 20px 0px;
}
.lesson_number{
	position: absolute;
	top: 0;
	left: 10px;
	display: inline-block;
	background: #000;
	color: #fff;
	padding: 4px 8px;
}



/*--- PC 入会の流れ ---*/
.flow{
	padding: 100px 0;
}
.flow h2{
	font-size: 35px;
	line-height: 24px;
}
.flow h2 span{
	font-size: 14px;
	color: #1b95d6;
}
.flowbox{
	width: 33.3%;
}
.flowbox:nth-child(3){
	width: 30%;
}
.flow_info{
	margin: 0 0 70px 0;
}
.flowbox_item{
	position: relative;
	background: #fff;
	width: 382px;
	border: 1px solid #009dd5;
	border-radius: 14px;
	-webkit-border-radius: 14px;
	box-shadow: 5px 5px 0px 0px rgba(0, 157, 213, 1);
	padding: 30px;
	margin: 0;
}
.flowbox_item img{
}
.flow_title{
	text-align: left;
	font-size: 21px;
	font-weight: 700;
	color: #009dd5;
	margin: 15px 0 10px 0;
}
.flow_text{
	text-align: left;
	line-height: 20px;
	padding: 0 0px 20px 0px;
}
.arrow_flow:after{
	position: absolute;
    top: 50%;
    right: -29px;
    content: '';
    margin-top: -4px;
    width: 25px;
    height: 25px;
    border-top: solid 2px #009dd5;
    border-right: solid 2px #009dd5;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: all .2s;
}













} /*--- PC用CSS end ------------------*/




/*********************************************************************************************************
 * タブレット用CSS
 *********************************************************************************************************/
@media screen and (min-width: 960px) and (max-width: 1280px) { /*ウィンドウ幅が960px〜1280pxの間の場合に適用*/

/*---タブレット キッズスクール kidsschool.html ------------------*/
.wrapcontents1280{
	box-sizing: border-box;
	text-align: center;
    /*max-width: 1280px;*/
    padding: 0 20px;
	margin: 0 auto;
}

/*--- タブレット 登れば、もっと好きになる。 ---*/
#kidsschool .introbox{
	display: flex;
	margin: 110px 0 110px 0;
}
#kidsschool .introbox .imgbox_left{
	width: 45%;
	margin: 0 25px 0 0;
}
#kidsschool .introbox .imgbox_left img{
	border-radius: 0 20px 20px 0;
}
#kidsschool .introbox .textbox_right{
	width: 45%;
}
#kidsschool .introbox .textbox_right .intro_title{
	color: #009dd5;
	font-size: 29px;
	font-weight: 700;
	margin: 0 0 18px 0;
}
#kidsschool .introbox .textbox_right .intro_text{
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.5px;
	line-height: 26px;
	margin: 0 0 15px 0;
}
.philosophy{
	display: inline-block;
	color: #0081dc;
	padding: 10px 0;
}

/*--- タブレット レッスン内容 ---*/
.lesson{
	background: #fff;
	padding: 100px 0;
}
.lesson h2{
	font-size: 35px;
	line-height: 24px;
}
.lesson h2 span{
	font-size: 14px;
	color: #1b95d6;
}
.lessonbox{
	width: 25%;
}
.lessonbox_item{
	position: relative;
	max-width: 100%;
	border-radius: 7px;
	-webkit-border-radius: 7px;
	padding: 0 10px 20px 10px;
	margin: 0;
}
.lessonbox_item img{
	border-radius: 0 20px 0 20px;
	-webkit-border-radius: 0 20px 0 20px;
}
.lesson_title{
	text-align: left;
	font-size: 19px;
	font-weight: 700;
	color: #333333;
	margin: 10px 0;
}
.lesson_text{
	text-align: left;
	line-height: 20px;
	padding: 0 0px 20px 0px;
}
.lesson_number{
	position: absolute;
	top: 0;
	left: 10px;
	display: inline-block;
	background: #000;
	color: #fff;
	padding: 4px 8px;
}



/*--- タブレット 入会の流れ ---*/
.flow{
	padding: 100px 0;
}
.flow h2{
	font-size: 35px;
	line-height: 24px;
}
.flow h2 span{
	font-size: 14px;
	color: #1b95d6;
}
.flowbox{
	width: 30%;
	margin: 0 30px 0 0;
}
.flowbox:nth-child(3){
	margin: 0 0 0 0;
}
.flow_info{
	margin: 0 0 70px 0;
}
.flowbox_item{
	position: relative;
	background: #fff;
	width: 100%;
	border: 1px solid #009dd5;
	border-radius: 14px;
	-webkit-border-radius: 14px;
	box-shadow: 5px 5px 0px 0px rgba(0, 157, 213, 1);
	padding: 20px;
	margin: 0;
}
.flowbox_item img{
}
.flow_title{
	text-align: left;
	font-size: 21px;
	font-weight: 700;
	color: #009dd5;
	margin: 15px 0 10px 0;
}
.flow_text{
	text-align: left;
	line-height: 20px;
	padding: 0 0px 5px 0px;
}
.arrow_flow:after{
	position: absolute;
    top: 50%;
    right: -23px;
    content: '';
    margin-top: -4px;
    width: 20px;
    height: 20px;
    border-top: solid 2px #009dd5;
    border-right: solid 2px #009dd5;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: all .2s;
}





} /*--- タブレット用CSS end ------------------*/





/*********************************************************************************************************
 * スマホ用CSS
 *********************************************************************************************************/
@media screen and (max-width: 959px) { /*ウィンドウ幅が最大959pxまでの場合に適用*/

.all_wrap{
	overflow: hidden;
}
.wrap{
	margin: 0 auto;
}
.wrapcontents{
	box-sizing: border-box;
	max-width: 560px;
	text-align: center;
    padding: 0;
	margin: 0 auto;
}
.flex {
    display: flex;
	flex-wrap: wrap;
    margin: 0 auto;
}
.maincontents{
	position: relative;
	padding: 0;
}
.maincontents .wrap{
	box-sizing: border-box;
	text-align: center;
    padding: 0;
}
.netprint_btn{
	position: relative;
	display: inline-block;
	background: #fff;
	border: 1px solid #333333;
	border-radius: 50px;
	padding: 25px 40px;
	margin: 20px 0 0 0;
}
.maincontents h2{
	font-size: 20px;
	font-weight: bold;
	margin: 0 0 20px 0;
}
.maincontents h2 span:first-child{
	font-size: 14px;
	color: #fff000;
}
.pc_only{ display: none;}
/*.sp_only{ display: none;}*/
.tab_only{ display: none;}
.text_right{ text-align: right !important;}



/*--- SP ヘッダー ------------------*/
header{
	box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 11;
    width: 100%;
    background: #4a4a4a;
    box-shadow: 0 1px 3px rgb(0 0 0 / 50%);
    padding: 0 0 0 0;
}
header .wrap{
	box-sizing: border-box;
    width: 100%;
	height: 50px;
    padding: 0;
}
.top_info{
	display: none;
}
.sitelogo{
	display: inline-block;
	float: left;
	width: 250px;
}
h1 img{
	width: 65%;
	margin: 6px 0 0 10px;
}



/*--- SP メインビジュアル ------------------*/
.mainvisual{
	overflow: hidden;
	padding: 50px 0 0 0;
}
.main_slider .mainimg {
    min-height: 400px;
    background-size: cover !important;
}
.main_slider .bg01 { background: url(../img_top/mainimg/mainimg_001sp.jpg) center no-repeat;}
.main_slider .bg02 { background: url(../img_top/mainimg/mainimg_002sp.jpg) center no-repeat;}
.main_slider .bg03 { background: url(../img_top/mainimg/mainimg_003sp.jpg) center no-repeat;}
.main_slider .bg04 { background: url(../img_top/mainimg/mainimg_004sp.jpg) center no-repeat;}




/*--- SP 最新情報はこちらSNS ------------------*/
.sns_infobox{
	width: 270px;
	position: absolute;
	top: -35px;
	left: 50%;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.sns_infobox p{
	color: #fff;
	font-size: 19px;
	font-weight: 700;
	text-align: center;
	line-height: 24px;
	margin: 0 0 5px 0;
	text-shadow: #333 0 0 6px;
}
.sns_infobox div{
	text-align: center;
}
.sns_infobox img{
	width: 50px;
	margin: 0 7px;
}



/*--- SP 利用申込書をダウンロード ------------------*/
.pdf_download{
	display: none;
}



/*--- SP アドスムム概要 ------------------*/
.adsm_into{
	text-align: center;
	max-width: 560px;
	line-height: 24px;
	padding: 70px 0 0 0;
	margin: 0 auto;
}
.adsm_into p{
	font-size: 14px;
	margin: 0 0 20px 0;
}
.adsm_into p.english{
	line-height: 21px;
	padding: 0 10px;
}




/*--- SP バナー F・I・T ------------------*/
.banner{
	max-width: 600px;
	text-align: center;
	padding: 0 20px;
	margin: 30px auto 50px auto;
}
.banner img{
	width: 100%;
}



/*--- SP 設備紹介 ------------------*/
.facility{
	background: url("../img_top/facility/bg_facility.jpg") center center;
	background-size: cover;
}
.facility_wrap{
	padding: 40px 0;
}
.facilitybox_item{
	background: #fff;
	width: 295px;
	border-radius: 7px;
	-webkit-border-radius: 7px;
	padding: 0 0 20px 0;
	margin: 0 7px;
}
.facilitybox_item img{
	width: 100%;
	border-radius: 7px 7px 0 0;
	-webkit-border-radius: 7px 7px 0 0;
}
.facility_title{
	font-size: 19px;
	font-weight: 700;
	color: #0098d0;
	margin: 18px 5px 13px 5px;
}
.facility_text{
	text-align: left;
	line-height: 20px;
	padding: 0 20px 20px 20px;
}
.facility_btn{
	position: relative;
	display: inline-block;
	background: #0062a0;
	font-size: 16px;
	color: #fff;
	border-radius: 50px;
	padding: 12px 60px 12px 40px;
}



/*--- SP 各種割引 ------------------*/
.service{
	max-width: 600px;
	text-align: center;
	padding: 70px 0;
	margin: 0 auto;
}
.service h2{
	font-size: 27px;
	line-height: 21px;
}
.service h2 span{
	font-size: 14px;
	color: #1b95d6;
}
.service p{
	font-size: 14px;
	line-height: 21px;
}
.service p.service_copy{
	margin: 0 0 15px 0;
}
.service p.service_copy_en{
	padding: 0 10px;
}
.service_wrap{
	margin: 20px 0;
}
.servicebox{
	width: 100%;
}
.servicebox_item{
}
.servicebox img{
	width: 100%;
}
.servicebox_item_ladys,
.servicebox_item_student,
.servicebox_item_senior{
	background: #fff;
	border-radius: 15px;
	-webkit-border-radius: 15px;
	padding: 0 0 5px 0;
	margin: 5px 20px;
}
.servicebox_item_ladys{border: 3px solid #d40050;}
.servicebox_item_student{border: 3px solid #249a92;}
.servicebox_item_senior{border: 3px solid #8484a7;}

.service_title_ladys,
.service_title_student,
.service_title_senior{
	font-size: 18px;
	font-weight: 700;
	line-height: 16px;
	color: #fff;
	border-radius: 7px 7px 0 0;
	-webkit-border-radius: 7px 7px 0 0;
	padding: 5px 0;
}
.service_title_ladys{ background: #d40050;}
.service_title_student{ background: #249a92;}
.service_title_senior{ background: #8484a7;}

.service_title_ladys span,
.service_title_student span,
.service_title_senior span{
	display: inline-block;
	font-size: 12px;
	font-weight: 100;
}
.servicebox p{
	font-size: 24px;
	font-weight: 700;
	line-height: 20px;
	padding: 13px 10px 5px;
}
.servicebox p span{
	font-size: 14px;
}
.servicebox_item_ladys p{color: #d40050;}
.servicebox_item_student p{color: #249a92;}
.servicebox_item_senior p{color: #8484a7;}

.catchcopy{
	font-size: 18px !important;
    font-weight: 700;
    margin: 20px 0 10px 0;
}
.catchcopy span{
	font-size: 16px;
	font-weight: 100;
}
.bannerarea{
	margin: 0 20px;
}
.bannerarea a{
	display: inline-block;
	margin: 0 0 10px 0;
}
.bannerarea img{
	width: 100%;
}




/*--- SP ギャラリー ------------------*/
.gallery{
	background: #143e7e;
	background-size: cover;
	padding: 70px 0;
	margin: 0 auto;
}
.gallery h2{
	color: #fff;
	font-size: 27px;
	line-height: 21px;
}
.gallery h2 span{
	font-size: 14px;
	color: #1b95d6;
}
.gallerybox{
	margin: 0 20px;
}
.gallerybox ul li{
	width: 31%;
	margin: 0 10px 10px 0;
}
.gallerybox ul li:nth-of-type(3n){
	margin-right: 0;
}
.gallerybox ul li img{
	width: 100%;
}
.gallery_btn{
	position: relative;
	display: inline-block;
	background: #fe6281;
	width: 200px;
	font-size: 16px;
	color: #fff;
	border-radius: 50px;
	padding: 12px 60px 12px 40px;
	margin: 15px 0 0 0;
}




/*--- SP ご利用料金 ------------------*/
.price_bg{
	background: #fff;
}
.price{
	max-width: 600px;
	text-align: center;
	padding: 70px 0;
	margin: 0 auto;
}
.price h2{
	font-size: 27px;
	line-height: 21px;
}
.price h2 span{
	font-size: 14px;
	color: #1b95d6;
}
.pricebox{
	width: 100%;
}
.pricebox h3{
	position: relative;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-align: left;
	background: #1b95d6;
	padding: 10px;
	margin: 0 0 15px 0;
}
.beginnersplan h3{
	padding-left: 50px;
}
.beginnersplan h3 img.icon_beginner{
	position: absolute;
	top: -5px;
	left: 10px;
	width: 30px;
	height: 49px;
	transform: rotate(15deg);
}
.pricebox h3 span{
	font-size: 12px;
}
.pricebox p{
	text-align: left;
	line-height: 20px;
	margin: 0 20px;
}
.pricemenu{
	margin: 0 10px;
}
.pricemenu ul{
	margin: 20px 0;
}
.pricemenu img{
	width: 100%;
}
.price_info{
	text-align: left;
	margin: 0 20px;
}
.price_info dl{
	border-top: 2px solid #999;
	border-bottom: 2px solid #999;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 0 60px 0;
}
.price_info dt{
	box-sizing: border-box;
	font-size: 14px;
	font-weight: normal;
	width: 35%;
	background: #e4eef8;
    border-bottom: 1px solid #999;
	padding: 15px 0 10px 10px;
	margin: 0;
}
.price_info dt:last-of-type{
    border-bottom: none;
}
.price_info dd{
	box-sizing: border-box;
	font-size: 14px;
	font-weight: normal;
	width: 65%;
	text-align: right;
    border-bottom: 1px solid #999;
	padding: 10px 10px 10px 20px;
	margin: 0;
}
.price_info dd strike img{
	position: relative;
	top: -3px;
}
.price_info dd span.price_txt{
	font-size: 18px;
}
.price_info dd span.price_txt_red{
	font-size: 18px;
	font-weight: 700;
	color: #d73800;
}
.price_info dd:last-of-type{
    border-bottom: none;
}
.price_info dd a{
	text-decoration: underline;
}
.price_info dd strike{
	font-size: 13px;	
}
.price_btn{
	position: relative;
	display: inline-block;
	background: #fe6281;
	width: 200px;
	font-size: 16px;
	color: #fff;
	border-radius: 50px;
	padding: 12px 60px 12px 40px;
	margin: 0;
}



/*--- SP 初めてご利用の方 ------------------*/
.beginner{
	max-width: 600px;
	text-align: center;
	padding: 70px 0;
	margin: 0 auto;
}
.beginner_box{
	background: #fff;
	border-radius: 7px;
	padding: 20px;
	margin: 0 20px;
}
.beginner_box h2{
	margin: 20px 0;
}
.beginner_box h2:before{
	content: " ";
	display: inline-block;
	background: url("../img_top/icon/icon_beginner.png") no-repeat;
	background-size: contain;
	width: 18px;
	height: 28px;
	vertical-align: middle;
	margin: -4px 7px 0 0;
    }
.beginner_box h2:after{
	content: " ";
	display: inline-block;
	background: url("../img_top/icon/icon_beginner.png") no-repeat;
	background-size: contain;
	width: 18px;
	height: 28px;
	vertical-align: middle;
	margin: -4px 0 0 7px;
    }
.beginner_box p{
	text-align: left;
	line-height: 20px;
	margin: 0 0 20px 0;
}
.beginner_box a{
	display: inline-block;
	background: #4abfbf;
	font-size: 14px;
	color: #fff;
	border-radius: 25px;
	padding: 16px 20px;
	margin: 0 0 25px 0;
}
.beginner_box a:after{
	content: " ";
	display: inline-block;
	background: url("../img_top/icon/icon_download.png") no-repeat;
	background-size: contain;
	width: 17px;
	height: 17px;
	vertical-align: middle;
	margin: -4px 0 0 7px;
}
.beginner_box ul{
	margin: 0 0 0 18px;
}
.beginner_box ul li{
	font-size: 14px;
	line-height: 20px;
	text-indent: -18px;
	text-align: left;
}





/*--- SP ボルダリングって何？ ------------------*/
.whats_bouldering{
	background: #abdbed;
	color: #0049a0;
	padding: 0 0 30px 0;
}
.whats_bouldering .title{
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 10px 0;
}
.whats_bouldering .leftbox img{
	width: 100%;
	margin: 0 0 12px 0;
}
.whats_bouldering .leftbox .whats_bouldering_logo{
	width: 240px;
}
.whats_bouldering .rightbox{
	line-height: 20px;
	text-align: left;
	padding: 0 10px;
	margin: 0 0 20px 0;
}




/*--- SP フッター ------------------*/
footer{
	background: #4a4a4a;
	margin: 0 0 0 0;
	padding: 0 0 40px 0;
}
.footercontents{
	padding: 20px 0 0 0;
	margin: 0 20px;
}
.footercontents .wrap960{
	box-sizing: border-box;
	text-align: center;
    max-width: 960px;
}
.top_return{ display: none;}

.companybox{
	text-align: center;
	color: #fff;
	margin: 10px 0 0 0;
}
.companybox p{
	text-align: left;
	font-size: 14px;
	line-height: 22px;
	margin: 5px 0;
}
.companybox .shopname{
	font-size: 13px;
	border-bottom: 1px solid #999;
	padding: 0 0 5px 0;
	margin: 0 0 15px 0;
}
.companybox .shopname span{
	font-size: 22px;
	font-weight: 700;
 }
.companybox span{
	color: #fff;
	font-size: 21px;
	font-weight: 700;
}
.company_name{
	font-size: 22px !important;
	font-weight: bold;
	margin: 0;
	padding: 0;
}
.company_name img{
	width: 230px;
}
.tellink{
	color: #fff;
}
.snsbox{
	display: inline-block;
	margin: 20px auto;
}
.snsbox ul{
	width: 110px;
	float: left;
	padding: 0;
	margin: 0;
}
.snsbox ul li{
	float: left;
	width: 45px;
	margin: 0 10px 0 0;
}
.snsbox ul li img{
	width: 100%;
}
.snsbox p{
	float: left;
    margin: 16px 0 0 0;
    text-align: left;
    color: #fff;
}
.g_map{
	max-width: 560px;
	height: 250px;
	margin: 0 auto;
}
.copyright{
	font-size: 12px;
	color: #fff;
	text-align: center;
	padding: 40px 0 15px 0;
}
.copyright p{
	font-size: 11px;
	color: #a6a6a6;
	margin: 0;
}

.btn_fix{
	position: fixed;
    bottom: 0;
    width: 100%;
    display: block;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
    z-index: 999;
}
.btn_fix a{
	display: inline-block;
	text-align: center;
	background: #222;
	font-size: 13px;
	font-weight: 700;
	width: 100%;
	height: 45px;
	color: #fff;
	letter-spacing: 0.1em;
	padding: 15px 0 0 0;
}
.btn_fix a:before {
	content: " ";
	display: inline-block;
	background: url(../img_top/icon/icon_tel2.png) no-repeat;
	background-size: contain;
	width: 17px;
	height: 17px;
	vertical-align: middle;
	margin: -4px 5px 0 0;
}
.btn_fix a:hover{
	opacity: 1;
}
.btn_fix_icon{
	position: fixed;
	right: 8px;
    bottom: 8px;
    display: block;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
    z-index: 999;
}
.btn_fix_icon a{
	display: inline-block;
	text-align: center;
	background: #222;
	font-size: 12px;
	font-weight: 700;
	width: 65px;
	height: 65px;
	color: #fff;
	letter-spacing: 0.1em;
	border-radius: 50%;
	padding: 7px 0 0 2px;
}
.btn_fix_icon a:hover{
	opacity: 1;
}
.btn_fix_icon a img{
    width: 25px;
    height: 30px;
	margin: 0 0 4px 0;
}






/*--- SP キッズスクール kidsschool.html ------------------*/
#kidsschool img{width: 100%;}
#kidsschool .subpage_mainvisual{
	position: relative;
	background: url("../img/kidsschool/mainimg_sp.jpg") no-repeat;
	background-size: cover;
	background-position: top;
}
#kidsschool .subpage_mainvisual::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(190, 200, 200, 1);
	mix-blend-mode: multiply;
}
#kidsschool .subpage_mainvisual .innerbox{
	position: relative;
	width: 90%;
	max-width: 700px;
	margin: 50px auto 0;
	padding: 30% 0 40%;
}
#kidsschool .centerline{
	position: absolute;
	bottom: 10%;
	left: 50%;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.kidsschool_btn{
	position: relative;
	display: inline-block;
	background: #ffff00;
	width: 250px;
	font-size: 16px;
	font-weight: 700;
	color: #009dd5;
	border-radius: 50px;
	overflow: hidden;
	padding: 12px 50px 12px 30px;
}
.kidsschool_btn_blue{
	position: relative;
	display: inline-block;
	background: #009dd5;
	width: 300px;
	font-size: 20px;
	font-weight: 700;
	color: #ffff00;
	border-radius: 50px;
	overflow: hidden;
	padding: 17px 60px 17px 40px;
}
.kidsschool_btn::before,.kidsschool_btn_blue::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fbfbfb;
    animation: btn_animation 3s ease-in-out infinite;
}
@-webkit-keyframes btn_animation {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
#kidsschool .introbox{
	/*display: flex;*/
	margin: 50px 0;
}
#kidsschool .introbox .imgbox_left{
	margin: 0 7% 0 0;
}
#kidsschool .introbox .imgbox_left img{
	border-radius: 0 20px 20px 0;
}
#kidsschool .introbox .textbox_right{
	margin: 20px 7% 0 7%;
}
#kidsschool .introbox .textbox_right .intro_title{
	color: #009dd5;
	font-size: 23px;
	font-weight: 700;
	margin: 0 0 8px 0;
}
#kidsschool .introbox .textbox_right .intro_text{
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.5px;
	line-height: 21px;
	margin: 0 0 15px 0;
}
.philosophy{
	display: inline-block;
	color: #0081dc;
	padding: 10px 0;
}

/*--- SP スクール概要 ---*/
.schooloutline{
	position: relative;
	background: url("../img/kidsschool/img_kids02_sp.jpg") no-repeat;
	background-size: cover;
	background-position: top;
	padding: 0 20px 50px 20px;
}
.schooloutline::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(80, 135, 133, 0.8);
}
.schooloutline h2{
	font-size: 27px;
	line-height: 21px;
	text-align: center;
	color: #fff;
	padding: 60px 0 0 0;
}
.schooloutline h2 span{
	font-size: 14px;
	color: #fff;
}
.schooloutline_info{
	max-width: 600px;
	text-align: center;
	margin: 0 auto;
}
.schooloutline_info dl{
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	width: 100%;
	color: #fff;
	margin: 0;
}
.schooloutline_info dt{
	box-sizing: border-box;
	font-size: 14px;
	font-weight: normal;
	padding: 15px 0 0 0;
	margin: 0;
}
.schooloutline_info dt:last-of-type{
    border-bottom: none;
}
.schooloutline_info dt span{
	display: inline-block;
	background: #2a6d6a;
	width: 75px;
	text-align: center;
	border-radius: 15px;
	padding: 5px 15px;
}
.schooloutline_info dd{
	box-sizing: border-box;
	font-size: 14px;
	font-weight: normal;
    border-bottom: 1px solid #fff;
	padding: 10px 0 15px 0;
	margin: 0;
}
.schooloutline_info dd strike img{
	position: relative;
	top: -3px;
}
.schooloutline_info dd span.infotext{
	display: inline-block;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.1rem;
	padding: 0 0 5px 0;
}
.schooloutline_info dd span.price_yellow{
	font-size: 30px;
	font-weight: 700;
	color: #ffff00;
}
.schooloutline_info dd span.txt_yellow{
	color: #ffff00;
}
.schooloutline_info dd:last-of-type{
    border-bottom: none;
}
.schooloutline_info dd a{
	text-decoration: underline;
}


/*--- SP レッスン内容 ---*/
.lesson{
	background: #fff;
	padding: 50px 0 40px 0;
}
.lesson h2{
	font-size: 27px;
	line-height: 21px;
	text-align: center;
}
.lesson h2 span{
	font-size: 14px;
	color: #1b95d6;
}
.lessonbox_item{
	position: relative;
	width: 300px;
	border-radius: 7px;
	-webkit-border-radius: 7px;
	padding: 0;
	margin: 0 7px;
}
.lessonbox_item img{
	border-radius: 0 20px 0 20px;
	-webkit-border-radius: 0 20px 0 20px;
}
.lesson_title{
	text-align: left;
	font-size: 18px;
	font-weight: 700;
	color: #333333;
	margin: 10px 0;
}
.lesson_text{
	text-align: left;
	line-height: 20px;
	padding: 0;
}
.lesson_number{
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	background: #000;
	color: #fff;
	padding: 4px 8px;
}



/*--- SP 入会の流れ ---*/
.flow{
	padding: 50px 20px 50px 20px;
}
.flow h2{
	font-size: 27px;
	line-height: 21px;
	text-align: center;
}
.flow h2 span{
	font-size: 14px;
	color: #1b95d6;
}
.flow_info{
	max-width: 550px;
	margin: 0 auto;
}
.flowbox_item{
	position: relative;
	background: #fff;
	border: 1px solid #009dd5;
	border-radius: 14px;
	-webkit-border-radius: 14px;
	box-shadow: 5px 5px 0px 0px rgba(0, 157, 213, 1);
	padding: 20px;
	margin: 0 0 40px 0;
}
.flowbox_item img{
}
.flow_title{
	text-align: left;
	font-size: 21px;
	font-weight: 700;
	color: #009dd5;
	margin: 15px 0 10px 0;
}
.flow_text{
	text-align: left;
	line-height: 20px;
	padding: 0;
}
.arrow_flow:after{
	position: absolute;
    bottom: -28px; 
    left: 50%;
    content: '';
    margin-left: -13px;
    width: 25px;
    height: 25px;
    border-top: solid 2px #009dd5;
    border-right: solid 2px #009dd5;
    transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transition: all .2s;
}
.btn_cener{text-align: center;}



























} /*--- スマホ用CSS end ------------------*/


