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

/*********************
*
*web全体の設定
*
**********************/
html{
	font-size: 62.5%;

}

body{
	color: #333;
	font-size: 1.6rem;
	font-family: "open sans","Helvetica","Arial","Osaka","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ", Meiryo,  "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	letter-spacing: 0.03em;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	line-height: 1.85;
	font-feature-settings: "palt";
	-webkit-text-size-adjust: 100%;
}

img {
	max-width:100%;
	height:auto;
}

.text-center{
	text-align: center;
}

.pc{
	display:none;
}

.inner{
	max-width: 90%;
	margin:0 auto;
}

.center{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}



.c333{
	color: #333;
}

.cfff{
	color: #fff;
}
.c-pink{
background-color: #f227db;
}

.c-orange{
	background-color: #ff7714;
}

.c-green{
	background-color: #60d152;
}

.c-red{
	background-color: #ff0100;
}

.bgc-fff{
	background-color: #fff;
}

.bgc-333{
	background-color: #333;
}



/*fadein*/

.page-in{
  opacity : 0;
  transform: translateY(20px);
  transition: all 1s;
}

/*********************
*
*home
*
**********************/

/**********
*header
***********/

.header{
	position: relative;
}

.parallax-image{
	height: 151.4vw;
}

.parallax-image:before{
	content:"";
	display: block;
	position: fixed;
	top:0;
	left:0;
	z-index: -100;
	background-image: url("../images/a_KV_IMG_6349.jpg");
	background-size: cover;
	width: 100%;
	height: 100vh;

}

.logo{
	position:absolute;
	top:61.3vw;
	left:16vw;
	width: 68%;
	height: auto;
}

.icon-shop{
	position: absolute;
	bottom:4vw;
	left:6vw;
	width: 12%;
	height: auto;

}

.scroll{
	position: absolute;
	bottom: 20px;
	left: 45%;
	color: #fff;
	padding-top: 70px;




	}

.scroll span{
	display: block;
	position: relative;
  top: -30px;
  width: 24px;
  height: 24px;
  margin-left: 10px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 1.5s infinite;
  animation: sdb 1.5s infinite;
  box-sizing: border-box;

}

@-webkit-keyframes sdb {
  0% {
	  transform: rotate(-45deg) translate(0, 0);
	  opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}

/**********
*nav-btn
**********/
.btn{
	position: relative;

}

.btn-trigger{
	position: fixed;
	top: 4vw;
	right:7.3vw;
	width: 9.3vw;
	height: 7.5vw;
	padding: 0;
	background-color: transparent;
	border-color:transparent;
	box-sizing: border-box;
	z-index:300;
	cursor:pointer;

}


.btn-trigger span{
	position: absolute;
	display: block;
	width: 9.3vw;
	height: 4px;
	box-sizing: border-box;
	transition: all .4s;


}

/*１本目の指定*/
.btn-trigger span:first-of-type{
	top:0;

}

/*２本目の設定*/
.btn-trigger span:nth-of-type(2){
	top: 3.0vw;
}

/*３本目の設定*/
.btn-trigger span:last-of-type{
	top: 6.1vw;
}

.btn-trigger.active span:first-of-type{
	-webkit-transform: translateY(3.0vw) rotate(-315deg);
	transform: translateY(3.0vw) rotate(-315deg);
}

.btn-trigger.active span:nth-of-type(2){
	opacity: 0;
}

.btn-trigger.active span:last-of-type{
	-webkit-transform: translateY(-3.1vw) rotate(315deg);
	transform: translateY(-3.1vw) rotate(315deg);
}

.btn-trigger.active span{
	background-color: #fff;
}


/**********
*nav
**********/

.icon-shop_menu{
	position:absolute;
	top:3vw;
	right:18vw;
	width:8%;

}


.navi{
	display: none;
    position: fixed;
    top:0;
    left:0;
    z-index: 200;
    box-sizing: border-box;
    width:100%;
    height: 120%;
    padding: 5% 0 0;
    background-image: linear-gradient(-160deg, #5f81fb, #ff29ef,#ff0000);
}


.nav-list{
	margin-top:14.8vw;
	margin-left:8vw;
}

.nav-list li .font{
	display: block;
	font-size: 1.1rem;
	line-height: 0.2;
}

.nav-list li>span{
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 50%;
}

.nav-list {
	color: #fff;


}

.nav-list a{
	color: #fff;
	font-weight: bold;
	font-size:1.6rem;
}

.nav-list li{
	padding: 10px 0;
}

.nav-list li:nth-of-type(2){
	padding-bottom:15px;
}

.nav-list li:nth-of-type(4){
	padding-bottom:15px;
}

.accordion1>span,
.accordion2>span,
.accordion3>span,
.accordion4>span{
	font-weight: bold;
}


.nav-list li ul li{
	padding: 10px 0;

}

.nav-list li ul a{
	font-weight: normal;
	font-size: 1.4rem;
}

.nav-list li ul{
	padding-left: 4vw;
	display: none;
}



/**********
*nav 営業時間
**********/

.opentime{
	font-size: 1.4rem;
	margin-top: 4%;
	margin-bottom: 6.6%;
	margin-left:8vw;
}

.opentime p{
	font-weight: bold;
}

.opentime tr>td:first-of-type{
	width: 50px;
}

.sns-icon{
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	color: #fff;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 32vw;
	padding-left: 37.5px;;
}

.sns-icon a{
	font-size:2.4rem;
	color: #fff;
}





/**********
*concept
**********/
.bg{
	background-color: #fff;
	margin-bottom: 13.3vw;
}


.section{
	background-color: #fff;
}

.page-intro{
	padding-top: 13.2vw;
	padding-bottom: 13.3vw;

}

.bg .section .page-intro{
	padding-top: 13.2vw;
	padding-bottom: 0;
}

.ul-title{
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1.3;
}

.ul-title::after{
	content: "";
	display: block;
	width: 60%;
	height: 10px;
	background-image: linear-gradient(to right, #5f81fb, #ff29ef,#ff0000);
	margin:0 auto;
}

.lead{
	margin-top: 5vw;

}

/**********
*space
**********/

.space{
	height: 75.7vw;;
}

/**********
*for begginer & PRICE
**********/

.flex{
	display: block;
}

.section-box{
	padding:6.8vw 0 13.3vw;
	background-color: #fff;
}

.flex .section-box:first-of-type{
	padding-bottom: 0;
}


.bg-image{
	background-image: url(../images/a_IMG_9482_2.jpg);
	background-position: center;
	width: 90%;
	height:70vw;
	background-size: cover;
	margin:0 auto;
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
}


.section-text{
	width: 85%;
	height: 85%;
	color: #fff;
	border:solid 2px #fff;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
  	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  	margin:auto;
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
	flex-direction: column;
}

.bg-image2{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	background-image: url("../images/VOLNY-T2.jpg");
	background-position: center;
	width: 90%;
	background-size: cover;
	height:70vw;
	margin:0 auto;
}

.section_link{
	padding-bottom: 13.3vw;
}

.section_link:first-of-type{
	margin-top: 13.3vw;
}
.section-title{
  margin: 2rem auto 0 auto;
	text-transform: uppercase;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 0.8;
	padding-bottom: 5.3vw;
}

.section-title span{
	font-size: 1.6rem;
	font-weight: bold;

}

.section-lead{
	line-height: 1.5;
	padding-bottom: 4vw;

}

.btn-viewmore{
	width: 40vw;
	max-width: 80%;
	margin:0 auto;
	background-color: #333;
	color: #fff;
}




/**********
*photo
**********/



.photo-list{
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 3.3%;
}

.photo-items{
	width: 48%;
	margin-bottom: 4%;
}

/**********
*news
**********/

.ul-title.news{
	margin: 0 0 6%;

}

/**********
*btn-reservation
**********/
.btn-reservation{
	width: 66.6%;
	height: 16%;
	margin:0 auto;
	margin-bottom: 13.3vw;
	border-radius: 10px;
}

.btn-text{
	font-size: 2rem;
	line-height: 1.2;
	color: #fff;
	padding: 2% 0 4% 0;
}

.font{
	font-size: 1.3rem;

}

/**********
*pagetip btn
**********/
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
}

#pageTop a {
  display: block;
  z-index: 999;
  border-radius: 30px;
  width: 40px;
  height: 40px;
  background-color:#333;
  color:#fff;
  font-weight: 300;
  text-align: center;
}

#pageTop i{
	padding-top:11px;
}

