@charset "utf-8";
/* ======================================================
   chandra 冬キャンペーン版（2026/11/1〜2027/1/8）
   「お家でマシンピラティス」POINT03 追加版

   構成: 前半 = 2505_style.css（chandraの土台）をそのまま取り込み
         後半 = 今回の追加・上書き分
   ※chandraは版ごとにCSSを全文複製する運用のため、
     ../chandra/css/ を跨いで参照せず自己完結させている。
   ※1rem: SP = 100vw/37.5（375px基準で10px）/ 500px以上 = 10px固定
     common_2506.css の 62.5% を下の html{} で上書きしている。消さないこと。
====================================================== */

/* 飾り文字「2 GENRES」「2 STYLES」用。**Google Fonts ではなく埋め込み。**
   $googleFonts に Allura を戻さないこと。経緯は2段階ある。

   1. Google Fonts 経由では到着が遅すぎた。このページは Noto Sans JP のサブセットだけで
      gstatic へ40本以上リクエストしており、Allura の1本が行列の後ろに回る。
      font-display:swap なのでその間ずっとフォールバックが出る
   2. 自前ファイル（font/allura-latin-v23.woff2）に替えてもChromeで当たらなかった。
      **STGはBasic認証配下で、CSSもフォントも未認証だと401になる**（画像だけ除外されている）。
      @font-face の取得はCORSモードで走るため、この構成ではフォントだけ落ちてこない

   そこで **data URI で埋め込み、取得リクエスト自体を無くした。** 認証もCORSも介在しない。
   原本は font/allura-latin-v23.woff2 に残してある（latin サブセットのみ・26KB）。
   差し替えるときは base64 にし直してこのCSSに流し込むこと。
   代償はCSSが約35KB増えること。**本番は認証が無いので外部ファイル参照へ戻してもよい。**
   Allura は SIL Open Font License 1.1 で、再配布・埋め込みとも許諾されている。 */
@font-face {
  font-family: 'Allura';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("data:font/woff2;base64,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") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ======================================================
   [1] chandra 土台（2505_style.css 由来）
====================================================== */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: calc(100vw / 37.5);
}
body {
  color: #111111;
  font-size: 1.5rem;
  font-family: 'Noto Sans JP', sans-serif , 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, Arial, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  line-height: 1.9;
  -webkit-text-size-adjust: 100%;
}
li {
  list-style-type:none;
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.wrapper {
  width: 100%;
  max-width: 500px;
  margin: 0px auto;
  position: relative;
	background: #fff;
}
.pc_only {
  display: none;
}
@media screen and (min-width: 500px) {
  .pc_only {
    display: block;
  }
  .sp_only {
    display: none;
  }
  html {
    font-size: 62.5%;
  }
  .wrapper {
    box-shadow: 30px 0px 90px -10px rgba(225, 225, 225, 1), -30px 0px 90px -10px rgba(225, 225, 225, 1);
  }
	body {
  	background-image: url(../img/body_bg.webp);
    background-color: #f1f1f1;
    background-size: 20%;
		background-repeat: repeat;
}
}
/*header*/
header{
	height: 6.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.logo_hd{
	width: 14.7rem;
}
/*btn_wrap*/
.btn_wrap {
  padding: 2.3rem 0;
  text-align: center;
  background: rgb(234, 150, 156);
  background: linear-gradient(90deg, rgba(234, 150, 156, 1) 0%, rgba(236, 174, 104, 1) 100%);
}
.btn_try {
  width: 85%;
  display: block;
  margin: 0 auto;
  animation: purupuru_anim 1.5s infinite;
}
.btn_wrap .white_tx {
  color: #fff;
  font-size: 1.3rem;
  font-weight: 500;
}
.cta_lead {
  width: 30.5rem;
}

/*======================================================
アニメーション
======================================================*/

/*===============　マーカーアニメーション ===============*/
.text_marker_yellow { /*黄色マーカー 0.5秒*/
  padding-bottom: 2px;
  background: -webkit-linear-gradient(left, rgb(255,240,99) 50%, transparent 50%);
  background: -moz-linear-gradient(left, rgb(255,240,99) 50%, transparent 50%);
  background: linear-gradient(left, rgb(255,240,99) 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 200% .8em; 
  background-position: 100% .8em;
  transition: .5s;
  transition-delay: .5s;
}
.text_marker_pale_red { /*薄赤色マーカー 0.5秒*/
  padding-bottom: 2px;
  background: -webkit-linear-gradient(left, rgb(251,219,212) 50%, transparent 50%);
  background: -moz-linear-gradient(left, rgb(251,219,212) 50%, transparent 50%);
  background: linear-gradient(left, rgb(251,219,212) 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 200% .8em; 
  background-position: 100% .8em;
  transition: 2.0s;
  transition-delay: .8s;
}
.text_marker_white { /*白マーカー 0.5秒*/
  padding-bottom: 2px;
  background: -webkit-linear-gradient(left, rgb(255,255,255) 50%, transparent 50%);
  background: -moz-linear-gradient(left, rgb(255,255,255) 50%, transparent 50%);
  background: linear-gradient(left, rgb(255,255,255) 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 200% .8em; 
  background-position: 100% .8em;
  transition: .5s;
  transition-delay: .5s;
}
.text_marker_blue { /*blueマーカー 0.5秒*/
  padding-bottom: 2px;
  background: -webkit-linear-gradient(left, rgb(210,226,249) 50%, transparent 50%);
  background: -moz-linear-gradient(left, rgb(210,226,249) 50%, transparent 50%);
  background: linear-gradient(left, rgb(210,226,249) 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 200% .8em; 
  background-position: 100% .8em;
  transition: .5s;
  transition-delay: .5s;
}
.text_marker_wide { /*白wideマーカー 0.5秒*/
  padding-bottom: 2px;
  background: -webkit-linear-gradient(left, rgb(255,255,255) 50%, transparent 50%);
  background: -moz-linear-gradient(left, rgb(255,255,255) 50%, transparent 50%);
  background: linear-gradient(left, rgb(255,255,255) 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 200% 2em; 
  background-position: 100% .8em;
  transition: .5s;
  transition-delay: .5s;
}
.delay-time-line-next{
	transition-delay: 1s;
}
[class*='text_marker_'].marker_10 { /*マーカー 1秒*/
  transition: 1.0s;
  transition-delay: .8s;
}
[class*='text_marker_'].marker_20 { /*マーカー 2秒*/
  transition: 2.0s;
  transition-delay: .8s;
}
[class*='text_marker_'].marker_30 { /*マーカー 3秒*/
  transition: 3.0s;
  transition-delay: .8s;
}
[class*='text_marker_'].delay-time20 { /*マーカー ディレイ 2秒*/
  transition-delay: 2.0s;
}
.text_marker_yellow.marker_trigger
{
  background-position: 0% .8em;
}
.text_marker_pale_red.marker_trigger
{
  background-position: 0% .8em;
}
.text_marker_white.marker_trigger
{
  background-position: 0% 1.4em;
}
.text_marker_wide.marker_trigger{
	background-position: 0% 0em;
}
.point_title_03 .text_marker_white.marker_trigger
{
  background-position: 0% 1.2em;
}
/*about*/
#about{
	background: url("../img/about_bg.png") no-repeat 0 0/cover;
	padding: 5.5rem 2rem;
}
.bg_white{
	padding: 3.8rem 2rem 3rem;
	background-color: #fff;
}
.about_tx {
  font-size: 1.5rem;
  text-align: center;
  font-weight: 500;
  line-height: 2;
}
.mint_tx{
	color: #69b3a2;
	font-weight: bold;
}
.lesson_clm{
	display: flex;
  justify-content: center;
	margin-top: 2.2rem;
}
.lesson_clm li{
	width: 14.7rem;
}
.lesson_clm li p{
	font-size: 1.2rem;
	margin-top: 1rem;
}
.lesson_clm li:first-of-type p{
	padding-right: 0.4rem;
}
.lesson_clm li:nth-of-type(2) {
	padding-left: 1.4rem;
}
.lesson_clm_img {
  width: 13rem;
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 500px) {
  .about_tx {
    font-size: 2rem;
}
	.shop_comment {
    font-size: 1.3rem;
}
	.lesson_clm li {
    width: 45%;
}
	.lesson_clm_img {
    width: 15rem;
}
	.lesson_clm li:nth-of-type(2) {
    padding-left: 3rem;
}
	.lesson_clm li p {
    font-size: 1.4rem;
}
}
/*worries*/
#worries{
	padding-bottom: 2.7rem;
}
.worries_list{
	position: relative;
}
.worries_list li{
	position: absolute;
}
.worries_01{
	left: 2.2rem;
    top: -17.2rem;
	width: 16.6rem;
}
.worries_02{
	right: 6.2rem;
    top: -18.5rem;
    width: 14.4rem;
}
.worries_03{
	left: 9.4rem;
    bottom: -2rem;
    width: 14.4rem;
}
.worries_04{
	right: 2.2rem;
    bottom: 0rem;
	width: 14.05rem;
}
@media screen and (min-width: 500px) {
	.worries_01 {
    left: 2rem;
    top: -25rem;
    width: 24rem;
}
	.worries_02 {
    right: 4rem;
    top: -25rem;
    width: 22rem;
}
	.worries_03 {
    left: 7rem;
    bottom: -8rem;
    width: 23rem;
}
  .worries_04 {
    right: 4rem;
    bottom: -3rem;
    width: 20rem;
}
}
/*point_01*/
#point_01 {
  background: rgb(120, 186, 173);
  background: linear-gradient(0deg, rgba(120, 186, 173, .45) 0%, rgba(228, 216, 106, .45) 100%);
  padding-bottom: 5rem;
}
#point_01 p{
	text-align: center;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 2;
}
.point_title_01{
	margin: 9% auto 7%;
	text-align: center;
}
#point_02 .point_title_02 .text_marker_blue {
    height: 3.5rem;
    width: auto;
}
.text_marker_white+.text_marker_white,.point_title_02 .text_marker_blue.delay-time-line02{
	margin-top: 0.5rem;
}
.delay-time-line01 {
    width: 90%;
    height: auto;
    margin: auto;
}
.delay-time-line02 {
    width: 35%;
    height: auto;
    margin: auto;
}
.point_tx{
	margin-bottom: 10%;
}
#point_01 .fukidashi{
	font-size: 1.6rem;
    height: 3rem;
    width: 33.5rem;
    margin: 9% auto 5%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    position: relative;
    border-radius: 1.5rem;
	padding-bottom: 0.25rem;
}
#point_01 .fukidashi.tx02{
	width: 11.5rem;
	margin: 1.5rem auto;
}
#point_01 .fukidashi::after{
	position: absolute;
    display: block;
    content: '';
    bottom: -0.9rem;
    left: calc(50% - 0.5rem);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1rem 1rem 0 1rem;
    border-color: #ffffff transparent transparent transparent;
}
.top_img {
    width: 14.4rem;
    margin: 1rem auto;
    display: block;
}
.grand_prix {
    display: flex;
    margin: 2rem;
}
.grand_prix li:nth-of-type(2){
	margin-left: 1rem;
}
#point_01 .size_s{
	font-size: 1.3rem;
}
@media screen and (min-width: 500px) {
	#point_01 p {
    font-size: 2rem;
	}
	.top_img {
    width: 50%;
}
}
/*point_02*/
#point_02{
	background: url("../img/point_02_bg.png") no-repeat 0 0/cover;
	padding-bottom: 5rem;
}
.point_title_02{
	padding: 6.2rem 0 2.6rem;
	text-align: center;
}
#point_02 > p{
	text-align: center;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 2;
}
#point_02 .fukidashi{
	font-size: 1.6rem;
    height: 2.8rem;
    width: 27.5rem;
    margin: 1.6rem auto 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #6998bc;
    position: relative;
    border-radius: 1.5rem;
	padding-bottom: 0.32rem;
	color: #fff;
}
#point_02 .fukidashi::after{
	position: absolute;
    display: block;
    content: '';
    bottom: -0.9rem;
    left: calc(50% - 0.5rem);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1rem 1rem 0 1rem;
    border-color: #6998bc transparent transparent transparent;
}
.lesson_icon{
	display: flex;
	justify-content: center;
}
.lesson_icon li{
	font-size: 1.1rem;
	font-weight: 500;
	position: relative;
	padding-left: 1.5rem;
}
.lesson_icon li+li{
	margin-left: 1.5rem;
}
.lesson_icon li::before{
	position: absolute;
	display: block;
	content: '';
	width: 1rem;
	height: 1rem;
	top: calc(50% - 0.5rem);
	left: 0;
}
.lesson_icon li:first-of-type::before{
	background-color: #eb9d5c;
}
.lesson_icon li:nth-of-type(2)::before{
	background-color: #81d086;
}
.lesson_icon li:nth-of-type(3)::before{
	background-color: #6ba7d1;
}
.lesson_table{
	width: 90%;
	margin: 1.4rem auto 1rem;
}
#point_02 .small_tx{
	font-size: 1rem;
	font-weight: 500;
}

