@charset "utf-8";

/*背景*/
body{
	background:#fff;
}

/*フォント*/
body,p{
	font-size:18px;
	line-height:1.8;
	color:#000;
}
.page #content p, .single-post #content p {
    font-size: 18px;
	line-height:2.4;
	color:#000;
}

/*外枠*/
#wrapper{
	/*
	max-width:1200px;
	margin:auto;
	border-left:solid 1px #929292;
	border-right:solid 1px #929292;
	*/
	width:100%;
}

/*レスポンシブ*/
@media(min-width:768px){
	.pc-text-center{
		text-align:center;
	}
	.sp-only{
		display:none;
	}
}
@media(max-width:767px){
	.pc-only{
		display:none;
	}
}

/*ヘッダー*/
#header{
	padding:15px 30px;
	position:relative;
	background:#000;
}
.hdr_inner {
    max-width: 1200px;
    position: relative;
    margin: auto;
    height: auto;
    overflow: hidden;
}
#menu{
	padding-right:200px;
	display:none;
}
#hdr_info{
	position:absolute;
	top:50%;
	right:0;
	transform:translatey(-50%);
}
#hdr_info a{
	display:inline-block;
	margin-left:15px;
}
#hdr_info a img{
	width:47px;
}
@media(max-width:768px){
#header{
	padding:10px;
}
#hdr_info a img{
	width:40px;
}
}
#site-title h1, #site-title a {
    line-height: 1;
}

/*ロゴ*/
#site-title{
	text-align:left;
}
#logo-container img {
    height: 60px;
}
@media (min-width: 769px) {
    #logo-container {
        height: auto;
    }
}
@media(max-width:768px){
    #logo-container img {
        height: 50px;
    }
}

/*フッター*/
#footer{
	background:#e4e4e4;
	padding:80px 0;
}
#footer_inner{
	max-width:860px;
	margin:auto;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	padding:0 10px;
}
#footer_map{
	flex-basis:44%;
}
#footer_info{
	flex-basis:50%;
}
.map_container iframe{
	width:100%;
	aspect-ratio:4/3;
}
#footer_info p{
	letter-spacing:0.3em;
	margin-top:0.5em;
	margin-bottom:1em;
	font-size:14px;
}
#footer_info img{
	height:87px;
}
#foot_sns a{
	display:inline-block;
	margin-right:15px;
}
#foot_sns img{
	width:46px;
	height:auto;
}
@media(max-width:767px){
#footer{
	padding:40px 0;
}
#footer_map{
	flex-basis:100%;
}
#footer_info{
	flex-basis:100%;
}
#footer_info .ft_logo img{
	height:60px;
}
}

/*コンテンツエリア*/
#container{
	background:#fff;
	padding:0;
}

/*見出し*/
h2.title_h2{
	position:relative;
	display:inline-block;
	margin:0 auto 1.5em;
	font-size:42px;
	font-weight:bold;
	padding-bottom:20px;
	line-height:1.4;
}
h2.title_h2::after{
	content:'';
	display:block;
	height:10px;
	width:100%;
	background:#fff100;
	position:absolute;
	bottom:0;
}
@media(max-width:767px){
h2.title_h2{
	font-size:22px;
}
}

/*MV*/
.mv{
	width:100%;
	height:840px;
	background:url('https://ip-gym.com/wp-content/uploads/2025/06/main_bg.jpg') center no-repeat;
	background-size:cover;
	position:relative;
}
.main_catch{
	position:absolute;
	right:40px;
	bottom:60px;
	display:inline-block;
	font-size:42px;
	line-height:1.4;
}
.main_catch span{
	display:inline-block;
	background:#fff;
	padding:0 20px;
	margin-bottom:20px;
	opacity:0;
	transform:translatex(-100px);
	font-weight:bold;
}
.main_catch span.catch01{
	transition:2s 0.5s;
}
.main_catch span.catch02{
	transition:2s 1.5s;
}
.main_catch span.catch03{
	transition:2s 2.5s;
}
.main_catch.animated span{
	opacity:1;
	transform:translatex(0);
}
@media(min-width:768px) and (max-width:999px){
.main_catch{
	font-size:28px;
}
}
@media(max-width:767px){
.mv{
	height:530px;
}
.main_catch{
	right:auto;
	left:10px;
	bottom:30px;
	font-size:20px;
	line-height:1.4;
}
}