#pageTop .font{
	display:block;
	width: 10.6;
	font-size: 0.5rem;
	color: #333;
}

#pageTop a:hover {
  opacity: 0.2;
}

/**********
*footer
***********/


footer{
	width: 100%;
	height:100px;
}

small{
	color: #fff;
}

.page-small{
	color: #333;
}


/*********************
*
*2ページ目以降共通項目
*
**********************/
/**********
*header
***********/

.page-header{
	position:fixed;
	top:0;
	width: 100%;
	height: 15.2vw;
	background-image: linear-gradient(-90deg, #5f81fb, #ff29ef,#ff0000);
	z-index:100;
}

.page-logo{
	position:absolute;
	top:4vw;
	left:40vw;
	width: 18vw;
	height: auto;

}




/*********************
*
*for begginer
*
**********************/

/**********
*lead
***********/

.section-title.intro{
	margin-top: 15.2vw;
	padding-bottom: 6.66vw;

}

.section-title.intro span{
	font-size: 2rem;
}



/**********
*ボルダリングの魅力
***********/
#good-points{
	margin-top: -15.2vw;
    padding-top: 15.2vw;
}

.subtitle{
	font-size: 2rem;
	font-weight: bold;
	color: #59493f;
	margin-bottom: 6.6vw;
}

.subtitle::after{
	content: "";
    display: block;
	background-color: #ff7714;
	width: 9.3vw;
	max-width: 30px;
	height:5px;
	margin:0 auto;
	border-radius: 0.3vw;
}

.subtitle.c-blue1::after{
	content: "";
    display: block;
	background-color: #5f81fb;
	width: 9.3vw;
	max-width: 40px;
	height:5px;
	margin:0 auto;
	border-radius: 0.3vw;
}

/**********
*bxslider
***********/

.bx-slider_box{
	position:relative;
}

.bx-wrapper {
  margin: 0 !important;
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
  background: none !important;
}

.bx-wrapper .bx-controls-auto,
.bx-wrapper .bx-pager {
    bottom:10PX;
}

#before_left{
	position:absolute;
	top:27%;
	left:10px;
	width: 10%;
}

#next_right{
	position:absolute;
	top:27%;
	right:10px;
	width: 10%;

}


.prev-btn{
	font-size: 7rem;
	color: #333;
}

.slider-text{
	margin-top:6.6vw;
	padding-bottom: 6.6vw;
	}



/**********
*体験コース
***********/

#trial{
	margin-top: -15.2vw;
	padding-top: 30.2vw;
}

.trial-icon{
	width: 10vw;
	height: auto;
	margin-right: 1.3vw;
}

.font2{
	font-size: 2.6rem;
}

.trial-flex{
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.trial .lead{
	margin-bottom: 13.3vw;
}
/**********
*ご利用のながれ
***********/
#flow{
	margin-top: -15.2vw;
    padding-top: 15.2vw;
}


.flow-box{
	border-left: solid 1.33vw #59493f;
}

.flow-text{
	width: 91.6%;
	margin: 6.6vw 0 6.6vw 8.4vw;
}

.flow-text strong{
	color:#e83e28;
}

.flow-text-items{
	margin:3.3vw 0;
}

.flow-text-items.pc{
	width:60%;
}


.ribbon4 {
  display: inline-block;
  position: relative;
  height: 40px;/*高さ*/
  line-height: 40px;/*高さ*/
  text-align: center;
  padding: 0 40px 0 18px;/*文字の左右の余白*/
  font-size: 18px;/*文字サイズ*/
  background: #59493f;/*背景色*/
  color: #FFF;/*文字色*/
  box-sizing: border-box;
	margin-left:-1px;
}

.ribbon4::after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ribbon4::after {
  top: 0;
  right: 0;
	border-width: 20px 15px 20px 0px; /*右端のくぼみの設定　https://www.granfairs.com/blog/staff/make-triangle-with-css*/
  border-color:transparent #fff;
  border-style: solid;
}

/*KIDSのご利用について*/

#about-kids{
	margin-top: -10vw;
    padding-top: 10vw;
}


