@charset "utf-8";


/*----------------------------------------
	mainvisual
-----------------------------------------*/
.mainvisual {
	padding:0;
	margin: 0;
}

.vist {
	margin: 0 auto;
	text-align: center;
	background: #d97d84;
	padding:0 0;
}

.pilates_btn {
	margin: 0 auto;
	text-align: center;
	padding:100px 100px 40px 100px;
}
.pilatestk_btn {
	margin: 0 auto;
	text-align: center;
	padding: 100px;
}
/*----------------------------------------
	main_cp
-----------------------------------------*/
.main_cp {
	background:url("../images/00_index/01_main_cp_bg.jpg") no-repeat top left #ff92b1;
	margin:0 auto;
	text-align: center;
	padding:10% 5%;
	position: relative;
}
.main_cp .main_cp_in {
	margin:0 auto;
	text-align: center;
	padding:4% 5% 4% 5%;
	max-width:1200px;
	box-sizing: border-box;
	border-radius: 10px;
}
.main_cp .main_cp_in p{
	/*--margin:-10% auto 0 auto;--*/
}
.main_cp_btn{
	display: block;
	margin:0 auto;
	text-align: center;
	padding:5% 10% 30px 10%;
}
.main_cp_re{
	display: block;
	margin:0 auto;
	text-align: center;
	padding:0 10%;
}
.main_cp .day{
	padding:10% 0 0 0;
}

/*----------------------------------------
	main_mov
-----------------------------------------*/
.main_mov {
	background:url("../images/00_index/01_movie_bg.png") no-repeat top center;
	background-size: 100%;
	margin:0 auto 5% auto;
	text-align: center;
	padding:10% 0;
	position: relative;
}
.main_mov .inner {
	max-width: 1200px;
	padding: 0 40px;
	margin: 0 auto;
}
.main_mov .iframe-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
	margin-top: 10%;
}

.main_mov .iframe-wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*----------------------------------------
	studio
-----------------------------------------*/
.studio {
	margin:80px auto 50px auto;
	text-align: center;
}
/*----------------------------------------
	pickup
-----------------------------------------*/
.pickup {
	margin:100px auto 0 auto;
}
.pickup dl{
	margin:0 auto;
	text-align: center;
}
.pickup .center{
	position: relative;
	padding-top: 30px;
}
.pickup .center ul{
	display: flex;
	margin:0 auto;
	justify-content: space-between;
	max-width: 900px;
	padding:0 1.3%;
}
.pickup .center li{
	margin:0 auto;
	text-align: center;
	width: 48%;
}
.slick-prev,
.slick-next
{
    width: 70px!important;
    height: 70px!important;
	z-index: 10;
}
.slick-prev{
    background:url("../images/00_index/02pick_left_arrow.png") no-repeat center center!important;
	left: 18%!important;
}
.slick-next{
    background:url("../images/00_index/02pick_right_arrow.png") no-repeat center center!important;
	right: 18%!important;
}

/*----------------------------------------
	topics
-----------------------------------------*/
.topics {
	margin:0px auto 0 auto;
	display: flex;
	box-sizing: border-box;
	align-items: flex-start;
	padding: 0 40px;
	max-width: 1280px;
}
.topics a{
	display:block;
}
.topics .campaign{
	width:250px;
	background: #ff9600;
	border-radius: 20px;
	padding:20px;
	font-weight: 700;
	text-align: center;
}
.topics .campaign .title{
	color: #ff9600;
	background: #fff;
	border-radius: 30px;
	font-size: 20px;
	text-align: center;
	margin-bottom: 15px;
}
.topics .campaign p{
	font-size: 17px;
	line-height: 1.5;
}
.topics .campaign .price{
	font-size: 32px;
}
.topics .campaign .price span{
	font-size: 150px;
	line-height: 0.7;
}
.topics .topics_news{
	flex: 1;
	padding-left: 50px;
}
.topics .topics_news dl{
	display: flex;
	margin-bottom: 30px;
}
.topics .topics_news dt{
	padding-right: 20px;
}
.topics .topics_news span{
	color:#ffe900;
	font-weight: 700;
}
.topics .topics_news li{
	padding: 15px 0;
	border-bottom: 1px #666 solid;
}
.topics .topics_news li:last-of-type{
	padding: 15px 0 0 0;
	border-bottom:none;
}

