html {
		font-size: 62.5%;
}
body {
		color: #292929;
		/*font-family: "Cinzel", serif;*/
		font-family: "Noto Sans JP", sans-serif;
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1.6;
}
figure, picture {
		max-width: 100%;
		width: 100%;
		line-height: 0;
		display: inline-block;
}
img {
		max-width: 100%;
		width: 100%;
		height: auto;
		vertical-align: middle;
}
p{
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 2;
}
a {
		color: #000000;
		display: block;
		text-decoration: unset;
		transition: all 0.4s ease-in-out;
}
a:active, a:focus, a:focus-visible, a:focus-within, a:visited, a:target {
		color: #000000;
}
.screen-reader-text:focus {
		color: #000000;
}
.br_pc {
		display: block;
}
.br_sp {
		display: none;
}
.only_sp {
		display: none;
}
select {
		-webkit-appearance: none;
		appearance: none;
}
.inner {
		max-width: 1200px;
		width: 100%;
		margin: 0 auto;
}
.center {
		text-align: center;
}
.flex {
		display: flex;
}
.btn-orange {
		color: #fff;
		background-color: #eb612a;
}
.color-orange {
		color: #df5f2d;
}
.color-pink {
		color: #cf5484;
}
.color-blue {
		color: #1e5099;
}
.br_sp {
		display: none;
}
.schedule_btn {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		margin: 5rem 0 0;
}
.schedule_btn a {
		padding: 1rem 2rem;
		color: #fff;
		font-weight: 600;
		letter-spacing: 2px;
		display: flex;
		gap: 1rem;
		align-items: center;
		border-radius: 10px;
}
.schedule_btn a::before {
		content: "";
		display: block;
		width: 3.5rem;
		height: 3.5rem;
		background: center center/contain no-repeat url(https://fitness-nero.com/wp-content/uploads/icon_schedule.svg);
}
.schedule_btn a::after {
		content: "";
		display: block;
		width: 1.5rem;
		height: 1.5rem;
		background: center center/contain no-repeat url(https://fitness-nero.com/wp-content/uploads/ico_arrow2.svg);
}
.dance-class.schedule_btn a {
		background-color: #0c63ea;
		border: 2px solid #2266d0;
}
.pilates-class.schedule_btn a {
		background-color: #f0427b;
		border: 1px solid #ffa9c5;
}
.memo {
		font-size: 0.85em;
		display: inline-block;
}
.blink {
		animation: blinkAnime2 3s infinite;
}
@keyframes blinkAnime2 {
		0% { opacity: 1; }
		50% { opacity: 0.1; }
		100% { opacity: 1; }
}
.shine {
		animation: sparkleEffect 2.5s ease-in-out infinite;
}
@keyframes sparkleEffect {
		0%, 100% {
				filter: drop-shadow(0 0 2px #f6a812);
		}
		50% {
				filter: drop-shadow(0 0 4px #fff09c);
		}
}
/* fonts ---------------------------------------*/
.oswald {
		font-family: "Oswald", sans-serif;
		font-style: normal;
}
.noto-sans-jp {
		font-family: "Noto Sans JP", sans-serif;
		font-style: normal;
}
.noto-serif-jp {
		font-family: "Noto Serif JP", serif;
		font-style: normal;
}

/* common --------------------------------------*/
#wrapper {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		min-height: 100vh;
		overflow-x: hidden;
}
#content {
		margin-top: 100px;
}
.entry-content{
		padding: 0;
}
h2.section-title{
		font-size: clamp(2.8rem, 3vw, 3.5rem);
		line-height: 1.4;
}
.section-title span {
		color: #716346;
		display: block;
		font-size: 0.5em;
}
.panel-layout {
		display: flex;
		flex-direction: column;
}
.section-title-sub{
		position: relative;
		z-index: 5;
}
.filter,
.filter-bk {
		position: relative;
}
.filter-bk::after {
		content: "";
		background: rgba(0, 0, 0, 0.6);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}
#Pilates {
		margin-top: 0 !important;
}
#Pilates .filter::after {
		content: "";
		background: rgba(68, 1, 44, 0.4);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}
#Pilates .second-content.filter::after {
		content: "";
		background: rgba(238, 229, 193, 0.4);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
}
#Dance .filter::after {
		content: "";
		background: rgba(0, 21, 74, 0.4);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}