/*********************
*
*PRICE
*
**********************/
/**********
*料金リンク
***********/
.price_link{
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 13.3vw;
}

.price_link_items {
  display: block;
	width: 25%;
  padding: 0.25em 0.5em;
  text-decoration: none;
  color: #fff;
  background: #5f81fb;
  transition: .4s;
}

.price_link_items:hover {
  background: #5f81fb;
  color: white;
}

#price_adult{
	margin-top: -15.2vw;
	padding-top: 15.2vw;
}

#price_students{
	margin-top: -15.2vw;
	padding-top: 15.2vw;
}

#price_kids{
	margin-top: -15.2vw;
	padding-top: 15.2vw;
}

#price_adult p{
	text-align: end;
}

#price_students p{
	text-align: end;
}

#price_kids p{
	text-align: end;
}

.price_option .font{
	text-align: end;
}


/**********
*料金表
***********/

/*タイトル*/
.h4_title{
	font-size: 1.8rem;
	color: #59493f;
	font-weight: bold;
	position:relative;
	padding-left: 10px;
}
.h4_title::before{
	content:"";
	display: block;
	width: 5px;
	height: 18px;
	background-color: #3399ff;
	border-radius: 20px;
	position:absolute;
	left:0;
	top:8px;
	margin:auto;

}


.h4_title.c-blue1::before{
	content:"";
	display: block;
	width: 5px;
	height: 18px;
	background-color: #3399ff;
	border-radius: 20px;
	position:absolute;
	left:0;
	top:8px;
	margin:auto;

}

.price-group{
	margin-bottom: 5.3vw;
}

.price_list{
	font-size: 1.8rem;
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 0.7vw;
}

ul.price_list{
	margin-bottom: 5.3vw;
}


.price-group .font{
	margin-top: -10px;
}

.price-group h5{
	font-weight: bold;
	color: #59493f;
}

.price-group:last-of-type{
	margin-bottom: 13.3vw;
}

.price-group:last-of-type>p{
	text-align: left;
}


.opentime_box{
	background-color: #59493f;
	margin-bottom:13.3vw;
}
.opentime_box>.opentime{
	margin:0;
	padding: 6vw;
	}

.opentime-rental{
	text-align: justify;
	width: 100%;
	font-size: 1.4rem;
}

.opentime-rental_table{
    margin-bottom: 6.6%
}

.opentime-rental_table tr>td:first-of-type{
	width: 50PX;
}

.opentime-rental h5{
	margin-top: 20px;
}


/**********
*お支払い方法
***********/

.price-payment h4{
	font-weight: bold;
	text-align: center;

}

.price-payment p span{
	text-transform: uppercase;

}

.airpay{
	margin-top: 30px;
}

.paypay{
	width: 20%;
}

.linepay{
	width: 20%;
}

.rakutenpay{
	width: 20%;
}

.rakutenpay img{
	vertical-align: middle;
}

.aupay{
	width: 20%;
	height: auto;
}

.aupay img{
	vertical-align: middle;
}


.payment-logos{
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	width: 80%;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content:space-between;
	margin:0px auto 13.3vw;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/**********
*１ヵ月の目安
***********/
.price_case{
	margin-bottom: 13.3vw;
}

.price-monthly_image{
	margin-bottom: 6.6vw;
}

.price_case h4:last-of-type{
	margin-top: 3vw;
}

.price-monthly h4{
	color: #59493f;
}

.price-monthly p strong{
	font-size: 2rem;
	font-weight: bold;
}

.total{
	margin-top: 3vw;
}

.triangle{
	margin:4vw 0;
}

/*月パスの方がお得の一文*/

.pass{
  position: relative;
  display: inline-block;
  padding: 0 70px;
	color: #5f81fb;
	font-size: 1.8rem;

}
.pass:before,.pass:after{
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 60px;
  height: 2px;
  background-color: black;
	background-color: #5f81fb;

}


.pass:before {
  left:0;
	-webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}

.pass:after {
  right: 0;
	-webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}


.pass_info p span{
	margin-left: 50px;
}

.pass{
	margin-bottom: 2vw;
	line-height: 2rem;
}

.pass_info p:nth-of-type(3){
	font-size: 1.8rem;
	font-weight: bold;
	margin-top: 2vw;
}

/*********************
*
*about gym
*
**********************/

/**********
*subtitle
***********/

.subtitle.c-purple::after{
	content: "";
    display: block;
	background-color: #e938fb;
	width: 9.3vw;
	height:5px;
	margin:0 auto;
	border-radius: 0.3vw;
}

/**********
*施設
***********/
#facilities{
	margin-top: -15.2vw;
    padding-top: 15.2vw;
}

.h4_title.c-purple::before{
	content:"";
	display: block;
	width: 5px;
	height: 18px;
	background-color: #e938fb;
	border-radius: 20px;
	position:absolute;
	left:0;
	top:8px;
	margin:auto;

}

.img_items{
	margin-bottom: 5.3vw;
}

.facilities li:last-of-type{
	margin-bottom: 10.6vw;
}

/**********
*スタッフ
***********/

#staff{
	margin-top: -15.2vw;
    padding-top: 15.2vw;
}
.staff li{
	margin-bottom: 10.6vw;
	line-height: 1.6;
}

.staff li img{
	margin-bottom: 3vw;
}

.staff li p:first-of-type{
	font-size: 1.8rem;
	margin-bottom: 5.3vw;
}

/**********
*営業時間
***********/
#page-opentime{
	margin-top: -15.2vw;
    padding-top: 15.2vw;
}

.page_opentime .opentime{
	margin-bottom: 10.6vw;
	margin-left:0;
	font-size: 1.6rem;
}

.page_opentime .opentime table{
	margin:0 auto;

}

.page_opentime .opentime table td{
	text-align: justify;

}

/**********
*アクセス
***********/

#access{
	margin-top: -15.2vw;
    padding-top: 15.2vw;
}

.map{
	height: 0;
	overflow: hidden;
	padding-bottom: 60%;
	position: relative;
	margin-bottom: 5.3vw;
}

.map iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.access h4{
	width: 75px;
	background-color: #849efb;
	color: #fff;
	margin-bottom: 10px;
}
adress{
	display: block;
	margin-bottom: 25px;
	line-height: 1.2;
}
.access p{
	line-height: 1.2;
	margin-bottom: 25px;
}