@media screen and (min-width: 500px) {
	#point_02{
	font-size: 62.5%;
		}
	.point_title_02 {
    padding: 6.2rem 0 4rem;
}
#point_02 .point_title_02 .text_marker_blue {
    height: 4.5rem;
}
	#point_02 > p {
    font-size: 2rem;
		line-height: 2;
}
	#point_02 .fukidashi {
		font-size: 2rem;
    height: 3rem;
    width: 35rem;
    margin: 4rem auto 3rem;
	}
	.lesson_icon li {
    font-size: 1.6rem;
}
	.text_marker_white, .point_title_02 .text_marker_blue {
        height: 4.6rem;
    }
	.text_marker_blue {
    background-size: 200% 1.5em;
}
	.text_marker_yellow.marker_trigger {
    background-position: 0% 1.5em;
}
	 .text_marker_pale_red.marker_trigger {
    background-position: 0% 2em;
}
	 .text_marker_white.marker_trigger {
    background-position: 0% 2em;
}
	.text_marker_blue.marker_trigger {
    background-position: 0% 3em;
}
}
	
/*point_03*/
#point_03{
	background: rgb(120, 186, 173);
    background: linear-gradient(0deg, rgba(120, 186, 173, .45) 0%, rgba(228, 216, 106, .45) 100%);
	padding: 5rem 0;
	text-align: center;
}
.point_title_03{
	text-align: center;
	margin-bottom: 8%;
}
.point_title_03 .text_marker_white.marker_trigger {
    height: 2.8rem;
    width: auto;
}
#point_03 > p{
	text-align: center;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 2;
}
.price_normal {
    margin: 2.2rem auto 1rem;
}
.price_special{
	width: 33.6rem;
}
#point_03 .fukidashi{
	font-size: 1.8rem;
    height: 3rem;
    width: 25rem;
    margin: 4.2rem auto 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    position: relative;
    border-radius: 1.5rem;
	padding-bottom: 0.25rem;
}
#point_03 .fukidashi::after{
	position: absolute;
    display: block;
    content: '';
    bottom: -0.9rem;
    left: calc(50% - 0.5rem);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1rem 1rem 0 1rem;
    border-color: #ffffff transparent transparent transparent;
}
.price_table {
    margin: 1.4rem auto;
}
.price_table {
  width: 80%;
}
.price_1980 {
  width: 20rem;
  margin: 0 auto;
  display: block;
}
.price_line {
  width: 25rem;
  margin-top: 1rem;
}

@media screen and (min-width: 500px) {
	.point_title_03 .text_marker_white.marker_trigger {
        height: 3.5rem;
        background-position: 0% 1.5em;
    }
	#point_03 > p {
        font-size: 2rem;
        line-height: 2;
    }
	.price_1980 {
    width: 25rem;
}
	.price_line {
    width: 30rem;
		margin-top: 2rem;
}
	}
/*voice*/
#voice {
  background: rgb(234, 150, 156);
  background: linear-gradient(0deg, rgba(234, 150, 156, .35) 0%, rgba(236, 174, 104, .35) 100%);
  padding: 14% 5% 1%;
}
.voice_list li {
    display: flex;
    margin: 2rem 0;
    justify-content: space-between;
}
.voice_img {
    width: 30%;
    height: 100%;
}
.right_contents {
    width: 60%;
}
.right_contents p{
	font-size: 1.2rem;
	margin-top: 1rem;
}
.text_marker_wide{
	height: 3rem;
	width: auto;
}
@media screen and (min-width: 500px) {
	.voice_list li {
        margin: 6rem 0;
    }
	.right_contents p {
    font-size: 1.85rem;
}
}
/*footer*/
footer{
	background-color: #000;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 6rem;
	font-size: 1rem;
}

/*======================================================
追従ボタン
======================================================*/
.cta_follow {
  position: fixed;
  bottom: 2rem;
  left: 0;
  width: 100%;
  display: none;
  z-index: 100;
}
.cta_follow .btn_try{
	animation: none;
}
.is-hidden {
  visibility: hidden;
  opacity: 0;
}
@media screen and (min-width: 500px) {
	.cta_follow .btn_try{
	max-width: 410px;
}
	.cd_tx span {
    font-size: 3vw;
}
}

/*===============　フェードアップアニメーション ===============*/
.fadeup_trigger {
  opacity: 0;
}
.fadeUp{
  animation-name:fadeUpAnime;
  animation-duration:.8s;
  animation-fill-mode:forwards;
  opacity:0;
}

/*===============　手書き文字アニメーション ===============*/
.cls-1 {
  fill: none;
  isolation :isolate;;
  stroke-linecap :round;
  stroke-linejoin :round;
  stroke-width :6px;
}
.voice_item.handwriting_trigger .mask_line_01 {
  stroke-dasharray :6020px;
  animation: h-written-01 5s;
  stroke: #fff;
}
.voice_item.handwriting_trigger .mask_line_02 {
  stroke-dasharray:7260px;
  animation: h-written-02 5s;
  stroke: #fff;
}
.voice_item.handwriting_trigger .mask_line_03 {
  stroke-dasharray: 5090px;
  animation: h-written-03 5s;
  stroke: #fff;
}
.svg_text_01 {
  mask: url(#mask_01);
}
.svg_text_02 {
  mask: url(#mask_02);
}
.svg_text_03 {
  mask: url(#mask_03);
}



/*===============　拡大縮小アニメーション ===============*/
.breathing {
  animation: breathing 6s infinite;
}



/*===============　ジャンプするアニメーション ===============*/
.jump_01 {
  animation: jump_01 5s linear infinite;
}
.jump_02 {
  animation: jump_02 6s linear infinite;
}
/*===============　ズームイン ===============*/
.zoomIn{
	animation-name:zoomInAnime;
	animation-duration:0.6s;
	animation-fill-mode:forwards;
}

/*===============　アニメーションディレイ ===============*/
.delay-time02 {
  animation-delay: .2s;
}
.delay-time04 {
  animation-delay: .4s;
}
.delay-time06 {
  animation-delay: .6s;
}
.delay-time08 {
  animation-delay: .8s;
}
.delay-time10 {
  animation-delay: 1.0s;
}
.delay-time12 {
  animation-delay: 1.2s;
}
.delay-time14 {
  animation-delay: 1.4s;
}
.delay-time20 {
  animation-delay: 2.0s;
}

/*======================================================
CDタイマー
======================================================*/
.cd_tx{
	text-align: center;
	color: #eb554b;
	margin-bottom: 14px;
}
.cd_tx .timer_tx{
	font-weight: bold;
	display: inline-block;
    font-size: 4.6vw;
}
.cd_tx span{
	font-size: 6vw;
}
#countdownArea.cd_tx{
	color: #6998bc;
	margin: 0;
	position: absolute;
	top: 2px;
	left: calc(50% - 2.6em);
	font-weight: bold;
}
/*2402*/
#mv img {
  display: block;
}
.comparison_lead {
  width: 50%;
  margin: 1.5rem auto 3rem;
}
.btn_wrap {
  padding: 1.8rem 0;
}
.btn_try {
  margin-bottom: 1rem;
  filter: drop-shadow(0 0.5rem 0 rgba(0, 0, 0, 0.2));
}
.price_normal {
  width: 33rem;
  margin: 1.4rem auto 0;
}
.shine {
  border: none;
  height: 12.6rem;
  margin-top: 2rem;
}
#point_03 {
  padding: 5rem 0 3rem;
}

/*2404_店舗数470店舗*/
.shop_comment {
  font-size: 1rem;
  text-align: center;
}
.shop_comment_icon {
  font-size: 1rem;
  vertical-align: text-top;
  /* 行箱を広げないよう 1 に抑える。**inherit や 2 にしてはいけない。**
     line-height に数値を指定すると、子は「数値のまま」継承して自分の font-size に掛ける。
     この「※」は本文15pxに対し16px（下の行のルール由来）なので、同じ 2 でも
     32px対30pxとなり、※のある1行目だけ行箱が2px広がる。
     行間2.4の頃は 32px<36px で収まっていたが、2.0にしたら表面化した。 */
  line-height: 1;
}
/* ↓このルールはインデントされているがメディアクエリの外にあり、全幅で効いている。
   土台CSS由来。font-size を 1.6rem に上書きしているのはこれ。
   直すときは「※」の見た目の大きさが変わるので、意図を確認してから。 */
  .shop_comment_icon {
    font-size: 1.6rem;
    line-height: 1;
  }
/*240415*/
body {
  margin: 0;
}
.lesson_clm,
.grand_prix,
.voice_list {
  padding-left: 0;
}
#countdownArea.cd_tx {
  z-index: 1;
}
.btn_try {
  filter: none;
}
#point_01 .fukidashi::after,
#point_02 .fukidashi::after,
#point_03 .fukidashi::after {
  left: calc(50% - 0.9rem);
}

/*2407*/
.lead_wrap {
  background: rgb(244,144,130);
  background: linear-gradient(90deg, rgba(244,144,130,1) 0%, rgba(252,193,76,1) 100%);
}
.lead_tx01 {
  padding-top: 1rem;
}


/*2411*/
.cta_lead {
  width: 28rem;
}

.btn_top_text {
  font-size: calc((100vw / 390)* 18);
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.15rem;
  line-height: 1;
}

.btn_top_text .large {
  font-size: 1.78em;
}
@media screen and (min-width: 500px) {
  .btn_top_text {
    font-size: 2.5rem;
	}
	.cd_tx span {
    font-size: 3rem;
}
	.cd_tx .timer_tx {
    font-size: 3rem;
}
	#countdownArea.cd_tx {
    top: 0px;
    left: calc(50% - 3.5em);
	}
	.comparison_lead {
    margin: 4rem auto 2rem;
}
}
/* ======================================================
   [2] 冬CP追加分（お家でマシンピラティス）
   ここから下は [1] を上書きする。順序に依存しているので
   ブロックごと上へ移動しないこと。
====================================================== */

:root {
  --cp-red: #eb554b;
  --cp-yellow: #fff06a;
  --mint: #69b3a2;
  --blue: #6998bc;
  --lavender: #968fb9;
  --ink: #111;
}

/* ===============　キャンペーン帯（MV直下） =============== */
.cp_band {
  background: linear-gradient(90deg, rgba(234, 150, 156, 1) 0%, rgba(236, 174, 104, 1) 100%);
  padding: 2.4rem 2rem 2rem;
  text-align: center;
}
.cp_card {
  background: #fff;
  border-radius: 1.6rem;
  padding: 2.6rem 1.6rem 1.8rem;
  position: relative;
  box-shadow: 0 0.4rem 1.2rem rgba(180, 90, 60, .18);
}
.cp_deadline {
  position: absolute;
  top: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  background: var(--cp-red);
  color: #fff;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
  padding: 0.8rem 1.8rem;
  border-radius: 3rem;
}
.cp_deadline b {
  font-size: 2rem;
  color: var(--cp-yellow);
}
.cp_catch {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 0.6rem;
}
.cp_catch em {
  font-style: normal;
  color: var(--cp-red);
  font-size: 2.4rem;
  background: linear-gradient(transparent 60%, rgba(255, 240, 99, 1) 60%);
  padding: 0 0.2rem;
}
.cp_price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  line-height: 1;
  margin-top: 0.8rem;
  position: relative;
}
.cp_unit {
  writing-mode: vertical-rl;
  font-size: 1.6rem;
  font-weight: 700;
  margin-right: 0.4rem;
  margin-bottom: 0.6rem;
  letter-spacing: 0.1em;
}
.cp_num {
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 7rem;
  letter-spacing: -0.02em;
  color: var(--cp-red);
}
.cp_yen {
  font-size: 2.4rem;
  font-weight: 700;
  margin-left: 0.2rem;
  margin-bottom: 0.6rem;
}
.cp_off {
  position: absolute;
  right: 0.4rem;
  top: -1.4rem;
  width: 5.4rem;
  height: 5.4rem;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1.15;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(12deg);
}
.cp_normal {
  font-size: 1.3rem;
  font-weight: 500;
  margin-top: 0.8rem;
}
.cp_note {
  font-size: 1rem;
  color: #666;
  margin-top: 0.4rem;
}

