@charset "utf-8";
#wrapper { background: #ece0d9;}
.wrap { width: 100%; max-width: 800px; margin: 0 auto;}
.menu-btn { display: none;}
#ft { background: #ece0d9;}
#ft-sns { display: none;}

#hd { width: 100%; position: fixed; left: 0; top: 0; background: #fff; z-index: 10;}
#hd .hd-ctn { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 12px 0 10px;}
#hd .hd-logo { width: 132px; z-index: 2;}
#hd .hd-logo h1 a { display: block; width: 100%; max-width: 132px;}
#hd .hd-logo h1 a img { width: 100%; transition: 0.4s linear 0.1s; opacity: 1;}
#hd .hd-btn { width: calc( 100% - 150px);}
#hd .hd-btn ul { font-size: 0px; text-align: right;}
#hd .hd-btn ul li { display: inline-block; width: 40%; max-width: 150px; margin-right: 20px; font-size: 16px; font-weight: 700; line-height: 1.2;}
#hd .hd-btn ul li:last-child { margin-right: 0px;}
#hd .hd-btn ul li a { display: block; width: 100%; padding: 10px 0; color: #333; text-decoration: none; text-align: center;
 transition: 0.3s linear;
}
#hd .hd-btn ul li.reserve a{ border: solid 1px #b1533b; background: #b1533b; color: #fff;}
#hd .hd-btn ul li.mypage a { border: solid 1px #b1533b; color: #b1533b;}
#hd .hd-btn ul li.reserve a:hover{  border: solid 1px #b1533b; background: #fff; color: #b1533b;}
#hd .hd-btn ul li.mypage a:hover {  background: #b1533b; color: #fff;}
@media (max-width: 481px) {
	#hd .hd-ctn { padding: 10px 0 8px;}
	#hd .hd-logo { width: 60px;}
	#hd .hd-btn ul li { max-width: 80px; margin-right: 6px; font-size: 12px;}
	#hd .hd-btn ul li a { padding: 6px 0;}
}

#ft { padding: 0 !important;}
#ft .inner-ft {  width: 100%; max-width: 800px; margin: 0 auto; background: #fff;}
@media (max-width: 481px) {
	#ft .ft-aside ul li:nth-child(2) { border-left: none;}
}


@keyframes moving {
 0% { transform: translateY(0px)}
 50% { transform: translateY(16px)}
 100% { transform: translateY(0px)}
}
.cta { width: 100%; background: url('/images/pilates/lite/bg-cta.jpg') no-repeat 50% 50% / cover;}
.cta .inner { padding: 60px 0;}
.cta h2 { margin-bottom: 30px; text-align: center; }
.cta h2 img { width: 84%; transition: 0.4s linear; opacity: 0;}
.cta .btn-researve { width: 84%; margin: 0 auto; transition: 0.4s linear 0.4s; opacity: 0;}
.cta .btn-researve a { display: block; width: 100%; border-radius: 100px; overflow: hidden;
 box-shadow: 0 10px 0 #a9505f; animation: 2.0s moving linear infinite;
}
.cta .btn-researve a img { width: 100%;}
.cta .btn-researve a:hover { opacity: 0.8;}
.cta.show h2 img { opacity: 1;}
.cta.show .btn-researve { opacity: 1;}
@media (max-width: 481px) {
	.cta .inner { padding: 40px 0;}
	.cta h2 { margin-bottom: 12px;}
	.cta .btn-researve a { box-shadow: 0 5px 0 #a9505f;}
}

.ttl { text-align: center;}
.ttl h2 { font-size: clamp(24px,5.0vw,50px); font-weight: 600; line-height: 1; transition: 0.4s linear; opacity: 0;}
.ttl h2 img { width: 40%; max-width: 240px; }
.ttl h2 span { display: block; padding-top: 12px;}
.show .ttl h2 { opacity: 1;}
@media (max-width: 481px) {
	.ttl h2 { font-size: 24px;}
	.ttl h2 span { padding-top: 8px;}
}




#kv .inner-kv { position: relative; width: 100%; max-width: 800px; margin: 0 auto;}
#kv .kv-txt { position: absolute; top: 10.5%; width: 100%; text-align: center; z-index: 2;}
#kv .kv-txt p img { width: 94%; transition: 0.4s linear 0.2s; opacity: 0;}
#kv .badge { position: absolute; right: 30px; bottom: 5%; width: 25%; max-width: 200px; z-index: 2;}
#kv .badge img { width: 100%; transition: 0.4s linear 0.3s; opacity: 0;}
#kv .bg { position: relative; z-index: 1;}
#kv .bg img { width: 100%;}


#kv .lead { }
#kv .lead .inner { width: 100%; max-width: 800px; margin: 0 auto; background: #f8f0ea; padding: 40px 0;}
#kv .lead h1 { margin-bottom: 40px; text-align: center;}
#kv .lead h1 img { width: 84%; transition: 0.4s linear 0.4s; opacity: 0;}
#kv .lead .txt { position: relative; width: 84%; margin: 0 auto; transition: 0.4s linear 0.2s; opacity: 0;}
#kv .lead .txt:before,
#kv .lead .txt:after { content: ''; display: block; width: 1px; height: calc(100% - 100px); background: #b1533b;
 position: absolute; top: 50%; transform: translateY(-50%);
}
#kv .lead .txt:before{ left: 0px;}
#kv .lead .txt:after { right: 0px;}
#kv .lead .txt div { position: relative; width: 100%; padding: 40px 0;
 background: url('/images/pilates/lite/mark-top-L.png'),
  url('/images/pilates/lite/mark-top-R.png'),
  url('/images/pilates/lite/mark-bottom-L.png'),
  url('/images/pilates/lite/mark-bottom-R.png');
 background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
 background-size: 40px auto, 40px auto, 40px auto, 40px auto;
 background-position: 0 0,100% 0, 0 100%, 100% 100%;
}
#kv .lead .txt div:before,
#kv .lead .txt div:after { content: ''; display: block; width: 7px; height: 7px; background: #b1533b; border-radius: 50%;
 position: absolute; top: 50%; transform: translateY(-50%);
}
#kv .lead .txt div:before{ left: -3px;}
#kv .lead .txt div:after { right: -3px;}