.access p:last-of-type{
	margin-bottom: 10.6vw;
}

.subtitle.c-red{
	background-color: #fff;
}

.subtitle.c-red::after {
    content: "";
    display: block;
    background-color: #ff0100;
    width: 9.3vw;
    height: 5px;
    margin: 0 auto;
    border-radius: 0.3vw;
}

/*for kids*/

.kids_section .lead{
	padding-bottom: 13.3vw;
	line-height: 1.8;
	text-align: left;
}

.sp .school_kids{
		display:block;
		margin-bottom: 15vw;
}

.sp .school_kids p {
	width: 98%;
}



.sp table td{
	text-align: left;
	padding-left: 10px;
}



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

	/*///////////////////

	pc_共通

	///////////////////*/
	.pc{
		display: block;
	}

	.sp{
		display: none;
	}

	.inner{
		width: 80%;
	}

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

	/*///////////////////

	pc_header

	///////////////////*/

	.parallax-image{
		height: 30vw;
		width: 100%;
	}


	.pc_navi{
		position:fixed;
		top:0;
		left:0;
		display:-webkit-box;
  		display:-ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		padding-top: 2.2vw;
		z-index: 100;
	}

	.pc_navi.fixed{
		background-image: linear-gradient(-160deg, #5f81fb, #ff29ef,#ff0000);
		padding:1vw 0;
	}

	.page-logo_home{
		width: 7%;
		margin-left: 5%;
	}


	.pc_nav-list{
		display:-webkit-box;
  		display:-ms-flexbox;
		display:flex;
		width: 50%;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		font-size: 1.4rem;
		color: #fff;

	}

	.pc_nav-list>li{
		width: 20%;
	}

	.pc_nav-list li a{
		color: #fff;
		font-weight: bold;
	}

	.pc_nav-list li span .font{
		display:block;
		padding-bottom: 15px;

	}

	.pc_nav-list li .font{
		display:block;
		font-weight: bold;
		margin-top: -8px;
	}

	.pc_nav-list li ul{
		display: none;
		font-size: 1.4rem;
		font-weight: normal;
		padding-top: 8px;
	}

	.pc_nav-list li ul a{
		font-size: 1.1rem;
		font-weight: bold;
	}

	.pc_accordion1,
    .pc_accordion2,
    .pc_accordion3,
    .pc_accordion4{
		font-weight: bold;
	}

	.pc_accordion1>span,
    .pc_accordion2>span,
    .pc_accordion3>span,
    .pc_accordion4>span{
		display: block;
		font-weight: bold;

	}

	.pc_accordion1 .font,
  .pc_accordion2 .font,
  .pc_accordion3 .font,
  .pc_accordion4 .font{
		display: block;
	}


	.pc_sns-icon{
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		width: 10%;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		font-size: 2rem;
		margin-right: 5%;
	}

	.pc_sns-icon a{
		color: #fff;
	}

	.pc_shop-icon{
		width: 2vw;
		min-width:21px;
		margin-top: -5.6%;
	}


	.logo{
		position: inherit;
		width: 30%;
		margin:22.5% auto;


	}


	/*home_main*/

	.lead{
		text-align: center;
		line-height: 1;
		margin-top: 2vw;
	}

	.bg .section .page-intro{
		padding-top: 10vw;
		padding-bottom: 8.3vw;
	}

	.flex{
		display:-webkit-box;
  		display:-ms-flexbox;
		display: flex;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: 80%;
		margin:0 auto;
	}


	.bg-image,.bg-image2{
		height: 28vw;
		width: 100%;
	}

	.section_link{
		width: 40%;
	}

	.section_link:first-of-type{
		margin-top: 0;
		margin-right:30px;
	}

	.space{
	height: 24vw;;
	}

	.section-box{
		padding: 10% 0;
	}
	 .section-box.news{
		padding-top: 5%;
	}

	.section-text .section-title{
		padding: 2vw 0;
	}

	.section-text .section-lead{
		padding-bottom: 1vw;
	}


	/*news*/
	.news-flex{
		display:-webkit-box;
  		display:-ms-flexbox;
		display: flex;

	}

	.news-flex>iframe{
		width: 100%;
		max-width: 500px;
	}



	/*viewmore*/
	.section-text .btn-viewmore{
		padding: 0px 10px;
		width: 100px;

	}

	.btn-viewmore{
		padding: 10px 10px;
		width: 120px;

	}


	.btn-reservation{
		margin:0 auto;
		width: 20vw;
		max-width: 35%;
	}

	.reservation>.section-box{
		padding-top: 0;
	}
	/*footer*/

	footer{
		height: 10vw;
	}





	/*初めての方*/

	.subtitle{
		font-size:1.8rem;
		margin-bottom: 2.6vw;
	}

	.page-header{
		height: 10vw;
		max-height: 114px;
	}

	.page-logo{
		width: 11.7vw;
		max-width: 164px;
		top:2vw;
		left:9vw;
		height: auto;
	}

	.page-logo>a{
		display: block;
		width: 11.7vw;
		max-width: 164px;
		top:2vw;
		left:9vw;
		height: 5vw;
	}

	.page-header>a{
		display: block;
		position:absolute;
		top:2.4vw;
		left:4.2vw;
		width: 11.7vw;
		height: 6vw;
	}

	.section-title.intro{
		margin-top: 0vw;
		padding-bottom: 3.3vw;
}


	.page-intro{
		padding-top: 10vw;
		padding-bottom: 8.3vw;
	}


/*ボルダリングの魅力　横並び*/

	#good-points{
		margin-top: -10vw;
		padding-top: 10vw;
	}

	.good-points{
		margin-bottom: 13.3vw;
	}

	.points ul{
		width: 100%;
		margin:0 auto;
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;

	}

	.points ul li{
		width: 32.5%;
		background-color: #e6e3e0;

	}

	/*.points_title{
		background: linear-gradient(transparent 10%, #fff 0%);
		display: inline-block;
		line-height: 1.2;
		padding:5px 10px;
		margin-bottom: 2px;
		font-weight: bold;
	}*/

	.points ul li p:nth-of-type(2){
		width: 80%;
		padding: 20px 0 20px;
		margin:0 auto;

	}