/* ===============　カウントダウン =============== */
/* マークアップは tmpl/cta_area.php が出力する（自前で書かないこと）。
   2026/12/30より手前は「1月8日(金)まで期間限定」、以降がカウントダウン。
   数値の更新は ../cd_js/cd_270108.js が .countdown-* を一括で行う。 */
.timer_tx {
  color: var(--cp-red);
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.4;
  margin-top: 1rem;
}
.timer_tx .countdown-day,
.timer_tx .countdown-hour,
.timer_tx .countdown-min,
.timer_tx .countdown-sec {
  font-family: 'Montserrat', sans-serif;
  font-size: 2.4rem;
  margin: 0 0.15rem;
}
/* CTA帯の中では白抜き */
.btn_wrap .timer_tx {
  color: #fff;
  margin: 0 0 1rem;
}
/* 12/30より手前の「1月8日(金)まで期間限定」
   1rem = 10px（SPは calc(100vw/37.5)、500px以上は62.5%）なので 1.6rem = 16px。
   .timer_date は .timer_color の中にあるため em で指定し、
   親を変えれば比例して追従するようにしてある。1.43em は変更前の比率（2 / 1.4）。 */
.timer_tx .timer_color {
  color: var(--cp-yellow);
  font-size: 1.6rem;
}
.timer_tx .timer_date {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.43em;
  margin: 0 0.1rem;
}
/* 追従CTA（白い吹き出し。尻尾は .fukidashi::after と同じ作り方） */
/* 尻尾の先をCTAボタンへ少し潜り込ませる。
   はみ出す量は尻尾の高さ(0.9rem)ではなく bottom の 0.8rem で決まる
   （尻尾は上端が本体の 0.1rem 内側に入る）。下余白 0.4rem との差＝0.4rem 重なる。
   position:relative + z-index でボタンより前面に出す
   （ボタンはDOM順で後ろにあるため、指定しないと尻尾が隠れる）。 */
.cta_follow .timer_tx {
  position: relative;
  z-index: 1;
  display: table;
  margin: 0 auto 0.4rem;
  background: rgba(255, 255, 255, .95);
  color: var(--cp-red);
  font-size: 1.4rem;
  line-height: 1;
  padding: 0.8rem 1.6rem;
  border-radius: 2rem;
  box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, .15);
}
/* 下向きの尻尾（CTAボタンを指す） */
.cta_follow .timer_tx::after {
  content: '';
  position: absolute;
  display: block;
  bottom: -0.8rem;
  left: calc(50% - 0.6rem);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.9rem 0.6rem 0 0.6rem;
  border-color: rgba(255, 255, 255, .95) transparent transparent transparent;
}
.cta_follow .timer_tx .countdown-day,
.cta_follow .timer_tx .countdown-hour,
.cta_follow .timer_tx .countdown-min,
.cta_follow .timer_tx .countdown-sec {
  font-size: 1.6rem;
  margin: 0 0.1rem;
}
.cta_follow .timer_tx .timer_color {
  color: var(--cp-red);
}

/* ===============　CTAボタン（chandraの黄色ボタンをHTMLで再現・1,080円版） =============== */
a.btn_cp {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 85%;
  height: 6.4rem;
  margin: 0 auto 1rem;
  background: var(--cp-yellow);
  border-radius: 4rem;
  color: var(--ink);
  text-decoration: none;
  line-height: 1;
  position: relative;
  padding-right: 2.4rem;
}
.btn_cp_label {
  background: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.15;
  padding: 0.3rem 0.4rem;
  border-radius: 0.3rem;
  margin-right: 0.6rem;
  text-align: center;
}
.btn_cp_yen {
  font-size: 2rem;
  font-weight: 700;
  margin-right: 0.2rem;
  align-self: flex-end;
  margin-bottom: 1.8rem;
}
.btn_cp_num {
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.btn_cp_tx {
  font-size: 1.8rem;
  font-weight: 700;
  margin-left: 0.4rem;
}
.btn_cp_arrow {
  position: absolute;
  right: 1.8rem;
  top: 50%;
  width: 2.2rem;
  height: 2.2rem;
  margin-top: -1.1rem;
  border-radius: 50%;
  background: var(--ink);
}
.btn_cp_arrow::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.6rem;
  height: 0.6rem;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-65%, -50%) rotate(45deg);
}
.cta_follow a.btn_cp {
  box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, .2);
  margin-bottom: 0;
}
@media screen and (min-width: 500px) {
  .cta_follow a.btn_cp { max-width: 410px; }
}

/* ===============　POINT見出し（HTML版：番号の振り直し・新規POINT用） =============== */
.pt_label {
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 1.3rem;
  letter-spacing: 0.15em;
  line-height: 1;
  margin-bottom: 2.4rem;
}
.pt_label span {
  font-size: 4rem;
  font-weight: 300;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--ink);
  margin-left: 0.6rem;
  letter-spacing: 0.02em;
  vertical-align: -0.3rem;
}
.pt_head {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.04em;
  font-style: italic;
}
.pt_head .text_marker_pt {
  display: inline;
  padding: 0 0.6rem;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  background: linear-gradient(90deg, rgba(255, 255, 255, 1) 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 200% 0.45em;
  background-position: 100% 100%;
  transition: background-position .6s ease .4s;
}
.pt_head .text_marker_pt.marker_trigger { background-position: 0% 100%; }
.pt_head .accent { color: var(--cp-red); }
.pt_title_img { text-align: center; }
.pt_title_img img.text_marker_white { width: auto; height: 2.8rem; }

/* ===============　POINT：お家でマシンピラティス =============== */
#point_pilates {
  background: linear-gradient(0deg, rgba(234, 150, 156, .30) 0%, rgba(167,157,203, .32) 100%);
  padding: 6rem 0 5rem;
  text-align: center;
}

.pl_lead {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2;
  margin-top: 2.6rem;
}
.pl_effect {
  margin: 2.6rem 0 0;
}
.pl_fukidashi {
  font-size: 1.6rem;
  font-weight: 700;
  display: table;
  margin: 3.6rem auto 2rem;
  padding: 0.4rem 2.4rem 0.6rem;
  background: #fff;
  border-radius: 1.6rem;
  position: relative;
  line-height: 1.6;
}
.pl_fukidashi::after {
  content: '';
  position: absolute;
  bottom: -0.9rem;
  left: calc(50% - 0.9rem);
  border-style: solid;
  border-width: 1rem 1rem 0 1rem;
  border-color: #fff transparent transparent transparent;
}
.pl_fukidashi.is_purple { background: var(--lavender); color: #fff; }
.pl_fukidashi.is_purple::after { border-color: var(--lavender) transparent transparent transparent; }

.pl_effects {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
  margin: 0 2rem;
  padding: 0;
}
.pl_effects li {
  background: #fff;
  border-radius: 1.4rem;
  padding: 1.6rem 1.2rem 1.4rem;
  text-align: center;
}
.pl_effects .num {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--lavender);
  letter-spacing: 0.1em;
  line-height: 1;
}
.pl_effects h3 {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0.6rem 0 0.6rem;
}
.pl_effects h3 span {
  background: linear-gradient(transparent 62%, rgba(255, 240, 99, 1) 62%);
}
.pl_effects p {
  font-size: 1.15rem;
  line-height: 1.7;
  text-align: left;
}

.pl_twoway {
  margin: 0 2rem;
  background: #fff;
  border-radius: 1.6rem;
  padding: 2.4rem 1.6rem 2rem;
}
.pl_twoway_sub {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
}
.pl_twoway_main {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  font-size: 3rem;
  font-weight: 900;
  color: var(--cp-red);
  line-height: 1.3;
  margin: 0.6rem 0 0.2rem;
}
.pl_twoway_main .arrow {
  font-size: 2.2rem;
  color: var(--lavender);
}
.pl_twoway_main2 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
}
.pl_twoway_main2 em {
  font-style: normal;
  color: var(--cp-red);
  font-size: 2.4rem;
}
.pl_twoway p.pl_twoway_tx {
  font-size: 1.3rem;
  line-height: 1.9;
  margin-top: 1.4rem;
  font-weight: 500;
}
.pl_twoway_tx .hl {
  background: linear-gradient(transparent 62%, rgba(255, 240, 99, 1) 62%);
  font-weight: 700;
}
.pl_note {
  font-size: 1.1rem;
  font-weight: 500;
  margin-top: 1.2rem;
}

/* プログラム（自動で流れるスライド） */
.pl_program { margin-top: 1rem; }
.pl_program + .pl_program { margin-top: 2.4rem; }
.pl_marquee {
  overflow: hidden;
  width: 100%;
}
.pl_marquee_track {
  display: flex;
  width: max-content;
  animation: pl_marquee 40s linear infinite;
}
.pl_marquee.is_reverse .pl_marquee_track { animation-direction: reverse; }
.pl_marquee_track img {
  width: 18rem;
  margin-right: 0.8rem;
  border-radius: 0.6rem;
  flex-shrink: 0;
}
@keyframes pl_marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .pl_marquee { overflow-x: auto; }
  .pl_marquee_track { animation: none; }
}

/* ===============　パターンB：ピラティス詳細セクション =============== */
#pilates_more {
  background: #f7f6fa;
  padding: 5rem 0 0;
  text-align: center;
}
#pilates_more .pl_more_block + .pl_more_block { margin-top: 4rem; }
#pilates_more .pl_img_full { display: block; }

/* ===============　パターンC：ピラティスのお悩み =============== */
#worries_pilates img { display: block; }

/* ===============　料金POINT（1,080円版・HTML化） =============== */
.price_cp_box {
  background: #fff;
  border-radius: 1.6rem;
  margin: 2.6rem 2rem 0;
  padding: 2.6rem 1.6rem 1.8rem;
  position: relative;
}
.price_cp_box .cp_deadline { top: -1.5rem; }
.price_compare {
  width: 86%;
  margin: 1.6rem auto 0;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  /* 3列で内容も短いので、上の比較表(.cmp_tbl)より大きくしている。
     ただし行見出し列は幅22%しかなく、1.6rem にすると「1ヶ月目」が折り返す。 */
  font-size: 1.5rem;
  line-height: 1.4;
}
.price_compare th,
.price_compare td {
  padding: 0.8rem 0.4rem;
  text-align: center;
  border-bottom: 1px solid #eee;
}
.price_compare thead th {
  background: #f3f3f3;
  font-weight: 700;
}
.price_compare tbody th {
  font-weight: 700;
  width: 22%;
  background: #fafafa;
}
.price_compare .col_lava {
  background: #fff7d1;
  color: var(--cp-red);
  font-weight: 700;
}
.price_compare thead .col_lava {
  background: var(--cp-red);
  color: #fff;
}
.price_compare tr:last-child th,
.price_compare tr:last-child td { border-bottom: none; }
#point_03 .price_keep {
  font-size: 2rem;
  font-weight: 700;
  margin-top: 1.6rem;
}
#point_03 .price_keep em { font-style: normal; color: var(--cp-red); }
#point_03 .price_save {
  display: inline-block;
  line-height: 1.5;
  background: linear-gradient(transparent 62%, rgba(255, 240, 99, 1) 62%);
  padding: 0 0.4rem;
  font-size: 2.2rem;
  font-weight: 900;
  margin-top: 0.8rem;
}
/* 親2.2remに対してジャンプ率を上げる（2.8→3.4rem）。
   **line-height を外さないこと。** 既定(1.5)のままだと em の行箱が親を超えて広がり、
   .price_save の黄色マーカー（背景グラデの62%位置）が文字から下へずれる。
   小さい値にしておけば行箱は親の33pxのままで、マーカーの位置が動かない。 */