#Dance .second-content.filter::after {
		content: "";
		background: rgba(0, 5, 17, 0.4);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
}
/* main-visual --------------------------------*/
.fadeIn_Mv {
		animation-name: fadeIn;
		animation-duration: 5s;
		animation-fill-mode: forwards;
		opacity: 0;
}
.main-visual.fadeIn_MvBg {
		position: relative;
		padding-bottom: 100px;
}
.fadeIn_MvBg::after {
		animation-name: fadeIn;
		animation-duration: 3s;
		animation-fill-mode: forwards;
		opacity: 0;
}
@keyframes fadeIn {
		from {
				opacity: 0;
		}
		to {
				opacity: 1;
		}
}
.mv_img {
		position: relative;
}
.mv_img::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.6);
		position: absolute;
		top: 0;
		left: 0;
}
.mv_img::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-image: radial-gradient(rgba(0, 0, 0, 0.21) 70%, transparent 10%);
		background-size: 4px 4px;
		pointer-events: none;
		z-index: 100;
}
.mv-inner{
		position: absolute;
}
.mv-inner.catchphrase {
		position: absolute;
		top: 35%;
		left: 50%;
		transform: translate(-50%,-50%);
		z-index: 10;
}
.mv-inner.catchphrase img {
		max-height: 40px;
		height: 100%;
		width: 250px;
		object-fit: contain;
}
.mv-inner.catchphrase .mv_txt.flex {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2rem;
		z-index: 10;
}
.mv-inner.catchphrase .mv_txt.flex ul {
		align-items: center;
		justify-content: center;
		gap: 2rem;
		/*		width: 80%;*/
}
.mv-inner.catchphrase .mv_txt.flex ul li{
		width: calc((100% - 2rem) / 3);
}
.mv-inner.catchphrase .mv_txt figure{
		position: relative;
		width: 100%;
		height: 100%;
}
.mv-inner.catchphrase .mv_txt p {
		font-size: clamp(2.8rem,10vw,3.8rem);
		font-weight: 600;
		color: #fff;
		letter-spacing: 2px;
		right: -2px;
		position: relative;
		white-space: nowrap;
		filter: drop-shadow(5px 5px 7px #000);
		z-index: 1;
		/*		animation-name: fadeIn_2;
		animation-duration: 8s;
		animation-fill-mode: forwards;*/

		-webkit-mask-image: linear-gradient(to right, #000 0%, #000 100%);
		mask-image: linear-gradient(to right, #000 0%, #000 100%);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;

		-webkit-mask-size: 0% 100%;
		mask-size: 0% 100%;
		-webkit-mask-position: left top;
		mask-position: left top;

		/* 並列アニメーション（マスクとフェード） */
		animation:
				reveal-mask 5s ease forwards,
				fadeIn 5s ease forwards;
		opacity: 0; /* フェードで1にする */
}
/* マスクを左→右に広げる */
@keyframes reveal-mask {
		0% {
				-webkit-mask-size: 0% 100%;
				mask-size: 0% 100%;
		}
		100% {
				-webkit-mask-size: 100% 100%;
				mask-size: 100% 100%;
		}
}

/* フェードイン */
@keyframes fadeIn {
		0% { opacity: 0; }
		100% { opacity: 1; }
}
@keyframes fadeIn_2 {
		from {
				opacity: 0;
		}
		to {
				opacity: 1;
		}
}

.mv-inner.catchphrase .mv_txt p br {
		display: none;
}
.mv-inner.under {
		position: absolute;
		bottom: 0;
		left: 0;
		background-color: #000;
		width: 100%;
		padding: 3rem 7rem;
		z-index: 10;
}
.mv-inner.under::before {
		content: "";
		background-color: #000;
		display: block;
		width: 100%;
		height: 3vw;
		position: absolute;
		top: -2.9vw;
		left: 0;
		clip-path: polygon(0 0, 100% 100%, 0 100%);
}
.mv-title.flex {
		flex-direction: column;
		color: #fff;
}
.mv-title.flex span {
		display: inline-block;
}
.mv-title.flex span.en {
		font-size: clamp(1.8rem,1.5vw,2rem);
		letter-spacing: 2px;
}
.mv-title.flex span.ja {
		font-size: clamp(2rem,5vw,5rem);
		font-weight: 600;
		letter-spacing: 2px;
		background: linear-gradient(90deg, #c9a412, #8c6a00, #fbf5a5, #c9a412);
		background-size: 200%;
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		animation: slide-animation 4s linear infinite;
}
@keyframes slide-animation {
		0% { background-position: 0% }
		100% { background-position: 200% }
}
.mv-title.flex span.desc {
		font-size: clamp(1.8rem,2.5vw,2.6rem);
		font-weight: 600;
		letter-spacing: 1px;
}
.mv-title.flex span.desc br {
		display: none;
}
/* Sub main-visual ----------------------------*/
.subpage-head-content h1 {
		font-size: 3rem;
		font-weight: 600;
		color: #fff;
}
.breadcrumb {
		font-size: 0.75em;
		margin-top: 0.5rem;
}
.breadcrumb a{
		display: inline-block;
}
.subpage-head-content .breadcrumb, .breadcrumb .home,
.subpage-head-content .breadcrumb a {
		color: #fff;
}
.subpage-header {
		display: flex;
		align-items: center;
		position: relative;
		height: 215px;
		background-color: #fff;
		border-bottom: 1px solid #ddd;
		box-sizing: border-box;
		position: relative;
		z-index: 10;
}
.subpage-header::after {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background-color: rgba(0, 0, 0, 0.67);
		z-index: -1;
}
.thanks h2.section-title,
.contact h2.section-title {
		margin-bottom: 2rem;
}
/* Top ----------------------------------------*/
.first-content-inner::before {
		content: "";
		width: 60%;
		height: 100%;
		position: absolute;
		top: 0;
		left: -9%;
		z-index: -1;
		clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%);
}
.first-content-inner {
		max-width: 85%;
		margin: 0 auto;
		padding: 10rem 0;
}
.first-content-inner.flex {
		align-items: flex-start;
		justify-content: space-evenly;
		flex-direction: column;
		position: relative;
		z-index: 5;
		text-align: left;
		gap: 2.5rem;
}
.first-content .title-area h2 {
		font-size: clamp(2rem, 4.5vw, 5.5rem);
		font-weight: 600;
		line-height: 1.2;
		padding-left: 1rem;
}
.first-content .title-area p {
		font-size: clamp(1.6rem, 1.5vw, 2.2rem);
		font-weight: 600;
}
.first-content .logo {
		max-width: 25%;
}
.classification .first-content .logo {
		/*max-width: clamp(120px, 20%, 200px);*/
		max-width: fit-content;
}
.classification .first-content .logo img {
		height: 50px;
		object-fit: contain;
}
.classification .first-content .title-area h2 {
		text-shadow: 2px 2px 4px #333;
}
.classification dl.price {
		padding-left: 1rem;	
}
.classification dl.price dd {
		font-size: 2rem;
		font-weight: 500;
		margin: 0;	
}
.classification dl.price dd span {
		font-size: 0.75em;
}
.cta-area {
		color: #fff;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: 5rem 2rem;
		position: relative;
		z-index: 5;
		gap: 1.5rem;
}
.cta-area::before {
		content: "";
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.8);
		top: 0;
		left: 0;
		z-index: -1;
}
.cta-area h3 {
		font-weight: 600;
		font-size: clamp(1.6rem, 1.5vw, 2rem);
		margin-bottom: 1rem;
}
.cta-area figure {
		max-width: 250px;
		margin: 0 auto;
}
.cta_btn {
		max-width: 450px;
}
/* In-page-index ------------*/
#In-page-index {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/In-page-index_bg.png);
}
.In-page-index-inner {
		padding: 5rem 0 3.5rem 0;
}
.In-page-index-inner ul {
		width: 100%;
}
.In-page-index-inner ul {
		width: 100%;
}
.In-page-index-inner ul li {
		width: calc(100% / 3);
		align-items: center;
		justify-content: center;
}
.In-page-index-inner ul li figure {
		max-width: 80%;
		position: relative;
}
.In-page-index-inner ul li figure img {
		height: 60px;
		width: 100%;
}
.In-page-index-inner ul li figure a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 1rem;
		flex-direction: column;
}
.In-page-index-inner ul li figure a::after {
		content: "";
		background-color: #fff;
		display: block;
		width: 10px;
		height: 10px;
		clip-path: polygon(0 0, 50% 50%, 100% 0);
		animation: blinkAnime 2s infinite;
}
@keyframes blinkAnime {
		0% { opacity: 1; }
		50% { opacity: 0; }
		100% { opacity: 1; }
}
.brand-obi {
		background: linear-gradient(#c9a412, #fbf4dd, #c9a412);
		padding: 3rem 0;
		align-items: center;
		justify-content: center;
}
.brand-obi figure img {
		max-width: 350px;
		height: 100px;
}
.brand-obi span {
		font-size: 2rem;
		font-weight: 600;
		position: relative;
		top: 0.5rem;
}
.brand-obi.flex.center p {
		font-size: 2.2rem;
		font-weight: 600;
		letter-spacing: 2px;
}
.brand-obi p br {
		display: none;
}
.brand-obi.nero.flex.center {
		background: #fff;
		padding: 5rem 1rem;
}
.brand-obi.nero.flex.center figure {
		max-width: unset;
}
.second-content-inner::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-image: radial-gradient(rgba(0, 0, 0, 0.21) 70%, transparent 10%);
		background-size: 4px 4px;
		pointer-events: none;
		z-index: -1;
}
.brand-obi.flex {
		padding: 2rem;
		gap: 2rem;
		align-items: center;
		justify-content: center;
}
.brand-obi.flex figure {
		width: fit-content;
		max-width: 180px;
}
#Pilates .brand-obi figure:last-child {
		max-width: 290px;
}