#kv .lead .txt p { font-size: 23px; font-weight: 600; letter-spacing: 0.1rem; text-align: center;}
#kv .lead .txt p span { display: block;}

#kv.show .logo img { opacity: 1;}
#kv.show .badge img { opacity: 1;}
#kv.show .bg img { opacity: 1;}
#kv.show .kv-txt p img { opacity: 1;}
#kv.show .lead h1 img { opacity: 1;}
#kv .lead .txt.show { opacity: 1;}
@media (max-width: 641px) {
	#kv .lead .txt p { font-size: 20px;}
}
@media (max-width: 481px) {
	#kv { padding-top: 12px;}
	#kv .badge { right: 3.5%;}

	#kv .lead .inner { padding: 30px 0;}
	#kv .lead h1 { margin-bottom: 20px;}
	#kv .lead .txt:before,
	#kv .lead .txt:after { height: calc(100% - 60px);}
	#kv .lead .txt div { padding: 30px 0; background-size: 25px auto, 25px auto, 25px auto, 25px auto;}
	#kv .lead .txt p { font-size: 13px; letter-spacing: 0.06rem;}
}


#lesson { background: #f9ede2;}
#lesson .inner-sct { padding: 80px 0 40px;}
#lesson .ttl { margin-bottom: 20px;}
#lesson .bloc { padding: 30px 0; transition: 0.4s linear; opacity: 0;}
#lesson .bloc h3 { margin-bottom: 30px; text-align: center;}
#lesson .bloc h3 img { width: 80%;}
#lesson .bloc .txt { width: 80%; max-width: 580px; margin: 0 auto 24px; text-align: center;}
#lesson .bloc .txt p { display: inline-block; font-size: 18px; letter-spacing: 0.08rem; line-height: 1.8; text-align: left;}
#lesson .bloc .note { width: 80%; max-width: 580px; margin: 0 auto;}
#lesson .bloc .note p { font-size: 14px; text-align: right;}
#lesson .bloc.show { opacity: 1;}
@media (max-width: 641px) {
	#lesson .inner-sct { padding: 60px 0 30px;}
	#lesson .bloc h3 { margin-bottom: 20px;}
	#lesson .bloc .txt p { font-size: 16px; letter-spacing: 0.05rem;}
}
@media (max-width: 481px) {
	#lesson .inner-sct { padding: 40px 0 20px;}
	#lesson .ttl { margin-bottom: 10px;}
	#lesson .bloc { padding: 16px 0;}
	#lesson .bloc h3 { margin-bottom: 12px;}
	#lesson .bloc .txt p { font-size: 13px; letter-spacing: 0rem; line-height: 1.65;}
	#lesson .bloc .note p { font-size: 11px;}
}