#point_03 .price_save em { font-style: normal; color: var(--cp-red); font-size: 3.4rem; line-height: 0.6; }
#point_03 .price_footnote {
  padding: 0 2rem;
  font-size: 1rem;
  color: #555;
  margin-top: 1rem;
  line-height: 1.6;
}

/* ===============　PC（500px〜） =============== */
@media screen and (min-width: 500px) {
  .pt_head { font-size: 3rem; }
  .pl_lead { font-size: 1.8rem; }
  .pl_effects p { font-size: 1.4rem; }
  .pl_twoway p.pl_twoway_tx { font-size: 1.6rem; }
  .cp_catch { font-size: 2.2rem; }
  .price_compare { font-size: 1.7rem; }
}

/* ===============　about：ジャンル×受け方（パターンA） =============== */
/* 2026-10-19: .mint_tx と揃えて --cp-red へ統一。末尾の配色ブロックのコメントも参照 */
.lav_tx { color: #eb554b; font-weight: bold; }
.genre_head { text-align: center; font-weight: 700; font-size: 1.5rem; margin-top: 3.2rem; line-height: 1.5; position: relative; }
/* 「2 GENRES」「2 STYLES」は飾り文字。見出しの背面へ斜めに薄く敷く。
   **.genre_head に z-index を付けないこと。** 重ね文脈ができると前後関係の調整が効かなくなる。
   手前へ出すのは .gh_tx に position を持たせ、DOM順（small が先）で解決している。
   small を後ろに置いただけでは、絶対配置の方が後勝ちして見出しの上に出る。 */
.genre_head small {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -54%) rotate(-7deg);
  /* Allura が届かなかったときに総称 cursive まで落ちると、Windowsでは
     Comic Sans 相当になって字面が大きく崩れる。OS標準の筆記体を間に挟んでおく。 */
  font-family: 'Allura', 'Snell Roundhand', 'Apple Chancery', 'Segoe Script', cursive;
  /* 頭文字のみ大文字（2 Genres / 2 Styles）。小文字はx-heightが低く字幅も詰まるため、
     オールキャップスだった頃と同じ存在感にするにはこのくらい必要。
     大文字に戻すなら、はみ出すのでサイズも下げること。 */
  font-size: 5.6rem;
  line-height: 1;
  /* 飾りなので視認性は担保不要（判断済み）。意味は見出し側が持っている */
  color: #e3e3e6;
  font-weight: 400;
  letter-spacing: 0;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}