/*セクション01*/
.sec01{
	max-width:900px;
	margin:auto;
	padding:60px 10px;
}
.sec01 h2{
	background:url(../img/gradient.png) repeat-y;
	background-size:contain;
	position:relative;
	padding:20px 10px;
	margin:50px auto 70px;
	text-align:center;
	font-weight:bold;
	font-size:42px;
	opacity:0;
	transform:translatey(50px);
	transition:1.5s 0.5s;
}
.sec01 h2.animated{
	opacity:1;
	transform:translatey(0);
}
.sec01 h2::before{
	content:'';
	display:block;
	position:absolute;
	left:0;
	top:-43px;
	background:url(../img/Chiropractic.png) no-repeat;
	background-size:cover;
	width:294px;
	height:73px;
	opacity:0.3;
}
.sec01 h2::after{
	content:'';
	display:block;
	position:absolute;
	right:0;
	bottom:-63px;
	background:url(../img/Personalgym.png) no-repeat;
	background-size:cover;
	width:316px;
	height:86px;
	opacity:0.3;
}
@media(max-width:767px){
.sec01{
	padding:30px 10px;
}
.sec01 h2{
	margin:30px auto;
	font-size:22px;
}
.sec01 h2::before{
	top:-23px;
	width:147px;
	height:37px;
}
.sec01 h2::after{
	content:'';
	display:block;
	position:absolute;
	right:0;
	bottom:-33px;
	background:url(../img/Personalgym.png) no-repeat;
	background-size:cover;
	width:158px;
	height:43px;
	opacity:0.3;
}
.page #content .sec01 p{
	font-size:14px;
}
}

/*セクション02*/
.sec02{
	max-width:1000px;
	margin:auto;
	padding:0 10px 60px;
	text-align:center;
}
.sec02 h3{
	font-size:18px;
	font-weight:normal;
	border-bottom:solid 2px #000;
	text-align:center;
	margin-bottom:0.7em;
}
@media(min-width:1200px){
.sec02 h3.single{
	padding-top:1.8em;
}
}
.osusume_list{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	flex-wrap:wrap;
}
.osusume_unit{
	flex-basis:28%;
	margin-bottom:30px;
	opacity:0;
	transform:translatey(70px);
}
.osusume_unit.animated{
	opacity:1;
	transform:translatey(0);
}
.unit01{
	transition:1.5s 0.5s;
}
.unit02{
	transition:1.5s 1s;
}
.unit03{
	transition:1.5s 1.5s;
}
.osusume_unit img{
	width:90%;
	border-radius:50%;
}
.page #content .osusume_unit p{
	font-size:14px;
	text-align:left;
	line-height:1.8;
	margin-top:0;
}
.page #content .osusume_unit ul{
	font-size:14px;
	text-align:left;
	line-height:1.8;
	list-style-type:disc;
	list-style-position:outside;
	margin-left:1em;
}
@media(min-width:768px) and (max-width:999px){
.sec02 h3{
	font-size:16px;
}
}
@media(max-width:767px){
.osusume_unit{
	flex-basis:100%;
}
.osusume_unit img{
	max-width:200px !important;
}
.sec02 h3{
	margin-top:0.7em;
}
}