#about { background: #fff;}
#about .inner-sct { position: relative; padding: 80px 0 40px;}
#about .inner-sct:after { content: ''; display: block; width: 100%; height: 480px; background: #f8f0ea;
	position: absolute; left: 0; bottom: 0;
}
#about .bloc { position: relative; padding: 30px 0; z-index: 2; transition: 0.4s linear; opacity: 0;}
#about .bloc.mb { margin-bottom: 40px;}
#about .bloc figure { text-align: center;}
#about .bloc figure img { width: 92%;}
#about .bloc h3 { margin-bottom: 12px; color: #b1533b; font-size: 42px; font-weight: 700; line-height: 1.2; text-align: center;}
#about .bloc h3 span { display: inline-block; padding: 0 10px; background: linear-gradient(transparent 50%,#fffc99 50%,#fffc99 100%);}
#about .bloc .txt { width: 72%; margin: 0 auto;}
#about .bloc .txt.pt { padding-top: 30px;}
#about .bloc .txt p { font-size: 18px; letter-spacing: 0.08rem; line-height: 1.8; }
#about .bloc.show { opacity: 1;}
@media (max-width: 641px) {
	#about .inner-sct:after { height: 400px;}
	#about .bloc figure { margin-bottom: 12px;}
	#about .bloc h3 { margin-bottom: 8px; font-size: 6.0vw;}
	#about .bloc .txt.pt { padding-top: 12px;}
	#about .bloc .txt p { font-size: 16px; letter-spacing: 0.05rem;}
}
@media (max-width: 481px) {
	#about .inner-sct { padding: 40px 0 20px;}
	#about .inner-sct:after { height: 260px;}
	#about .bloc { padding: 16px 0;}
	#about .bloc.mb { margin-bottom: 20px;}
	#about .bloc figure { margin-bottom: 12px;}
	#about .bloc h3 { margin-bottom: 8px; font-size: 23px;}
	#about .bloc .txt { width: 85%;}
	#about .bloc .txt.pt { padding-top: 8px;}
	#about .bloc .txt p { font-size: 13px; line-height: 1.4;}
}


aside.pht { transition: 0.4s linear; opacity: 0;}
aside.pht figure { text-align: center;}
aside.pht figure img { width: 100%;}
aside.pht.show { opacity: 1;}


#effect { position: relative; background: #f8f0ea;}
#effect:before { content: ''; display: block; width: 100%; height: 460px; background: #fff;
 position: absolute; left: 0; top: 0;
}
#effect .inner-sct { position: relative; width: 100%; margin: 0 auto; padding: 100px 0 40px;}
#effect .ttl { transition: .8s cubic-bezier(0.5, 1, 0.89, 1); opacity: 1;}
#effect .bloc { width: 100%; padding: 30px 0; overflow: hidden;}
#effect .bloc .inner-bloc { position: relative;}
#effect figure { width: 80%; max-width: 640px;}
#effect figure.fig-L { margin-bottom: -60px;}
#effect figure.fig-R { margin: 0 0 -60px auto;}
#effect figure img { position: relative; width: 100%;}
#effect figure.fig-L img { transition: 0.4s linear 0.2s; transform: translateX(-30px); opacity: 0;}
#effect figure.fig-R img { transition: 0.4s linear 0.2s; transform: translateX(30px); opacity: 0;}
#effect .txt { width: 80%; max-width: 640px;}
#effect .txt.txt-L {}
#effect .txt.txt-R { margin: 0 0 0 auto;}
#effect .txt .inner { position: relative; min-height: 260px; padding: 30px; background: #fff; transition: .8s cubic-bezier(0.5, 1, 0.89, 1); opacity: 0;}
#effect .txt .no { display: block; width: 120px; height: 60px;
 position: absolute; right: 20px; top: 20px;
}
#effect .txt .no.no01 { background: url('/images/pilates/lite/no01.png') no-repeat 50% 50% / 100% auto;}
#effect .txt .no.no02 { background: url('/images/pilates/lite/no02.png') no-repeat 50% 50% / 100% auto;}
#effect .txt .no.no03 { background: url('/images/pilates/lite/no03.png') no-repeat 50% 50% / 100% auto;}