/* #About-NERO -----------*/
#About-NERO .first-content {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/About-NERO_bg.jpg);
}
#About-NERO .first-content-inner {
		color: #fff;
}
#About-NERO .first-content-inner::before {
		background-color: #b2b2b2;
}
#About-NERO .title-area .border-left {
		color: #fff;
		border-left: 9px solid #eb612a;
}
#About-NERO ul {
		width: 100%;
		justify-content: center;
		align-items: center;
		gap: 3rem;
		margin-top: 5rem;
}
#About-NERO ul li {
		font-size: clamp(1.8rem, 2.2vw, 2.5rem);
		font-weight: 600;
		line-height: 1.4;
		background: center center/contain no-repeat url(https://fitness-nero.com/wp-content/uploads/About-NERO_li-bg.png);
		padding: 1.5rem;
}
#About-NERO .Features {
		color: #fff;
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/About-NERO-Features_bg.jpg);
}
#About-NERO .Features-inner {
		max-width: 96%;
		position: relative;
		z-index: 10;
		margin: 0 auto;
		padding: 10rem 0;
}
#About-NERO .Features-inner ol {
		font-size: 1.8rem;
		max-width: 80%;
		flex-direction: column;
		gap: 4rem;
		margin: 10rem auto 5rem;
}
#About-NERO .Features h2 {
		font-size: 2vw;
		line-height: 2;
		letter-spacing: 2px;
		align-items: flex-end;
		justify-content: center;
		gap: 1.5rem;
}
#About-NERO .Features h2 .logo {
		max-width: 270px;
		max-height: 100px;
}
#About-NERO .Features h2 .logo img {
		max-width: 100%;
		max-height: 100%;
}
#About-NERO .Features-inner li h3 {
		font-size: clamp(2rem, 4.5vw, 4.5rem);
		font-weight: 600;
		line-height: 1.3;
		border-bottom: 2px solid #fff;
		position: relative;
		padding-left: 2em;
		margin-bottom: 1rem;
}
#About-NERO .Features-inner li h3::before {
		font-family: "Oswald", sans-serif;
		font-size: 1.5em;
		letter-spacing: 2px;
		font-weight: 600;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
}
#About-NERO .Features-inner li:first-child h3::before {
		content: "01";
}
#About-NERO .Features-inner li:nth-child(2) h3::before {
		content: "02";
}
#About-NERO .Features-inner li:nth-child(3) h3::before {
		content: "03";
}
#About-NERO .Features-inner li:nth-child(4) h3::before {
		content: "04";
}
#About-NERO .Features-inner li:first-child h3 span {
		display: block;
}
/* #Price ----------------*/
#Price {
		background: linear-gradient(180deg, #fff, #ccc);
}
#Price .Price-inner {
		max-width: 96%;
		margin: 0 auto;
		padding: 7rem 0;
}
#Price .title-area h2 {
		font-size: 2vw;
		line-height: 1.6;
		letter-spacing: 2px;
		font-weight: 600;
}
#Price .price-section.flex {
		flex-wrap: wrap;
		width: 100%;
		gap: 4rem 2rem;
		margin-top: 5rem;
}
#Price .price-gym.flex, #Price .price-pilates.flex, #Price .price-dance.flex {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
}
#Price .price-gym.flex {
		width: calc(((100% - 4rem) / 3) * 1);
		flex-grow: 1;
}
#Price .price-pilates.flex {
		width: calc(((100% - 4rem) / 3) * 2);
}
#Price .price-dance.flex {
		width: 100%;
}
#Price .price-gym-inner,
#Price .price-pilates-inner.flex,
#Price .price-dance-inner.flex {
		width: 100%;
}
#Price .price-gym-inner {
		display: flex;
		flex: 1;
}
#Price .price-gym-inner .price-box {
		width: 100%;
}
#Price .price-pilates-inner.flex {
		gap: 2rem;
}
#Price .price-pilates-inner .price-box {
		width: calc(100% / 2);
}
#Price .price-dance-inner.flex {
		gap: 1rem;
}
#Price .price-dance-inner.flex .price-box {
		width: calc(((100% - 3rem) * 0.8) / 3);
}
#Price .price-dance-inner.flex .price-box:last-child {
		width: calc((100% - 3rem) * 0.2);
}
#Price .price-dance-inner.flex .price-box:last-child .price {
		font-size: 1.8rem;
}
#Price h3 img {
		width: 100%;
		height: 50px;
		max-width: 100%;
}
#Price .price-box {
		width: 100%;
		background-color: #fff;
		border-radius: 20px 20px 0 0;
		padding-bottom: 3rem;
		box-shadow: 1px 1px 6px #a6a6a6;
}
#Price .price-box h4 {
		font-size: clamp(1.8rem, 2.5vw, 2.1rem);
		font-weight: 600;
		color: #fff;
		border-radius: 20px 20px 0 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: 1.5rem 0.5rem;
		position: relative;
		overflow: hidden;
}
#Price .price-box h4::before {
		content: "";
		background: center center/contain no-repeat url(https://fitness-nero.com/wp-content/uploads/logo-mark-translucent.svg);
		width: 7.5vw;
		height: 7.5vw;
		position: absolute;
		left: 1rem;
		top: 0;
}
#Price .price-box h4 span {
		font-size: 0.65em;
		font-weight: 500;
		display: block;
		white-space: nowrap;
}
#Price .price-box p,
#Price .price-box ul{
		max-width: 90%;
		margin: 0 auto;
		font-size: 1.5rem;
}
#Price .price-box p {
		line-height: 1.8;
}
#Price .price-box ul {
		margin-top: 1rem;
		line-height: 1.6;
}
#Price .price-gym-inner h4 {
		background-color: #c29f19;
}
#Price .price-pilates-inner h4 {
		background-color: #e7398e;
}
#Price .price-dance-inner h4 {
		background-color: #1e54a5;
}
#Price .price-box .price {
		font-size: 2.4rem;
		font-weight: 600;
		text-align: center;
		padding: 2rem 0;
}
#Price .price-box .price .monthly {
		font-size: 0.7em;
}
/* #Flow ----------------*/
.flow-inner {
		max-width: 96%;
		margin: 0 auto;
		padding: 7rem 0;
}
.flow-content {
		background-image: 
				repeating-linear-gradient(to bottom, #cf4419 0, #cf4419 1px, transparent 1px, transparent 3px),
				url(https://fitness-nero.com/wp-content/uploads/In-page-index_bg.png) ;
		background-size: cover;
		background-position: center, left top;
}
.flow-content .title-area h2 {
		font-size: 2vw;
		line-height: 1.6;
		color: #fff;
		letter-spacing: 2px;
		font-weight: 600;
}
.flow-section {
		flex-direction: column;
		align-items: center;
		gap: 3rem;
		justify-content: center;
}
.flow-inner ul {
		margin-top: 5rem;
		gap: 3rem;
}
.flow-inner ul li {
		background-color: #fff;
		width: calc((100% - 12rem) / 5);
		padding: 3.5rem 1.5rem 2.5rem 1.5rem;
		/*word-break: keep-all;*/
		position: relative;
		flex-direction: column;
		align-items: center;
		justify-content: center;
}
.flow-inner ul li p{
		font-size: 1.7rem;
		font-weight: 600;
		line-height: 1.5;
}
.flow-inner ul li::before {
		color: #fff;
		font-family: "Oswald", sans-serif;
		font-size: 2rem;
		text-align: center;
		line-height: 1.5;
		position: absolute;
		top: -2rem;
		background-color: #000;
		width: 90%;
		left: 5%;
		padding: 0.5rem 0;
}
.flow-inner ul li:first-child::before {
		content: "step01";
}
.flow-inner ul li:nth-child(2)::before {
		content: "step02";
}
.flow-inner ul li:nth-child(3)::before {
		content: "step03";
}
.flow-inner ul li:nth-child(4)::before {
		content: "step04";
}
.flow-inner ul li:last-child::before {
		content: "step05";
}
#Pilates .flow-inner ul li:nth-child(4)::before {
		content: "step04" !important;
}
.flow-inner ul li::after {
		content: "";
		background-color: #000;
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		width: 1rem;
		height: 1.5rem;
		position: absolute;
		top: 50%;
		right: -2rem;
		transform: translateY(-50%);
}
.flow-inner ul li:last-child::after {
		content: none;
}
.flow-section a {
		max-width: 450px;
}
.payment {
		color: #fff;
}
.payment figure {
		display: flex;
		flex-direction: column-reverse;
		gap: 1rem;
}
.payment figure img {
		background: rgba(255,255,255,0.9);
		padding: 1rem 2rem;
}
.payment figcaption {
		color: #fff;
		font-size: 1.6rem;
		line-height: 1.6;
		text-align: center;
		font-weight: 600;
}

/* #GYM ------------------*/
#Gym .brand-obi {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Gym_obi_bg.png);
}
#Gym .first-content-inner::before {
		background-color: #000;
}
#Gym .first-content {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/About-NERO_bg.jpg);
}
#Gym .first-content-inner {
		color: #fff;
}
#Gym .title-area .border-left {
		color: #fff;
		border-left: 10px solid #c29f19;
}
#Gym .price.border-left {
		color: #fff;
		border-left: 5px solid #c29f19;
}
#Gym ul {
		width: clamp(400px, 50vw, 45%);
		justify-content: flex-end;
		align-items: center;
		margin-left: auto;
}
#Gym ul li {
		line-height: 1.4;
		padding: 0;
}
#facility {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Gym-facility.jpg);
		background-attachment: fixed;
		position: relative;
		z-index: 5;
}
#facility::after {
		content: "";
		background: rgba(255,255,255,0.8);
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
}
#facility .title-area h2 {
		font-size: 2vw;
		line-height: 1.6;
		letter-spacing: 2px;
		font-weight: 600;
}
#facility .facility-inner {
		flex-direction: column;
		align-items: center;
		gap: 3rem;
		padding: 5rem 0;
}
#Gym #facility dl {
		max-width: 80%;
		flex-direction: column;
		gap: 1.5rem;
		border: 1px solid #000;
		padding: 1rem;
		background-color: rgba(255,255,255,0.7);
}
#Gym #facility dl dt {
		border-left: 5px solid #c29f19;
		line-height: 1.5;
		color: #fff;
		background-color: #4d4d4d;
		padding: 1rem 1.5rem;
		text-shadow: 1px 1px 1px #797979;
		font-weight: 600;
		font-size: 1.7rem;
}
#Gym #facility ul {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		flex-wrap: wrap;
		list-style: inside disc;
		gap: 0.5rem 2rem;
}