.genre_head .gh_tx { position: relative; }
.genre_head_2 { margin-top: 2.4rem; }
.genre_pair { display: flex; gap: 1rem; margin-top: 1.2rem; padding: 0; }
.genre_pair li { flex: 1; border-radius: 1.2rem; padding: 1.4rem 1rem 1.2rem; text-align: center; color: #fff; }
.genre_pair li.g_yoga { background: linear-gradient(135deg, #7fc2b1, #5aa592); }
.genre_pair li.g_pila { background: linear-gradient(135deg, #ada4cc, #8880b0); }
.genre_pair .g_en { display: block; font-family: 'Montserrat', sans-serif; font-size: 1rem; letter-spacing: .2em; opacity: .85; line-height: 1; }
.genre_pair .g_ja { display: block; font-size: 2rem; font-weight: 700; line-height: 1.5; }
.genre_pair .g_tx { display: block; font-size: 1.1rem; line-height: 1.6; margin-top: .4rem; }
.genre_x { text-align: center; font-size: 2.6rem; font-weight: 300; line-height: 1; margin-top: 1.6rem; color: #69b3a2; font-family: 'Montserrat', sans-serif; }
@media screen and (min-width: 500px) {
  .genre_head { font-size: 2rem; }
  /* 見出しが大きくなるぶん飾り文字も上げる。固定のままだと見出しと同幅になり、
     背面に敷いている感じが出ない */
  .genre_head small { font-size: 7.2rem; }
  .genre_pair .g_tx { font-size: 1.4rem; }
}

/* ===============　POINT01：ピラティスの声がけ補足（パターンA） =============== */
#point_01 .mini_p { margin: 1.4rem 1.6rem 0; background: #fff; border-radius: 1rem; padding: 1.2rem 1.4rem; text-align: left; border: 2px solid #968fb9; }
#point_01 .mini_p .mh { display: inline-block; background: #968fb9; color: #fff; font-size: 1.1rem; font-weight: 700; border-radius: 2rem; padding: 0 1rem; margin-bottom: .6rem; line-height: 1.9; }
#point_01 .mini_p p { font-size: 1.15rem; text-align: left; line-height: 1.7; font-weight: 500; }
#point_01 .mini_p p.o { color: #888; }
#point_01 .mini_p b { background: linear-gradient(transparent 60%, #fff063 60%); }
@media screen and (min-width: 500px) {
  #point_01 .mini_p p { font-size: 1.5rem; }
  #point_01 .mini_p .mh { font-size: 1.4rem; }
}

/* ===============　ピラティスPOINT v2（パターンA）：写真切り出し＋お客様の声 =============== */
.pl_crop {
  /* section02_2_ad_b_2503.webp（1000×5939）の y=4570〜5510 を表示 */
  aspect-ratio: 1000 / 940;
  margin-top: 2.6rem;
  background: url(../../img/pilates_ad_a/section02_2_ad_b_2503.webp) no-repeat;
  background-size: 100% auto;
  background-position: 0 91.42%;
}
.pl_voice { margin: 0 2rem; padding: 0; display: grid; gap: 1rem; }
.pl_voice li { background: #fff; border-radius: 1.2rem; padding: 1.2rem 1.4rem 1rem 3.6rem; text-align: left; position: relative; }
.pl_voice li::before {
  content: '“';
  position: absolute; left: 1.1rem; top: 0.4rem;
  font-family: 'Montserrat', serif; font-size: 3.6rem; font-weight: 700; line-height: 1;
  color: var(--lavender);
}
.pl_voice p { font-size: 1.3rem; line-height: 1.75; font-weight: 500; }
.pl_voice b { background: linear-gradient(transparent 62%, rgba(255, 240, 99, 1) 62%); }
.pl_voice_age { display: block; text-align: right; font-size: 1.05rem; color: #777; margin-top: 0.2rem; }
.pl_voice_note { font-size: 1rem; color: #666; margin-top: 0.8rem; }
@media screen and (min-width: 500px) {
  .pl_voice p { font-size: 1.6rem; }
  .pl_voice_age { font-size: 1.3rem; }
}

/* ======================================================
   パターンA 改修（2026/10）
====================================================== */

/* ---------- MV：画像内文言のHTML上書き（MV幅＝min(100vw,500px)基準） ---------- */
#mv.mv_a { position: relative; overflow: hidden; }
.mv_fix { position: absolute; margin: 0; line-height: 1; white-space: nowrap; }
.mv_fix_label {
  left: calc(111 / 750 * 100%); top: calc(322 / 1218 * 100%);
  width: calc(521 / 750 * 100%); height: calc(68 / 1218 * 100%);
  background: #fff; display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: calc(29 / 750 * min(100vw, 500px)); letter-spacing: .04em; color: #959595;
}
.mv_fix_label em { font-style: normal; color: #c79a45; }
.mv_fix_lead {
  left: calc(158 / 750 * 100%); top: calc(1078 / 1218 * 100%);
  transform-origin: 0 100%; transform: rotate(-10.5deg);
  padding: calc(4 / 750 * min(100vw, 500px)) calc(8 / 750 * min(100vw, 500px)) calc(2 / 750 * min(100vw, 500px));
  background: #7db7a1; box-shadow: 0 0 calc(6 / 750 * min(100vw, 500px)) calc(3 / 750 * min(100vw, 500px)) #7db7a1;
  color: #fff; font-weight: 500; font-size: calc(30 / 750 * min(100vw, 500px)); letter-spacing: .08em;
}

/* ---------- about：比較表（chandraデザイン再現） ---------- */
.cmp_tbl { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; margin-top: 0.4rem; }
.cmp_tbl th, .cmp_tbl td { text-align: center; vertical-align: middle; line-height: 1.35; }
.cmp_tbl thead th { background: #6fb1a4; color: #fff; font-size: 1.3rem; font-weight: 700; padding: 0.9rem 0; border-left: 0.4rem solid #fff; }
.cmp_tbl thead th.cmp_blank { background: none; width: 22%; border-left: none; }
.cmp_tbl thead th.cmp_u { background: #d76152; border-left: 0.4rem solid #fff; border-radius: 0.8rem 0.8rem 0 0; font-size: 1.15rem; letter-spacing: .02em; }
.cmp_tbl thead th.cmp_u sup { font-size: .65em; }
.cmp_tbl tbody th { background: #69a69b; color: #fff; font-size: 1.15rem; font-weight: 700; padding: 1rem 0.2rem; border-bottom: 0.5rem solid #fff; }
.cmp_tbl tbody td { font-size: 1.1rem; font-weight: 700; color: #444; padding: 1rem 0.2rem 1.1rem; background: #fff; }
.cmp_tbl tbody tr:nth-child(odd) td { background: #f7f7f7; }
.cmp_tbl td.cmp_u { border-left: 3px solid #d76152; border-right: 3px solid #d76152; }
.cmp_tbl td.cmp_u.cmp_last { border-bottom: 3px solid #d76152; }
.cmp_old { display: block; font-size: 0.95rem; color: #888; text-decoration: line-through; font-weight: 500; }
.cmp_new { display: block; color: #d76152; font-size: 1.3rem; }
.mk { display: block; width: 2.6rem; height: 2.6rem; margin: 0 auto 0.5rem; background: no-repeat center / contain; }
/* ◎ はベリー #b0446e。data URI 内なので # は %23 と書くこと（生の # だと値が切れる） */
.mk_dbl { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='17.5' fill='none' stroke='%23b0446e' stroke-width='3'/%3E%3Ccircle cx='20' cy='20' r='10' fill='none' stroke='%23b0446e' stroke-width='3'/%3E%3C/svg%3E"); }
.mk_cir { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='17.5' fill='none' stroke='%23333' stroke-width='2.5'/%3E%3C/svg%3E"); }
.mk_tri { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 3 L37.5 36 H2.5 Z' fill='none' stroke='%23333' stroke-width='2.5' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.mk_x { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M6 6 L34 34 M34 6 L6 34' fill='none' stroke='%23333' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E"); }
@media screen and (min-width: 500px) {
  .cmp_tbl thead th { font-size: 1.6rem; }
  .cmp_tbl thead th.cmp_u { font-size: 1.5rem; }
  .cmp_tbl tbody th { font-size: 1.5rem; }
  .cmp_tbl tbody td { font-size: 1.45rem; }
  .cmp_new { font-size: 1.7rem; }
  .cmp_old { font-size: 1.2rem; }
  .mk { width: 3.2rem; height: 3.2rem; }
}

/* ---------- ピラティス写真（紫背景になじませる） ---------- */
.pl_photo { position: relative; margin: 2.6rem 2rem 0; padding-bottom: 4.4rem; }
.pl_photo_img {
  /* section02_2_ad_b_2503.webp（1000×5939）の x=92〜900 / y=4608〜5290 */
  aspect-ratio: 808 / 682;
  border-radius: 1rem;
  background: url(../../img/pilates_ad_a/section02_2_ad_b_2503.webp) no-repeat;
  background-size: calc(1000 / 808 * 100%) auto;
  background-position: 47.92% 87.66%;
}
.pl_photo_cap {
  position: absolute; left: 0; right: 0; bottom: 0;
  text-align: center; font-weight: 700; line-height: 1.25; color: #4a4a4a; letter-spacing: .06em;
}
.pl_photo_cap span { display: inline-block; padding: 0.3rem 1.4rem; }
.pl_photo_cap .l1 { background: rgba(255, 255, 255, .88); font-size: 2.3rem; }
.pl_photo_cap .l2 { background: #fdeee9; font-size: 2.3rem; margin-top: 0.2rem; }
.pl_photo_cap em { font-style: normal; color: #f07a62; }

/* ---------- お客様の声（長文・コンパクト） ---------- */
.pl_voice li { padding: 1.1rem 1.3rem 0.9rem 3.4rem; }
.pl_voice p { font-size: 1.2rem; line-height: 1.7; }
.pl_voice_age { font-size: 1.05rem; }
#voice.voice_a { padding: 10% 0 4rem; }
#voice.voice_a .voice_cards { margin-top: 2rem; }
@media screen and (min-width: 500px) {
  .pl_voice p { font-size: 1.5rem; }
  .pl_photo_cap .l1, .pl_photo_cap .l2 { font-size: 2.8rem; }
}
/* 比較表 微調整（文字の折り返し対策） */
.cmp_tbl th, .cmp_tbl td { letter-spacing: 0; }
.cmp_tbl tbody th { font-size: 1.1rem; padding: 1rem 0.1rem; }
.cmp_tbl tbody td { font-size: 1.05rem; padding: 1rem 0.1rem 1.1rem; }
@media screen and (min-width: 500px) {
  .cmp_tbl tbody th { font-size: 1.5rem; }
  .cmp_tbl tbody td { font-size: 1.45rem; }
}

/* ======================================================
   パターンA 改修②（MV差し替え・見出し中央・バンド紹介）
====================================================== */

/* ---------- MV吹き出し（chandra/css/2603_style.css より移植） ---------- */
#mv.mv_a .speechBubble {
  position: absolute; top: 25%; left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block; margin: 0;
  background-color: #fff; text-align: center;
  font-size: 1.55rem; font-weight: 600; line-height: 1.5; color: #000;
  width: 68%; letter-spacing: 0.1rem;
}
#mv.mv_a .speechBubble .yellow { color: #d7a130; }
#mv.mv_a .speechBubble .txtL { font-size: 2.2rem; }
#mv.mv_a .speechBubble::after {
  content: ""; position: absolute; bottom: 0; left: 80%;
  border-style: solid; border-width: 20px 20px 0 0;
  border-color: #fff transparent transparent;
  translate: calc(-50% - 0.4px) 100%;
}
@media screen and (min-width: 500px) {
  #mv.mv_a .speechBubble { font-size: 2.2rem; }
  #mv.mv_a .speechBubble .txtL { font-size: 2.8rem; }
}

/* ---------- POINT02 / POINT04 見出し画像を中央配置 ---------- */
#point_02 .point_title_02 img.text_marker_blue,
#point_03 .point_title_03 img.text_marker_white {
  display: block; width: auto; max-width: 92%;
  margin-left: auto; margin-right: auto;
}
#point_02 .point_title_02 img.text_marker_blue { height: 3.5rem; }
#point_03 .point_title_03 img.text_marker_white { height: 2.8rem; }
#point_02 .point_title_02 br { display: none; }
#point_02 .point_title_02 img.text_marker_blue + img.text_marker_blue { margin-top: 0.5rem; }
@media screen and (min-width: 500px) {
  #point_02 .point_title_02 img.text_marker_blue { height: 4.5rem; }
  #point_03 .point_title_03 img.text_marker_white { height: 3.5rem; }
}

/* ---------- ストレッチバンド紹介カード ---------- */
.band_card {
  margin: 0 2rem 2.4rem;
  background: linear-gradient(90deg, #e4e3f1 44%, #fff 44%);
  border-radius: 1.2rem; overflow: hidden;
  display: grid; grid-template-columns: 44% 1fr;
}
.band_card_img {
  /* img_middle_2502.webp（750×3132）の x=200〜700 / y=240〜655 */
  aspect-ratio: 500 / 415;
  background: #e4e3f1 url(../../img/pilates_ad_a/img_middle_2502.webp) no-repeat;
  background-size: 150% auto;
  background-position: 80% 8.833%;
  width: 100%; min-width: 0; align-self: center;
}
.band_card_tx { padding: 1rem 1rem 1rem 1.2rem; text-align: left; align-self: center; }
.band_card_tx p { margin: 0; line-height: 1.4; }
.band_brand { font-family: 'Montserrat', sans-serif; font-size: 1rem; font-weight: 600; letter-spacing: .2em; color: #666; }
.band_name { font-size: 1.5rem; font-weight: 700; color: #444; margin-top: 0.2rem !important; }
.band_catch { font-size: 1.25rem; font-weight: 700; margin-top: 0.6rem !important; }
.band_catch em { font-style: normal; color: #f07a62; }
.band_sub { font-size: 1rem; color: #666; }
.band_shop { display: inline-block; margin-top: 0.6rem !important; font-size: 1rem; font-weight: 700; color: #fff; background: var(--lavender); border-radius: 2rem; padding: 0.15rem 1rem; }
.band_card_poses {
  /* 同画像のポーズ写真1段目（x=37〜714 / y=1258〜1385） */
  grid-column: 1 / -1;
  aspect-ratio: 677 / 127;
  background: url(../../img/pilates_ad_a/img_middle_2502.webp) no-repeat;
  background-size: calc(750 / 677 * 100%) auto;
  background-position: 50.68% 41.86%;
}
@media screen and (min-width: 500px) {
  .band_name { font-size: 2rem; }
  .band_catch { font-size: 1.6rem; }
  .band_sub, .band_shop { font-size: 1.3rem; }
}


/* ======================================================
   POINT03 調整版（パターンA・A2共通：#point_pilates.v3）
====================================================== */
/* ---------- POINT03：リード文「スプリングの役割を…再現。」を1行に ---------- */
#point_pilates.v3 .pl_lead_1line { white-space: nowrap; font-size: min(1.4rem, 3.6vw); }
@media screen and (min-width: 500px) {
  #point_pilates.v3 .pl_lead_1line { font-size: 1.8rem; }
}

/* ---------- POINT03：写真の灰色背景を「と感覚UP」まで延長 ---------- */
#point_pilates.v3 .pl_photo_ext {
  padding-bottom: 1.8rem;
  border-radius: 1rem;
  /* 写真下端の背景色（左：#ebeefb → 右：やや影）に合わせたグラデーション */
  background: linear-gradient(90deg, #ebeefb 0%, #e6e8f5 55%, #d9d8e5 100%);
}
#point_pilates.v3 .pl_photo_ext .pl_photo_img { border-radius: 1rem 1rem 0 0; }
#point_pilates.v3 .pl_photo_ext .pl_photo_cap {
  position: relative; bottom: auto; margin-top: -4.6rem;
}
#point_pilates.v3 .pl_photo_ext .pl_photo_cap .l2 { background: rgba(255, 255, 255, .7); }

/* ---------- POINT03：バンド紹介カードの文字バランス ---------- */
#point_pilates.v3 .band_card { grid-template-columns: 44% 1fr; align-items: center; }
#point_pilates.v3 .band_card_tx { padding: 1.2rem 1.2rem 1.2rem 1.6rem; }
#point_pilates.v3 .band_card_tx p { line-height: 1.45; }
#point_pilates.v3 .band_brand { font-size: 0.95rem; letter-spacing: .25em; color: #888; }
#point_pilates.v3 .band_name { font-size: 1.3rem; margin-top: 0.1rem !important; color: #555; }
#point_pilates.v3 .band_catch { font-size: 1.4rem; line-height: 1.5; margin-top: 1rem !important; }
#point_pilates.v3 .band_catch em { display: block; font-size: 1.6rem; }
#point_pilates.v3 .band_sub { font-size: 1rem; margin-top: 0.3rem !important; }
#point_pilates.v3 .band_shop { font-size: 1.05rem; padding: 0.3rem 1.2rem; margin-top: 1rem !important; }
@media screen and (min-width: 500px) {
  #point_pilates.v3 .band_name { font-size: 1.7rem; }
  #point_pilates.v3 .band_catch { font-size: 1.7rem; }
  #point_pilates.v3 .band_catch em { font-size: 2rem; }
  #point_pilates.v3 .band_sub, #point_pilates.v3 .band_shop { font-size: 1.3rem; }
}

/* 写真と延長部分の境目をなじませる */
#point_pilates.v3 .pl_photo_ext .pl_photo_img {
  -webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 80%, transparent 100%);
}
/* バンド写真の上下余白の色を写真の背景色に合わせる */
#point_pilates.v3 .band_card { background: linear-gradient(90deg, #e6e9f5 44%, #fff 44%); }
#point_pilates.v3 .band_card_img { background-color: #e6e9f5; }

/* ---------- バンド紹介カード：ポーズ写真9枚を右→左へ流す（パターンA・A2共通） ---------- */
.band_poses { grid-column: 1 / -1; overflow: hidden; background: #fff; padding: 0.6rem 0; }
.band_poses_track { display: flex; width: max-content; animation: band_poses_flow 30s linear infinite; }
.band_thumb {
  /* img_middle_2502.webp（750×3132）の1マス＝約226×127px（x=37〜714 / y=1258〜1639 の3×3） */
  display: block; flex-shrink: 0;
  width: 10rem; aspect-ratio: 226 / 127; margin-right: 0.5rem; border-radius: 0.4rem;
  background-image: url(../../img/pilates_ad_a/img_middle_2502.webp);
  background-repeat: no-repeat;
  background-size: calc(750 / 225.7 * 100%) auto;
}
@keyframes band_poses_flow { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .band_poses { overflow-x: auto; } .band_poses_track { animation: none; } }
@media screen and (min-width: 500px) { .band_thumb { width: 13rem; } }

/* ---------- POINT02：スケジュール凡例に「ピラティス」を追加（パターンA・A2） ---------- */
#point_02 .lesson_icon { flex-wrap: wrap; row-gap: 0.4rem; }
#point_02 .lesson_icon li.li_pila { color: #585183; font-weight: 700; }
#point_02 .lesson_icon li.li_pila::before { background-color: #e8e4f2; box-shadow: inset 0.25rem 0 0 #a49cc8; }

/* ---------- POINT03：プログラムスライド2段（カスタム受講＋目的別プログラム） ---------- */
#point_pilates .pl_program .pl_marquee + .pl_marquee { margin-top: 0.8rem; }

/* ======================================================
   POINT03・POINT04 の見出しをPOINT01の書式に揃える（パターンA・A2）
====================================================== */
/* POINT03 見出し：POINT01の見出し画像（point_line_tx_01.png）と同じ文字サイズ・白マーカー動作
   ・文字サイズ：POINT01の1行目（幅90%表示・13文字）と同じ ≒ ラッパー幅×6.92%
   ・マーカー：POINT01と同じく左→右に伸びる白帯（0.5秒・1行目0.5秒後／2行目1秒後に開始） */
#point_pilates .pt_head_m {
  text-align: center; margin: 0 auto;
  font-family: 'Noto Serif JP', serif; font-weight: 600;
  font-size: min(6.92vw, 34.6px); line-height: 1.2; letter-spacing: 0; color: #111;
}
#point_pilates .pt_head_m br { display: none; }
#point_pilates .pt_head_m .text_marker_pt {
  display: block; width: fit-content; margin: 0 auto; padding: 0 0.3em;
  background: linear-gradient(90deg, #fff 50%, transparent 50%) no-repeat;
  background-size: 200% 0.477em; background-position: 100% 0.477em;
  transition: background-position .5s ease .5s;
}
#point_pilates .pt_head_m .text_marker_pt.marker_trigger { background-position: 0% 0.833em; }
#point_pilates .pt_head_m .text_marker_pt + br + .text_marker_pt { margin-top: 0.5rem; transition-delay: 1s; }
#point_pilates .pt_head_m .t { display: inline-block; transform: skewX(-14deg); }
#point_pilates > .point_tx { margin-bottom: 7%; }

/* POINT04 ラベル（point_03_tx.png の「3」を隠して「4」を重ねる） */
.pt_img04 { position: relative; margin-bottom: 10%; }
.pt_img04_base {
  display: block; width: 100%;
  -webkit-mask-image: linear-gradient(90deg, #000 calc(421 / 750 * 100%), transparent calc(421 / 750 * 100%));
  mask-image: linear-gradient(90deg, #000 calc(421 / 750 * 100%), transparent calc(421 / 750 * 100%));
}
.pt_img04_num { position: absolute; inset: 0; width: 100%; height: 100%; }

/* POINT04 見出し「圧倒的なコストパフォーマンス」を大きく */
#point_03 .point_title_03 img.text_marker_white { height: 3.4rem; max-width: 96%; }
@media screen and (min-width: 500px) { #point_03 .point_title_03 img.text_marker_white { height: 4.2rem; } }

/* ======================================================
   POINT02 レッスンスケジュール（平日/土日タブ × 朝・日中・夜 × 絞り込み）
====================================================== */
.lsx { margin: 0.4rem 1.6rem 0.8rem; text-align: left; }
.lsx button { font-family: inherit; cursor: pointer; border: none; }
.lsx_tabs { display: flex; gap: 0.6rem; margin-bottom: 0.9rem; }
.lsx_tabs button { flex: 1; display: flex; justify-content: center; align-items: center; text-align: center; padding: 0.8rem 0 0.8rem .1em; border-radius: 3rem; background: #fff; color: #999; font-size: 1.5rem; font-weight: 700; letter-spacing: .1em; }
.lsx_tabs button.on[data-day="wd"] { background: #6ba7d1; color: #fff; }
.lsx_tabs button.on[data-day="we"] { background: #e48aa0; color: #fff; }
.lsx_chips { display: flex; gap: 0.6rem; justify-content: center; margin-bottom: 0.9rem; }
.lsx_chips button { text-align: center; padding: 0.4rem 1.4rem; border-radius: 2rem; background: #fff; color: #888; font-size: 1.25rem; font-weight: 700; border: 1.5px solid #ddd; }
.lsx_chips button.on { background: #333; color: #fff; border-color: #333; }
.lsx_chips button.c_pila.on { background: #9289bb; border-color: #9289bb; }
.lsx_legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.3rem 1.2rem; margin: 0 0 0.9rem; padding: 0; }
.lsx_legend li { list-style: none; position: relative; padding-left: 1.4rem; font-size: 1.1rem; font-weight: 500; line-height: 1.6; }
.lsx_legend li::before { content: ''; position: absolute; left: 0; top: calc(50% - 0.5rem); width: 1rem; height: 1rem; border-radius: 0.2rem; }
.lsx_legend .lg_short::before, .k_short .lsx_bar { background: #eb9d5c; }
.lsx_legend .lg_lava::before, .k_lava .lsx_bar { background: #81d086; }
.lsx_legend .lg_ws::before, .k_ws .lsx_bar { background: #6ba7d1; }
.lsx_legend .lg_pila::before, .k_pila .lsx_bar { background: #9289bb; }
.lsx_legend .lg_pila { color: #7970a5; font-weight: 700; }
.lsx_dp { background: #fff; border-radius: 1rem; margin-bottom: 1rem; overflow: hidden; }
.lsx_dp_h { margin: 0; padding: 0.8rem 1.2rem; font-size: 1.5rem; font-weight: 700; display: flex; align-items: center; gap: 0.8rem; line-height: 1.4; }
.lsx_dp_h small { font-size: 1.05rem; font-weight: 500; color: #777; }
.lsx_ic { font-size: 1.7rem; line-height: 1; }
.dp_m .lsx_dp_h { background: #fff4dc; }
.dp_d .lsx_dp_h { background: #e8f4e6; }
.dp_n .lsx_dp_h { background: #e6e9f6; }
.lsx_dp ul { margin: 0; padding: 0; }
.lsx_row { list-style: none; display: flex; align-items: center; gap: 0.8rem; padding: 0.7rem 1rem; border-top: 1px solid #eee; font-size: 1.3rem; line-height: 1.35; }
.lsx_t { width: 4.2rem; flex-shrink: 0; font-weight: 700; color: #555; font-feature-settings: "tnum"; }
.lsx_bar { width: 0.4rem; align-self: stretch; border-radius: 0.2rem; flex-shrink: 0; }
.lsx_n { flex: 1; font-weight: 500; }
.lsx_m { flex-shrink: 0; font-size: 1.1rem; color: #999; }
.lsx_row.k_pila { background: #f4f2f9; }
.lsx_row.k_pila .lsx_n { color: #585183; font-weight: 700; }
.lsx_ptag { display: inline-block; margin-right: 0.5rem; padding: 0.1rem 0.5rem; border-radius: 0.3rem; background: #9289bb; color: #fff; font: 700 0.9rem 'Montserrat', sans-serif; letter-spacing: .12em; vertical-align: 0.1rem; }
.lsx.is_js .lsx_row.is_off, .lsx.is_js .lsx_row.is_fold { display: none; }
.lsx_more { display: block; width: 100%; padding: 0.8rem; background: #fff; color: #6998bc; font-size: 1.3rem; font-weight: 700; border-top: 1px dashed #ddd !important; }
.lsx_empty { margin: 0; padding: 1rem; font-size: 1.2rem; color: #999; text-align: center; border-top: 1px solid #eee; }
@media screen and (min-width: 500px) {
  .lsx_tabs button { font-size: 1.8rem; }
  .lsx_chips button { font-size: 1.5rem; }
  .lsx_legend li { font-size: 1.35rem; }
  .lsx_dp_h { font-size: 1.8rem; }
  .lsx_dp_h small { font-size: 1.3rem; }
  .lsx_row { font-size: 1.6rem; }
  .lsx_t { width: 5rem; }
  .lsx_m { font-size: 1.35rem; }
  .lsx_more { font-size: 1.55rem; }
}
.lsx [hidden] { display: none !important; }

/* ---------- 受講者の声：プロフィール見出し（案1：あだな・年代・会員歴） ---------- */
.pl_voice li.has_prof { padding: 1.2rem 1.4rem 1.1rem; }
.pl_voice li.has_prof::before { content: none; }
.vp { display: flex; align-items: center; gap: 1rem; margin-bottom: 0.8rem; padding-bottom: 0.8rem; border-bottom: 1px dashed #ddd; }
.vp_av { width: 4.2rem; height: 4.2rem; border-radius: 50%; flex-shrink: 0; position: relative; overflow: hidden; background: #dcd7eb; }
.vp_av::before { content: ''; position: absolute; left: 50%; top: 0.8rem; width: 1.6rem; height: 1.6rem; margin-left: -0.8rem; border-radius: 50%; background: #fff; }
.vp_av::after { content: ''; position: absolute; left: 50%; top: 2.7rem; width: 3rem; height: 2.4rem; margin-left: -1.5rem; border-radius: 50%; background: #fff; }
.pl_voice .vp p { margin: 0; line-height: 1.4; }
.pl_voice .vp_nm { font-size: 1.45rem; font-weight: 700; color: #333; }
.vp_nm small { font-size: 1.1rem; font-weight: 500; color: #666; margin-left: 0.5rem; }
.pl_voice .vp_meta { font-size: 1.05rem; color: #888; font-weight: 500; }
.vp_tag { display: inline-block; margin-top: 0.3rem; padding: 0.1rem 0.6rem; border-radius: 0.3rem; background: #9289bb; color: #fff; font-size: 1rem; font-weight: 700; line-height: 1.5; }
@media screen and (min-width: 500px) {
  .vp_av { width: 5rem; height: 5rem; }
  .vp_av::before { top: 1rem; width: 1.9rem; height: 1.9rem; margin-left: -0.95rem; }
  .vp_av::after { top: 3.2rem; width: 3.6rem; height: 2.9rem; margin-left: -1.8rem; }
  .pl_voice .vp_nm { font-size: 1.75rem; }
  .vp_nm small { font-size: 1.35rem; }
  .pl_voice .vp_meta { font-size: 1.3rem; }
  .vp_tag { font-size: 1.2rem; }
}
#voice.voice_a .pl_voice li { list-style: none; }
#voice.voice_a .pl_voice_note { margin: 0.8rem 2rem 0; }

/* 受講者の声アイコン：内容に合わせたイラスト（inline SVG） */
.vp_av.vp_il { background: none; }
.vp_av.vp_il::before, .vp_av.vp_il::after { content: none; }
.vp_av.vp_il svg { display: block; width: 100%; height: 100%; }
.vp_san { font-size: 1.05rem; font-weight: 500; color: #888; margin-left: 0.1rem; }
@media screen and (min-width: 500px) { .vp_san { font-size: 1.3rem; } }

/* ---------- POINT03：EFFECT＋受講者の声の折りたたみ（＋で開く） ---------- */
.pl_fold { margin: 1.4rem 2rem 0; }
.pl_fold > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 0.8rem;
  padding: 1rem 1.2rem; border-radius: 3rem; background: #fff; border: 2px solid #9289bb;
  color: #7970a5; font-size: 1.35rem; font-weight: 700; line-height: 1.4; text-align: center;
  box-shadow: 0 0.2rem 0.6rem rgba(111, 98, 179, .15);
}
.pl_fold > summary::-webkit-details-marker { display: none; }
.pl_fold_ic { position: relative; flex-shrink: 0; width: 2rem; height: 2rem; border-radius: 50%; background: #9289bb; }
.pl_fold_ic::before, .pl_fold_ic::after { content: ''; position: absolute; left: 50%; top: 50%; width: 1rem; height: 0.2rem; margin: -0.1rem 0 0 -0.5rem; background: #fff; border-radius: 0.1rem; transition: transform .25s; }
.pl_fold_ic::after { transform: rotate(90deg); }
.pl_fold[open] .pl_fold_ic::after { transform: rotate(0deg); }
.pl_fold[open] .pl_fold_t { font-size: 0; }
.pl_fold[open] .pl_fold_t::after { content: '閉じる'; font-size: 1.35rem; }
.pl_fold_body { margin: 1.4rem -2rem 0; animation: plFoldIn .35s ease; }
@keyframes plFoldIn { from { opacity: 0; transform: translateY(-0.6rem); } to { opacity: 1; transform: none; } }
@media screen and (min-width: 500px) {
  .pl_fold > summary, .pl_fold[open] .pl_fold_t::after { font-size: 1.65rem; }
  .pl_fold_ic { width: 2.4rem; height: 2.4rem; }
  .pl_fold_ic::before, .pl_fold_ic::after { width: 1.2rem; margin-left: -0.6rem; }
}
.pl_fold_close { display: block; margin: 1.4rem auto 0; padding: 0.6rem 2.4rem; border: 1.5px solid #9289bb; border-radius: 2rem; background: #fff; color: #7970a5; font-family: inherit; font-size: 1.25rem; font-weight: 700; cursor: pointer; }
@media screen and (min-width: 500px) { .pl_fold_close { font-size: 1.5rem; } }

/* POINT03 見出し：「マ」の左上に斜めで「＼今話題の／」 */
#point_pilates .pt_head_m .pt_has_eb { position: relative; }
#point_pilates .pt_head_m { margin-top: 1.2em; }
#point_pilates .pt_eyebrow {
  position: absolute; left: -1.45em; top: -0.35em;
  transform: rotate(-12deg); transform-origin: left bottom; white-space: nowrap;
  font-family: 'Noto Serif JP', serif; font-weight: 700; font-style: normal;
  font-size: 0.56em; line-height: 1; letter-spacing: .06em; color: #7970a5;
}

/* ---------- POINT03 受講者の声：横スライド（縦幅を圧縮） ---------- */
.pl_vslide .pl_vslide_track {
  display: flex; gap: 1rem; margin: 0; padding: 0.2rem 2rem 0.6rem;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 2rem;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.pl_vslide .pl_vslide_track::-webkit-scrollbar { display: none; }
.pl_vslide .pl_vslide_track > li { flex: 0 0 84%; scroll-snap-align: center; list-style: none; box-shadow: 0 0.2rem 0.6rem rgba(111, 98, 179, .12); }
.pl_vslide .pl_vslide_track > li > p { font-size: 1.15rem; line-height: 1.65; }
.pl_vslide_nav { display: flex; align-items: center; justify-content: center; gap: 1.2rem; margin-top: 0.6rem; }
.pl_vslide_dots { display: flex; gap: 0.7rem; }
.pl_vslide_dots button { width: 0.8rem; height: 0.8rem; padding: 0; border: none; border-radius: 50%; background: #d3cee6; cursor: pointer; transition: background .2s, transform .2s; }
.pl_vslide_dots button.on { background: #9289bb; transform: scale(1.25); }
.pl_vslide_prev, .pl_vslide_next { position: relative; width: 2.8rem; height: 2.8rem; padding: 0; border: 1.5px solid #9289bb; border-radius: 50%; background: #fff; cursor: pointer; transition: opacity .2s; }
.pl_vslide_prev::before, .pl_vslide_next::before { content: ''; position: absolute; left: 50%; top: 50%; width: 0.7rem; height: 0.7rem; border-top: 2px solid #9289bb; border-right: 2px solid #9289bb; }
.pl_vslide_prev::before { transform: translate(-30%, -50%) rotate(-135deg); }
.pl_vslide_next::before { transform: translate(-70%, -50%) rotate(45deg); }
.pl_vslide.is_first .pl_vslide_prev, .pl_vslide.is_last .pl_vslide_next { opacity: .3; pointer-events: none; }
@media screen and (min-width: 500px) {
  .pl_vslide .pl_vslide_track > li > p { font-size: 1.4rem; }
  .pl_vslide .pl_vslide_track > li { flex-basis: 80%; }
}

/* VOICE（一番下）も横スライド */
#voice.voice_a .pl_vslide { margin-top: 2rem; }
#voice.voice_a .pl_vslide .voice_cards { margin-top: 0; }
#voice.voice_a .pl_vslide_track > li > p { font-size: 1.2rem; line-height: 1.7; }
@media screen and (min-width: 500px) { #voice.voice_a .pl_vslide_track > li > p { font-size: 1.45rem; } }
.pl_voice .vp_nm { white-space: nowrap; }
.vp_tx { min-width: 0; flex: 1; }
.pl_voice .vp_nm small { display: inline; text-align-last: auto; }


/* ======================================================
   冬CP版MV（img/cp/mv_2611.webp）＋MVに合わせた配色
   配色：ベリー #b0446e／モーブピンク #c97a96／ラベンダー #a093c3／ラベンダー濃 #9184b7／イエロー #fff06a
   ※元chandraのミント・オレンジ系の指定を上書きしています
====================================================== */
#mv.mv_2611 img { display: block; width: 100%; height: auto; }
/* 期限帯。元はベリー→モーブ→ラベンダーの横グラデに白抜き文字だったが、
   左端の #b0446e（彩度0.44・明度0.48でパレット最濃）だけが沈んで悪目立ちしていた。
   地と文字を反転し、黄色地＋プラム文字に変更。大面積の背景だった濃い色を
   小面積の文字へ移すことで、強さが「うるささ」ではなく可読性として働く。

   地の #fff7b0 はイエロー #fff06a を薄めたもの。原色だとMV内の「¥1,080」の
   黄色と近接して competing するため一段落としている。

   #fff7b0 上のコントラスト比:
     本文 #7d4259 … 6.86（AA合格）
     強調 #eb554b … 3.23（AAは不足。22px/19pxの太字なので大文字基準3.0は満たす）
   強調のほうが本文より読みにくい状態なので、数字を濃くしたくなったら
   #d13f36 あたり（比4.2）まで落とせる。 */
.mv_deadline {
  margin: 0; padding: 0 1rem; text-align: center; color: #7d4259; font-weight: 700; font-size: 1.6rem; letter-spacing: .04em;
  background: #fff7b0;
}
.mv_deadline b { font-size: 2.2rem; color: #eb554b; margin: 0 .1rem; }
.mv_deadline em { font-style: normal; color: #eb554b; font-size: 1.9rem; margin: 0 .2rem; }
@media screen and (min-width: 500px) {
  .mv_deadline { font-size: 2rem; }
  .mv_deadline b { font-size: 2.7rem; }
  .mv_deadline em { font-size: 2.3rem; }
}
/* CTA帯（全6か所） */
.btn_wrap { background: linear-gradient(90deg, #c46a8e 0%, #a093c3 100%) !important; }

/* MV直下〜最初のCTAを1本の縦グラデーションで貫く。
   mv_lead はテキストだけの透過WebP（img/cp/mv_lead_2611_ai.webp）なので、
   背景色はこのブロックが持つ。画像に焼き込んでいた頃は、パレットを変えると
   画像の下端(#9a86cf)とCTA帯の終点が食い違っていた。
   上端 #c889a5 は元画像の背景の上端から採った値。
   デザインを差し替えるときは、この2色を下地にして作ってもらうこと。 */
.mv_cta { background: linear-gradient(180deg, #c889a5 0%, #a093c3 100%); padding-top: 2.4rem; }
.mv_cta .mv_lead {
  display: block; width: 100%; height: auto;
  /* 白文字が中間調の背景に沈むので軽く落ち影を付ける。画像なので text-shadow は効かず、
     アルファを見てくれる drop-shadow を使う。濃くすると安っぽくなるので控えめに。 */
  filter: drop-shadow(0 0.15rem 0.35rem rgba(74, 40, 64, .38));
}
/* 帯の横グラデーションを消して、親の縦グラデーションを通す */
.mv_cta .btn_wrap { background: none !important; }
/* POINT01 冒頭の「うちヨガ＋なら…」
   元は point_lead.png が 白いくさび＋黄色の地＋青丸 を1枚で焼き込んでいた。
   その黄色 #f1edbd が #point_01 の上端（rgba(255,240,106,.30)）とズレて見えたため、
   くさびだけCSSにして、黄色は #point_01 自身の背景を透かせている。
   こうすると地色をハードコードせずに済み、パレットを変えても自動で揃う。
   くさびの形は元PNGの実測値（左右の肩 23.7% / 頂点 x50% y77.5%）。 */
.point_lead { position: relative; aspect-ratio: 750 / 200; }
.point_lead::before {
  content: ''; position: absolute; inset: 0;
  background: #fff;                     /* 上の #worries と同じ白 */
  clip-path: polygon(0 0, 100% 0, 100% 23.7%, 50% 77.5%, 0 23.7%);
}
/* 青丸アイコン。元PNGでの位置をそのまま%に換算した */
.point_lead_ic { position: absolute; left: 69.33%; top: 1.5%; width: 25.73%; height: auto; }

/* お悩みの吹き出しは bottom が負（-2rem〜-8rem）で #worries から下へはみ出し、
   point_lead の領域に重なる設計。
   .point_lead を position:relative にした結果、DOM順で後ろのこちらが上に乗って
   吹き出しの下端が隠れた。吹き出し側を前面へ出して解決する。
   （.worries_list は既に position:relative なので z-index だけで効く） */
.worries_list { z-index: 1; }

/* 「比べてみよう!」の上の余白。SPでは土台が margin-top:1.5rem しか持たず、
   直前の lesson_clm の説明文と詰まって見えたので広げる。
   500px以上は土台が 4rem を持っているが、ここより前の指定なので
   そのままだと上の1行に負ける。同じ値で再指定して維持している。 */
.comparison_lead { margin-top: 3rem; }
@media screen and (min-width: 500px) {
  .comparison_lead { margin-top: 4rem; }
}

/* セクション背景 */
#about { background: linear-gradient(180deg, #f3eff4 0%, #ede9f4 100%) !important; }
/* 上端の黄色は α で濃さを決めている。この色は R が必ず255になるため、
   α をどう変えても彩度は100%のままで、動くのは明度だけ。
   .30（#fffad2・明度91%）→ .45（#fff7bd・明度87%）へ濃くした。
   ※ .point_lead の地色はこの背景を透かせているので、ここを変えれば自動で追従する。 */
#point_01, #point_03 { background: linear-gradient(0deg, rgba(160,147,195,.32) 0%, rgba(255,240,106,.45) 100%) !important; }
#point_02 { background: linear-gradient(180deg, #f0ecf5 0%, #f8eef3 100%) !important; }
/* point_pilates の地をブルーへ（2026-10-21）。
   色相215°は .text_marker_blue の #d2e2f9 と同じ。明度だけ落としてある。
   **#d2e2f9 をそのまま敷かないこと。** 中にある .band_card(#e6e9f5) との差が
   ΔE 7.7 しかない。ただし .band_card は左44%が写真・右56%が白で
   border-radius と overflow:hidden を持つため、輪郭は白半分で出る。
   判断の基準は白半分とのΔE。現行は上端15.5／下端は更に大きい。 */
#point_pilates.v3 { background: linear-gradient(180deg, #d5e4f9 0%, #c4d9f7 100%) !important; }
/* アイブロウ「＼今話題の／」は紫のままだと青地の上で3.26になり読めない。
   スケジュールの凡例も同じ #7970a5 を使っているが、そちらは方針により触らないため
   #point_pilates にスコープを限定して上書きする。この値で5.18。 */
#point_pilates .pt_eyebrow { color: #2c5896 !important; }
/* マーカーは白で統一（2026-10-21）。.text_marker_blue は POINT02 の
   サイズ指定も兼ねているのでクラス名は残し、色だけ上書きする。
   土台の標準構文 linear-gradient(left,…) は不正値で無視されており、
   実際に効いているのは -webkit- 版。ここは正しい構文なので後勝ちする。
   background ではなく background-image にしないと size/position が消える。 */
.text_marker_blue { background-image: linear-gradient(90deg, #fff 50%, transparent 50%) !important; }
#voice.voice_a { background: linear-gradient(0deg, rgba(176,68,110,.22) 0%, rgba(160,147,195,.28) 100%) !important; }
/* about：強調文字・ジャンル
   .mint_tx / .lav_tx は 2026-10-19 に --cp-red へ統一（ユーザー判断）。
   ヨガ=ミント / ピラティス=ラベンダーの色分けはここでは持たせず、
   直下の .genre_pair（YOGA / PILATES のカード）が引き続き担当する。
   ※ .about_tx は15px太字＝WCAG上は通常文字で、#eb554b は白地にコントラスト3.54。
     AA(4.5)には届いていない。濃くするなら同色相の #cf3a30 が4.88。 */
.mint_tx { color: #eb554b !important; border-color: #eb554b !important; }
.genre_pair .g_yoga { background: linear-gradient(135deg, #d78fac, #c06a8e) !important; }
.genre_x { color: #a093c3 !important; border-color: #a093c3 !important; }
/* 比較表（2026-10-19 全面変更）
   使用色を4色からグレー階調＋グラデ1本へ。UCHIYOGAは色ではなく明度差で際立たせる。

   仕組み: UCHIYOGA列のセルを透過させ、表の背後に敷いた .cmp_hl のグラデを見せる。
   セルごとに background を敷くとグラデが行ごとにリセットされるため、この形にしている。
   **列位置は .cmp_blank の幅22%と table-layout:fixed で確定している。
   22%を変えたら .cmp_hl の left/width も必ず追従させること。**
   残り3列は (100-22)/3 = 26% ずつ。

   列は全面グラデ、文字は白固定。
   地は .mv_cta の原色(#c889a5→#a093c3)の**彩度はそのまま、明度だけ0.90倍**。

   **暗さの調整に彩度を使わないこと。** 彩度を下げると灰色が混ざって濁る。
   一度「彩度0.65倍の沈めた版」を作り、さらにそれと淡い版の中間を取ったところ、
   彩度が 0.36 → 0.27 まで落ちてくすんで見えた。明度だけ動かせば同じ暗さでも濁らない。

   **白文字のコントラストは素の計算では3.50/3.65で、AA(4.5)に足りない。**
   これは光彩（text-shadow / マークは drop-shadow）で補う方針を採った結果。
   **白文字と光彩はセットで、片方だけ外さないこと。**

   光彩は黒系にしないこと。地の色相（上333°・下256°）の中間にあたる
   300°の深いプラムパープル #6b246b を使い、色味を馴染ませている。
   文字ぎわでの実効コントラストは9.06。

   重ね順に注意。影を出すため .cmp_hl は表より前面(z-index:2)に置き、
   UCHIYOGA列のセルだけさらに前面(z-index:3)へ出して文字を見せている。
   .cmp_hl を背面にすると、隣の不透明なセルが影を覆って浮かなくなる。 */
.cmp_wrap { position: relative; }
/* **ここに z-index を付けないこと。** position:relative だけなら重ね文脈を作らないので
   セル側の z-index:3 が .cmp_hl(2) を超えられる。z-index:1 を足すと表が重ね文脈になり、
   中のセルがいくら大きい値を持ってもその中に閉じ込められ、列の中身がグラデに隠れる。 */
.cmp_wrap .cmp_tbl { position: relative; }
.cmp_hl {
  /* 強調列の位置。既定は比較表（行見出し22%・残り3列を26%ずつ）。
     price_compare は列構成が違うので変数で差し替える。 */
  --hl-left: 22%;
  --hl-width: 26%;
  position: absolute;
  z-index: 2;
  left: calc(var(--hl-left) + 0.2rem);
  width: calc(var(--hl-width) - 0.4rem);
  top: 0;
  bottom: 0;
  border-radius: 0.8rem;
  background: linear-gradient(180deg, #bd7293 0%, #8d7db7 100%);
  box-shadow: 0 0.3rem 1.2rem rgba(107, 36, 107, .28);
}
/* グラデより前面に出して文字を見せる。これが無いと中身が隠れる */
.cmp_tbl .cmp_u { position: relative; z-index: 3; }
/* 見出し・他社はグレーの濃淡だけで構成する */
.cmp_tbl thead th { background: #d9d9de !important; color: #45454c !important; }
.cmp_tbl thead th.cmp_blank { background: none !important; }
/* 行見出しは A社/B社 の見出しと同じ #d9d9de。縞は掛けない。
   土台の border-bottom(白0.5rem) は外す。残すとこの列だけ行間に白い隙間が入る。 */
.cmp_tbl tbody th {
  background: #d9d9de !important;
  color: #45454c !important;
  border-bottom: none !important;
}
/* 縞はUCHIYOGA列以外のデータセルに掛ける。:not(.cmp_u) を外すと nth-child の詳細度が
   td.cmp_u の透過指定を上回り、偶数行だけグラデが灰色で潰れる。 */
.cmp_tbl tbody td:not(.cmp_u) { background: #fafafa !important; }
.cmp_tbl tbody tr:nth-child(even) td:not(.cmp_u) { background: #f4f4f5 !important; }
/* UCHIYOGA列：背景を抜いてグラデを透かし、白文字＋光彩で乗せる。
   **padding は他列と同じ既定値のままにすること。**
   この列だけ余白を変えると行の高さがずれ、横のラインが他列と揃わなくなる。

   光彩は2枚重ね。内側の濃い方で文字ぎわを締め、外側のぼけた方で中間調の地から離す。
   **text-shadow を外すと白文字が3.0まで落ちる。** 地を変えるときも一緒に見直すこと。 */
.cmp_tbl thead th.cmp_u,
.cmp_tbl td.cmp_u,
.cmp_tbl td.cmp_u.cmp_last {
  color: #fff !important;
  text-shadow: 0 0 0.25rem rgba(107, 36, 107, .9), 0 0.1rem 0.5rem rgba(107, 36, 107, .6);
}
.cmp_tbl thead th.cmp_u {
  background: none !important;
  border-left-color: transparent !important;
}
.cmp_tbl td.cmp_u,
.cmp_tbl td.cmp_u.cmp_last {
  background: none !important;
  border: none !important;
}
/* マークは background-image なので text-shadow が効かない。
   要素のアルファに掛かる drop-shadow で同じ役割を持たせる。 */
.cmp_tbl .cmp_u .mk {
  filter: drop-shadow(0 0 0.2rem rgba(107, 36, 107, .9)) drop-shadow(0 0.1rem 0.35rem rgba(107, 36, 107, .55));
}
/* 行の区切りは細い白ライン。セルはグラデより前面なので線は上に描かれる。
   隣の列の縞で行は既に判別できるので、ここは装飾扱い。 */
.cmp_tbl thead th.cmp_u,
.cmp_tbl td.cmp_u:not(.cmp_last) {
  border-bottom: 1px solid rgba(255, 255, 255, .55) !important;
}
.cmp_new { color: #fff !important; }

/* POINT04 の料金推移表も比較表と同じ見せ方に揃える（2026-10-19）。
   .cmp_wrap / .cmp_hl の仕組みをそのまま再利用し、うちヨガ＋の列を透過させる。
   **ラッパー側で幅を持つこと。** 表が width:86% のままだと、ラッパー基準の
   パーセントで置く .cmp_hl と列がずれる。 */
.price_wrap { width: 86%; margin: 1.6rem auto 0; }
.price_wrap .price_compare { width: 100%; margin: 0; position: relative; }
/* 3列目を強調。行見出し22% ＋ 残り2列を39%ずつ → 左61%／幅39%。
   table-layout:fixed にしないと列幅が中身依存になり、この計算が合わなくなる。 */
.price_wrap .cmp_hl { --hl-left: 61%; --hl-width: 39%; }
/* **幅は thead 側に置くこと。** table-layout:fixed は最初の行の幅しか見ないため、
   土台の `.price_compare tbody th { width: 22% }` は無視され、3列均等(33.3%)になる。
   それだと上の --hl-left:61% と列がずれる。 */
.price_compare { table-layout: fixed; }
.price_compare thead th:first-child { width: 22%; }
.price_compare thead th { background: #d9d9de !important; color: #45454c !important; font-weight: 700; }
.price_compare tbody th { background: #d9d9de !important; color: #45454c !important; }
.price_compare tbody td:not(.col_lava) { background: #fafafa !important; }
.price_compare tbody tr:nth-child(even) td:not(.col_lava) { background: #f4f4f5 !important; }
/* うちヨガ＋の列：背景を抜いてグラデを透かし、白文字＋光彩を乗せる */
.price_compare .col_lava,
.price_compare thead .col_lava {
  position: relative;
  z-index: 3;
  background: none !important;
  color: #fff !important;
  text-shadow: 0 0 0.25rem rgba(107, 36, 107, .9), 0 0.1rem 0.5rem rgba(107, 36, 107, .6);
}
/* 区切りは比較表と同じ細い白ライン。土台の #eee は地が濃いと見えない */
.price_compare th,
.price_compare td { border-bottom-color: #e8e8ea !important; }
/* 最終行にも線を残す（比較表と違い、こちらは「…」で続きを示す表なので底辺を締める） */
.price_compare .col_lava { border-bottom-color: rgba(255, 255, 255, .55) !important; }
.price_compare tr:last-child .col_lava { border-bottom: 1px solid rgba(255, 255, 255, .55) !important; }
/* 旧価格は取り消し線で既に従属が伝わるので、色は落とさず不透明の白のままにする。
   透過させると光彩があっても文字ぎわの差が足りなくなる。 */
.cmp_old { color: #fff !important; }
/* マークの色は「マークの種類」ではなく「どの列か」で決まる。
   ◎(.mk_dbl) は UCHIYOGA と B社の両方に出るため、.mk_dbl 自体を色分けすると
   B社の◎まで強調色になってしまう。既定をグレーにし、.cmp_u の中だけ色を変える。
   図形なので基準は非テキストの3.0。他社グレー3.16 / UCHIYOGAは白でグラデ上5.03以上。 */
.cmp_tbl .mk_dbl { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='17.5' fill='none' stroke='%238d8d95' stroke-width='4'/%3E%3Ccircle cx='20' cy='20' r='10' fill='none' stroke='%238d8d95' stroke-width='4'/%3E%3C/svg%3E"); }
.cmp_tbl .mk_cir { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='17.5' fill='none' stroke='%238d8d95' stroke-width='3.6'/%3E%3C/svg%3E"); }
.cmp_tbl .mk_tri { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 3 L37.5 36 H2.5 Z' fill='none' stroke='%238d8d95' stroke-width='3.6' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.cmp_tbl .mk_x   { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M6 6 L34 34 M34 6 L6 34' fill='none' stroke='%238d8d95' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E"); }
.cmp_tbl .cmp_u .mk_dbl { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='17.5' fill='none' stroke='%23ffffff' stroke-width='4'/%3E%3Ccircle cx='20' cy='20' r='10' fill='none' stroke='%23ffffff' stroke-width='4'/%3E%3C/svg%3E"); }
.cmp_tbl .cmp_u .mk_cir { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='17.5' fill='none' stroke='%23ffffff' stroke-width='3.6'/%3E%3C/svg%3E"); }
/* POINT04：45%OFFバッジ。
   同じカード内の「1,080」「永久割」は --cp-red(#eb554b) で据え置きなので、
   バッジだけベリーだと近いのに一致せず事故に見える。--cp-red と同じ色相(3.8°)の
   濃いコーラルへ寄せた。--cp-red をそのまま使うと白文字のコントラストが 3.54 で、
   13px太字＝通常文字の AA(4.5) に届かない。この値は 4.88。明度をこれ以上上げないこと。 */
.cp_off { background: #cf3a30 !important; }
/* ジャンル「ピラティス」と POINT01 の補足枠を、point_pilates の地と同じ色相215°へ。
   **土台の紫は白文字が 3.64 / 3.03 で元々AA未達だった。** 青へ振ることで解消している。
   彩度は0.45に落としてあり、節の地(#cbddf8)と同系に見える。 */
.genre_pair li.g_pila { background: linear-gradient(135deg, #4676b9, #3b639b) !important; }
#point_01 .mini_p { border-color: #416daa !important; }
#point_01 .mini_p .mh { background: #416daa !important; }
/* 45%OFFバッジ：地 #a093c3 ＋ 黄文字（ユーザー指定）。
   **この組み合わせはコントラスト 2.40 で AA(4.5) に届かない。**
   #a093c3 は明度が高く、白文字でも 2.82 にしかならない。
   数値を満たすには地をもっと暗くする必要がある（指定色のままでは不可）。 */
.cp_off { background: #a093c3 !important; color: #fff06a !important; }
/* 注釈は左揃え（2026-10-19）。
   いずれも親から text-align:center を継承していた（.shop_comment だけ明示指定）。
   要素自身に text-align があれば継承には必ず勝つので、詳細度を上げる必要はない。
   CTAボタン直下の .white_tx は対象外。中央のボタンと軸がずれて見えるため、
   セクション見出しと同じくセンターのまま残している。 */
.shop_comment,
.small_tx,
.pl_note,
.pl_voice_note,
.price_footnote { text-align: left; }
/* この2つは継承ではなく #point_02 > p / #point_03 > p（詳細度1,0,1）で
   中央寄せされているため、クラスだけの指定(0,1,0)では勝てない。ID込みで上書きする。 */
#point_02 > p.small_tx,
#point_03 > p.price_footnote { text-align: left; }
/* 左揃えにすると、親に余白の無い注釈は画面の左端に密着する。
   この3つは親の padding が 0 で、実測でも left:0 だった。
   セクション側に padding を足すとフルブリードのマーキーやスライドまで内側へ寄るので、
   注釈だけに 2rem を持たせる（.price_footnote の 0 2rem・.bg_white の20pxと同値）。
   .shop_comment と .price_footnote は既に確保済みなので対象外。二重に効かせない。 */
.small_tx,
.pl_note,
.pl_voice_note { padding-left: 2rem; padding-right: 2rem; }
/* POINT02：スケジュール */
.lsx_tabs button.on[data-day="wd"] { background: #a093c3 !important; }
.lsx_tabs button.on[data-day="we"] { background: #c46a8e !important; }
.lsx_more { color: #84658f !important; }
/* 見出し吹き出し（POINT01/02/03 の .fukidashi・.fukidashi.tx02）
   配色は .pl_fukidashi.is_purple に揃えてある。

   ※ ::after に background-color を当ててはいけない。
     尻尾は width:0 / height:0 ＋ 太いボーダーで三角を作っているため、
     背景はボーダーボックス全体に描かれ、左右の transparent ボーダー越しに
     透けて四角く見える。本体だけ背景を変え、::after は border-top-color を変える。
   ※ 土台の文字色は body 継承の #111111。地が濃くなるので白へ上書きする。 */
.fukidashi { background-color: var(--lavender) !important; color: #fff !important; }
.fukidashi::after {
  background-color: transparent !important;
  border-top-color: var(--lavender) !important;
}
/* 画像内のミント色を紫系へ（about の動画/ライブアイコン・「比べてみよう！」・POINT01「1.6%」） */
/* POINT01「1.6%」は img.top_img を外してある。
   この画像は青のバースト＋黄色の数字で、hue-rotate を通すと
   黄色 #fff063 がミント #6fffe0 に化けていた（CSSフィルタは行列演算なので
   HSLの色相回転とは結果が違う）。画像側を塗り直して対応した:
     point_img_02_2611.webp … バースト #bb81b1（フィルタ適用後の色を維持）
                              数字 #fff06a / 「たった」白
   残る2つも、本来は画像を作り直してこの指定を消すのが正道。 */
.lesson_clm_img, img[alt="比べてみよう!"] { filter: hue-rotate(95deg) saturate(.9); }