#effect .txt h3 { position: relative; margin-bottom: 20px; padding-left: 72px; padding-right: 80px; color: #b1533b; font-size: 40px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.2;}
#effect .txt h3:before { content: ''; display: block; width: 50px; height: 60px; background: url('/images/pilates/lite/icn.svg') no-repeat 50% 50% / 100% auto;
 position: absolute; left: 0; top: -9px;
}
#effect .txt p { font-size: 18px; letter-spacing: 0.05rem; line-height: 1.8;}
#effect.show .ttl { opacity: 1;}
#effect .show figure.fig-L img { transform: translateX(0px); opacity: 1;}
#effect .show figure.fig-R img { transform: translateX(0px); opacity: 1;}
#effect .show .txt .inner { opacity: 1;}
@media (max-width: 801px) {
	#effect figure { width: calc( 100% - 100px);}
	#effect figure.fig-L { margin-bottom: -50px;}
	#effect figure.fig-R { margin: 0 0 -50px auto;}
	#effect .txt { width: calc( 100% - 100px);}
	#effect .txt .inner { min-height: auto; padding: 30px;}
	#effect .txt .no { top: 20px; font-size: 42px;}
	#effect .txt h3 { margin-bottom: 20px; padding-right: 60px; font-size: 30px;}
	#effect .txt p { font-size: 18px; }
}
@media (max-width: 641px) {
}
@media (max-width: 481px) {
	#effect .inner-sct { padding: 40px 0;}
	#effect .bloc { padding: 12px 0;}
	#effect figure { width: calc( 100% - 50px);}
	#effect figure.fig-L { margin-bottom: -25px;}
	#effect figure.fig-R { margin: 0 0 -25px auto;}
	#effect .txt { width: calc( 100% - 50px);}
	#effect .txt .inner { padding: 20px 25px;}
	#effect .txt .no { right: 18px; top: 15px; width: 72px; height: 40px;}
	#effect .txt h3 { margin-bottom: 12px; padding: 4px; padding-left: 40px; font-size: 18px;}
	#effect .txt h3:before { width: 28px; height: 32px; top: -2px;}
	#effect .txt p { font-size: 12px; line-height: 1.65;}
}



#faq { background: #f8f0ea;}
#faq .inner-sct { width: 100%; max-width: 800px; margin: 0 auto; padding: 60px 0;}
#faq .ttl { margin-bottom: 20px; transition: .8s cubic-bezier(0.5, 1, 0.89, 1); opacity: 1;}
#faq ul { width: 88%; margin: 0 auto;}
#faq ul li { position: relative; padding: 30px 0; transition: 0.3s linear; transform: translateY(20px); opacity: 0;}
#faq ul li:before { content: ''; display: block; width: 100%; height: 60px; background: url('/images/pilates/lite/icn-Q.svg') no-repeat 50% 50% / auto 100%;
 position: absolute; left: 0; top: 0px; z-index: 2;
}
#faq ul li dl { position: relative; padding: 40px; background: #fff;}
#faq ul li dl dt { margin-bottom: 20px; padding: 8px 0 20px; border-bottom: solid 1px #b1533b; color: #b1533b; font-size: 24px; font-weight: 700; letter-spacing: 0.05rem;}
#faq ul li dl dd { color: #000; font-size: 20px;}
#faq.show .ttl { opacity: 1;}
#faq ul li.show { transform: translateY(0px); opacity: 1;}
@media (max-width: 801px) {
	#faq ul li dl dt { margin-bottom: 20px; padding: 8px 0 20px; font-size: 21px;}
	#faq ul li dl dd { font-size: 18px;}
}
@media (max-width: 481px) {
	#faq .inner-sct { padding: 40px 0 30px;}
	#faq .ttl { margin-bottom: 12px;}
	#faq ul li { padding: 16px 0;}
	#faq ul li:before { height: 32px;}
	#faq ul li dl { padding: 20px;}
	#faq ul li dl dt { margin-bottom: 12px; padding: 4px 5px 12px; font-size: 16px;}
	#faq ul li dl dd { padding: 0 5px 6px; font-size: 13px;}
}