/*体験*/
	.trial-icon{
		width: 4vw;
	}

	.flow-text>p{
		margin-bottom: 3.5vw;
	}

	.flow-text{
	width: 91.6%;
	margin: 3.3vw 0 6.6vw 8.4vw;
}

	.mochimono{
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
	}

	.mochimono>li{
		width: 100px;
		margin-right: 3.5vw;
	}


	#trial{
	margin-top: -15.2vw;
	padding-top:15.2vw;
}

/*price*/



	.price h4{
		font-size:1.6rem;
	}

	.price_list li:last-of-type{
		font-size: 1.4rem;
	}

	.price dl dt{
		font-size:1.4rem;
	}


	.price dl dd{
		font-size:1.4rem;
	}

	.price>div{
		display:-webkit-box;
  		display:-ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;

	}

	#price_adult{
		width: 28%;
		box-sizing:border-box;
		padding-right:0.71vw ;
		padding-left:0.71vw ;
	}

	#price_students{
		width: 28%;
		box-sizing:border-box;
		padding-right:0.71vw ;
		padding-left:0.71vw ;
	}

	#price_kids{
		width: 28%;
		box-sizing:border-box;
		padding-right:0.71vw ;
		padding-left:0.71vw ;
	}

/*料金表*/

	.table{
		width: 100%;
	}

	.table+.font{
		text-align: end;
		margin-bottom: 7.1vw;
	}
	.table .table-blank{
		border: none;
		background-color: transparent;

	}

	.table th{
		border-right: solid #fff 1px;
		border-bottom: solid 1px #fff;
		background-color: #5f81fb;
		color:#fff;
		width: 20%;
		vertical-align: middle;


	}

	.table-header{
		border-top:solid 1px #fff;
		border-bottom:solid 1px #fff;
		width: 20%;
		vertical-align: middle;

	}

	.table-pass{
		background-color:#B3C4FC;
		border-top:dotted 1px #fff;
		vertical-align: middle;
	}

	.table tr:nth-of-type(3) td:nth-child(n+3){
		background-color:#fff;
		border-top:solid 1px #333;
		vertical-align: middle;
	}

	.table tr:nth-of-type(3) td:nth-child(3){
		background-color:#ebefff;
	}

	.table tr:nth-of-type(4){
		background-color:#fff;
		border-bottom:solid 1px #333;
		vertical-align: middle;
	}

	.table tr:nth-of-type(4) td:first-of-type{
		background-color:#ebefff;
	}

	.table tr:nth-of-type(6){
		background-color:#fff;
		border-bottom:solid 1px #333;
		vertical-align: middle;
	}

	.table tr:nth-of-type(6) td:first-of-type{
		background-color:#ebefff;
	}

	.table tr:nth-of-type(5) td:nth-child(2){
		background-color:#ebefff;
	}

	.table tr:nth-of-type(4) .table-pass{
		border-bottom:solid 1px #fff;
	}

	.table tr{
		height: 50px;
	}

	.table td{
		vertical-align: middle;
		border-bottom: dotted 1px #333;
	}

	.price_flex{
		display:-webkit-box;
  		display:-ms-flexbox;
		display: flex;
		margin:0 auto;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.price-option_flex{
		display:-webkit-box;
  		display:-ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.price-group{
		width: 40%;
	}

	.price-group h4{
		text-align: justify;
	}


	/*支払い方法*/

	.airpay{
		width: 100%;
		margin: 30px auto 0;
	}

	.paypay{
		width: 13%;
	}

	.linepay{
		width: 13%;
	}

	.rakutenpay{
		width: 17%;
	}

	.aupay{
		width:18%;
	}

	.payment-logos{
		width: 30%;
	}

	.price_case{
		width: 48%;

	}

	.price-monthly_image{
		width: 75%;
		margin-bottom: 3vw;
	}

	.image-flex{
		display:-webkit-box;
  		display:-ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin:0 auto;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;

	}

	.image-flex li{
	width: 48%;

	}


	/*staff	*/

	.staff li{
		width: 23%;
	}

		.staff li img{
			margin-bottom: 0;
		}

		.staff li p:first-of-type{
			margin-bottom: 1.3vw;
		}

	/*map*/

		.map{
		height: auto;
		width: 60%;
		padding-bottom: 0;
		margin-bottom: 5.3vw;
		}

		.map iframe {
		position: static;
		}


	}


	/*for kids*/

	.school_kids{
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: space-between;
		-ms-flex-pack: space-between;
		justify-content: space-between;
		margin-bottom: 8vw;
	}

	.school_flexbox{
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 100%;

}

.school_flexbox table td{
	text-align: left;
	padding-left: 10px;
}


	.school_kids p{
		width: 80%;
	}


/*	for kids内の表*/

	.kids_section table{
		empty-cells:hide;
		width: 98%;
		height: 100%;
	}

	.kids_section table tr{
		height: calc(100%/4);
		border-bottom: solid #fff 5px;
	}

	.kids_section table tr:last-of-type{
		border-bottom:none;
}



	.kids_section table th{
		width: 15%;
		vertical-align: middle;
		background-color: #b4a983;
		color: #fff;
	}

	.kids_section table td{
		background-color: #f2f2f2;
		color: #333;
	}

	.kids_section table td span{
		display: block;
		padding-top: 15px;

	}


	.kids_section .table-blank{
			border: none;
			background-color: transparent;

		}

	.kids_section table td{
		vertical-align: middle;
	}



	.kids_section .lead{
		padding-bottom: 6.5vw;
	}

	.kids_section strong{
		color: #e83e28;
	}




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

	.news{
		max-width:100%;
	}

	.price_link_items{
		font-size: 1.3rem;
	}

	}


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

	.pc_accordion1>span,
    .pc_accordion2>span,
    .pc_accordion3>span,
    .pc_accordion4>span{
		display: block;
		font-weight: bold;
		line-height: 1;
	}

	.pc_nav-list li .font.begginer{
		margin-top: 0px;
	}
}


/*	店舗紹介内のナビゲーション*/
.subnavi{
  margin: 0 auto;
  text-align: center;
  padding: 3px,0;
  background-color: #fff;
  z-index: 10;
  width: 100%;
  height: 30px;
}
.subnavi ul{
margin-block-start: 3em;
padding: 0 ;
  white-space: nowrap;
  overflow-x: auto;
}
.subnavi ul li{
  padding: 3px;
list-style: none;
display: inline-block;
    display: table-cell;
width: 18%;
min-width: 60px;
}
.subnavi ul li a{
text-decoration: none;
color: #555;
}
.subnavi ul li.current a{
color: #F33135;
}
.subnavi ul li a:hover{
color: #f227db;
}