/*----------------------------------------
	special
-----------------------------------------*/
.special_title {
	margin:150px auto 0 auto;
	text-align: center;
	padding: 0 8%;
}
.special {
	background:url("../images/00_index/03special_bg_new.png") no-repeat top center;
	margin: 0 auto;
	text-align: center;
	padding:0 5%;
}
.special h3 p{
	font-weight: 700;
	font-size: 27px;
	padding:6% 0 0px 0;
}
.special dl{
	padding:5% 0 0 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}
.special dt{
	padding-bottom:2%;
}
.special dt em{
	font-size: 35px;
}
.special dt span{
	font-size: 34px;
	color: #fff604;
}
.special dd {
	max-width: 1200px;
	margin:0 auto;
}
.special dd p{
	font-size: 14px;
	text-align: right;
	padding-top: 10px;
}
.special .btn{
	position:relative;
	padding:4% 0 250px 0;
	margin: 0 auto;
}
.special .btn ul{
	display: flex;
}
.special .btn li{
	width: 33%;
	margin: 0 auto;
}
.special .btn .downner{
	margin-top: -10%;
}
.special .btn .downner li{
	padding:0 0 0 18%;
}
.special .btn .downner li + li{
	padding:0 18% 0 0;
}

/*----------------------------------------
	202306対応 member_type
-----------------------------------------*/
#member_type{
	margin: 50px 60px;
	background: #3cb7f5;
	border:20px solid #fff;
	border-radius: 20px;
	padding: 100px 60px;
}
#member_type .member_inner{
	max-width:1200px;
	margin: 0  auto;
	text-align: center;
}
#member_type .member_inner p{
	font-size: 27px;
	font-weight: bold;
}
#member_type .member_inner h3{
	font-size:80px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 5px;
} 
#member_type .member_inner .att{
	font-weight: bold;
	margin:30px 0 0 0;
} 
#member_type .member_inner .gym{
	font-size:27px;
	font-weight: bold;
	line-height: 1.5;
	border-radius: 100px;
	background: #fff;
	color: #3cb7f5;
	padding: 20px;
	margin: 50px 0;
} 
#member_type .member_inner .gym span{
	background: #fff604;
} 
#member_type .member_inner .regular{
	font-size:27px;
	font-weight: bold;
	line-height: 1.5;
	border-radius: 100px;
	background: #fff604;
	color: #3cb7f5;
	padding: 20px;
	margin: 100px 0 50px 0;
}
#member_type .price_table{
	border-top:2px #fff solid;
	margin: 100px 0 0 0;
	padding: 70px 0 0 0;
} 
#member_type .price_table dt{
	font-size:32px;
	font-weight: bold;
	line-height: 1.5;
	margin:0 0 50px 0;
	} 
#member_type .price_table span{
	font-size:50px;
	font-weight: bold;
	color: #fff604;
	} 
/*----------------------------------------
	feature
-----------------------------------------*/
#feature .contents{
	display: flex;
}
#feature section:nth-child(odd) .contents.pic{
	max-width:960px;
}
#feature section:nth-child(odd) .contents .copy{
	max-width:500px;
	padding:0 5% 0 40px;
}
#feature section:nth-child(odd) .contents .copy h4 dl{
	font-family: 'Montserrat', sans-serif;
	font-size: 28px;
	color: #3cb7f5;
	display: flex;
	align-items: center;
	line-height: 1;
}
#feature section:nth-child(even){
 display: flex;
  justify-content: flex-end;
	margin:200px 0;
}
#feature section:nth-child(even) .contents{
	justify-content: flex-end;
	flex-direction: row-reverse;
}
#feature section:nth-child(even) .contents .pic{
	max-width:960px;
}
#feature section:nth-child(even) .contents .copy{
	max-width:600px;
	padding:0 70px 0 5%;
	box-sizing: border-box;
}
#feature section:nth-child(even) .contents .copy h4 dl{
	font-family: 'Montserrat', sans-serif;
	font-size: 28px;
	color: #55c5cf;
	display: flex;
	align-items: center;
	line-height: 1;
}
#feature .contents .copy h4 dt{
	font-family: 'Montserrat', sans-serif;
	font-size: 100px;
	font-style: italic;
	font-weight: 900;
	padding-right: 10%;
}
#feature .contents .copy h4 p{
	font-size:30px;
	padding: 5% 0;
}
#feature .contents .copy em{
	color: yellow;
	display: block;
	margin-bottom: 10px;
}
#feature .contents .small{
	font-size:12px;
	padding:0 0 20px 0;
	line-height: 1.7;
}

#feature .second{
	padding-top:8%;
}