#Gym .cta-area {
		background-image: 
				repeating-linear-gradient(to bottom, #cf4419 0, #cf4419 1px, transparent 1px, transparent 3px),
				url(https://fitness-nero.com/wp-content/uploads/Gym-Cta-bg.jpg) ;
		background-size: cover;
		background-position: center, left top;
}

/* #Pilates ------------------*/
#Pilates .brand-obi {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Pilates_obi_bg.png);
		color: #fff;
}
#Pilates .first-content-inner::before {
		background-color: #000;
}
#Pilates .first-content {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Pilates_bg_01.jpg);
}
#Pilates .first-content-inner {
		color: #fff;
}
#Pilates .title-area .border-left {
		color: #fff;
		border-left: 10px solid #cc4794;
}
#Pilates .price.border-left {
		color: #fff;
		border-left: 5px solid #cc4794;
}
#Pilates .first-content-inner ul {
		width: clamp(400px, 50vw, 45%);
		justify-content: flex-end;
		align-items: center;
		margin-left: auto;
}
#Pilates .first-content-inner ul li {
		line-height: 1.4;
		padding: 0;
}
#Pilates .second-content {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Pilates_bg_02.jpg);
		flex-direction: column;
		align-items: flex-end;
		z-index: 5;
}
#Pilates .second-content-inner.flex {
		max-width: 94%;
		margin-top: 0;
		padding: 10rem 2rem;
		flex-direction: column;
		gap: 2.5rem;
}
@media screen and (min-width: 1201px) {
		#Pilates .second-content-inner.flex{
				max-width: 50%;
				width: 100%;
		}
}

#Pilates .second-content-inner h2 {
		font-size: clamp(2rem, 3.5vw, 4rem);
		line-height: 1.5;
		font-weight: 600;
		color: #38180d;
		text-shadow: 2px 2px 4px #958973;
}
#Pilates .second-content-inner span {
		color: #fff;
		font-weight: 600;
		letter-spacing: 1px;
		background-color: #dd568c;
		border-radius: 50px;
		display: inline-block;
		padding: 0.5rem 2.5rem;
		margin-bottom: 1.5rem;
}
#Pilates .second-content-inner p,
#Pilates .Recommended-inner p {
		color: #38180d;
		font-size: 1.8rem;
		font-weight: 500;
}
#Pilates .Recommended {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Pilates_Recommended_bg.jpg);
		background-attachment: fixed;
		position: relative;
		z-index: 5;
}
#Pilates .Recommended::after {
		content: "";
		background: rgba(255,255,255,0.8);
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
}
#Pilates .Recommended-inner.flex.inner {
		flex-direction: column;
		align-items: flex-start;
		padding: 15rem 0;
		gap: 2.5rem;
}
#Pilates .Recommended-inner h2 {
		font-size: clamp(1.8rem, 2.5vw, 2.8rem);
		line-height: 1.5;
		font-weight: 600;
		text-align: left;
		color: #38180d;
		text-shadow: 2px 2px 4px #958973;
}
#Pilates .Recommended-list {
		width: 80%;
		margin: 0 auto;
		text-align: center;
		border: 2px solid #dd568c;
		background-color: rgba(255,255,255,0.7);
		position: relative;
		padding: 3.5rem 1.5rem 1.5rem 1.5rem;
		margin-top: 5rem;
}
.Recommended-list ul {
		max-width: 100%;
		width: 100% !important;
		margin: 1rem auto;
		margin-left: auto;
		align-items: unset !important;
		flex-wrap: wrap;
		gap: 2rem;
}
#Pilates .Recommended-list ul li {
		color: #fff;
		width: calc((100% - 4rem) / 3);
		padding: 1.5rem 1.5rem 1.5rem 5rem !important;
		display: flex;
		background-color: #dd568c;
		position: relative;
}
#Pilates .Recommended-list ul li::before {
		content: "";
		background: center center/contain no-repeat url(https://fitness-nero.com/wp-content/uploads/icon_Pilates-check.svg);
		width: 2.5rem;
		height: 2.5rem;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 1rem;
}
#Pilates .Recommended-list h3 {
		background-color: #dd568c;
		color: #fff;
		font-size: 1.7rem;
		font-weight: 600;
		width: fit-content;
		margin: 0 auto;
		border-radius: 40px;
		position: absolute;
		top: -2.5rem;
		left: 50%;
		transform: translateX(-50%);
		padding: 1rem 4rem;
}

.Recommended-list ul li p {
		color: #fff !important;
		font-size: 1.6rem !important;
		text-align: left;
		line-height: 1.6;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
}
.Program {
		padding: 10rem 0;
}
.Program h2 {
		font-size: 2vw;
		line-height: 1.6;
		letter-spacing: 2px;
		font-weight: 600;
}
#Pilates .Program {
		background-color: #e8dfd5;
		position: relative;
		z-index: 5;
}
#Pilates .Program::after {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Pilates_Program_bg.png?20251122);
		z-index: -1;
		display: block;
}
.Program-inner.flex.inner {
		flex-direction: column;
		align-items: center;
		gap: 3rem;
}
.Program-list {
		width: 80%;
}
.Program-list ul {
		width: 100% !important;
		flex-direction: column;
		gap: 1.5rem;
}
#Pilates .Program-list ul li {
		width: 100% !important;
		background-color: #fff;
		border: 2px solid #cf5484;
		align-items: center;
		gap: 1.5rem;
		padding: 1rem !important;
}
#Pilates .Program-list ul li h3 {
		color: #cf5484;
		font-size: 2rem;
		font-weight: 600;
		margin-bottom: 1rem;
}
.Program-list ul li p {
		font-size: 1.5rem;
		line-height: 1.6;
}
.Program-list ul li div {
		width: calc(55% - 1.5rem);
}
.Program-list ul li figure {
		width: 45%;
}
#Pilates .cta-area {
		background-image: 
				repeating-linear-gradient(to bottom, #cf4419 0, #cf4419 1px, transparent 1px, transparent 3px),
				url(https://fitness-nero.com/wp-content/uploads/Pilates_Cta-bg.png) ;
		background-size: cover;
		background-position: center, left top;
}
#Pilates .flow-content {
		background-image: repeating-linear-gradient(to bottom, #dd568c 0, #dd568c 1px, transparent 1px, transparent 3px), url(https://fitness-nero.com/wp-content/uploads/Pilates_flow-bg.png);
		background-size: cover;
		background-position: center, left top;
		position: relative;
		z-index: 5;
}
#Pilates .flow-content::after {
		content: "";
		width: 100%;
		height: 100%;
		background-color: rgba(255, 244, 245, 0.7);
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
}
#Pilates .flow-inner ul li {
		width: calc((100% - 9rem) / 4);
}
#Pilates .flow-inner ul li::before {
		background-color: #cf5484;
}
#Pilates .flow-inner ul li::after {
		background-color: #cf5484;
}
#Pilates .flow-section {
		gap: 1rem;
}
#Pilates .flow-inner .title-area span {
		font-family: "Cinzel", serif;
		font-weight: 600;
		color: #38180d;
		display: inline-block;
		border-top: 1px solid #38180d;
		border-bottom: 1px solid #38180d;
		padding: 0.5rem 1.5rem;
		margin-bottom: 1rem;
		background-color: rgba(255, 255, 255, 0.7);
}
#Pilates .flow-content .title-area h2 {
		font-family: "Cinzel", serif;
		color: #38180d;
}
#Pilates .flow-inner .title-area p {
		font-family: "Cinzel", serif;
		font-size: clamp(1.8rem, 2.5vw, 2.4rem);
		font-weight: 600;
		color: #38180d;
}