#access { background: #fff;}
#access .inner-sct { width: 100%; max-width: 800px; margin: 0 auto; padding: 60px 0; transition: .8s cubic-bezier(0.5, 1, 0.89, 1); opacity: 1;}
#access .ttl { margin-bottom: 30px;}
#access .ctn { width: 80%; margin: 0 auto;}
#access .bloc { width: 100%; margin: 0 auto; transition: 0.4s linear; opacity: 0;}
#access .bloc .map { width: 100%; height: 300px; margin: 0 auto 30px;}
#access .bloc .map iframe { width: 100%; height: 100%;}
#access .bloc h3 { margin-bottom: 20px; color: #b1533b; font-size: clamp(20px,3.0vw,30px); font-weight: 700; line-height: 1.4;}
#access .bloc h3 span { display: block; font-size: clamp(32px,4.2vw,42px);;}
#access .bloc ul li { padding: 18px 0;}
#access .bloc ul li dl { position: relative; background: #fff;}
#access .bloc ul li dl dt { margin-bottom: 10px; padding-left: 20px; border-left: solid 6px #b1533b;
 color: #b1533b; font-size: 24px; font-weight: 700; line-height: 1.0;
}
#access .bloc ul li dl dd { display: inline-block; font-size: 20px;}
#access.show .inner-sct { opacity: 1;}
#access.show .bloc { opacity: 1;}
@media (max-width: 801px) {
	#access .ttl { margin-bottom: 20px;}
	#access .bloc h3 { margin-bottom: 12px; font-size: 21px;}
	#access .bloc h3 span { font-size: 32px;}
	#access .bloc ul li { padding: 12px 0;}
	#access .bloc ul li dl dt { font-size: 20px;}
	#access .bloc ul li dl dd { font-size: 16px;}
}
@media (max-width: 641px) {
}
@media (max-width: 481px) {
	#access .inner-sct { padding: 40px 0 30px;}
	#access .ttl { margin-bottom: 12px;}
	#access .bloc .map { margin: 0 auto 20px;}
	#access .bloc h3 { font-size: 14px;}
	#access .bloc h3 span { font-size: 23px;}
	#access .bloc ul li { padding: 8px 0;}
	#access .bloc ul li dl dt { padding-left: 15px; border-left: solid 4px #b1533b; font-size: 16px;}
	#access .bloc ul li dl dd { font-size: 13px;}
	#access .bloc .map { height: 150px;}
}

/*
#ft { padding-top: 50px;}
#ft .ft-info { position: relative; width: 92%; max-width: 540px; margin: 0 auto; padding: 30px 0; padding-left: 100px;}
#ft .ft-info .ft-logo { position: absolute; left: 0; top: 50%; transform: translate(0,-50%); width: 82px;}
#ft .ft-info .ft-logo h3 { margin: 0;}
#ft .ft-info .ft-logo h3 a { display: block; }
#ft .ft-info .ft-logo h3 a img { width: 100%; vertical-align: bottom;}
#ft .ft-info ul { margin: 0; padding: 0; font-size: 0; text-align: center;}
#ft .ft-info ul li { display: inline-block; padding: 4px 18px; border-right: solid 1px #000; font-size: 12px;}
#ft .ft-info ul li a:hover { color: #b1533b; text-decoration: none;}
#ft .cr { padding: 25px 0; text-align: center;}
#ft .cr p { margin: 0; font-size: 12px; line-height: 1;}
#ft .cr a:hover { color: #b1533b; text-decoration: none;}
@media (max-width: 801px) {
	#ft .ft-info { padding: 20px 0; padding-left: 90px;}
	#ft .ft-info ul li { padding: 4px 12px;}
}
@media (max-width: 481px) {
	#ft { padding-top: 30px;}
	#ft .ft-info { padding-left: 0px;}
	#ft .ft-info .custom-html-widget { padding-left: 0px;}
	#ft .ft-info .ft-logo { position: relative; left: auto; top: auto; transform: translate(0,0); margin: 0 auto 10px;}
	#ft .ft-info ul li { padding: 2px 10px; font-size: 11px;}
	#ft .ft-info ul li:last-child{ border-right: none;}
	#ft .cr { padding: 15px 0;}
	#ft .cr p { font-size: 10px;}
}
*/