.reservation{
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px){
  .reservation{
    width: 60%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .reservation .section-box{
    width: 50%;
  }
}


.instagram {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: calc(9 / 430 * 100%);
}
.instagram li {
  border-bottom: 1px solid #ccc;
  aspect-ratio: 1/1.2;
  width:calc(100% / 1 - 20px);
  margin-bottom: calc(10 / 430 * 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (min-width: 768px){
  .instagram li {
  aspect-ratio: 1/1;
    width:calc(100% / 3 - 20px);
    border: 1px solid #ccc;
  }
}



.instagram figure{
  margin: 0;
  padding: 0;
}
.instagram figcaption{
  font-size: 0.8em;
  padding: 0 0.5em;
  text-align: left;
}
.ins_like {
  position: absolute;
  z-index: 100;
  width: 100%;
  height: 30px;
  bottom: 10px;
  left: 0;
  padding: 10px 5px 10px 0;
  box-sizing: border-box;
  text-align: right;
}
.ins_like span{
  font-size: 0.8em;
}
.ins_like span::before {
    content: "\f004";
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    padding-right: 5px;
    color: red;
}

.instagram img{
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  position: relative;
}

.parkingmap{
  margin-bottom: 2em;
}

@media screen and (min-width: 768px){
  .instagram img{
    height: 250px;
  }  
  .parkingmap{
    width: 60%;
  }
}
.instagram img::before {
  content: "";
  background-image: url(./images/movie-arrow.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  width: 2.643vw;
  height: 2.643vw;
  position: absolute;
  top: 52%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 2;
}



.instagram a img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.instagram a:hover .footer-single_pickup-img-wrap::before {
  opacity: 1;
  top: 50%;
}
.instagram a:hover .footer-single_pickup-img-wrap img {
  -webkit-transform: scale(1.06) translate(-50%, -50%);
          transform: scale(1.06) translate(-50%, -50%);
  -webkit-filter: blur(3px);
          filter: blur(3px);
}
.content-block .footer-single_pickup-img {
  margin-bottom: 0.75rem;
  position: relative;
}
.content-block .footer-single_pickup-img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  padding-top: 100%;
  margin-bottom: 0.75rem;
}
.content-block .footer-single_pickup-img-wrap img {
  min-width: 100%;
  z-index: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  max-width: none;
  height: 100%;
}

svg{
  width: 0.8em;
  height: 0.8em;
}



.promo-title{
  margin: 2em auto 0 auto;
  font-size: 1.6rem;
  font-weight: 140%;
  background: #ff33ff;
  color: #fff;
  display: block;
  width: 90%;
}

.bg-image3{
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	background-image: url("../images/sagamihara2.jpeg");
    filter: grayscale(55%);
	background-position: center;
	width: 90%;
    height: 40vh;
	background-size: cover;
	margin:0 auto;
}

@media screen and (min-width: 768px){
  .bg-image3{
    width: 65vw;
    margin: 0 auto 8em auto;
  }
  .promo-title{
    width: 65vw;
    font-size: 1.4em;
    font-weight: 600;
  }
}

.section-title2{
  text-align: center;
  margin: 2em auto 0 auto;
  text-transform: uppercase;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 0.8;
  padding-bottom: 5.3vw;
}

.insta_btn {
  border: none;
  background: none;
  font-size: 1.2em;
}
.insta_btn a {
    background: #eee;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 260px;
    padding: 10px 25px 10px 20px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.insta_btn a:hover {
    background: #313131;
    color: #FFF;
}
.insta_btn a:after {
    content: '';
    width: 6px;
    height: 6px;
    border-top: 2px solid #313131;
    border-right: 2px solid #313131;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.insta_btn a:hover:after {
    border-color: #FFF;
}




input[name="switch"] {
	display: none;
}


/* :::::: button :::::: */
/*JSで固定するときのスタイル*/
.tabBtn.fixed{
  position: fixed;
  width: 76%;
  top:0;
  z-index: 10;
}
@media screen and (min-width: 768px){
  .tabBtn.fixed{
    position: static;
    width: 100%;
  }
}
.tabBtn {
	display: flex;
	list-style: none;
	width: 100%;
	margin: 0 0 1px;
	padding: 0;
	text-align: center;
}
.tabBtn li {
	flex-basis: 50%;
	background: #c0c0c0;
  font-size: 1.2em;
}
.tabBtn li:not(:last-child) {
	border-right: 1px solid white;
}
.tabBtn label {
	display: block;
	cursor: pointer;
	padding: 10px 0;
	color: white;
	transition: background .3s;
}
.tabBtn label[for="tab-1"]:hover {
	background: rgba(255, 41, 241,1);
  
}
.tabBtn label[for="tab-2"]:hover {
	background: rgba(120, 255, 149,1);
}

/* :::::: contents :::::: */
.tabContents div {
	padding: 20px;
	background: white;
}
.tabContents h2 {
	margin: 0 0 .5em;
	font-size: 18px;
}
.tabContents p {
	font-size: 12px;
}
.tabContents p a {
	color: #86c0de;
}

.tabContents div::after {
	content: "";
	display: block;
	clear: left;
}

/* :::::: mechanism :::::: */
.tabContents div {
	opacity: .1;
}
.tabContents div {
	transition: opacity .3s;
}
#tab-1:checked ~ .tabBtn label[for="tab-1"]{
	background-image: linear-gradient(-160deg, #5f81fb, #ff29ef,#ff0000);
}
#tab-2:checked ~ .tabBtn label[for="tab-2"]{
	background-image: linear-gradient(-160deg, #5f81fb, #78ff95, #f2ff03);
}
#tab-1:checked ~ .tabContents #section-1,
#tab-2:checked ~ .tabContents #section-2 {
	opacity: 1;
	background: white;
}

/* :::::: slide :::::: */
.news{
  width: 100%;
  overflow: hidden;
}
.tabContents {
	display: flex;
	width: 200%;
	transition: transform .6s;
}
.tabContents div {
	flex-basis: 50%;
	opacity: .1;
	transition: opacity .2s;
}
#tab-1:checked ~ .tabContents {
	transform: translateX(0);
}
#tab-2:checked ~ .tabContents {
	transform: translateX(-50%);
}






table.price {
  width: 100%;
  border-collapse: separate;  /* 表の線と線の間を空ける */
  border-spacing:  5px;       /* 表の線と線の間の幅 */
  margin-bottom: 5em;
}

.price th,td {
  padding: 10px 5px;          /* 余白指定 */
  vertical-align:middle;
}


.price th {
    background-color:  #5f81fb; /* 背景色指定 */
    color:  #fff;               /* 文字色指定 */
    font-weight:  normal;       /* 文字の太さ指定 */
  border-bottom: 3px solid #5f81fb;
}

.price td {
    background-color:  #f2f4ff; /* 背景色指定 */
  border-bottom: 3px solid #aaa;
  font-size: 1.2em;
}

.mainprice td{
  text-align: right;
}
.price th.reg{
  background-color: #B3C4FC;
  border-bottom: 3px solid #B3C4FC;
  color: #555;
}
.price th.reg:nth-of-type(2){
  font-size: 1.2em;
}
.price th.blankCell{
  background-color: transparent;
  border-bottom: transparent;
}
.price td.note{
  background-color: transparent;
  border-bottom: transparent;
  text-align: left;
  font-size: 0.9em;
  line-height: 1.2em;
  padding: 0;
}
.price td.note2{
  background-color: transparent;
  border-bottom: transparent;
  text-align: center;
  padding: 10px;
}
.price th.day {
  width: 20px; /* 幅を狭くする */
  writing-mode: vertical-rl; /* 文字を縦に並べる */
  padding: 5px 0; /* 余白を調整 */
  text-align: center; /* 中央揃え */
}
.price .holiday {
  background-color: #3a5eb4;
  border-bottom: 3px #3a5eb4;
}
.price caption{
  position: relative;
  padding: 0.5rem 0;
  margin-bottom: 1.8em;
  border-bottom: 5px solid #ccc;
  font-weight: bold;
  font-size: 1.1em;
  color: #333;
}

.price caption:before,
.price caption:after {
    position: absolute;
    top: 100%;
    left: 45%;
    content: "";
    height: 0;
    width: 0;
}

.price caption:before {
    border: 16px solid;
    border-color: transparent;
    border-top-color: #ccc;
    margin-left: -16px;
}

.price caption:after {
    border: 10px solid;
    border-color: transparent;
    border-top-color: white;
    margin-left: -10px;
}
.price th.otokuinfo{
  background-color: transparent;
  border-bottom: transparent;
  color: #555; 
  font-size: 1.1em;
   vertical-align: bottom;
  text-align: left;
  padding-bottom: 0;
}



.arrow {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.arrow::before {
  animation: arrow 2.5s infinite;
  border: solid #B3C4FC;
  border-width: 0 0 4px 4px;
  content: "";
  margin: auto;
  position: absolute;
  top: -2em;
  transform: rotate(-45deg);
  width: 20px;
  height: 20px;
}
.att{
  font-size:16px;
  font-weight:bold;
  color: #B3C4FC;
}
@keyframes arrow {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  60% {
    transform: rotate(-45deg) translate(-15px, 15px);
  }
  0%, 60%, 100% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
}

/*リストの各要素に前要素として■を付ける*/
.legend {
  text-align: left;
  margin-top: 1em 0 3em 3em;
}
@media screen and (min-width: 768px){
  .legend{
    margin:0 auto;
    width: 70%;
    text-align: center;
    display: flex;
  }
  .legend li {
    width: calc(100%/3);
  }
}
.legend li:before {
		content: "";
		display: inline-block;
		height: 1.5rem;
		width: 3rem;
		margin-right: 5px;
	}
.legend li.leg1:before {
		background: rgba(237, 111, 180, 0.8);
		border-radius:10;
}
.legend li.leg2:before {
		background: rgba(170, 187, 250, 0.8);
		border-radius:10;
}
.legend li.leg3:before {
		background: rgba(160, 160, 160, 0.8);
		border-radius:10;
}


dl.openingtime{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 2em;
}
.openingtime dt{
  width: 20%;
  padding: 5px 0;
  margin-bottom: 10px;
}
.openingtime dd{
  padding: 5px 0;
  margin-bottom: 10px;
}

.openingTime{
  width: 100%;
  margin-bottom: 1.2em;
  display: flex;
  flex-wrap: wrap;
}
.openingTime li{
  padding: 5px 0;
  margin-bottom: 10px;
  font-size: 0.8em;
  line-height: 1em;
}


.openingTime .alltime{
  width: 100%;
}
.openingTime .ichi{
  width: calc(100% /18 * 1);
}
.openingTime .ni{
  width: calc(100% /18 * 2);
}
.openingTime .san{
  width: calc(100% /18 * 3);
}
.openingTime .yon{
  width: calc(100% /18 * 4);
}
.openingTime .go{
  width: calc(100% /18 * 5);
}
.openingTime .roku{
  width: calc(100% /18 * 6);
}
.openingTime .nana{
  width: calc(100% /18 * 7);
}
.openingTime .hachi{
  width: calc(100% /18 * 8);
}
.openingTime .kyu{
  width: calc(100% /18 * 9);
}
.openingTime .jyu{
  width: calc(100% /18 * 10);
}
.openingTime .jyuichi{
  width: calc(100% /18 * 11);
}
.openingTime .jyuhachi{
  width: calc(100% /18 * 18);
}

.timeTable{
  margin-top: 1em;
}

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

  .timeTable div:first-of-type{
    padding:1.4rem 0;
    width: 20%;
    float: left;
  }
  .openingTime{
    width: 78%;
    margin-bottom: 2em;
    display: flex;
    flex-wrap: wrap;
  }
  .openingTime li{
    padding: 5px 0;
    margin-bottom: 10px;
    font-size: 1.4rem;
    line-height: 1.8em;
  }
  
  .openingTime:last-child{
    margin-bottom: 0;
  }
}
.timeTable {
  position: relative;
}

.nobochinote {
  font-size: 0.8em;
  line-height: 1em;
  text-align: left;
  margin: 0;
  padding: 0;
  position: absolute;
  bottom: -1.5em;
  left: 20%; /* .timeTable divと同じ幅 */
  width: 78%; /* .openingTimeと同じ幅 */
}

@media screen and (max-width: 767px) {
  .nobochinote {
    position: static;
    width: 100%;
    left: 20%;
    margin-top: 0.5em;
  }
}


@media screen and (min-width: 768px){
  .bg-image3{
    width: 65vw;
    margin: 0 auto 8em auto;
  }
  .promo-title{
    width: 65vw;
    font-size: 1.4em;
    font-weight: 600;
  }
}

.openingTime .close{
  background-color: rgba(160, 160, 160, 0.8);
  /*border: 1px solid #555;*/
}
.openingTime .mujin{
 background-color: rgba(170, 187, 250, 0.8);
 /*border: 1px solid #849efb;*/
}
.openingTime .yujin{
  background-color: rgba(237, 111, 180, 0.8);
  /*border: 1px solid #eb3498;*/
}

.highlite{
  background-color: #ff9;
}

.overseas {
    margin:20px auto;
    padding:1em;
    background:rgba(233, 208, 247,0.8);
    color:#555;
    border-top:2px dashed #fff;
    border-bottom:2px dashed #fff;
    box-shadow:0 0 0 5px rgba(233, 208, 247,0.8);
}
.overseas h4{
  font-size: 1.6em;
}

.mujinNote{
  margin-top: 3em;
  margin-bottom: 3vw;
}

.mujinNote dt{
  text-align: center;
}
.mujinNote dt::after,
.mujinNote dt::before{
  content: " ー ";
}
.mujinNote dd{
  text-align: left;
  margin-inline-start: 5em;
}
.mujinNote dd::before{
  content: " - ";
}


/*スクールページ改修 改修ページ*/
.kids_section {
  text-align: center;
  margin: 0 auto;
}
.schoolInfo{
  display: flex;
  height: 5em;
}
.schoolInfo .schoolLogo{
  width: 28%;
}
.schoolInfo .schoolLogo img{
  width: 100%;
}

.schoolInfo .adrs{
  margin: 1.2em 0;
  width: 27%;
}
.schoolInfo .adrs p{
  font-size: calc((100vw - 320px) / 100 + 7px);
  line-height: calc((100vw - 320px) / 100 + 8px);
  font-weight: bold;
  text-align: left;
}
.schoolInfo .btnset{
  width: 30%;
  margin-left:auto;
}
.btnset a:link
.btnset a:hover,
.btnset a:visited,
.btnset a:active{
  color: #fff;
}
.btnset .cap{
  font-size: calc((100vw - 320px) / 100 + 8px);
  line-height: calc((100vw - 320px) / 100 + 9px);
  font-weight: bold;
}
.btnset .branch{
  margin: 0.7em 0 0.3em 0;
  font-size: calc((100vw - 320px) / 100 + 9px);
  line-height: calc((100vw - 320px) / 100 + 10px);
}
.btnset .btn{
  color: #fff;
  font-size: calc((100vw - 320px) / 100 + 8px);
  line-height: calc((100vw - 320px) / 100 + 10px);
  letter-spacing: 2px;
  font-weight: bold;
  text-align: center;
  width: 12em;
  padding: 0.3em;
  margin: 0 auto;
  cursor: pointer;
  background: #f00;
  border-radius: 100px;
}
.schoolAd{
  margin-bottom: 5em;
}
.schoolAd .timetable,
.schoolAd .eyeCatch{
  width: 100%;
}
@media screen and (min-width:1080px) {
  .schoolAd .timetable,
  .schoolAd .eyeCatch{
    width: 70%;
  }
  .schoolInfo{
    height: 150px;
    width: 70%;
    margin: 0 auto;
  }
}




/*スクールページ改修 現行ページ*/
.sagamiAd{
  position: relative;
}
.btn_box{
  position: absolute;
  top: 53%;
  left: 75%;
  transform: translate(-50%, -50%);
  width: 100%;
  margin: 0;
}
.btn_box a:link
.btn_box a:hover,
.btn_box a:visited,
.btn_box a:active{
  color: #fff;
}
.btn_box .cap{
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  line-height:normal;
  letter-spacing: 3px;
  width: 12em;
  margin: auto;
}
.btn_box .btn{
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  line-height: 2em;
  letter-spacing: 3px;
  width: 12em;
  height: 2em;
  background: #f00;
  margin: auto;
  cursor: pointer;
  border-radius: 100px;
}
@media screen and (max-width:660px) {
  .btn_box .cap{
    font-size: 0.7em;
    font-weight: bold;
    text-align: center;
    line-height:normal;
    letter-spacing: 3px;
    width: 12em;
    margin: auto;
  }
 .btn_box .btn{
    color: #fff;
    font-size: 0.7em;
    font-weight: bold;
    text-align: center;
    height: 1.8em;
    letter-spacing: 3px;
    width: 12em;
    height: 1.8em;
    background: #f00;
    margin: auto;
    cursor: pointer;
    border-radius: 100px;
  }
}
/*アニメーション*/
.animation{
  animation: dokundokun 1300ms ease infinite;
}

@keyframes dokundokun {
  0%  { transform: scale(1); }
  15% { transform: scale(1.2); }
  30% { transform: scale(1); }
  45% { transform: scale(1.2); }
  70% { transform: scale(1); }
}

.banner-container {
  max-width: 100%;
  margin: 20px 0;
  text-align: center;
}

.banner-image {
  max-width: 100%;
  height: auto;
  display: inline-block;
}

@media (min-width: 768px) {
  .banner-image {
    max-width: 80%;
  }
}



/*イマココ*/
.relative-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.imakoko {
  position: absolute;
  top: -3rem;
  left: -2rem;
  display: grid;
  place-items: center;
  width: 60px;
  height: 40px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #ccc;
}
.imakoko::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 13px;
  height: 2px;
  transform: rotate(50deg);
  box-sizing: border-box;
  box-shadow: 0 2px 0 #ffffff, 0 -2px 0 #ffffff; /* 背景色と同じ色を指定 */
}
.imakoko > div{
  line-height: 0.9rem;
  color: deeppink;
  font-size: 1rem;
  font-weight: bold;
  animation: blink 1s ease-in-out infinite alternate;
}

@-webkit-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-moz-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-o-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes blink {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}