/* #Dance ------------------*/
#Dance .brand-obi {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Dance_obi_bg.png);
		color: #fff;
}
#Dance .brand-obi figure:last-child {
		max-width: 250px;
}
#Dance .first-content-inner::before {
		background-color: #000;
}
#Dance .first-content {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Dance_bg_01.jpg);
}
#Dance .first-content-inner {
		color: #fff;
}
#Dance .title-area .border-left {
		color: #fff;
		border-left: 10px solid #6bc8f0;
}
#Dance .price.border-left {
		color: #fff;
		border-left: 5px solid #6bc8f0;
}
#Dance .first-content-inner ul {
		width: clamp(400px, 50vw, 45%);
		justify-content: flex-end;
		align-items: center;
		margin-left: auto;
}
#Dance .first-content-inner ul li {
		line-height: 1.4;
		padding: 0;
}
#Dance .second-content {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Dance_bg_02.jpg);
		flex-direction: column;
		padding-bottom: 7rem;
		z-index: 5;
}
#Dance .second-content-inner.flex {
		max-width: 94%;
		margin: 0 auto;
		text-align: center;
		padding: 10rem 0;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2.5rem;
}
#Dance .second-content-inner.flex > div,
#Dance .Rec-message {
		position: relative;
}
#Dance .second-content-inner::before {
		content: "";
		width: 100%;
		height: 100%;
		background: center center/contain no-repeat url(https://fitness-nero.com/wp-content/uploads/Dance_bg_02_line.png);
		position: absolute;
		top: 35%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 0;
}

#Dance .second-content-inner h2 {
		font-size: clamp(2rem, 3.5vw, 4rem);
		line-height: 1.5;
		font-weight: 600;
		color: #fff;
		text-shadow: 2px 2px 4px #000;
}

#Dance .second-content-inner p,
#Dance .Recommended-inner p {
		color: #fff;
		font-size: 1.8rem;
		font-weight: 500;
}
#Dance .Rec-message {
		font-size: 2.4rem;
		font-weight: 600;
}
#Dance .Rec-message span {
		color: #fff;
		font-weight: 600;
		font-size: 1.7em;
		display: block;
		padding: 0.5rem 2.5rem;
		margin-bottom: 1.5rem;
		line-height: 1.6;
}
#Dance .Recommended {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Pilates_Recommended_bg.jpg);
		background-attachment: fixed;
		position: relative;
		z-index: 5;
}
#Dance .Recommended::after {
		content: "";
		background: rgba(255,255,255,0.8);
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
}
#Dance .Recommended-inner.flex.inner {
		flex-direction: column;
		align-items: flex-start;
		padding: 15rem 0;
		gap: 2.5rem;
}
#Dance .Recommended-inner h2 {
		font-size: clamp(1.8rem, 2.5vw, 2.8rem);
		line-height: 1.5;
		font-weight: 600;
		text-align: left;
		color: #38180d;
		text-shadow: 2px 2px 4px #958973;
}
#Dance .Recommended-list {
		width: 80%;
		margin: 0 auto;
		text-align: center;
		border: 2px solid #1e54a5;
		background-color: rgba(255,255,255,0.7);
		position: relative;
		padding: 3.5rem 1.5rem 1.5rem 1.5rem;
		margin-top: 5rem;
}
#Dance .Recommended-list ul li {
		color: #fff;
		width: calc((100% - 4rem) / 3);
		padding: 1.5rem 1.5rem 1.5rem 5rem !important;
		display: flex;
		background-color: #1e54a5;
		position: relative;
}
#Dance .Recommended-list ul li::before {
		content: "";
		background: center center/contain no-repeat url(https://fitness-nero.com/wp-content/uploads/icon_Dance-check.svg);
		width: 2.5rem;
		height: 2.5rem;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 1rem;
}
#Dance .Recommended-list h3 {
		background-color: #1e54a5;
		color: #fff;
		font-size: 1.7rem;
		font-weight: 600;
		width: fit-content;
		margin: 0 auto;
		border-radius: 40px;
		position: absolute;
		top: -2.5rem;
		left: 50%;
		transform: translateX(-50%);
		padding: 1rem 4rem;
}

.Program {
		padding: 10rem 0;
}
.Program h2 {
		font-size: 2vw;
		line-height: 1.6;
		letter-spacing: 2px;
		font-weight: 600;
}
#Dance .Program {
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Dance_Program_bg.jpg);
		position: relative;
		z-index: 5;
}
#Dance .Program::after {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(255,255,255,0.9);
		z-index: -1;
		display: block;
}
#Dance .Program-list ul li {
		width: 100% !important;
		background-color: #fff;
		border: 2px solid #1e5099;
		align-items: center;
		gap: 1.5rem;
		padding: 1rem !important;
}
#Dance .Program-list ul li h3 {
		color: #1e5099;
		font-size: 2rem;
		font-weight: 600;
		margin-bottom: 1rem;
}
#Dance .cta-area {
		background-image: 
				repeating-linear-gradient(to bottom, #cf4419 0, #cf4419 1px, transparent 1px, transparent 3px),
				url(https://fitness-nero.com/wp-content/uploads/Pilates_Cta-bg.png) ;
		background-size: cover;
		background-position: center, left top;
}
#Dance .flow-content {
		background-image: repeating-linear-gradient(to bottom, #2d13ae 0, #69b1fd 1px, transparent 1px, transparent 3px), url(https://fitness-nero.com/wp-content/uploads/Dance_flow-bg.jpg);
		background-size: cover;
		background-position: center, left top;
		position: relative;
		z-index: 5;
}
#Dance .flow-content::after {
		content: "";
		width: 100%;
		height: 100%;
		background-color: rgba(0, 47, 49, 0.6);
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
}
#Dance .flow-inner ul li {
		width: calc((100% - 12rem) / 5);
}
#Dance .flow-inner ul li::before {
		background-color: #1e5099;
}
#Dance .flow-inner ul li::after {
		background-color: #1e5099;
}
#Dance .flow-section {
		gap: 1rem;
}
#Dance .flow-inner .title-area span {
		font-family: "Cinzel", serif;
		font-weight: 600;
		color: #fff;
		display: inline-block;
		border-top: 1px solid #38180d;
		border-bottom: 1px solid #38180d;
		padding: 0.5rem 1.5rem;
		margin-bottom: 1rem;
		background-color: rgba(255, 255, 255, 0.5);
}
#Dance .flow-content .title-area h2 {
		font-family: "Cinzel", serif;
		color: #fff;
}
#Dance .flow-inner .title-area p {
		font-family: "Cinzel", serif;
		font-size: clamp(1.8rem, 2.5vw, 2.4rem);
		font-weight: 600;
		color: #fff;
}
#Dance .flow-section > p{
		color: #fff;
}