/*セクション03*/
.sec03{
	background:url(../img/plan_bg.jpg) top no-repeat;
	background-size:cover;
	padding:60px 0;
	text-align:center;
	color:#fff;
}
.ani01, .ani02, .ani03{
	opacity:0;
	transform:translatey(50px);
}
.ani01.animated, .ani02.animated, .ani03.animated{
	opacity:1;
	transform:translatey(0);
}
.ani01{
	transition:1s 0.5s;
}
.ani02{
	transition:1s 1s;
}
.ani03{
	transition:1s 1.5s;
}
.sec03 h3{
	overflow:hidden;
	margin-top:0;
}
.sec03 h3 span{
	position:relative;
	display:inline-block;
	padding:0 50px;
	font-weight:normal;
	font-size:30px;
}
.sec03 h3 span::before{
	content:'';
	display:block;
	height:2px;
	width:50vw;
	background:#fff;
	position:absolute;
	left:-50vw;
	top:50%;
	transform:translatey(-50%);
}
.sec03 h3 span::after{
	content:'';
	display:block;
	height:2px;
	width:50vw;
	background:#fff;
	position:absolute;
	right:-50vw;
	top:50%;
	transform:translatey(-50%);
}
.page #content .sec03 p{
	color:#fff;
	line-height:1.8;
}
.sec03 table{
	border-collapse:collapse;
	max-width:840px !important;
	margin:0 auto 50px;
}
.sec03 table th, .sec03 table td{
	border:solid 1px #adabab;
	padding:4px;
	text-align:center;
	font-size:30px;
	line-height:1.4;
}
.sec03 table th span.large, .sec03 table td span.large{
	font-size:38px;
}
.sec03 table th span.small, .sec03 table td span.small{
	font-size:18px;
}
.sec03 table th{
	background:#818182;
}
.entry_fee{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:30px;
}
.page #content .entry_fee p{
	margin:0;
	font-size:34px;
}
.page #content .entry_fee p span.small{
	font-size:18px;
}
.page #content .entry_fee p.entry_fee_title{
	width:100px;
	aspect-ratio:1/1;
	vertical-align:middle;
	background:#fff;
	color:#000;
	font-size:28px;
	border-radius:50px;
	position:relative;
}
.entry_fee p.entry_fee_title span.mid{
	position:absolute;
	top:50%;
	left:0;
	width:100%;
	transform:translatey(-50%);
}
@media(max-width:767px){
.sec03{
	padding:30px 10px;
}
.sec03 h3 span{
	font-size:22px;
}
.sec03 table{
	margin:0 auto 30px;
}
.sec03 table th, .sec03 table td{
	font-size:14px;
}
.sec03 table th span.large, .sec03 table td span.large{
	font-size:18px;
}
.sec03 table th span.small, .sec03 table td span.small{
	font-size:10px;
}
.entry_fee{
	gap:20px;
}
.page #content .entry_fee p{
	font-size:24px;
}
.page #content .entry_fee p span.small{
	font-size:10px;
}
.page #content .entry_fee p.entry_fee_title{
	width:60px;
	font-size:16px;
}
.page #content .sec03 p{
	font-size:14px;
}
}

/*セクション04*/
.sec04{
	padding:60px 0;
	text-align:center;
}
.trainer_wrap{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	flex-wrap:wrap;
	max-width:920px;
	padding:0 10px;
	margin:auto;
	opacity:0;
	transform:translatey(50px);
	transition:1s 0.5s;
}
.trainer_wrap.animated{
	opacity:1;
	transform:translatey(0);
}
.trainer_img{
	flex-basis:48%;
}
.trainer_desc{
	flex-basis:48%;
	text-align:left;
}
.trainer_desc h3{
	margin-top:0;
	text-align:left;
	font-weight:normal;
}
.trainer_desc h3 span{
	display:block;
	font-size:18px;
}
.trainer_desc dl dt{
	background:#000;
	color:#fff;
	text-align:center;
	width:200px;
	padding:8px;
	font-size:16px;
	line-height:1;
	font-weight:normal;
	margin-bottom:0.5em;
}
.trainer_desc dl dd{
	padding:0;
	margin:0;
	margin-bottom:1.5em;
	font-size:24px;
}
.page #content .trainer_desc p{
	font-size:14px;
	line-height:1.8;
}
@media(max-width:767px){
.trainer_img{
	flex-basis:100%;
}
.trainer_desc{
	flex-basis:100%;
}
.trainer_desc h3{
	font-size:20px;
}
.trainer_desc h3 span{
	font-size:12px;
}
.trainer_desc dl dd{
	font-size:22px;
}
}