#feature section:nth-child(odd) .contents .ex_lead span{
	font-size:22px;
	font-family: 'Montserrat', sans-serif;
	color: #3cb7f5;
}
#feature section:nth-child(even) .contents .ex_lead span{
	font-size:22px;
	font-family: 'Montserrat', sans-serif;
	color: #55c5cf;
}

#feature .program_btn{
	background:#ffff00;
	border-radius: 50px;
	position: relative;
	text-align: center;
	display: block;
	width:auto;
	padding: 15px 0;
	font-weight:700;
	margin:30px auto 0 auto;
	color: #000;
}
#feature .program_btn::after{
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
}
#freeweight .machine_list {
	margin: 20px 40px 0 40px;
}
#freeweight .machine_list ul{
	max-width: 1000px;
	padding:30px;
	margin:0 auto;
	display: flex;
	flex-wrap: wrap;
	border: 1px #aaa solid;
}
#freeweight .machine_list li{
	width: 33%;
	font-weight: 700;
	font-size: 14px;
}


#freeweight .loop_wrap {
width:100%;
	margin-top: 20px;
	height:240px;
	position: relative;
	background:url(../images/00_index/04feature01_machine.png);
	animation: topmove 50s linear infinite;
	-webkit-animation: topmove 50s linear infinite;
	-moz-animation: topmove 50s linear infinite;
}

@keyframes topmove {
	from { background-position: 0 0; }
    to { background-position: -3199px 0; }
}
@-webkit-keyframes topmove {
	from { background-position: 0 0; }
    to { background-position: -3199px 0; }
}
@-moz-keyframes topmove {
	from { background-position: 0 0; }
    to { background-position: -3199px 0; }
}

#feature #program{
 display: block;
}
#program .program_wrap_bg{
 display: block;
background:url(../images/00_index/04feature02_bg.png) no-repeat center bottom;
}
#program .program_wrap {
display: flex;
  justify-content: flex-end;
}
#program .lesson {
margin:140px auto 0 auto;
	display: flex;
	box-sizing: border-box;
	justify-content: space-between;
	padding: 0 40px;
	max-width: 1280px;
}
#program .lesson .lesson_left{
margin:0 auto 0 auto;
	width: 40%;
	max-width: 480px;
}
#program .lesson .lesson_right{
margin:100px auto 0 auto;
	width: 40%;
	max-width: 480px;
}
#program .lesson .pic{
	margin:0 auto 20px auto;
	text-align: center;
}
#program .lesson dt{
	font-family: 'Montserrat', sans-serif;
	font-size: 40px;
	background:url(../images/00_index/04feature02_line.png) no-repeat center bottom;
	padding-bottom: 0;
	margin-bottom: 10px;
	text-align: center;
}
#program .lesson dd{
	font-size: 20px;
	text-align: center;
}
#program .lesson p{
	margin-top: 20px;
}
#program .lesson .lesson_ditail:nth-child(2){
	margin-top: 50px;
}
#program .live {
margin:140px auto 0 auto;
	display: flex;
	box-sizing: border-box;
	justify-content: space-between;
	padding: 0 40px;
	max-width: 1280px;
}
#program .live .pic{
	width: 50%;
}
#program .live .pic img{
	border-radius: 20px;
}
#program .live .copy{
	width: 52%;
	background:url(../images/00_index/04feature02_live_ico.png) no-repeat center top 70px #2da1e3;
	border-radius: 20px;
	margin: 30px 0 0 -30px;
	padding:200px 5% 5% 5%;
	box-sizing: border-box;
}
#program .live .copy dt{
	font-size: 25px;
}

#virtual .loop_wrap {
width:100%;
	margin-top: 20px;
	height:168px;
	position: relative;
	background:url(../images/00_index/04feature03_virtual.png);
	animation: topmove 50s linear infinite;
	-webkit-animation: topmove 50s linear infinite;
	-moz-animation: topmove 50s linear infinite;
}

@keyframes topmove {
	from { background-position: 0 0; }
    to { background-position: -3512px 0; }
}
@-webkit-keyframes topmove {
	from { background-position: 0 0; }
    to { background-position: -3512px 0; }
}
@-moz-keyframes topmove {
	from { background-position: 0 0; }
    to { background-position: -3512px 0; }
}

/*----------------------------------------
	202209追加分
-----------------------------------------*/
.member_ico {
	display: flex;
	flex-wrap: wrap;
	margin-top: 20px;
}
.member_ico li{
	margin-right: 10px;
	margin-bottom: 10px;
}
.member_ico li:last-of-type{
	margin-right: 0px;
}