#section1{
}
#section1-inner {
		position: relative;
}
#section1-inner .inner-content{
		max-width: 760px;
		margin: 0 auto;
		background-color: rgba(255,255,255,0.9);
		z-index: 5;
		position: relative;
		padding: 5rem;
}
#section1-inner .inner-content p {
		margin-top: 2rem;
}
/* 背景のスライド --*/
.scroll-banner {
		overflow: hidden;
		width: 100%;
		will-change: transform;
		backface-visibility: hidden;
}
.scroll-track {
		display: flex;
		width: max-content;
		animation: scroll 90s linear infinite;
		will-change: transform;
		transform: translate3d(0, 0, 0); /* GPU処理を強制 */
		backface-visibility: hidden;
}
.scroll-track img {
		flex-shrink: 0;
		height: 350px;
		width: auto;
		object-fit: cover;
		-webkit-transform: translateZ(0); /* Safariで滑らかに */
}
@keyframes scroll {
		from {
				transform: translateX(0);
		}
		to {
				transform: translateX(-50%);
		}
}
@media screen and (max-width: 480px) {
		.scroll-track {
				animation: scroll 30s linear infinite;
		}
		.scroll-track img {
				height: 150px;
		}
}
/*アクセス ------------*/
#Access {
		padding: 10rem 0;
}
#Access h2 {
		font-size: 2vw;
		line-height: 1.6;
		letter-spacing: 2px;
		font-weight: 600;
}
#Access .access-content {
		margin: 5rem auto 0;
		gap: 2rem;
		max-width: 80%;
}
#Access .access-info, #Access .map {
		width: calc((100% - 2rem) / 2);
}
#Access .access-info {
		flex-direction: column;
		gap: 2rem;
}
#Access .access-info .innner-logo img {
		max-width: 250px;
		width: 100%;
}
#Access .access-info .innner-logo figcaption {
		line-height: 1.4;
		font-weight: 600;
		margin-top: 1rem;
}
#Access .map iframe {
		width: 100%;
}


/* section2 ------------*/
#section2{
}
#section2-inner{
		max-width: 1200px;
		width: 100%;
		margin: 0 auto;
		padding: 0 2rem;
}
#section2-inner .lineup.flex {
		margin-top: 5rem;
		flex-wrap: wrap;
		gap: 10rem;
}
#section2-inner .lineup-box.flex {
		width: 100%;		
		/*		width: calc((100% - 1rem) / 2);*/
		align-items: flex-start;
		justify-content: space-between;
		padding: 5rem 2rem 5rem 0;
		position: relative;
}
#section2-inner .lineup-box.flex > div {
		width: calc(100% - 350px);
}
#section2-inner h3 {
		font-size: 1.8rem;
		font-weight: 600;
		z-index: 5;
		margin-bottom: 1rem;
		position: relative;
}
#section2-inner .section-title-sub span {
		font-family: "Abril Fatface", serif;
		font-size: 4.5vw;
		line-height: 1;
		color: #f7f7f7;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: -1;
}
#section2-inner .lineup-box p {
		line-height: 1.6;
}
#section2-inner .lineup-box.flex figure {
		position: absolute;
		width: 350px;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		height: 100%;
		overflow: hidden;
}
#section2-inner .lineup-box.flex figure img {
		height: 100%;
		object-fit: cover;
}


/* section3 ------------*/
#section3{
}
#section3-inner{
		max-width: 1200px;
		width: 100%;
		margin: 0 auto;
		padding: 0 2rem;
}
#section3-inner h2{
		text-align: center;
}

/* 会社概要 テーブル --*/
.company-table {
		margin: 5rem auto;
		max-width: 640px;
		table-layout: fixed;
}
.company-table .column-1 {
		width: 30%;
}
.company-table .column-2 {
		width: 70%;
}
.company-table td {
		padding: 2rem 0.5rem;
}
/* section4 ------------*/
#section4{
}
#section4-inner{
		max-width: 1200px;
		width: 100%;
		margin: 0 auto;
		padding: 0 2rem;
}
#section4-inner h2{
		text-align: center;
}
/* Contact ------------------------------------*/
.form-area {
		margin: 0 auto;
		max-width: 640px;
}
.thanks .inner-content,
.contact .inner-content {
		padding: 5rem 0;
}
.thanks .inner-content .section-title span,
.contact .inner-content .section-title span {
		font-size: 0.4em;
		margin-top: 0.5rem;
}

/* フォーム --*/
.form-submit-area a {
		display: inline-block;
}
.form-area label {
		font-size: 1.8rem;
		font-weight: 500;
		align-items: center;
}
.form-area .contact-note {
		font-size: 0.9em;
		line-height: 1.4;
		color: #777;
		display: block;
}
.required, .arbitrary {
		display: inline-block;
		padding: 0.25rem 1.5rem;
		border-radius: 30px;
		font-size: 0.6em;
		line-height: 1.6;
		color: #fff;
		margin-left: 1rem;
}
.required {
		background-color: #806738;
}
.arbitrary {
		background-color: #A5A5A5;
}
.form-item {
		margin: 4rem 0;
}
.form-item br {
		display: none;
}
.wpcf7-list-item {
		margin: 0 2.2em 0 0;
}
.wpcf7-list-item label {
		font-weight: 400;
		font-size: 1.6rem;
}
.wpcf7-checkbox span{
		font-size: 1.6rem;
}
.text-in input, .form-item.text-in textarea, .wpcf7-form-control.wpcf7-select {
		font-size: 1.5rem;
		width: 100%;
		box-sizing: border-box;
		padding: 1.5rem 1rem;
		margin-top: 1rem;
		border: 1px solid #A5A5A5;
		background-color: #F5F5F5;
}
.wpcf7-form-control.wpcf7-select {
		max-width: 60%;
		font-size: 1.6rem;
}
.form-item.text-in input::placeholder, .form-item.text-in textarea::placeholder {
		color: #acacac;
		font-size: 0.95em;
		font-weight: 400;
		opacity: unset;
}
.form-submit-area {
		max-width: 80%;
		margin: 0 auto;
}
.form-submit-area .submit-btn {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
}
.form-submit-area .submit-btn span {
		margin: 2rem auto;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
		text-align: center;
		max-width: 80%;
		margin: 0 auto;
		padding: 1.5rem;
}
.wpcf7-form-control.wpcf7-submit.has-spinner {
		color: #fff;
		font-size: 1.8rem;
		font-weight: 600;
		letter-spacing: 1px;
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background-color: #cc7581;
		box-shadow: unset;
		border: unset;
		border-radius: 100px;
		width: 350px;
		box-sizing: border-box;
		padding: 1.5rem 0;
		margin: 3rem auto 0;
		cursor: pointer;
}
.type-selects {
		color: #292929 !important;
}
.form-area .select_wrapper {
		max-width: 60%;
		position: relative;
		margin: 0;
}
.form-area .select_wrapper::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 5%;
		width: 0.8rem;
		height: 0.8rem;
		border-right: 2px solid #292929;
		border-bottom: 2px solid #292929;
		box-sizing: border-box;
		transform: rotate(45deg) translate(-50%, 0);
}
.select_wrapper .wpcf7-form-control.wpcf7-select{
		max-width: 100%;
}
/* footer -------------------------------------*/
#footer {
		background-color: #292929;
		color: #fff;
}
#copyright {
		text-align: center;
		border-top: 1px solid #fff;
		padding: 0.5rem 0;
}
#copyright p {
		font-size: 1.2rem;
}
/*Media Query ---------------------------------*/
@media screen and (max-width: 1240px) {
		.inner {
				max-width: 92%;
		}
}
@media screen and (max-width: 768px) {
		.only_sp {
				display: block;
		}
		#content {
				margin-top: 55px;
		}
		.section {
				padding: 3.5rem 0;
				margin: 0 auto;
		}
		/* Contact -------------*/
		.form-area {
				max-width: 100%;
				padding: 1rem 0;
		}
}
@media screen and (max-width: 640px) {
		#section2-inner .lineup-box.flex {
				flex-direction: column-reverse;
				gap: 2rem;
				padding: 0;
		}
		#section2-inner .lineup-box.flex > div {
				width: 100%;
		}
		#section2-inner .lineup-box.flex figure {
				position: unset;
				transform: unset;
				width: 100%;
		}
		.form-area label {
				font-size: 1.6rem;
		}
}
@media screen and (max-width: 480px) {
		.br_pc {
				display: none;
		}
		.br_sp {
				display: block !important;
		}
		/* Contact -------------*/
		.wpcf7-checkbox span {
				font-size: 1.6rem;
		}
		.form-area .select_wrapper{
				max-width: 90%;
		}
		.wpcf7-form-control.wpcf7-submit.has-spinner{
				width: 85%;
		}
		.form-submit-area {
				max-width: 100%;
		}
		.form-submit-area p {
				font-size: 1.4rem;
				text-align: left !important;
		}
}

