@charset "utf-8";

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

	base

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

.pcOnly {
	display: block;
}

.pcOnly.inline {
	display: inline;
}

.spOnly {
	display: none;
}

a[href^="tel:"] {
	display: inline-block;
	pointer-events: none;
}

a[href^="tel:"]:hover {
	opacity: 1;
}

html {
	font-size: 62.5%; min-width: 100%; width: 100%; padding: 0; margin: 0;
}

body {
 min-width: 100%; width: 100%; padding: 0; margin: 0;
}
body .entry_button {
	position: fixed;
	right: 0;
	top: 180px;
	z-index: 99;
  }

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

h1,h2,h3,h4,h5,h6 { margin: 0; }

#keiohorinouchi_wrap { padding: 0;  min-width: 100%;  width: 100%; margin: 0;}



.mv_wrap {
 width: 100%;
}

.mv_wrap h1 {
	width: 100%;
}



.plan_wrap {
	width: 1020px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: auto;
	padding: 50px 0;
}

.plan_wrap h2 {
	width: 100%;
	text-align: center;
	font-size: 35px;
	font-weight: bold;
	margin-bottom: 40px;
	line-height: 1.71;
}

.plan_wrap p.note {
	font-size: 12px;
	font-weight: normal;
	text-align: right;
}

.plan_wrap img {
	width: 480px;
	margin-bottom: 30px;
}



.recommend_wrap { 
	width: 100%; margin: auto; padding: 0 0 40px;
}

.recommend_wrap img:last-child { 
	margin-top: 6px;
}