#freeweight .point {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	align-content: flex-start;
	margin: 60px auto 0 auto;
	max-width: 1100px;
	padding: 0 40px;
}
#freeweight .point .point_txt{
	position: relative;
  padding: 7px 30px 30px 30px;
  color: #fff000;
	font-weight: bold;
	border-radius: 20px;
  font-size: 24px;
  background: #3cb7f5;
	width:40%;
	line-height: 1.8;
	margin-right: 5%
}
#freeweight .point .point_txt:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #3cb7f5;
}
#freeweight .point .point_pic{
	width:55%;
}

.instructor {
	margin: 60px auto 0 auto;
	max-width: 1100px;
	padding: 0 40px;
}
.instructor h5{
	font-size: 35px;
	font-weight: bold;
	text-align: center;
}
.instructor p{
	text-align: center;
	padding: 30px 0 70px 0;
}
.instructor ul{
	display: flex;
	justify-content:space-between;
	flex-wrap: wrap;
}
.instructor li{
	text-align: center;
	width:22%;
	margin-bottom: 50px;
}
.instructor dt{
	font-weight: bold;
	font-size: 20px;
	padding: 10px 0 5px 0;
}
.instructor dd{
	font-size: 14px;
	line-height: 1.5;
}
.instructor ul::after {
display: block;
content:"";
width:48%;
}

#private .point .point_txt{
	position: relative;
  padding: 7px 30px 30px 30px;
  color: #fff000;
	font-weight: bold;
	border-radius: 20px;
  font-size: 24px;
  background: #55c5cf;
	line-height: 1.8;
	margin:40px 0 20px 0;
	text-align: center;
}
#private .point .point_txt:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #55c5cf;
}


#spa .point .point_txt{
	position: relative;
  padding: 7px 20px 20px 20px;
  color: #fff000;
	font-weight: bold;
	border-radius: 20px;
  font-size: 24px;
  background: #3cb7f5;
	line-height: 1.8;
	margin:40px 0 20px 0;
	text-align: center;
}

#spa .point .point_txt:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #3cb7f5;
}
#spa .point dl {
	display: flex;
	align-items: center;
}
#spa .point dl dt{
	margin-right: 20px;
}
/*----------------------------------------
	option
-----------------------------------------*/
.option{
	background: #3cb7f5;
	padding: 100px 0;
	text-align: center;
	font-weight: 500;
	margin-top: 150px;
}
.option dl{
	line-height: 1.5;
	padding-bottom: 10px;
}
.option dd{
	font-family: 'Montserrat', sans-serif;
	font-size: 40px;
	font-weight: 300;
}
.option p{
	padding:0 40px;
}
.option ul{
	max-width: 1200px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin:40px auto 0 auto;
}
.option li{
	padding: 0 2%;
	box-sizing: border-box;
	width: 30%;
}
.option .upper{
	margin-top: -30px;
}


/*media Queries タブレットサイズ（1280px～
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 1280px) {
	
/*----------------------------------------
	mainvisual
-----------------------------------------*/
.mainvisual {
	padding: 3% 10% 8% 10%;
	background-size: 120%;
}
.mainvisual h2 {
	padding: 18% 0 0 0;
}
.mainvisual .btn {
	margin:5% auto 0 auto;
	text-align: center;
	padding: 0 22%;
}
.mainvisual dl{
	padding: 12% 0 4% 0;
}
.mainvisual dl dt,.mainvisual dl dd{
	width: 45%
}
.main_cp {
	background-size: 140%;
}
	
}


/*media Queries タブレットサイズ（1000px～
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 1000px) {
/*----------------------------------------
	202306対応 member_type
-----------------------------------------*/
#member_type{
	margin: 0 5%;
	border:10px solid #fff;
	padding: 10% 7%;
}

#member_type .member_inner p{
	font-size: 3.2vw;
}
#member_type .member_inner h3{
	font-size: 8vw;
} 
#member_type .member_inner .att{
	font-size: 12px;
} 
#member_type .member_inner .gym{
	font-size: 2.5vw;
	padding: 3%;
	margin: 7% 0;
} 
#member_type .member_inner .regular{
	font-size: 2.5vw;
	padding: 3%;
	margin: 7% 0;
}
#member_type .price_table{
	margin: 15% 0 0 0;
	padding: 10%s 0 0 0;
} 
#member_type .price_table dt{
	font-size: 3.2vw;
	margin:0 0 10% 0;
	} 
#member_type .price_table span{
	font-size: 6vw;
	} 
	
}