@media screen and (max-width: 1200px) {
		.flow-inner ul {
				flex-wrap: wrap;
		}
		.flow-inner ul li {
				word-break: unset;
		}
		.flow-inner ul li p {
				font-size: 1.4rem;
		}
}
@media screen and (max-width: 768px) {
		.mv-inner.catchphrase {
				width: 90%;
		}
		.mv-inner.catchphrase .mv_txt.flex ul li {
				text-align: center;
		}
		.mv-inner.catchphrase img {
				max-height: 40px;
				width: 230px;
		}
		.mv-inner.under {
				padding: 2rem 2rem;
		}
		.mv-inner.under::before {
				height: 12vw;
				top: -11.5vw;
		}
		.mv-inner.catchphrase .mv_txt p br {
				display: block;
		}
		.mv-inner.catchphrase .mv_txt p {
				line-height: 1.4;
				margin-bottom: 2rem;
		}
		.mv-inner.catchphrase .mv_txt.flex ul {
				flex-wrap: wrap;
				gap: 1rem;
		}
		.mv-inner.catchphrase .mv_txt.flex ul li {
				width: calc((100% - 1rem) / 2);
		}
		.mv-inner.catchphrase .mv_txt.flex {
				gap: 3rem;
		}
		.mv-title.flex span.desc br{
				display: block !important;
		}
		#About-NERO ul {
				gap: 2rem;
				margin-top: 5rem;
				flex-wrap: wrap;
		}
		#About-NERO ul li {
				width: calc((100% - 2rem) / 2);
				padding: 2rem 0.2rem;
		}

		#Price .price-section.flex {
				flex-direction: column;
		}
		#Price .price-gym.flex, #Price .price-pilates.flex {
				width: 100%;
		}
		#Price .price-dance-inner.flex {
				flex-wrap: wrap;
		}
		#Price .price-dance-inner.flex .price-box,
		#Price .price-dance-inner.flex .price-box:last-child{
				width: calc((100% - 1.5rem) / 2);
		}
		#Gym ul,
		#Pilates .first-content-inner ul,
		#Dance .first-content-inner ul {
				width: 80%;
				margin: 2rem auto 0;
		}
		.flow-inner ul {
				gap: 5rem 3rem;
		}
		.flow-inner ul li {
				width: calc((100% - 6rem) / 3);
		}
		.Program-list {
				width: 100%;
		}
		#Pilates .Recommended-list,
		#Dance .Recommended-list {
				width: 100%;
		}
		#Pilates .Recommended-list ul li,
		#Dance .Recommended-list ul li {
				width: calc((100% - 2rem) / 2);
		}
		#Access .access-content {
				max-width: 100%;
		}
		#Price .title-area h2, .flow-content .title-area h2, #facility .title-area h2, .Program h2, #Access h2 {
				font-size: 3rem;
		}
		#Pilates .flow-inner ul li,
		#Dance .flow-inner ul li {
				width: calc((100% - 3rem) / 2);
		}

}

@media screen and (max-width: 480px) {
		.mv-inner.catchphrase .mv_txt p {
				font-size: 2.5rem;
		}
		.mv-title.flex span.desc {
				font-size: 1.5rem;
				margin-top: 1rem;
		}
		.mv-title.flex span.en {
				font-size: 1.5rem;
		}
		.mv-title.flex span.ja {
				font-size: 2.1rem;
		}
		.brand-obi {
				padding: 3rem 1rem;
		}
		.brand-obi.flex.center p {
				font-size: 1.8rem;
				line-height: 1.5;
		}
		.brand-obi p br{
				display: block;
		}
		.In-page-index-inner ul {
				flex-direction: column;
				gap: 2.5rem;
		}
		.In-page-index-inner ul li {
				width: 90%;
				margin: 0 auto;
		}
		.first-content .logo {
				max-width: 80%;
		}
		p {
				font-size: 1.5rem;
				line-height: 1.8;
		}
		.first-content .title-area h2 {
				font-size: 3rem;
				line-height: 1.6;
				margin-bottom: 2rem;
				word-break: keep-all;
		}
		.first-content-inner::before {
				width: 100%;
				clip-path: polygon(0 0, 25% 0, 100% 100%, 0 100%);
		}
		#About-NERO ul {
				margin-top: 0;
		}

		#About-NERO ul li {
				width: 100%;
		}
		#About-NERO .Features-inner ol {
				max-width: 90%;
		}
		#About-NERO .Features-inner li h3 {
				padding-bottom: 0.5rem;
				padding-left: 2.5em;
		}
		#Price .price-pilates-inner.flex {
				flex-direction: column;
		}
		#Price .price-pilates-inner .price-box {
				width: 100%;
		}
		#Price .price-dance-inner.flex {
				flex-direction: column;
		}
		#Price .price-dance-inner.flex .price-box, #Price .price-dance-inner.flex .price-box:last-child {
				width: 100%;
		}
		#Price .price-box h4::before {
				width: 30vw;
				height: 30vw;
		}
		.flow-inner ul {
				flex-direction: column;
		}
		.flow-inner ul li {
				width: 100%;
		}
		.flow-inner ul li::after {
				top: unset;
				bottom: -2.5rem;
				left: 48%;
				transform: translateY(0) rotate(90deg);
		}
		#Gym ul, #Pilates .first-content-inner ul, #Dance .first-content-inner ul {
				width: 100%;
		}
		#Gym #facility dl {
				max-width: 100%;
		}
		#Gym #facility ul {
				margin-top: 0;
		}
		#Pilates .Recommended-list h3,
		#Dance .Recommended-list h3 {
				width: 90%;
		}
		.Recommended-list ul {
				gap: 1rem;
		}
		#Pilates .Recommended-list ul li,
		#Dance .Recommended-list ul li {
				width: 100%;
		}
		.Recommended-list ul li p {
				font-size: 1.5rem !important;
		}

		#Pilates .Program-list ul li,
		#Dance .Program-list ul li {
				flex-direction: column;
		}
		.Program-list ul li div, .Program-list ul li figure {
				width: 100%;
		}
		#Pilates .flow-inner ul li,
		#Dance .flow-inner ul li {
				width: 100%;
		}
		#Dance .second-content-inner::before {
				top: 40%;
				width: 150%;
		}
		#Access .access-content {
				flex-direction: column;
		}
		#Access .access-info, #Access .map {
				width: 100%;
		}
		#Pilates .second-content {
				background: left center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/Pilates_bg_02.jpg);
		}
		#Pilates .second-content-inner.flex {
				max-width: 100%;
		}
		.first-content-inner {
				padding: 5rem 0;
		}
		#About-NERO .Features h2 .logo {
				max-width: 160px;
		}
		#About-NERO .Features h2 {
				font-size: 2rem;
		}
		#About-NERO .Features-inner {
				padding: 5rem 0;
		}
		#About-NERO .Features-inner ol {
				margin: 4rem auto 0;
		}
		#Price .Price-inner {
				padding: 4rem 0;
		}
		#Pilates .Recommended-inner.flex.inner {
				padding: 5rem 0;
		}
		#Pilates .Program {
				padding: 5rem 0 3rem;
		}
		#Dance .second-content-inner.flex {
				padding: 5rem 0 0;
		}
		#Dance .second-content {
				padding-bottom: 3rem;
		}
		#Access {
				padding: 5rem 0;
		}
		.mv-inner.catchphrase img {
				max-height: 25px;
		}
		#Pilates .second-content-inner p, #Pilates .Recommended-inner p,
		#Dance .second-content-inner p, #Dance .Recommended-inner p {
				font-size: 1.5rem;
		}
		#Pilates .second-content-inner h2, #Pilates .Recommended-inner h2, #Dance .second-content-inner h2 {
				font-size: 2.5rem;
				word-break: keep-all;
		}
		#Dance .second-content-inner.flex > div p {
				text-align: left;
		}
		#Pilates .second-content-inner p br {
				display: none;
		}
		#facility .facility-inner .title-area.center p {
				text-align: left;
		}
		.br_sp {
				display: block;
		}
		#Pilates .Recommended {
				background-attachment: unset;
		}
}

