@charset "utf-8";
/* CSS Document */
a:hover{text-decoration: none;}
p, li, dt, dd{font-size: 100%; line-height: 1.3;}
img{width: 100%; height: auto;}
.sectionInner{margin-left: auto; margin-right: auto; padding: 5em 20px; width: calc(1200px - 30px);}
h2{text-align: center; color: #c80b4d; font-weight: bold; font-size: 250%; margin-bottom: 1em; display: flex; flex-direction: column; align-items: center;}
h2 .top{display: inline-flex; align-items: center;}
h2 .top::before{content: ""; display: inline-block; width: 50px; height: 34px; background-size: contain; background-repeat: no-repeat; margin-right: 0.1em;}
h2 .bottom{display: block; color: #3f3f3f; font-size: 40%; margin-top: 0.3em;}
h3{font-weight: bold; font-size: 170%; text-align: center; margin-bottom: 1em;}
@media screen and (max-width:767px) {
    .l-main {
        padding-top: calc(100/750*100vw);
    }
}

.l-header{box-shadow: 0 5px 10px rgba(0, 0, 0, .05);}

/* ファーストビュー */
.mainImgBox{background: url(../img/top/main_img01b.jpg) no-repeat; background-position: center; padding: 0em 0 0em; min-height: 455px;}
.mainImgBox .mainImgBoxInner{max-width: 1200px; width: 90%; margin: 0 auto; padding: 3em 0;}
.mainImgBox .main_contents{width: 35%;}
.mainImgBox .main_contents h2{width: 70%; margin: 0 auto;}
.mainImgBox .main_contents .txt{font-weight: bold; color: #333333; margin: 0.5em 0 0.3em; text-align: center; font-size: 16px;}
.mainImgBox .btn a{background: #c80b4d; border-radius: 50vw; display: inline-block; position: relative; margin-top: 0.5em; color: #fff; font-weight: bold; padding: 0.5em 1.5em 0.5em 0.8em; width: 65%; box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); font-size: 19px;}
.mainImgBox .btn a span{font-size: 75%;}
.mainImgBox .btn a::after{content: ""; position: absolute; top: 50%; right: 20px; width: 9px; height: 9px; border-right: 2px solid #fff; border-top: 2px solid #fff; transform: translate(-50%, -50%) rotate(45deg);}

/* メニューリンク */
#menuLinkSec{background: url("../img/top/img_bg01.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center;}
#menuLinkSec .sectionInner{width: calc(760px - 30px);}
#menuLinkSec .linkBox{padding: 0.5em 0em;}
#menuLinkSec .linkBox li{width: 32%; background: #fff; text-align: center; padding: 1em; border-radius: 10px; box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);}
#menuLinkSec .linkBox li .img{width: 65%; margin: 0 auto 0.5em;}
#menuLinkSec li .ttl{font-weight: bold; font-size: 20px; line-height: 1.1; margin-bottom: 0.3em;}
#menuLinkSec li .txtBox{font-weight: bold; line-height: 1.1;}
#menuLinkSec li .txtBox .pinktxt{color: #c80b4d; display: block; font-size: 19px;}
#menuLinkSec li .txtBox .price{font-size: 23px;}
#menuLinkSec li .txtBox .small{font-size: 65%; font-weight: normal; color: #4d4d4d; display: block;}

#menuLinkSec .linkBox.smallBox li .ttl{font-size: 17px; margin-bottom: 0.5em;}

/* カウンセリング */
.formSec.purple{background: #e4e2f2;}
.formSec.purple .telBox{justify-content: space-around;width: 95%;margin: 1em auto 0;}
.formSec.purple .telBox .subttl{font-size: 120%;}
.formSec.purple .telBox .subttl span{display: block; color: #5b5b5b; font-size: 85%;}
.formSec.purple .telBox .tel{font-size: 210%;}
.formSec.purple .telBox .tel::before{width: 50px; height: 29px;}
.formSec.purple .ttl{color: #000; margin-bottom: 0; line-height: 1.3;}


/* OPEN情報 */
#openSec .sectionInner{padding-left: calc(30 / 750 * 100vw); padding-right: calc(30 / 750 * 100vw); width: calc(700px - 30px);}
#openSec .ttl .top::before{display: none;}
#openSec .listBox{overflow: auto; height: 250px; font-weight: bold;}
#openSec .listBox .openListLi{padding: 8px 0px;}
#openSec dt{width: 95px; color: #fff; text-align: center; border-radius: 3px; margin: 0 1em 0 0; padding: 3px 0; font-size: 80%;}
#openSec dt.new{background: #c80b4d;}
#openSec dt.move{background: #3e9db0;}
#openSec dt.renew{background: #eeaa9a;}
#openSec dd{letter-spacing: 1px; width: 10em;padding-left: 0.5em;}
#openSec dd.open-date{width: 5.5em;}
#openSec dd.open-menu{border-radius: 50vw; padding: 2px 10px 0; width: 8.5em; font-size: 80%; text-align: center;}
#openSec dd.open-menu.pil{border: solid 1px #a5185a; color: #a5185a;}
#openSec dd.open-menu.pillong{border: solid 1px #a5185a; color: #a5185a; align-self: center; flex-shrink: 0;}
#openSec dd.open-menu.wo{border: solid 1px #c8a57f; color: #c8a57f;}
#openSec dd.open-menu.fit{border: solid 1px #c80b4d; color: #c80b4d;}
#openSec dd.open-name a{color: #006699; }



/* 24/7SPORTS CLUBとは */
#aboutSec{background: #ecede8;}
#aboutSec .sectionInner{padding: 5em 20px 2.5em;}
#aboutSec .leftBox{width: 48%;}
#aboutSec .rightBox{width: 48%;}
#aboutSec .rightBox .txtBox{padding: 0;}
#aboutSec .rightBox .txtBox h2{text-align: left; font-size: 155%;}
#aboutSec .rightBox .txtBox .small{font-size: 80%;}
#aboutSec .txtBox{margin: 1em auto 0; padding-left: calc(30 / 750 * 100vw); padding-right: calc(30 / 750 * 100vw);}
#aboutSec .txtBox h2{font-weight: bold; font-size: 120%; margin-bottom: 0.5em; line-height: 1.3; color: #252525;}
#aboutSec .txtBox p span{color: #a98333; background: #fff; font-weight: bold;}
#aboutSec .txtBox .small{font-size: 65%; color: #666666; margin-top: 2em;}

/* 内部リンク */
#InnerLinkSec{background: #c80b4d;}
#InnerLinkSec .sectionInner{width: calc(780px - 30px);}
#InnerLinkSec li{width: 24%;}
#InnerLinkSec li a{display: block; position: relative; padding: 0.5em 0 1.5em; text-align: center; line-height: 0.7; box-shadow: 0 0 8px gray; border-radius: 0.3em; font-size: 120%; background: #fff; color: #c80b4d; font-weight: bold;}
#InnerLinkSec li a img{display: block; margin-left: auto; margin-right: auto; margin-bottom: 0.5em; width: 35%;}
#InnerLinkSec li a::before{content: ""; position: absolute; display: block; bottom: 0.7em; left: 50%; transform: translateX(-50%) rotate(45deg); width: 0.5em; height: 0.5em; border-right: 1px solid #4D4D4D; border-bottom: 1px solid #4D4D4D; transform-origin: center; opacity: 1;}    
      
/* ラインナップ */
#lineupSec{margin-top: 2em;}
#lineupSec .lineupBox{margin-bottom: 2em; width: 32%;}
#lineupSec .subttl{background: #c80b4d; color: #fff; padding: 0.3em 0; margin-bottom: 0.5em;}
#lineupSec .whiteBox{background: #fff; padding: 1.5em; border-radius: 10px; box-shadow: 0 5px 5px rgba(0, 0, 0, 0.08);}
#lineupSec .whiteBox .logo{width: 30%; margin: 0 auto 1em;}
#lineupSec .whiteBox .img{margin-bottom: 1em;}
#lineupSec .whiteBox .pinkttl{color: #c80b4d; font-weight: bold; font-size: 21px;}
#lineupSec .whiteBox .bold{font-size: 17px; font-weight: bold;}
#lineupSec .whiteBox .txtBox{height: 75px; padding: 0; margin: 0;}
#lineupSec .btnBox{text-align: center;background: #eaf0f0; border-radius: 50vw; position: relative; margin-top: 0.5em; color: #333333; padding: 0.25em 1.5em 0.2em 0.8em; font-weight: bold; width: 50%; margin: 0.5em auto 0;} 
#lineupSec .btnBox::after{content: ""; position: absolute; top: 50%; right: 10px; width: 7px; height: 7px; border-right: 2px solid #333; border-top: 2px solid #333; transform: translate(-50%, -50%) rotate(45deg);}

#lineupSec .middle .lineupBox{margin-bottom: 0;}
#lineupSec .middle .whiteBox{padding: 1em;}
#lineupSec .middle .leftBox{width: 30%;}
#lineupSec .middle .rightBox{width: 66%;}
#lineupSec .middle .whiteBox .img{margin-bottom: 0;}
#lineupSec .middle .btnBox{font-size: 90%; width: 100%;}
#lineupSec .middle .whiteBox .pinkttl{font-size: 17px;}
#lineupSec .middle .whiteBox .txtBox{height: auto;}

/*2026年1月バッチ追加ここから*/
/*#lineupSec .lineupBox .whiteBox {position: relative;}
#lineupSec .lineupBox.workoutBox .whiteBox:after,
#lineupSec .lineupBox.fitBox .whiteBox:after,
#lineupSec .lineupBox.pilatesBox .whiteBox:after{
content:"";position:absolute;display: inline-block;background: url(/assets/img/gym/store/store_cam_batch_0228.png) 100% 100% / cover;height: 90px;width: 90px;top: 2%;right: 3%;}*/
/*2026年1月バッチ追加ここまで*/

/* 料金一覧 */
#priceSec .sectionInner{width: calc(1000px - 30px);}
#priceSec h3 span{background: linear-gradient(transparent 65%, #feff5c 0%);}
#priceSec .ttl .top::before{background-image: url("/assets/img/top/icon_price.png");}
#priceSec .innerBox{padding-left: calc(30 / 750 * 100vw); padding-right: calc(30 / 750 * 100vw);}
#priceSec h3{display: flex; justify-content: center; align-items: center; margin-bottom: 0.5em;}
#priceSec h3::before{content: ""; display: inline-block; width: 65px; height: 47px; background-size: contain; background-repeat: no-repeat; margin-right: 0.1em;}
#priceSec h3 .ttlBox{background: none;}
#priceSec .middle h3 .pink,#priceSec h3 .pink{background: #ff9797; color: #fff; text-align: center; font-size: 50%; width: 50%; border-radius: 50vw; padding: 0.3em 0 0.2em; display: block;}
#priceSec .workoutBox h3::before{background-image: url("/assets/img/top/img_logo01.png");}
#priceSec .fitBox h3::before{background-image: url("/assets/img/top/img_logo02.png");}
#priceSec .pilatesBox h3::before{background-image: url("/assets/img/top/img_logo03.png");}
#priceSec .priceBox{width: 85%; margin: 0 auto;}
#priceSec .priceBox .planBox{border: solid 5px #515151; width: 49%; margin: 0 auto 0.8em;}
#priceSec .priceBox .planBox .plan{background: #515151; color: #fff; font-size: 120%; font-weight: bold; text-align: center; padding: 0.3em 0;}
#priceSec .workoutBox .priceBox .osusumeBox{border: solid 5px #c9a67f;}
#priceSec .workoutBox .priceBox .osusumeBox .plan{background: #c9a67f;}
#priceSec .fitBox .priceBox .planBox{border: solid 5px #c80b4d;}
#priceSec .fitBox .priceBox .planBox .plan{background: #c80b4d;}
#priceSec .pilatesBox .priceBox .planBox{border: solid 5px #a5185a;}
#priceSec .pilatesBox .priceBox .planBox .plan{background: #a5185a;}

#priceSec .priceBox .planBox .flexBox{padding: 0.4em 2em 0.4em 3.3em; position: relative;}
#priceSec .priceBox .planBox .flexBox .number{width: 50px; height: 50px; border-radius: 50%; background: #515151; display: flex; flex-direction: column; justify-content: center; align-items: center; font-weight: bold; color: #fff; position: absolute; left: 30px;}
#priceSec .priceBox .planBox .flexBox .number span{font-size: 70%;}
#priceSec .priceBox .planBox .flexBox .fee{color: #bc2a2a; font-weight: bold; font-size: 200%; text-align: center; line-height: 1;}
#priceSec .priceBox .planBox .flexBox .fee .en{font-size: 65%;}
#priceSec .priceBox .planBox .flexBox .fee .small{display: block; color: #4d4d4d; font-weight: normal; font-size: 45%; margin-top: 0.2em;}
#priceSec .workoutBox.lineupBox{padding: 0 0 1em;}
#priceSec .lineupBox{border-bottom: 2px solid #f2f2f2; padding: 2em 0;}
#priceSec .personalBox.lineupBox{border-bottom: none;}
#priceSec .btn{text-align: center;}
#priceSec .btn a{display: inline-flex; align-items: center; justify-content: center; background: #fff; border: solid 1px #dddddd; border-radius: 50vw; width: 35%; margin: 0.5em auto 0; padding: 0.3em 0 0.2em; gap: 0.3em;}
#priceSec .btn a::before{content: ""; display: inline-block; width: 18px; height: 25px; background-image: url("/assets/img/top/icon_map01.png"); background-size: contain; background-repeat: no-repeat;}

#priceSec .middle h3{text-align: left;width: 40%; margin: 0 auto 0.5em; justify-content: flex-start;}
#priceSec .middle h3::before{width: 55px; height: 55px; margin-right: 0.3em;}
#priceSec .middle h3 span{background: none;}

#priceSec .boxfitBox h3::before{background-image: url("/assets/img/top/lineup_fig04.jpg");}
#priceSec .onlineBox h3::before{background-image: url("/assets/img/top/lineup_fig05.jpg");}
#priceSec .personalBox h3::before{background-image: url("/assets/img/top/lineup_fig06.jpg");}
#priceSec .middle .priceBox .planBox{border: solid 5px #61617c;}
#priceSec .middle .priceBox .planBox .flexBox{padding: 0; align-items: center; display: flex; justify-content: center;}
#priceSec .middle .priceBox .planBox .flexBox .plan{width: 38%; background: #61617c;}
#priceSec .middle .priceBox .planBox .flexBox .plan span{display: block; width: 50%; font-size: 65%; background: #000; border-radius: 50vw; margin: 0 auto;}
#priceSec .middle .priceBox .planBox .flexBox .fee{width: 62%;}
#priceSec .komesmall{font-size: 80%; width: 49%; margin: 0 auto;}

/* 店舗一覧 */
#storeSec .sectionInner{padding-left: calc(30 / 750 * 100vw); padding-right: calc(30 / 750 * 100vw); width: calc(700px - 30px);}
#storeSec .ttl .top::before{background-image: url("/assets/img/top/icon_store.png");}
#storeSec .txt{margin-bottom: 1em; text-align: center;}
#storeSec .searchBox{margin-bottom: 2em; max-width: 1000px;}
#storeSec .searchBox .searchUL{display: flex;flex-wrap: wrap;justify-content: flex-start;align-items: stretch; gap:0.5em;}
#storeSec .searchBox .searchUL li{width: calc(94% / 3);text-align: center;background: #fff;border-radius: 3px;filter: drop-shadow(0px 0px 3px #bcbcbc);}
#storeSec .searchBox .searchUL li.nolink{background: #ccc; filter: none; display: block; font-weight: 600;}
#storeSec .searchBox .searchUL li a{display: block;font-weight: 600;padding: 0.5em 0.2em;}
#storeSec .searchBox .searchUL li a:hover{background: #5aad31;color: #fff;text-decoration: none;}
#storeSec .text_search{width: 80%;margin: 0 auto 1.5em;}
#storeSec .m-input-search {background-color: #fff;border: 1px solid #ccc;border-radius: 100vw;display: -webkit-box;display: -ms-flexbox;display: flex;height: 52px;}
#storeSec .m-input-search__input[type=text] {background-color: #fff;border: 0;border-radius: 100vw 0 0 100vw;-webkit-box-flex: 1;-ms-flex: 1 1 auto;flex: 1 1 auto;height: 100%; width: 100%;padding: 12px 18px; font-size:80%;}
#storeSec .m-input-search__btn {-webkit-box-align: center;-ms-flex-align: center;align-items: center;background-color: #1a1a1a;display: -webkit-box;display: -ms-flexbox;display: flex;border-radius: 100vw;-webkit-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;height: calc(100% - 18px);-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;margin: 9px;width: 32px;}
#storeSec .m-input-search__btn img{width: 16px;}
#storeSec button{  -webkit-appearance: none;-moz-appearance: none;appearance: none;background: 0 0;border: none;cursor: pointer;margin: 0;outline: 0;padding: 0;}
#storeSec .back a{position: relative;}
#storeSec .back img{width: 14px; left: -1em; position: absolute; bottom: 0;top: 0;margin: auto;font-size: 120%;}

/* お知らせ */
#newsSec .sectionInner{padding-left: calc(30 / 750 * 100vw); padding-right: calc(30 / 750 * 100vw); width: calc(700px - 30px);}
#newsSec .ttl .top::before{display: none;}
#newsSec .listBox{overflow: auto; height: 250px;}
#newsSec .listBox .newsListLi{padding: 12px 5px; border-bottom: #CCC dotted 1px;}
#newsSec dt{position: relative; float: left; width: 80px;}
#newsSec .newsListLi.all dt:after{content: "ALL"; display: block; width: 80px; line-height: 1; background: #595959; color: #fff; text-align: center; padding:  4px 0; margin-top: 5px; border-radius: 50vw; font-size: 70%;}
#newsSec .newsListLi.wo dt:after{content: "24/7Workout"; display: block; width: 80px; line-height: 1; background: #c8a57f; color: #fff; text-align: center; padding: 4px 0; margin-top: 5px; border-radius: 50vw; font-size: 70%;}
#newsSec .newsListLi.fit dt:after{content: "24/7FIT"; display: block; width: 80px; line-height: 1; background: #c80b4d; color: #fff; text-align: center; padding: 4px 0; margin-top: 5px; border-radius: 50vw; font-size: 70%;}
#newsSec .newsListLi.pil dt:after{content: "24/7Pilates"; display: block; width: 80px; line-height: 1; background: #a5185a; color: #fff; text-align: center; padding: 4px 0; margin-top: 5px; border-radius: 50vw; font-size: 70%;}
#newsSec dd{float: right; width: calc(100% - 100px);}

/*年賀on*/
.nengaBnrP img {width: 45%;}
.nengaBnrP{margin:0 0 0.6em;}
.nengaBnrP.u-pc{margin-top: -1.5em!important;margin-bottom: 1.5em;}

@media screen and (max-width: 767px) {
.sectionInner{padding: 35px 0; width: 100%;}

/* ファーストビュー */
.mainImgBox{background: url("../img/top/main_img01b_sp.jpg") no-repeat; background-size: 100%;}
.mainImgBox .mainImgBoxInner{width: 90%; padding: 20em 0 1em; position: relative;}
.mainImgBox .main_contents{width: 70%;}
.mainImgBox .main_contents h2{width: 80%; margin: 0;}
.mainImgBox .main_contents .txt{font-size: 100%; text-align: left; color: #595959;}
.mainImgBox .btn a{position: absolute; right: 0; bottom: 5%; width: 85px; height: 85px; padding: 0; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 100%;}	    
.mainImgBox .btn a::after{display: none;}
	
	
/* メニューリンク */
#menuLinkSec{background: #e4e2f2;}
#menuLinkSec .sectionInner{width: 100%; padding: 0 0 35px;}
#menuLinkSec .imgBox{margin-bottom: 1em;}
#menuLinkSec .linkBox{padding: 0.5em;}
#menuLinkSec .linkBox li{padding: 1em 0.5em; border-radius: 5px;}
#menuLinkSec li .ttl{font-size: 90%;}
#menuLinkSec li .txtBox .pinktxt{font-size: 90%; line-height: 1.1;}
#menuLinkSec li .txtBox .price{font-size: 100%;}
#menuLinkSec .linkBox.smallBox li .ttl{font-size: 80%;}
	
/* カウンセリング */
.formSec.purple .sectionInner{padding: 0 0 35px; padding-left: calc(30 / 750 * 100vw); padding-right: calc(30 / 750 * 100vw);}
.formSec.purple .telBox{width: 100%;}
.formSec.purple .telBox .subttl{font-size: 75%;}
.formSec.purple .telBox .tel{font-size: 125%;}
.formSec.purple .telBox .tel::before{width: 35px; height: 20px;}
	
/* OPEN情報 */	
#openSec .sectionInner{width: 100%;}	
#openSec dt{font-size: 65%; width: 70px;}
#openSec dd.open-date{font-size: 80%; width: auto; margin-right: 0.5em;}
#openSec dd.open-menu{font-size: 65%; width: 9em; letter-spacing: -0.1px;}
#openSec dd.open-name{font-size: 95%; width: 100%; padding: 0.5em 0 0;}
	
/* 内部リンク */
#InnerLinkSec .sectionInner{padding-left: calc(30 / 750 * 100vw); padding-right: calc(30 / 750 * 100vw); width: 100%;}
#InnerLinkSec li a{font-size: 80%; }

/* ラインナップ */
#aboutSec .sectionInner{padding: 0em 0px 35px;}
#aboutSec .txtBox h2{font-size: 4.8vw; text-align: left;}
#lineupSec{padding-left: calc(30 / 750 * 100vw); padding-right: calc(30 / 750 * 100vw);}
#lineupSec .dispFlex{display: block;}
#lineupSec .lineupBox{width: 100%; margin-bottom: 1.5em;}
#lineupSec .whiteBox .txtBox{height: auto; margin-bottom: 1em;}
#lineupSec .colortxt{text-align: center; margin: 1em 0 0.5em; font-size: 120%;}
#lineupSec .btnBox::after{right: 5px;}
	
#lineupSec .middle .lineupBox{width: 100%; margin-bottom: 1.5em;}
#lineupSec .middle .whiteBox .txtBox{margin-bottom: 0;}
#lineupSec .middle .personalBox.lineupBox{margin-bottom: 0;}
#lineupSec .middle .flexBox{display: flex;}
#lineupSec .middle .btnBox{font-size: 75%; width: 100%;}

/* 料金一覧 */
#priceSec .sectionInner{width: 100%;}
#priceSec .priceBox{width: 90%;}
#priceSec .middle h3{width: 90%;}
#priceSec .priceBox .planBox{margin-bottom: 0.8em; width: 100%;}
#priceSec .priceBox .planBox .flexBox .number{left: 25px;}
#priceSec .workoutBox.lineupBox .dispFlex{display: block;}
#priceSec .lineupBox{padding: 1em 0;}
#priceSec .btn a{width: 70%;}
#priceSec .komesmall{width: 100%;}

/* 店舗一覧 */
#storeSec .sectionInner{width: 100%;}
#storeSec .txt{text-align: left;}

/* お知らせ */
#newsSec .sectionInner{width: 100%;}	
	
/*年賀on*/
.nengaBnrP img {width: 95%;}
.nengaBnrP{margin:-0.75em 0 1em!important;}
}