/*media Queries タブレットサイズ（900px～
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 900px) {
	

.slick-prev,
.slick-next
{
    width: 30px!important;
    height: 30px!important;
	top:57%!important;
}
.slick-prev{
	background-size: 30px!important;
	left: 17%!important;
}
.slick-next{
   background-size: 30px!important;
	right: 17%!important;
}
/*----------------------------------------
	special
-----------------------------------------*/
.special_title {
	margin:80px auto 0 auto;
	padding: 0 5%;
}
.special {
	background-size: 205%;
	padding:0;
}
.special h3{
	padding:0 5% 0 5%;
}
.special h3 p{
	font-size:3.5vw;
	padding:10% 0 0px 0;
}
.special dl{
	padding: 50px 5% 0 5%;
	font-size:2.5vw;
	font-weight: 700;
	line-height: 1.3;
}
.special dt{
	font-size:3vw;
}
.special dt em{
	font-size:3vw;
}
.special .btn{
	position:relative;
	padding:50px 0 100px 0;
	margin: 0 auto;
}
	
	
}	
/*media Queries タブレットサイズ（800px～
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 800px) {



/*----------------------------------------
	topics
-----------------------------------------*/
.topics {
	display:block;
}
.topics .campaign{
	width:auto;
}	
.topics .topics_news{
	padding:50px 0 0 0px;
}	

/*----------------------------------------
	feature
-----------------------------------------*/
#feature .contents {
	display: block;
}
#feature .contents .pic{
	width:auto;
	padding-right: 5%;
}
#feature .contents .copy{
	width:auto;
	padding:5% 5%;
}
#feature section:nth-child(even) .contents .copy{
	padding:0 5% 0 5%;
}
#feature section:nth-child(even){
	margin:20% 0;
}
#feature section:nth-child(even) .contents .pic{
	padding:0 0 0 5%;
}
	
#freeweight .machine_list{
	margin:20px 5% 0 5%;
}
#freeweight .machine_list ul{
	padding: 20px;
	justify-content: space-between;
}
#freeweight .machine_list li{
	font-size: 11px;
	width: 45%;
}
	
	
	
#program .lesson {
margin:20% auto 0 auto;
	padding: 0 5%;
}
#program .lesson .lesson_left{
	width: 45%;
}
#program .lesson .lesson_right{
margin:10% auto 0 auto;
	width: 45%;
}

#program .lesson dt{
	font-size: 5.5vw;
}
#program .lesson dd{
	font-size: 3.5vw;
}
#program .lesson .lesson_ditail:nth-child(2){
	margin-top:40%;
}
#program .live {
margin:20% auto 0 auto;
	display:block;
	box-sizing: border-box;
	justify-content: space-between;
	padding: 0 40px;
	max-width: 1280px;
}
#program .live .pic{
	width:auto;
}
#program .live .pic img{
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
#program .live .copy{
	width:auto;
	background:url(../images/00_index/04feature02_live_ico.png) no-repeat center top 50px #2da1e3;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	margin: 0 0 0 0;
	padding:180px 8% 8% 8%;
	box-sizing: border-box;
}
#program .live .copy dt{
	font-size: 3.7vw;
}
	
/*----------------------------------------
	option
-----------------------------------------*/	
.option ul{
	display: flex;
	justify-content:space-between;
	margin:20px 8% 0 8%;
}
.option li{
	padding: 0 0 20px 0;
	box-sizing: border-box;
	width: 47%;
}
.option .upper{
	margin-top: 0px;
}
	
/*----------------------------------------
	202209追加分
-----------------------------------------*/

#freeweight .point {
	display: block;
	margin: 60px auto 0 auto;
	padding: 0 40px;
}
#freeweight .point .point_txt{
	position: relative;
  display: inline-block;
  padding: 7px 30px 30px 30px;
  color: #fff000;
	font-weight: bold;
	border-radius: 10px;
  font-size: 20px;
  background: #3cb7f5;
	width:auto;
	margin:0 0% 30px 0;
}
#freeweight .point .point_txt:before {
 content: "";
  position: absolute;
  top: 100%;
  left: 50%;
margin-top: 0px;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #3cb7f5;
}
#freeweight .point .point_pic{
	width:auto;
	text-align: center;
}
	
.instructor li{
	text-align: center;
	width:30%;
	margin-bottom: 50px;
}
.instructor dt{
	font-size: 16px;
}
.instructor dd{
	font-size: 12px;
}
	
}/*解像度1200px以下*/