#fixed-content {
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.4s ease, visibility 0.4s ease;
		position: fixed;
		max-width: 1200px;
		width: 100%;
		z-index: 20;
		bottom: 2%;
		left: calc((100% - 1200px) / 2);
		border-radius: 6px;
		overflow: hidden;
		filter: drop-shadow(1px 1px 10px #535353);
}
#fixed-content.show,
#campaign.show {
		opacity: 1;
		visibility: visible;
}
#fixed-content ul {
		justify-content: center;
}
#fixed-content ul li {
		width: calc(100% / 4);
		text-align: center;
		position: relative;
}
#fixed-content ul li a {
		color: #fff;
		font-weight: 600;
		display: block;
		padding: 1.75rem 1rem;
		font-size: 16px;
		text-shadow: 1px 1px 5px #555;
		position: relative;
}
#fixed-content ul li a::after {
		content: "";
		background: center center/contain no-repeat url(https://fitness-nero.com/wp-content/uploads/ico_arrow.svg);
		width: 1.75rem;
		height: 1.75rem;
		position: absolute;
		right: 1.5rem;
		top: 50%;
		transform: translateY(-50%);
}
.to-entry {
		background-color: #c9a412;
}
.to-contact {
		background-color: #eb612a;
}
.to-mypage {
		background-color: #262626;
}
.to-line {
		background-color: #06C755;
}
.red {
		color: #c33434;
}
@media screen and (max-width: 1200px) {
		#fixed-content {
				max-width: 96%;
				left: 2%;
		}
}
@media screen and (max-width: 768px) {
		#fixed-content {
				max-width: 100%;
				left: 0;
				bottom: 0;
				filter: none;
				border-radius: unset;
		}
		#fixed-content ul {
				flex-wrap: wrap;
		}
		#fixed-content ul li {
				font-size: 13px !important;
				width: calc(100% / 2);
		}
		#fixed-content ul li a {
				font-size: 13px !important;
				padding: 12px 4px;
		}
}
@media screen and (min-width: 48px) and (max-width: 640px) {
		#Pilates .Recommended-list h3, #Dance .Recommended-list h3 {
				width: 80%;
		}
}
.only_sp {
		display: none;
}
@media screen and (max-width: 768px) {
		.only_sp {
				display: block;
		}
		#menu-item-437 a {
				background-color: #eb612a;
				color: #fff;
		}
}
.grecaptcha-badge {
		display: none !important;
}
.recaptcha_message {
		text-align: center;
}
.recaptcha_message p, .recaptcha_message a {
		display: inline-block;
		font-size: 1.3rem;
}
@media screen and (min-width: 481px) and (max-width: 768px) {
		#Pilates .flow-inner ul li:nth-child(2)::after,
		#Dance .flow-inner ul li:nth-child(2)::after,
		#Pilates .flow-inner ul li:nth-child(4)::after,
		#Dance .flow-inner ul li:nth-child(4)::after{
				top: unset;
				bottom: -3rem;
				right: 0;
				left: -2rem;
				transform: rotate(140deg);
		}
}
.coming-soon::before {
		content: "coming-soon";
		background: rgba(12, 102, 26, 0.8);
		color: #fff;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 5;
}
#campaign {
		opacity: 0;
		visibility: hidden;
		transition: opacity 1.5s ease, visibility 1.5s ease;
		position: fixed;
		bottom: 6.5rem;
		right: 1rem;
		z-index: 15;
}
#campaign a{
		font-family: "Mochiy Pop One", sans-serif;
		background: linear-gradient(140deg, #c9a412, #fbf4dd, #c9a412);
		aspect-ratio: 1 / 1;
		padding: 2rem;
		border-radius: 100%;
		font-weight: 600;
		font-size: 1.4rem;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		position: relative;
		overflow: hidden;
		transform: rotate(6deg);
		border: 2px solid #c9a412;
		text-shadow: 1px 1px 2px #c9a412;
}
#campaign a::after {
		animation: 4s 0s shineBtn linear infinite;
		background: linear-gradient(to right, rgba(255,255,255,0) 25%, rgba(255,255,255,.6) 50%, rgba(255, 255, 255, 0) 75%);
		content: '';
		height: 100%;
		left: -100%;
		position: absolute;
		top: 0;
		transform: skewX(-15deg);
		width: 100%;
}
@keyframes shineBtn {
		20% {
				left: 100%;
		}
		100% {
				left: 100%;
		}
}
.facility-image {
		position: relative;
}
.facility-image figcaption {
		position: absolute;
		bottom: 0;
		font-size: 1.2rem;
		line-height: 1.6;
		right: 0;
		color: #fff;
		background: rgba(0, 0, 0, 0.6);
		padding: 0 6px;
}

@media screen and (min-width: 1501px) {
		#campaign {
				right: 3rem;
				bottom: 2rem;
		}
		#campaign a {
				font-size: 2.5rem;
		}
}

/*-- POPUP ----------------------------------*/
/* 背景 */
.popup-overlay {
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s ease, visibility .3s ease;
		z-index: 9999;
}

/* 表示時 */
.popup-overlay.is-active {
		opacity: 1;
		visibility: visible;
}

/* 本体 */
.popup-content {
		opacity: 0;
		transition: opacity 2s ease, transform 1s ease;
		background: center center/cover no-repeat url(https://fitness-nero.com/wp-content/uploads/About-NERO-Features_bg.jpg);
		max-width: 600px;
		width: 90%;
		padding: 5rem 1.5rem 4rem 1.5rem;
		border-radius: 4px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%) scale(0.9);
		box-sizing: border-box;
		text-align: center;
		font-weight: 600;
		filter: drop-shadow(0 0 10px #ececec);
}
.popup-content::after {
		content: "";
		background: rgba(0,0,0,0.4);
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
}
.popup-body {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 1.5rem;
}
.popup-body p {
		font-size: 2.5rem;
		line-height: 1.5;
		font-weight: 600;
		text-align: center;
		color: #fff;
		filter: drop-shadow(0 0 3px #fff33b);
}

.popup-overlay.is-active .popup-content {
		opacity: 1;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%) scale(1);
}

/* ×ボタン */
.popup-close {
		position: absolute;
		top: 8px;
		right: 10px;
		background: none;
		border: none;
		font-size: 24px;
		cursor: pointer;
		color:#fff;
}

/* WYSIWYG内の画像対策 */
.popup-body img {
		max-width: 80%;
		width: 100%;
}