.trial_wrap { width: 100%; margin: auto; background:#C21632; }

.trial_wrap .trial_txt { padding: 45px 0 10px; margin: auto; width: 1020px; text-align: center; }

.trial_wrap .trial_txt h2 { font-size: 45px; font-weight: bold; color: #fff; text-align: center; }

.trial_wrap .trial_txt p { font-size: 20px; color: #fff; text-align: center; margin: 30px 0 40px; line-height: 1.7; }

.trial_wrap .trial_txt a img { width: 480px; }



.entry_wrap { padding: 75px 0 80px; margin: auto; width: 1020px; text-align: center; }

.entry_wrap h2 { font-size: 45px; font-weight: bold; text-align: center; }

.entry_wrap h2:before { content: ''; display: inline-block; width: 50px; height: 5px; background: #000; transform: rotate(55deg); top: -15px; position: relative; }

.entry_wrap h2:after { content: ''; display: inline-block; width: 50px; height: 5px; background: #000; transform: rotate(-55deg); top: -15px; position: relative; }

.entry_wrap p { font-size: 20px; font-weight: bold; text-align: center; margin: 30px 0 40px; }

.entry_wrap .entry_type_wrap { width: 1020px; display: flex; justify-content: space-between; margin: auto; padding: 0; }

.entry_wrap .entry_type_wrap .entry_type_box { width: 325px; display: flex; align-items: center; flex-direction: column; }

.entry_wrap .entry_type_wrap .entry_type_box > img { width: 260px; }

.entry_wrap .entry_type_wrap .entry_type_box .entry_type_box_txt { margin-top: 30px; width: 100%; }

.entry_wrap .entry_type_wrap .entry_type_box .entry_type_box_txt h3 { text-align: center; font-size: 16px; font-weight: bold; min-height: 50px; line-height: 1.63; margin: 0; }

.entry_wrap .entry_type_wrap .entry_type_box .entry_type_box_txt p { font-size: 12px; text-align: justify; margin: 15px 0 0; font-weight: normal; }
.entry_wrap .entry_type_wrap .entry_type_box:nth-child(2) .entry_type_box_txt p { text-align: center; }

.entry_wrap > a { margin-top: 70px; }

.entry_wrap > a img { width: 480px; }




.orientation_wrap { width: 100%; margin: auto; background:#1D1D1D; }

.orientation_wrap .orientation_txt { padding: 50px 0 60px; margin: auto; text-align: center; }

.orientation_wrap .orientation_txt h2 { font-size: 45px; font-weight: bold; color: #fff; text-align: center; margin: 0; }

.orientation_wrap .orientation_txt p { font-size: 20px; color: #fff; text-align: center; margin: 15px 0 0; }




.facility_wrap { padding: 75px 0 80px; margin: auto; width: 1020px; text-align: center; }

.facility_wrap h2 { font-size: 45px; font-weight: bold; text-align: center; }

.facility_wrap p { font-size: 20px; font-weight: bold; text-align: center; margin: 40px 0 55px; line-height: 1.7; }

.facility_wrap p.note { font-size: 14px; font-weight: normal; text-align: center; margin: 20px 0 40px; }

.facility_wrap .facility_pict_wrap { width: 1020px; display: flex; justify-content: space-between; flex-wrap: wrap; margin: auto; padding: 0 0 40px; box-sizing: border-box; }

.facility_wrap .facility_pict_wrap figure { width: 240px; display: flex; align-items: center; flex-direction: column; margin: 0 0 20px; }

.facility_wrap .facility_pict_wrap figure img { width: 100%; }

.facility_wrap .facility_pict_wrap figure figcaption { font-size: 16px; text-align: justify; margin: 10px 0 0; font-weight: normal; }



.facility_wrap .facility_icon_wrap, .facility_wrap .facility_option_wrap { width: 1020px; display: flex; flex-wrap: wrap; margin: auto; padding: 0 0 50px; box-sizing: border-box; }
.facility_wrap .facility_icon_wrap h3, .facility_wrap .facility_option_wrap h3 { font-size: 18px; font-weight: bold; padding: 5px 10px; border-left: 6px solid #101010; width: 100%; display: inherit; margin-bottom: 30px; }
.facility_wrap .facility_icon_wrap img, .facility_wrap .facility_option_wrap img { width: 87px; display: flex; align-items: center; flex-direction: column; margin: 0 0 10px; }
.facility_wrap .facility_icon_wrap img + img, .facility_wrap .facility_option_wrap img + img { margin-left: 10px; }
.facility_wrap .facility_icon_wrap img:nth-of-type(11) { margin-left: 0; }

.shopInfo_wrap{background:#C21632 url(./img/map_bg.svg) 50% 50% no-repeat;background-size:auto 470px;padding:130px 0;text-align:center;}
.shopInfo_wrap h2 { color: #FFF; text-align: center; font-size: 45px; font-weight: bold;}
.shopInfo_wrap .shopInfo_wrap_inner{display:flex;flex-wrap:wrap;justify-content:space-between;margin:auto;box-sizing:border-box;}
.shopInfo_wrap .shopInfo_wrap_inner h3{font-size:25px;font-weight:600;width:100%;border-bottom:2px solid #fff;padding:0 24px 15px;color:#fff;text-align:left;margin:25px 0 35px;}
.shopInfo_wrap .shopInfo_wrap_inner ul{display:flex;justify-content:flex-start;align-items:center;flex-wrap: wrap; gap: 0 4.5%;}
.shopInfo_wrap .shopInfo_wrap_inner ul li{width:30%;padding:15px 0;}
.shopInfo_wrap .shopInfo_wrap_inner ul li a{display:block;width:304px;font-size:16px;font-weight:600;border-bottom:2px solid #C21632;color:#000;text-decoration:none;text-align:left;padding:5px;position:relative;}
.shopInfo_wrap .shopInfo_wrap_inner ul li a:hover{opacity:.6;}
.shopInfo_wrap .shopInfo_wrap_inner ul li a:after{content:'';position:absolute;right:5px;transform:translate(-50%, -50%) rotate(45deg);top:50%;display:inline-block;width:10px;height:10px;border-top:3px solid #C21632;border-right:3px solid #C21632;}
/*tab*/
.shopInfo_wrap .tab-area{width:auto;margin:80px auto 0; padding: 30px 0;}
.shopInfo_wrap.joyfit24lite .tab-area ul{width:840px;}
.shopInfo_wrap.joyfitgym24lite .tab-area ul{width:840px;}
.shopInfo_wrap .tab-area ul{margin:0 auto;width:1020px;box-sizing:border-box;display:flex;justify-content:space-between;}
.shopInfo_wrap .tab-area li{width:120px;height:90px;box-shadow:6px 6px 0px 0px rgba(0,0,0,0.11);border-radius:6px;}
.shopInfo_wrap .tab-area li a{width:100%;height:50px;padding:20px 0;line-height:1;text-indent:0;font-size:16px;font-weight:bold;text-decoration:none;position:relative;display:flex;align-items:center;justify-content:center;background-color:#fff;border:#000 solid 1px;border-radius:6px;}
.shopInfo_wrap .tab-area li a::after{content:'';display:inline-block;position:absolute;width:10px;height:10px;border-top:none;border-left:none;border-bottom:#C21632 solid 2px;border-right:#C21632 solid 2px;transform:rotate(45deg) translateX(-50%);bottom:19px;left:50%;margin:0;}
.shopInfo_wrap .tab-area li a span{display:block;transform:translateY(-.3em);color:#000; text-align:center;}
/*active*/
.shopInfo_wrap.active{background:#C21632 no-repeat;}
.shopInfo_wrap.active .tab-area{background: #F5F5F5;}
.shopInfo_wrap.active .tab-area .tab.active a{background-color:#C21632;color:#fff;}
.shopInfo_wrap.active .tab-area .tab.active a span{color:#FFF;}
.shopInfo_wrap.active .tab-area .tab.active a::after{border-bottom:#FFF solid 2px;border-right:#FFF solid 2px;}
/* タブの中身*/
.panel{display:none;}
.panel-inner{width:1020px;display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 auto;padding:80px 0;box-sizing:border-box;}
.panel.active{display:block;background:#FFF;width:100%;}

/* .shopInfo_wrap .shopInfo_wrap_inner .shopInfo_txt { width: 445px; margin: 0; text-align: justify; }
.shopInfo_wrap .shopInfo_wrap_inner .shopInfo_txt dt { padding: 5px 20px; background: #1D1D1D; color: #fff; font-size: 16px; font-weight: bold; display: inline-block; margin-bottom: 10px; }
.shopInfo_wrap .shopInfo_wrap_inner .shopInfo_txt dd { font-size: 16px; font-weight: bold; margin: 0 0 25px 0; line-height: 1.63; }
.shopInfo_wrap .shopInfo_wrap_inner .shopInfo_txt dd span { font-size: 12px; font-weight: normal; display:block; line-height: 2.17; }

.shopInfo_wrap .shopInfo_wrap_inner .shopInfo_map { width: 540px; text-align: center; }
.shopInfo_wrap .shopInfo_wrap_inner .shopInfo_map p { width: 100%; border: 2px solid #C21632; color: #C21632; font-size: 20px; border-radius: 4px; font-weight: bold; padding: 10px; text-align: center; box-sizing: border-box; margin: 20px 0 35px; }

.shopInfo_wrap .shopInfo_wrap_inner .shopInfo_map a img { width: 360px; }

.shopInfo_wrap .sns_wrap { width: 250px; display: flex; justify-content: space-between; margin: auto;  } */

.red_bar { background-color: #C21632; margin-top: 66px; padding: 59px 0 48px; text-align: center; position: relative; }
.red_bar .logo_joyfit24_lite { width: 564px; }
.red_bar .logo_joyfit24_gym_lite { width: 791px; margin-top: 13px; }
.red_bar .red_bar_head { color: #fff; width: 636px; font-size: 24px; margin: 0 auto; border: #fff solid 2px; border-radius: 2em; line-height: 1; padding: 0.25em 0; }
.red_bar .baloon_new { width: 200px; position: absolute; top: 0; left: 50%; transform: translateX(-530px); }

.for_app h2 { font-size: 45px; color: #fff; width: 90%; max-width: 775px; text-align: center; background-color: #F04E2E; border-radius: 3em; margin: 0 auto; padding: 0.25em; font-weight: bold; }
.for_app p.read { margin-top: 86px; text-align: center; font-size: 24px; line-height: 1.4; font-weight: bold; }
.for_app small { margin-top: 1em; display: block; text-align: center; font-size: 18px; font-weight: bold; }
.for_app .btn_lists { width: 90%; max-width: 607px; margin: 40px auto 0; display: flex; justify-content: space-between; align-items: center; }
.for_app p { margin-top: 106px; text-align: center; font-size: 20px; line-height: 1.7; }
.for_app .btn_pr_app { display: block; width: 90%; max-width: 1070px; margin: 60px auto 100px; }