/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 14 2025 | 17:48:31 */
/* トップページ */

/* メインビジュアル */
@media (max-width: 599px) {
	#main_visual .p-mainVisual__inner {
		display: flex;
		flex-direction: column;
	}
	#main_visual .p-mainVisual__inner .swiper-wrapper {
		margin-top: auto;
		height: 40vh;
	}
}
#main_visual .p-mainVisual__img {
	object-position: right top;
	width: 80%!important;         
	margin-left: auto;  
	margin-right: 0;  
}
@media (max-width: 599px) {
	#main_visual .p-mainVisual__img {
		object-position: center;
		width: 100%!important;         
	}	
}
#main_visual div[class*="mainVisual-bg"] {
	position: absolute;
	z-index: 10;
}
#main_visual .mainVisual-bg1 {
	top: 0;
	left: 20%;
	height: 100%;
	position: relative;
}
@media (max-width: 599px) {
	#main_visual .mainVisual-bg1 {
		height: 60vh;
		top: auto;
		left: -10%;
		bottom: 0;
	}	
}
@media (min-width: 600px) {
	#main_visual .mainVisual-bg1::before {
		top: 0;
		left: -400px;
		height: 100%;
		content: "";
		width: 400px;
		background-color: #fff;
		position: absolute;
	}
}
#main_visual .mainVisual-bg1 img {
	object-fit: contain;
	height: 100%;
}
#main_visual .mainVisual-bg2 {
	top: 50%;
	transform: translateY(-50%);
	left: 5%;
	width: min(50%, 800px);
}
@media (max-width: 599px) {
	#main_visual .mainVisual-bg2 {
		top: 0;
		left: 0;
		transform: translateY(0);
		width: 100%;
	}
}
#main_visual .mainVisual-bg3 {
	bottom: 0;
	left: 20px;
	width: min(40%, 500px);
}
@media (max-width: 599px) {
	#main_visual .mainVisual-bg3 {
		top: 30vh;
		left: -2%;
		width: 50%;
	}
}
#main_visual .mainVisual-bg4 {
	bottom: 0;
	right: 0;
	height: 70%;
}
@media (max-width: 599px) {
	#main_visual .mainVisual-bg4 {
		height: 40%;
	}
}
@media (max-width: 599px) {
	.mainVisual-btn {
		position: absolute;
		bottom: 10px;
		left: 50%;
		transform: translatex(-50%);
		z-index: 10;
	}
}
#main_visual .mainVisual-content {
	position: absolute;
	width: min(1300px, 90%);
	top: 15%;
	left: 50%;
	transform: translatex(-50%);
	z-index: 10;
}
@media (max-width: 599px) {
	#main_visual .mainVisual-content {
		width: min(800px, 90%);
		top: 20px;
	}
}
#main_visual .mainVisual-content .text-top {
	font-size: calc(44rem / 16);
	  text-shadow:
     1px 1px 0 #fff,
    -1px 1px 0 #fff,
     1px -1px 0 #fff,
    -1px -1px 0 #fff,
     0  1px 0 #fff,
     1px  0 0 #fff,
    -1px  0 0 #fff,
     0 -1px 0 #fff;
}
@media (max-width: 599px) {
	#main_visual .mainVisual-content .text-top {
		font-size: calc(32rem / 13.5);
		font-weight: bold;
	}
}
#main_visual .mainVisual-content .text-bottom {
	font-size: calc(36rem / 16);
	  text-shadow:
     1px 1px 0 #fff,
    -1px 1px 0 #fff,
     1px -1px 0 #fff,
    -1px -1px 0 #fff,
     0  1px 0 #fff,
     1px  0 0 #fff,
    -1px  0 0 #fff,
     0 -1px 0 #fff;
}
@media (max-width: 599px) {
	#main_visual .mainVisual-content .text-bottom {
		font-size: calc(22rem / 13.5);
		font-weight: bold;
		margin-top: 10px;
	}
}
@media (min-width: 600px) {
	.mainVisual-btn {
		position: relative;
		z-index: 11;
	}
}
.mainVisual-btn a.btn,
.cta-btn a.btn {
	margin-top: 30px;
	display: block;
	font-size: calc(30rem / 16);
	border: 3px solid var(--color_deep02);
	border-bottom-width: 4px;
	background-color: var(--color_deep02);
	color: #333;
	padding: 10px 50px 10px 40px;
	border-radius: 10px;
	width: max-content;
	position: relative;
	box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
	transition: .3s;
}
@media (min-width: 600px) {
	.mainVisual-btn a.btn.sp {
		display: none;
	}
}
@media (max-width: 599px) {
	.mainVisual-btn a.btn.pc {
		display: none;
	}
}
.cta-btn a.btn {
	margin: 0 auto;
}
@media (max-width: 599px) {
	.mainVisual-btn a.btn,
	.cta-btn a.btn {
		font-size: calc(24rem / 16);
		padding: 10px 30px 10px 20px;
		font-weight: bold;
	}
}
.mainVisual-btn a.btn::before,
.cta-btn a.btn::before {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translatey(-50%);
	content: "";
	background-image: url(https://noritoto.xsrv.jp/flex/wp-content/uploads/2025/09/arrow-right-1.webp);
	background-repeat: no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
}
@media (max-width: 599px) {
	.mainVisual-btn a.btn::before,
	.cta-btn a.btn::before {
		right: 5px;
		width: 15px;
		height: 15px;
	}
}
@media (hover: hover) {
	.mainVisual-btn a.btn:hover,
	.cta-btn a.btn:hover {
		background-color: #fff;
	}
}
#main_visual_pagination {
	margin-top: 20px;
}
#main_visual_pagination .swiper-pagination-bullet {
	width: 20px;
	height: 20px;
	margin: 0 10px;
}
@media (max-width: 599px) {
	#main_visual_pagination .swiper-pagination-bullet {
		width: 18px;
		height: 18px;
		margin: 0 8px;
	}
}
#main_visual_pagination .swiper-pagination-bullet-active {
	background-color: var(--color_main);
}


/* 地域に根ざして30年以上 これからも、あなたに寄り添うフィットネスを　セクション */
@media (min-width: 960px) {
	.top-over30 {
		background-image: url(https://noritoto.xsrv.jp/flex/wp-content/uploads/2025/09/top-fitness-bg.webp);
	}
}
@media (max-width: 959px) {
	.top-over30 {
		padding: 0;
	}
	.top-over30 .wp-block-columns {
		gap: 0!important;
	}
	.top-over30 .img-area {
		position: relative;
	}
	.top-over30 .img-area::before {
		position: absolute;
		content: "";
		width: 100%;
		height: 100%;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -40%);
		background-image: url(https://noritoto.xsrv.jp/flex/wp-content/uploads/2025/09/top-fitness-bg-ashirai.webp);
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		z-index: 1;
	}
	.top-over30 .text-area {
		background-image: url(https://noritoto.xsrv.jp/flex/wp-content/uploads/2025/09/top-fitness-bg2-sp.webp);
		background-position: bottom right;
        background-size: cover;
		background-repeat: no-repeat;
		padding: 30px 40px 60px 15px;
		z-index: 1;
	}
	.top-over30 .text-area .title {
		font-size: calc(22rem / 13.5);
		line-height: 1.6;
	}
	.top-over30 .text-area p {
		font-size: calc(16rem / 13.5);
		line-height: 2;
		font-weight: normal;
	}
}

/* フレックスでの運動が医療費控除の対象に　セクション */
@media (max-width: 959px) {
	.top-iryohi-kojo .swell-block-fullWide__inner {
		padding: 0;
	}	
}
.top-iryohi-kojo .content {
	padding: 0;
}
@media (max-width: 959px) {
	.top-iryohi-kojo .content {
		padding: 60px 20px;
		gap: 0!important;
	}
}
.top-iryohi-kojo .content h2 {
	font-weight: normal;
	font-size: calc(32rem / 16);
}
@media (max-width: 959px) {
	.top-iryohi-kojo .content h2 {
		font-size: calc(28rem / 13.5);
	}
}
.top-iryohi-kojo .left-area .img img {
	width: 200px;
}


/* 無料見学／入会希望の方へ　セクション */
.top-join-visit .left-area .img {
	position: relative;
}
.top-join-visit .left-area .img::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	transform: translate( -50%, -50%);
	width: 130%;
	height: 130%;
	background-image: url(https://noritoto.xsrv.jp/flex/wp-content/uploads/2025/09/top-join-visit-bg.webp);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
.top-join-visit .wp-block-columns p {
	font-size: calc(28rem / 16);
}
@media (max-width: 959px) {
	.top-join-visit .wp-block-columns p {
		margin-top: 30px!important;
		font-size: calc(20rem / 13.5);
		font-weight: normal;
	}
}

