/* ==========================================================================
   東京肩こりクリニック 公式HP  v2（2026-09-24）
   --------------------------------------------------------------------------
   ・中身: 販売LP https://lp.katakori-clinic.com/6/hp.html の構成と文言をそのまま（表示順も同じ）
   ・見た目: からだ接骨院 https://karada-seikotu.com/ の部品を実測して再現
       見出し 40px/900/#4A4A4A＋下線 60×4px #43B45B ／ 透かし英字 Roboto200・140px・不透明度10%
       ボタン 緑 #10964E→#006931・オレンジ #FF963A→#FF6F00 角丸40px ／ 地色 白と #F4F8F7 の交互
   ・紫・ピンクは使わない（v1の失敗）。画像も全点を紫検出にかけて0.3%未満を確認済み
   ・公式HPなのでカウントダウン等は入れない（下の「LPから外したもの」参照）
   ・外部ライブラリなし。JSは末尾の1ブロックだけ（メニュー/スライダー/BA比較/FAQ/キャンペーン日付/動画）
   ========================================================================== */
:root{
  --g:#0A6F3A;        /* 深緑: ラベル・見出しアクセント・フッター */
  --g2:#43B45B;       /* 明緑: 下線バー・数字帯 */
  --g3:#10964E;       /* 緑ボタンの上端 */
  --g-deep:#006931;   /* 緑ボタンの下端 */
  --bg:#F4F8F7;       /* 淡緑グレーの地 */
  --ink:#4A4A4A;      /* 本文・見出し */
  --sub:#6F7672;
  --gold:#D0C178;     /* STEP/POINTバッジ */
  --mk:#FFF200;       /* 黄マーカー */
  --dash:#C8E1CE;     /* 点線区切り */
  --a:#B3CEC0;        /* FAQのA */
  --or1:#FF963A; --or2:#FF6F00; --num:#FF7700;
  --r:15px;
  --hd:70px;
  --jp:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --en:"Outfit","Noto Sans JP",system-ui,sans-serif;
  --ro:"Roboto","Noto Sans JP",system-ui,sans-serif;
  --arrow-w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 7'%3E%3Cpath d='M0 6.2h23.5L18 .8' fill='none' stroke='%23fff' stroke-width='1.3'/%3E%3C/svg%3E");
  --arrow-g:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 7'%3E%3Cpath d='M0 6.2h23.5L18 .8' fill='none' stroke='%230A6F3A' stroke-width='1.3'/%3E%3C/svg%3E");
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 16px);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;padding-top:var(--hd);font-family:var(--jp);font-size:16px;line-height:1.8;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--or1);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pc-only{display:inline}.sp-only{display:none}
@media (max-width:768px){.pc-only{display:none}.sp-only{display:inline}}

.container{width:100%;max-width:1040px;margin:0 auto;padding-inline:20px}
.container--wide{max-width:1240px}
.sec{position:relative;padding-block:110px 100px;overflow:hidden}
.sec--bg{background:var(--bg)}
@media (max-width:768px){.sec{padding-block:60px}}

/* ---------- 見出し（からだ接骨院の型） ---------- */
.catch-en{position:absolute;top:20px;left:0;right:0;margin:0;text-align:center;font-family:var(--ro);font-weight:200;font-size:clamp(56px,10.9vw,140px);letter-spacing:10px;line-height:1;color:var(--g);opacity:.1;white-space:nowrap;pointer-events:none;user-select:none;z-index:0}
.sec--green .catch-en,.catch-en--white{color:#fff}
.sec-head{position:relative;z-index:1;text-align:center;margin-bottom:48px}
.font-green{display:block;color:var(--g);font-weight:900;font-size:clamp(18px,2.2vw,28px);letter-spacing:.05em;line-height:1.5;margin-bottom:6px}
h2.border{position:relative;font-size:clamp(24px,3.2vw,40px);font-weight:900;line-height:1.45;color:var(--ink);padding-bottom:26px;text-wrap:balance}
h2.border.is-md{font-size:clamp(22px,2.7vw,34px)}
h2.border::after{content:"";position:absolute;left:50%;bottom:0;width:60px;height:4px;background:var(--g2);transform:translateX(-50%)}
.sec-head .lead{margin-top:26px;font-weight:500;line-height:1.7}
.marker{background:linear-gradient(transparent 60%,var(--mk) 60%);padding:0 .08em}
.em-green{color:var(--g)}
.dot{position:relative;display:inline-block}
.dot::before{content:"●";position:absolute;top:-.02em;left:50%;transform:translateX(-50%);font-size:.25em;line-height:1;color:var(--g)}
.sec--green .dot::before,.on-green .dot::before{color:#fff}
.slash{display:inline-flex;align-items:center;gap:.4em;color:var(--g);font-weight:900;font-size:clamp(18px,2.2vw,26px);line-height:1.5}
.slash::before,.slash::after{content:"";width:2px;height:1.2em;background:currentColor}
.slash::before{transform:rotate(-30deg)}.slash::after{transform:rotate(30deg)}
.area-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--g);color:#fff;font-size:20px;font-weight:700;line-height:24px;padding:10px 30px;border-radius:50px;box-shadow:0 4px 6px rgba(0,0,0,.15);white-space:nowrap;letter-spacing:.05em}
@media (max-width:768px){.area-badge{font-size:14px;padding:6px 20px}}
.note{font-size:12px;line-height:1.7;color:var(--sub)}

/* ---------- ボタン ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:320px;max-width:100%;min-height:56px;padding:15px 64px 15px 34px;border:0;border-radius:40px;font-size:18px;font-weight:900;line-height:1.4;color:#fff;background:linear-gradient(var(--g3),var(--g-deep));text-align:center;cursor:pointer;transition:filter .2s,transform .2s}
.btn::after{content:"";position:absolute;right:19px;top:50%;width:25px;height:7px;transform:translateY(-50%);background:var(--arrow-w) no-repeat center/contain;transition:right .2s}
.btn:hover{filter:brightness(1.07)}.btn:hover::after{right:13px}
.btn--orange{background:linear-gradient(var(--or1),var(--or2))}
.btn--white{background:#fff;color:var(--g);border:1px solid var(--g)}
.btn--white::after{background-image:var(--arrow-g)}
.btn--xl{width:min(760px,100%);min-height:92px;border-radius:30px;font-size:clamp(16px,2vw,22px);padding:22px 84px 22px 150px}
.btn--xl::after{width:45px;height:12px}
.btn--xl .badge-1min{position:absolute;left:26px;top:50%;transform:translateY(-50%);width:96px;height:96px;border-radius:50%;background:#fff;color:var(--or2);font-size:14px;font-weight:900;line-height:1.3;display:grid;place-items:center;text-align:center;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.btn-wrap{position:relative;z-index:1;text-align:center;margin-top:40px}
@media (max-width:768px){
  .btn{min-width:0;width:100%;font-size:16px}
  .btn--xl{min-height:80px;padding:14px 44px 14px 90px;font-size:14px}
  .btn--xl .badge-1min{left:12px;width:70px;height:70px;font-size:11px}
  .btn--xl::after{right:14px;width:30px;height:9px}
}
.item-link{display:block;text-align:right;margin-top:20px;color:var(--g);font-weight:800}
.item-link span{border-bottom:1px solid var(--g)}
.item-link::after{content:"";display:inline-block;width:25px;height:7px;margin-left:10px;vertical-align:3px;background:var(--arrow-g) no-repeat center/contain}

/* ---------- ヘッダー ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:999;height:var(--hd);background:#fff;box-shadow:0 4px 10px rgba(0,0,0,.1)}
.site-header .wrap{height:100%;display:flex;align-items:center;gap:18px;padding-inline:24px}
.brand{display:flex;flex-direction:column;gap:3px;min-width:0}
.site-tagline{font-size:10px;line-height:1;margin:0;white-space:nowrap;color:var(--ink)}
.brand-row{display:flex;align-items:center;gap:14px}
.site-logo img{height:36px;width:auto}
/* 「Re.Ra.Kuグループ 初のクリニック」: 緑のバッジに金の月桂樹（受賞バッジの型） */
.site-info{display:flex;align-items:center;gap:5px;background:linear-gradient(var(--g3),var(--g-deep));color:#fff;border-radius:6px;padding:4px 9px;line-height:1.2;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.site-info .lf{width:13px;height:28px;flex:none}
.site-info .lf--r{transform:scaleX(-1)}
.site-info .t{display:flex;flex-direction:column;align-items:center}
.site-info small{font-size:9px;font-weight:700;letter-spacing:.1em}
.site-info b{font-size:14px;font-weight:900;letter-spacing:.05em}
.site-info em{font-style:normal;color:var(--mk);font-size:18px;margin-right:1px;vertical-align:-1px}
.hd-right{margin-left:auto;display:flex;align-items:center;gap:18px}
.hd-tel{font-family:var(--en);font-weight:600;font-size:22px;line-height:1.05;color:var(--g);text-align:right}
.hd-tel small{display:block;font-family:var(--jp);font-size:10px;font-weight:500;color:var(--ink)}
.hd-reserve{min-width:0;min-height:44px;padding:8px 48px 8px 24px;font-size:15px}
.hd-reserve::after{right:16px;width:20px;height:6px}
.menu-toggle{width:44px;height:44px;border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}
.menu-toggle__bar{display:block;width:24px;height:2px;background:var(--g);transition:transform .25s}
.menu-toggle__text{font-size:8px;line-height:1;color:var(--g);font-weight:700}
@media (max-width:1100px){.hd-tel{display:none}}
@media (max-width:768px){
  :root{--hd:60px}
  .site-header .wrap{padding-inline:14px;gap:10px}
  .site-logo img{height:28px}
  .site-info{padding:3px 7px;gap:3px}.site-info .lf{width:10px;height:22px}.site-info small{font-size:8px}.site-info b{font-size:12px}.site-info em{font-size:15px}
  .site-tagline{font-size:8px}
  .hd-reserve{display:none}
}
@media (max-width:400px){.site-header .wrap{gap:6px}.brand-row{gap:8px}.site-logo img{height:23px}.site-info{padding:2px 5px;gap:2px}.site-info .lf{width:8px;height:18px}.site-info small{font-size:7px;letter-spacing:.04em}.site-info b{font-size:11px;letter-spacing:0}.site-info em{font-size:13px}}

.gnav{position:fixed;inset:0;z-index:1000;background:rgba(10,111,58,.97);color:#fff;display:none;overflow-y:auto}
.gnav.is-open{display:block}
.gnav__inner{max-width:760px;margin:0 auto;padding:90px 24px 60px}
.gnav__close{position:fixed;top:14px;right:18px;width:48px;height:48px;border:0;background:none;color:#fff;font-size:34px;line-height:1;cursor:pointer}
.gnav__list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.gnav__list a{display:block;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.25);font-weight:700;font-size:17px}
.gnav__list a small{display:block;font-family:var(--en);font-weight:500;font-size:11px;letter-spacing:.14em;opacity:.7}
.gnav__cv{display:grid;gap:14px;margin-top:36px}
.gnav__tel{text-align:center;font-family:var(--en);font-weight:600;font-size:28px}
.gnav__tel small{display:block;font-family:var(--jp);font-size:12px;font-weight:500;opacity:.8}
@media (max-width:560px){.gnav__list{grid-template-columns:1fr}}

/* ---------- 右下の丸ボタン（PC）／ 下部固定バー（SP） ---------- */
.float-btns{position:fixed;right:24px;bottom:24px;z-index:900;display:flex;flex-direction:column;gap:12px}
.float-btn{width:140px;height:140px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:900;line-height:1.3;border:4px solid #fff;box-shadow:0 8px 20px rgba(0,0,0,.18);transition:transform .2s}
.float-btn:hover{transform:scale(1.05)}
.float-btn--orange{background:linear-gradient(var(--or1),var(--or2));color:#fff;font-size:17px}
.float-btn--orange small{font-family:var(--en);font-size:15px;letter-spacing:.06em}
.sp-cv{position:fixed;left:0;right:0;bottom:0;z-index:950;display:none;grid-template-columns:1fr 64px;gap:8px;padding:14px 10px calc(8px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);box-shadow:0 -4px 12px rgba(0,0,0,.1)}
.sp-cv__reserve{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;height:54px;border-radius:12px;background:linear-gradient(var(--or1),var(--or2));color:#fff;font-weight:900;font-size:16px}
.sp-cv__reserve svg{width:22px;height:22px;fill:#fff}
.sp-cv__pill{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:#fff;color:var(--or2);border:2px solid var(--or2);border-radius:20px;font-size:11px;line-height:1.5;padding:0 12px;white-space:nowrap}
.sp-cv__tel{display:flex;flex-direction:column;align-items:center;justify-content:center;height:54px;border-radius:12px;background:var(--g);color:#fff;font-size:10px;font-weight:700}
.sp-cv__tel svg{width:22px;height:22px;fill:#fff;margin-bottom:1px}
@media (max-width:1024px){.float-btns{display:none}.sp-cv{display:grid}body{padding-bottom:84px}}

/* ---------- スライダー共通の矢印とドット ---------- */
.slider-nav{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:28px}
.slider-arrow{width:50px;height:50px;border:0;background:rgba(67,180,91,.8);display:grid;place-items:center;cursor:pointer;flex:none;transition:background .2s}
.slider-arrow:hover{background:var(--g2)}
.slider-arrow::before{content:"";width:11px;height:11px;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg);margin-right:4px}
.slider-arrow--prev::before{transform:rotate(-135deg);margin:0 0 0 4px}
.slider-arrow:disabled{opacity:.35;cursor:default}
.slider-dots{display:flex;gap:6px}
.slider-dots button{width:26px;height:23px;border:0;padding:10px 0;background:#D6DCD9;background-clip:content-box;cursor:pointer}
.slider-dots button[aria-current="true"]{background-color:var(--g)}

/* ---------- FV ---------- */
.fv{position:relative;background:
   radial-gradient(38% 45% at 12% 18%,rgba(67,180,91,.20),transparent 70%),
   radial-gradient(30% 36% at 88% 30%,rgba(190,228,120,.34),transparent 70%),
   radial-gradient(24% 30% at 70% 88%,rgba(67,180,91,.14),transparent 70%),
   radial-gradient(14% 18% at 30% 70%,rgba(255,255,255,.9),transparent 70%),
   linear-gradient(180deg,#E7F4E2 0%,#F3FAEF 55%,#FFFFFF 100%)}
/* 配置は現行HP katakori-clinic.com のFVを実測（1366px幅で 緑パネル x0〜683・写真 x560〜1366 / 縦に64pxずらして重ねる） */
.fv-stage{position:relative;max-width:1600px;margin:0 auto;padding-block:48px 64px}
.fv-photos{position:relative;margin:64px 0 0 41%;aspect-ratio:16/10;overflow:hidden;border-radius:30px 0 0 30px;background:#DCEBDD;box-shadow:0 14px 40px rgba(10,111,58,.16);animation:fvFade 1.2s .15s both}
.fv-photo{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.2s ease}
.fv-photo.is-active{opacity:1}
.fv-photo img{width:100%;height:100%;object-fit:cover}
.fv-photo.is-active img,.fv-photo.is-prev img{animation:fvZoom 6s linear both}
.fv-panel{position:absolute;z-index:2;left:0;top:48px;width:50%;min-height:30.8vw;display:flex;align-items:center;justify-content:center;border-radius:0 30px 30px 0;background:linear-gradient(135deg,rgba(16,150,78,.97) 0%,rgba(10,111,58,.97) 70%,rgba(7,89,46,.97) 100%);box-shadow:0 14px 40px rgba(10,111,58,.25);color:#fff;animation:fvPanel .9s cubic-bezier(.2,.7,.2,1) both}
.fv-panel .dot::before{color:#fff}
.fv-panel__in{padding:clamp(28px,3.6vw,56px) clamp(20px,4vw,64px);text-align:center}
.fv-panel__in>*{animation:fvUp .8s cubic-bezier(.2,.7,.2,1) both}
.fv-panel__in>:nth-child(1){animation-delay:.35s}.fv-panel__in>:nth-child(2){animation-delay:.5s}.fv-panel__in>:nth-child(3){animation-delay:.65s}
.fv-bubble{position:relative;display:inline-block;border:2px solid #fff;border-radius:40px;padding:.3em 1.3em .35em;font-weight:700;font-size:clamp(14px,1.55vw,22px);line-height:1.5;letter-spacing:.04em;background:rgba(255,255,255,.08)}
.fv-bubble small{font-size:.72em;margin:0 .1em}
.fv-bubble::after{content:"";position:absolute;right:2.2em;bottom:-.72em;width:.9em;height:.72em;border-right:2px solid #fff;transform:skewX(-40deg);transform-origin:top}
.fv-catch{margin-top:.55em;font-weight:900;font-size:clamp(33px,4.7vw,66px);line-height:1.25;letter-spacing:.02em;text-shadow:0 3px 10px rgba(0,0,0,.12)}
.fv-catch small{font-size:.46em;font-weight:700;margin:0 .06em;letter-spacing:0}
.fv-catch__l1{position:relative;display:block}
.fv-catch__l1::before{content:"";position:absolute;left:-.62em;top:-.42em;width:.62em;height:.5em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 24'%3E%3Cpath d='M3 14l9 5M9 3l7 11M24 1l-1 13' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") no-repeat center/contain}
.fv-catch .box{display:inline-block;background:#fff;color:var(--g);line-height:1.12;padding:.02em .08em .04em;margin:0 .05em;border-radius:.12em;box-shadow:.07em .07em 0 rgba(0,0,0,.2);text-shadow:none}
.fv-catch__l2{display:inline-block;margin-top:.12em;padding-bottom:.16em;background:linear-gradient(var(--mk),var(--mk)) left bottom/100% 3px no-repeat,linear-gradient(rgba(255,242,0,.55),rgba(255,242,0,.55)) left calc(100% - 7px)/100% 1px no-repeat}
.fv-catch__l2 em{font-style:normal;color:var(--mk);font-size:1.1em}
.fv-logo{width:clamp(200px,23vw,320px);margin:1em auto 0}
@keyframes fvPanel{from{opacity:0;transform:translateX(-48px)}to{opacity:1;transform:none}}
@keyframes fvUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fvFade{from{opacity:0}to{opacity:1}}
@keyframes fvZoom{from{transform:scale(1)}to{transform:scale(1.06)}}
@media (max-width:1000px){.fv-panel{width:58%}.fv-photos{margin-left:34%}}
@media (max-width:768px){
  .fv-stage{padding-block:20px 36px}
  .fv-panel{position:relative;top:0;width:calc(100% - 11px);min-height:0;border-radius:0 22px 22px 0}
  .fv-panel__in{padding:30px 16px 34px}
  .fv-catch{font-size:clamp(28px,9.4vw,40px)}
  .fv-photos{margin:-22px 0 0 11px;aspect-ratio:16/10;border-radius:22px 0 0 22px}
}

.concept{position:relative;text-align:center;padding-block:120px 70px}
.concept .catch-en{top:30px}
.concept .sub{position:relative;display:inline-block;font-weight:900;color:var(--g);letter-spacing:.14em;font-size:clamp(20px,2vw,26px);line-height:1.4}
.concept .copy{position:relative;font-size:clamp(25px,3.4vw,40px);font-weight:900;line-height:1.7;margin-top:10px;text-wrap:balance}
.hashtags{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.hashtags li{background:#fff;border:1px solid var(--g2);color:var(--g);border-radius:30px;padding:5px 16px;font-weight:700;font-size:14px;line-height:1.6}
.fv-achievements{position:relative;display:flex;justify-content:center;margin-top:56px}
.fv-ach{width:33.333%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:10px 12px 0}
.fv-ach:not(:last-child){border-right:2px dashed var(--dash)}
.fv-ach__label{display:inline-block;color:#fff;background:var(--g);border-radius:30px;padding:8px 20px;font-weight:700;font-size:clamp(11px,1.3vw,17px);line-height:1.4;white-space:nowrap}
.fv-ach__num{margin-top:14px;font-family:var(--en);font-weight:600;color:var(--num);font-size:clamp(46px,7.2vw,96px);line-height:1;white-space:nowrap}
.fv-ach__num .t{font-family:var(--jp);color:var(--g);font-weight:900;font-size:.32em;letter-spacing:.02em}
.fv-ach__num .u{font-family:var(--jp);color:var(--num);font-weight:900;font-size:.4em}
.fv-ach__sub{margin-top:6px;font-weight:900;color:var(--g);font-size:clamp(12px,1.5vw,18px);line-height:1.4}
@media (max-width:768px){
  .concept{padding-block:80px 50px;text-align:left}
  .concept .copy{font-size:23px}
  .concept .sub,.concept .copy{display:block;text-align:center}
  .fv-achievements{margin-top:36px}
  .fv-ach{padding-inline:4px}
  .fv-ach__label{padding:3px 9px;white-space:normal}
}

/* ---------- 数字帯（LP冒頭の実績） ---------- */
.stats{background:var(--g2);color:#fff;padding-block:80px 46px;position:relative;overflow:hidden}
.stats h2{position:relative;text-align:center;font-size:clamp(22px,3vw,36px);font-weight:900;line-height:1.5;margin-bottom:44px}
/* 3列を同じ幅・同じ3段（ラベル／大きい数字／下の一言）でそろえる。大きい数字の段は高さ固定で上下中央 */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.stats-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 16px 6px}
.stats-item:not(:last-child){border-right:2px dashed #fff}
.stats-label{display:inline-block;background:var(--g);border-radius:30px;padding:8px 22px;font-weight:700;font-size:clamp(13px,1.4vw,18px);line-height:1.4;white-space:nowrap}
.stats-big{display:flex;align-items:flex-end;justify-content:center;height:clamp(76px,8.4vw,116px);margin-top:18px;font-family:var(--en);font-weight:600;font-size:clamp(64px,7.4vw,108px);line-height:1;white-space:nowrap}
.stats-big .u{font-family:var(--jp);font-weight:900;font-size:.32em;margin:0 0 .1em .12em}
.stats-big--jp{font-family:var(--jp);font-weight:900;font-size:clamp(40px,4.4vw,60px);letter-spacing:.02em;padding-bottom:.1em}
.stats-sub{margin-top:12px;font-weight:900;font-size:clamp(20px,2.1vw,28px);line-height:1.3}
.stats .note{color:#fff;text-align:center;margin-top:36px;font-size:12px}
@media (max-width:768px){
  .stats{padding-block:54px 34px}
  .stats-grid{grid-template-columns:1fr}
  .stats-item{padding:24px 0}
  .stats-item:not(:last-child){border-right:0;border-bottom:2px dashed #fff}
  .stats-big{height:auto}
  .stats .note{text-align:left}
}

/* ---------- 当クリニックでは〜／こんな方におすすめ ---------- */
/* 男女の写真は LP(clinic_img) と同じ「2枚を斜めに重ねた引きの写真」。枠の色だけ緑に */
.clinic-photos{max-width:640px;margin:34px auto 0}
.clinic-photos img{width:100%;height:auto}
.center{text-align:center}
/* おすすめ: LP と同じく右下に肩を押さえる女性。リストは1列にして右側を女性のために空ける */
.recommend{position:relative;margin-top:70px;background:var(--bg);border-radius:20px;padding:48px 56px 44px;overflow:hidden}
.recommend__woman{position:absolute;right:3%;bottom:0;width:clamp(150px,19%,210px);height:auto;pointer-events:none}
.recommend h3{text-align:center;font-size:clamp(22px,2.6vw,30px);font-weight:900;color:var(--g);margin-bottom:26px}
.recommend h3 .marker{color:var(--ink)}
.check-list{position:relative;display:grid;grid-template-columns:1fr;gap:12px;max-width:640px;margin-right:auto}
.check-list li{position:relative;background:#fff;border-radius:10px;padding:14px 18px 14px 58px;font-weight:700;line-height:1.6}
.check-list li::before{content:"";position:absolute;left:16px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--g2)}
.check-list li::after{content:"";position:absolute;left:25px;top:50%;width:10px;height:6px;margin-top:-5px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg)}
@media (max-width:900px){.check-list{max-width:none;margin-right:24%}}
@media (max-width:768px){.recommend{padding:32px 16px 150px;margin-top:48px}.check-list{margin-right:0}.check-list li{padding:12px 14px 12px 52px;font-size:15px}.recommend__woman{width:120px;right:12px}}

/* ---------- 東京肩こりクリニックとは？ ---------- */
/* 東京肩こりクリニックとは？: LP バナーの構図（白カード・左に文字・右に写真が左へ白くフェード）を踏襲 */
.usp{position:relative;display:flex;align-items:center;min-height:clamp(440px,42vw,520px);background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 10px 30px rgba(10,111,58,.08)}
.usp__photo{position:absolute;top:0;right:0;bottom:0;width:55%}
.usp__photo img{width:100%;height:100%;object-fit:cover;object-position:right center;-webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.35) 18%,#000 42%);mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.35) 18%,#000 42%)}
.usp__body{position:relative;z-index:1;width:64%;padding:44px 0 48px 52px}
.usp__title{position:relative;display:inline-block;margin-left:10px;padding:.32em 1.3em;font-size:clamp(22px,2.3vw,30px);font-weight:900;line-height:1.4;color:var(--g);background:linear-gradient(90deg,#E4F3E7,#fff);border:2px solid var(--g);transform:skewX(-12deg)}
.usp__title>span{display:inline-block;transform:skewX(12deg)}
.usp__title small{font-size:.62em;margin-left:.1em}
.usp__title::after{content:"";position:absolute;left:44%;bottom:-9px;width:15px;height:15px;background:#F2F9F3;border-right:2px solid var(--g);border-bottom:2px solid var(--g);transform:rotate(45deg)}
.usp__tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 12px}
.usp__tags li{background:var(--g2);color:#fff;font-weight:700;font-size:clamp(13px,1.3vw,16px);border-radius:8px;padding:3px 14px;line-height:1.6}
.usp__tags b{font-family:var(--en);font-weight:600;font-size:1.3em;margin:0 .06em}
.usp__lead{display:flex;align-items:flex-end;gap:12px;font-weight:900;font-size:clamp(16px,1.6vw,21px);color:var(--g)}
.usp__logo{width:clamp(200px,20vw,280px);height:auto}
.usp__lead span{padding-bottom:.35em}
.usp__copy{margin-top:12px;font-size:clamp(25px,2.9vw,40px);font-weight:900;line-height:1.62;letter-spacing:.02em}
.usp__copy .sm{font-size:.55em;font-weight:700}
@media (max-width:1000px){.usp__body{width:70%;padding-left:36px}.usp__photo{width:52%}}
@media (max-width:768px){
  .usp{display:block;min-height:0}
  .usp__photo{position:relative;width:100%;height:auto;aspect-ratio:1070/975}
  .usp__photo img{-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent);mask-image:linear-gradient(to bottom,#000 55%,transparent)}
  .usp__body{width:auto;margin-top:-44px;padding:0 18px 32px}
  .usp__title{margin-left:6px;font-size:clamp(16px,4.9vw,20px);padding:.32em .9em;white-space:nowrap}
  .usp__copy{font-size:clamp(20px,6vw,25px)}
}
.onlyone{position:relative;text-align:center;margin-top:100px}
.onlyone h3{font-size:clamp(26px,3.4vw,42px);font-weight:900;line-height:1.55;margin-top:8px}
.collab{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:36px}
/* LP と同じ構図: 左の列（ラベル→ロゴ/「医師」）を中央そろえにし、ロゴと「医師」を同じ高さの枠に入れる。右に人物の丸 */
.collab-card{flex:1 1 0;max-width:470px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;background:#fff;border:2px solid var(--g2);border-radius:20px;padding:20px 22px 20px 24px;min-height:156px}
.collab-card .l{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.collab-card .tag{align-self:stretch;text-align:center;background:var(--g);color:#fff;font-size:clamp(12px,1.2vw,15px);font-weight:700;border-radius:30px;padding:4px 12px;white-space:nowrap}
.collab-card .who{display:flex;align-items:center;justify-content:center;height:78px;font-size:clamp(36px,4vw,54px);font-weight:900;line-height:1;letter-spacing:.08em}
.collab-card .who img{width:clamp(170px,17vw,215px);height:auto}
.collab-card .avatar{width:clamp(96px,9vw,118px);height:clamp(96px,9vw,118px);flex:none;border-radius:50%;background:#EAF4EC}
.collab .x{font-family:var(--en);font-weight:300;font-size:46px;color:var(--g2);flex:none}
.onlyone .after{font-size:clamp(18px,2.2vw,27px);font-weight:900;line-height:1.7;margin-top:30px;text-wrap:balance}
/* 見出し・短い導入文は最後の1〜2文字だけが次の行に落ちないように */
h1,h2,h3,h4,.lead,.copy,.voice-item__title,.fv-ach__sub,.stats-sub{text-wrap:balance}
.onlyone .photo{width:min(380px,100%);height:auto;margin:30px auto 0;border-radius:20px}
@media (max-width:768px){.collab{flex-direction:column;gap:6px}.collab-card{width:100%}.collab .x{font-size:34px}.onlyone{margin-top:70px}}

/* ---------- 肩こり専門外来（緑帯） ---------- */
.sec--green{background:linear-gradient(150deg,#118A48 0%,#0A6F3A 60%,#07592E 100%);color:#fff}
.specialist{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;position:relative}
/* 左の文字の列は、登録商標の帯と同じく全部センターそろえ */
.specialist>div{text-align:center}
.specialist h2{font-size:clamp(24px,3vw,38px);font-weight:900;line-height:1.6;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.5);margin-bottom:22px}
.specialist p{text-align:left}
.specialist p.from,.specialist p.big{text-align:center}
.specialist .from{font-weight:700;font-size:clamp(15px,1.7vw,19px)}
.specialist .big{font-size:clamp(24px,3vw,40px);font-weight:900;line-height:1.35;color:var(--mk);margin:6px 0 18px;white-space:nowrap}
.specialist .tm{display:inline-block;background:var(--gold);color:#3D3000;font-weight:900;font-size:clamp(15px,1.8vw,20px);padding:6px 18px;border-radius:6px;margin-bottom:18px}
.specialist p{font-weight:500;line-height:1.9}
.specialist .hl{background:linear-gradient(transparent 62%,rgba(255,242,0,.55) 62%);font-weight:900}
.specialist img{width:100%;height:auto;border-radius:var(--r);box-shadow:0 12px 30px rgba(0,0,0,.25)}
@media (max-width:900px){.specialist{grid-template-columns:1fr;gap:30px}}

/* ---------- 店舗情報（からだ接骨院 shop-info の型） ---------- */
.shop-list{display:grid;gap:10px}
.shop-list li{display:flex;align-items:stretch;background:#fff}
.shop-list li>span:first-child{flex:none;width:104px;background:var(--g);color:#fff;padding:9px 6px;text-align:center;font-weight:700;display:flex;align-items:center;justify-content:center}
.shop-list li>span:last-child{padding:9px 16px;line-height:1.7}
.shop-mini{display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:center;background:var(--bg);border-radius:20px;padding:40px 44px}
.shop-mini h3{font-size:clamp(20px,2.4vw,28px);font-weight:900;color:var(--g);line-height:1.4;white-space:nowrap}
.shop-mini h3 small{display:block;font-family:var(--en);font-weight:500;letter-spacing:.14em;font-size:12px;color:var(--g2)}
@media (max-width:768px){.shop-mini{grid-template-columns:1fr;gap:18px;padding:26px 16px}.shop-list li>span:first-child{width:78px;font-size:13px}.shop-list li>span:last-child{font-size:14px;padding:8px 12px}}

/* ---------- SNS ---------- */
.sns-collage{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(10,111,58,.1);background:#fff}
.sns-tag{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:700;color:var(--g);border-bottom:1px solid var(--g)}
.sns-tag svg{width:20px;height:20px;fill:var(--g)}

/* ---------- 対応症状 ---------- */
.parts{display:grid;grid-template-columns:1fr minmax(220px,300px) 1fr;gap:26px;align-items:center;position:relative}
.parts__col{position:relative;z-index:1;display:grid;gap:30px}
.parts__body{position:relative;z-index:0}
.parts__lines{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.parts__lines line{stroke:var(--g);stroke-width:3;stroke-linecap:round}
.parts__lines circle{fill:var(--g);stroke:#fff;stroke-width:2.5}
@media (max-width:900px){.parts__lines{display:none}}
.part-card{position:relative;background:#fff;border:2px solid var(--g2);border-radius:14px;padding:30px 18px 18px}
.part-card__name{position:absolute;top:-17px;left:16px;background:var(--g);color:#fff;font-weight:900;font-size:17px;border-radius:30px;padding:3px 18px;line-height:1.6}
.sym-list{display:flex;flex-wrap:wrap;gap:8px}
/* 症状はボタンに見えないように、平らなタグ（▶・影なし）。先頭に小さな点 */
.sym-list li{position:relative;background:#EAF6EC;color:var(--g);font-weight:700;font-size:15px;line-height:1.4;padding:7px 14px 7px 26px;border-radius:30px}
.sym-list li::before{content:"";position:absolute;left:12px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--g2)}
.parts__body img{width:100%;max-width:300px;margin:0 auto}
.check-box{position:relative;margin-top:56px;border:2px solid var(--g2);border-radius:20px;padding:34px 36px;background:#fff}
.check-box h3{display:flex;align-items:center;justify-content:center;gap:10px;font-size:clamp(19px,2.3vw,26px);font-weight:900;color:var(--g);margin-bottom:20px;text-align:center}
.check-box h3 svg{width:30px;height:30px;flex:none}
.check-box__in{display:grid;grid-template-columns:260px 1fr;gap:26px;align-items:center}
.check-box__in img{border-radius:12px;width:100%;aspect-ratio:3/2;object-fit:cover}
.check-box p{font-weight:500;line-height:1.9}
@media (max-width:900px){.parts{grid-template-columns:1fr}.parts__body{order:-1}.parts__body img{max-width:220px}.check-box{padding:26px 16px}.check-box__in{grid-template-columns:1fr}}

/* ---------- 症例（BA）: からだ接骨院 case-slider の型 ---------- */
.carousel{position:relative}
.carousel__viewport{overflow:hidden;margin:0 -10px;padding:6px 10px}
.carousel__track{display:flex;transition:transform .5s ease;will-change:transform}
.carousel__slide{flex:0 0 calc(100% / var(--per,2));padding:0 15px;display:flex}
@media (max-width:1100px){.carousel{--per:2!important}}
@media (max-width:768px){.carousel{--per:1!important}.carousel__slide{padding:0 6px}}
.case-item{display:flex;flex-direction:column;gap:8px;width:100%;background:#fff;padding:26px 26px 28px;border-radius:var(--r)}
@media (max-width:768px){.case-item{padding:20px 16px 22px}}
/* 題名は2行分の高さに固定して上下中央 → 1行の題名と2行の題名が並んでも、下の表の頭がそろう */
.case-title{display:flex;align-items:center;min-height:3.2em;font-size:17px;font-weight:900;line-height:1.55;margin:12px 0 10px;text-wrap:balance}
dl.rows{display:flex;flex-wrap:wrap;gap:4px 0;margin:0}
dl.rows dt{width:93px;color:#fff;background:var(--g);padding:7px 10px;text-align:center;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;line-height:1.4}
dl.rows dd{width:calc(100% - 93px);background:var(--bg);padding:7px 12px;font-weight:600;font-size:14px;line-height:1.6}
.compare{position:relative;width:100%;aspect-ratio:5/7;background:#000;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-y;cursor:ew-resize;--pos:50%}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.compare__before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0);z-index:2}
.compare__lbl{position:absolute;top:10px;z-index:4;font-size:12px;font-weight:900;padding:3px 10px;border:2px solid var(--g);line-height:1.4}
.compare__lbl--b{left:10px;color:var(--g);background:#fff}
.compare__lbl--a{right:10px;color:#fff;background:var(--g)}
.compare__handle{position:absolute;top:0;bottom:0;left:var(--pos);z-index:5;width:44px;margin-left:-22px;border:0;background:none;padding:0;cursor:ew-resize}
.compare__handle::before{content:"";position:absolute;top:0;bottom:0;left:21px;width:2px;background:#fff}
.compare__handle::after{content:"";position:absolute;top:50%;left:50%;width:25px;height:25px;background:#fff;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 6px rgba(0,0,0,.25)}
.case-note{margin-top:30px;background:#fff;border-radius:12px;padding:18px 22px}

/* ---------- 信頼の証（Google・満足度） ---------- */
.laurel-h{display:flex;align-items:center;justify-content:center;gap:12px;font-weight:900;line-height:1.4}
.laurel-h svg{width:38px;height:78px;flex:none}
.laurel-h .t{font-size:clamp(16px,1.9vw,22px)}
.laurel-h .t span{display:block;color:var(--g);font-size:clamp(26px,3vw,38px)}
.trust{display:grid;grid-template-columns:1fr 1fr;gap:30px;position:relative}
.trust-card{background:#fff;border-radius:20px;box-shadow:0 0 12px rgba(0,0,0,.08);padding:40px 30px 30px;text-align:center}
.trust-card .score{font-family:var(--en);font-weight:600;color:var(--g);font-size:clamp(84px,10vw,128px);line-height:1;margin-top:14px}
.stars{display:flex;justify-content:center;gap:4px;margin-top:10px}
.stars svg{width:32px;height:32px}
.donut{width:min(240px,70%);margin:18px auto 0;position:relative}
.donut svg{width:100%;height:auto;display:block}
.donut .v{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.donut .v b{font-family:var(--en);font-weight:600;color:var(--g);font-size:clamp(54px,6vw,70px)}
.donut .v b small{font-size:.45em}
.donut .v span{font-size:13px;font-weight:700;margin-bottom:6px}
.trust-card .note{margin-top:14px}
@media (max-width:768px){.trust{grid-template-columns:1fr;gap:20px}}

/* ---------- お客様の声 ---------- */
/* 見出しはページ中央。スタッフの画像は見出しの左に添えるだけ（中央位置をずらさない） */
.voice-title{position:relative;display:flex;justify-content:center;align-items:flex-end;margin-bottom:44px}
.voice-title img{position:absolute;right:calc(50% + 290px);bottom:0;width:190px}
.voice-title__text{text-align:center;padding-bottom:10px}
.bubble{position:relative;display:inline-block;color:var(--g);font-weight:900;font-size:clamp(18px,2.2vw,28px);border:2px solid var(--g);border-radius:40px;padding:6px 28px;background:#fff;margin-bottom:22px}
.bubble::after{content:"";position:absolute;left:50%;bottom:-11px;width:18px;height:18px;margin-left:-9px;background:#fff;border-right:2px solid var(--g);border-bottom:2px solid var(--g);transform:rotate(45deg)}
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.voice-item{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);box-shadow:0 0 10px rgba(0,0,0,.15);overflow:hidden}
.voice-item__img{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#fff}
.voice-item__img figure{position:relative}
.voice-item__img img{width:100%;aspect-ratio:424/477;object-fit:cover;background:#F1F1F1}
.voice-item__img figcaption{position:absolute;top:8px;left:8px;font-size:11px;font-weight:900;padding:1px 8px;border:2px solid var(--g);line-height:1.5}
.voice-item__img figure:first-child figcaption{background:#fff;color:var(--g)}
.voice-item__img figure:last-child figcaption{background:var(--g);color:#fff}
.voice-item__text{padding:18px 26px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.voice-item__title{color:var(--g);font-weight:700;font-size:18px;line-height:1.4;font-family:var(--en);letter-spacing:.06em}
.voice-item__body{font-size:15px;line-height:1.85}
.amenity{display:grid;gap:26px;max-width:1000px;margin:50px auto 0}
.rental{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:20px;background:#fff;border:2px solid var(--g2);border-radius:20px;padding:26px 30px 26px 44px}
.rental__bubble{display:inline-block;position:relative;border:2px solid var(--g);border-radius:30px;padding:3px 18px;color:var(--g);font-weight:900;font-size:clamp(14px,1.4vw,17px);background:#fff;margin-bottom:10px}
.rental__bubble::after{content:"";position:absolute;left:28px;bottom:-9px;width:12px;height:12px;background:#fff;border-right:2px solid var(--g);border-bottom:2px solid var(--g);transform:rotate(45deg)}
.rental h3{font-size:clamp(26px,3.2vw,42px);font-weight:900;line-height:1.45;color:var(--ink)}
.rental h3 .marker{color:var(--g)}
.rental__txt>p:last-child{margin-top:10px;font-weight:700;font-size:clamp(14px,1.4vw,17px)}
.rental__img{width:100%;height:auto}
.pay{background:#FFFBEB;border:2px solid #F2D98A;border-radius:20px;padding:0 30px 26px;text-align:center;overflow:hidden}
.pay__ribbon{display:inline-block;margin:0 auto 20px;background:var(--g);color:#fff;font-weight:900;font-size:clamp(16px,2vw,24px);line-height:1.45;padding:12px 42px;border-radius:0 0 16px 16px}
.pay__logos{width:min(880px,100%);height:auto;margin:0 auto}
@media (max-width:768px){.rental{grid-template-columns:1fr;padding:22px 18px;text-align:center}.pay{padding:0 14px 18px}.pay__ribbon{padding:10px 16px;font-size:15px}}
@media (max-width:900px){.voice-title{gap:12px}.voice-title img{position:static;width:130px}.voice-grid{grid-template-columns:1fr;gap:20px}}
@media (max-width:560px){.voice-title{flex-direction:column;align-items:center;gap:0}.voice-title img{order:2;width:140px;margin-top:10px}.amenity-card{grid-template-columns:1fr;padding:24px 18px}}

/* ---------- キャンペーン ---------- */
.cp-head{text-align:center;margin-bottom:22px;position:relative}
.cp-card{position:relative;color:var(--ink);background:#fff;border:3px solid var(--g);border-radius:20px;overflow:hidden;box-shadow:0 10px 26px rgba(10,111,58,.14);max-width:900px;margin:0 auto}
.cp-ribbon{background:linear-gradient(180deg,#E7D48A,#C8AE55);color:#4A3700;text-align:center;font-weight:900;font-size:clamp(18px,2.2vw,24px);letter-spacing:.1em;padding:8px 10px;line-height:1.4}
.cp-body{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:24px 30px 10px}
.cp-left{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.cp-limit{background:var(--g);color:#fff;font-weight:700;font-size:15px;border-radius:30px;padding:4px 16px;white-space:nowrap}
.cp-first{font-size:clamp(18px,2vw,24px);font-weight:900;background:linear-gradient(transparent 55%,#D8EEDC 55%);line-height:1.4}
.cp-regular{font-weight:700;font-size:16px;white-space:nowrap}
.cp-regular s{font-family:var(--en);font-size:19px;text-decoration-color:var(--or2);text-decoration-thickness:2px}
.cp-center{text-align:center}
.cp-plan{font-size:clamp(24px,3vw,36px);font-weight:900;color:var(--g);line-height:1.3}
.cp-desc{font-size:13px;font-weight:700;line-height:1.5;margin-top:4px}
.cp-price{font-family:var(--en);font-weight:700;color:var(--or2);font-size:clamp(64px,8vw,98px);line-height:1;margin-top:4px;white-space:nowrap}
.cp-price .yen{font-family:var(--jp);font-weight:900;font-size:.36em}
.cp-price .tax{font-family:var(--jp);font-weight:900;font-size:.2em;vertical-align:top;margin-left:4px}
.cp-off{width:104px;height:104px;border-radius:50%;background:var(--or2);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;font-family:var(--en);font-weight:700}
.cp-off b{font-size:40px}.cp-off b small{font-size:.5em}.cp-off span{font-size:20px;margin-top:2px}
.cp-notes{text-align:center;font-size:12px;color:var(--sub);padding:0 16px 16px;line-height:1.7}
@media (max-width:768px){
  .cp-body{grid-template-columns:1fr;gap:10px;padding:18px 14px 8px;text-align:center}
  .cp-left{align-items:center}
  .cp-off{position:absolute;right:10px;top:54px;width:72px;height:72px}
  .cp-off b{font-size:26px}.cp-off span{font-size:14px}
}
.plan-wrap{margin-top:56px}
.plan-wrap h3{text-align:center;font-size:clamp(20px,2.6vw,32px);font-weight:900;line-height:1.55;margin-bottom:24px}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.plan-table{width:100%;min-width:760px;border-collapse:collapse;background:#fff;font-size:15px}
.plan-table th,.plan-table td{border:1px solid #D9E4DE;padding:12px 14px;vertical-align:middle;line-height:1.55}
.plan-table thead th{background:var(--g);color:#fff;font-weight:700;text-align:left;white-space:nowrap}
.plan-table thead th small{display:block;font-size:11px;font-weight:500}
.plan-table td.menu{font-weight:900;color:var(--g);background:#F7FBF8}
.plan-table td.menu small{display:block;font-weight:500;color:var(--sub);font-size:12px;margin-top:4px}
.plan-table td.price{white-space:nowrap;font-family:var(--en);font-weight:600;text-align:center}
.plan-table td.price s{text-decoration-color:var(--or2);text-decoration-thickness:2px}
.plan-table td.first{background:#FFFBE3;text-align:center;width:170px}
.plan-table td.first .limit{display:inline-flex;align-items:center;justify-content:center;text-align:center;background:var(--or2);color:#fff;font-weight:900;font-size:17px;border-radius:50%;width:104px;height:104px;line-height:1.35;padding:0;letter-spacing:.04em}
.plan-table td.first .p{display:block;font-family:var(--en);font-weight:700;color:var(--or2);font-size:34px;line-height:1.2;margin-top:10px}
.plan-table td.first .n{display:block;font-size:11px;line-height:1.6;color:var(--sub);text-align:left;margin-top:14px}
.plan-notes{margin-top:12px}
/* SPでは料金表を部位ごとのカードに組み替える（表は横スクロールになって読みにくいため。中身は表と同じ） */
.plan-sp{display:none}
.plan-sp__price{background:#FFFBE3;border:2px solid var(--or2);border-radius:14px;padding:14px 16px;text-align:center;margin-bottom:14px}
.plan-sp__price .l{display:inline-block;background:var(--or2);color:#fff;font-weight:900;font-size:13px;border-radius:20px;padding:1px 12px}
.plan-sp__price .reg{font-weight:700;margin-top:6px}
.plan-sp__price .reg s{font-family:var(--en);text-decoration-color:var(--or2);text-decoration-thickness:2px}
.plan-sp__price .p{font-family:var(--en);font-weight:700;color:var(--or2);font-size:40px;line-height:1.1}
.plan-sp__price .p small{font-family:var(--jp);font-size:14px;font-weight:900}
.plan-sp__price .n{font-size:11px;color:var(--sub);text-align:left;margin-top:6px;line-height:1.6}
.plan-sp__grp{background:#fff;border:1px solid #D9E4DE;border-radius:12px;overflow:hidden;margin-top:10px}
.plan-sp__menu{background:var(--g);color:#fff;font-weight:900;padding:8px 14px;line-height:1.45;font-size:15px}
.plan-sp__menu small{display:block;font-weight:500;font-size:11px;opacity:.9}
.plan-sp__grp dl{display:grid;grid-template-columns:100px 1fr;margin:0}
.plan-sp__grp dt{font-weight:900;color:var(--g);background:#F7FBF8;padding:8px 10px;border-top:1px solid #E2E8E4;font-size:14px}
.plan-sp__grp dd{padding:8px 12px;border-top:1px solid #E2E8E4;font-size:14px;line-height:1.55}
.plan-sp__grp dd small{display:block;color:var(--sub);font-size:12px}
.scroll-hint{display:none;text-align:right;font-size:12px;font-weight:700;color:var(--g);margin-bottom:6px}
@media (max-width:768px){.plan-wrap .table-scroll{display:none}.plan-sp{display:block}.scroll-hint{display:block}}
/* LP と同じ: 見出しの帯を上に、本文は中央そろえ3行。「キャンペーンを終了」「是非お早めに…」を強調 */
.notice{position:relative;max-width:900px;margin:40px auto 0;background:#fff;border:3px solid var(--or2);border-radius:16px;overflow:hidden;text-align:center}
.notice h4{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--or2);color:#fff;font-weight:900;font-size:clamp(16px,1.7vw,20px);padding:6px 10px}
.notice h4 svg{width:22px;height:22px}
.notice h4 svg path{fill:#fff}
.notice p{padding:16px 18px 20px;font-weight:700;line-height:2;font-size:clamp(13px,1.35vw,16px)}
.notice .mk{background:var(--or2);color:#fff;padding:1px 6px;margin:0 2px}
.notice .big{display:inline-block;font-size:1.4em;font-weight:900;color:var(--or2);background:linear-gradient(transparent 60%,var(--mk) 60%);line-height:1.5}
.cta-full{background:#fff}
.cta-mini{background:#fff;padding-block:70px}
.cta-mini .cp-card{max-width:820px}

/* ---------- アプローチ ---------- */
.video-card{position:relative;max-width:760px;margin:0 auto;border-radius:20px;overflow:hidden;background:#000;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.video-card video{width:100%;aspect-ratio:3/2;object-fit:cover}
.video-card .vlabel{position:absolute;left:14px;top:14px;z-index:2;background:var(--g);color:#fff;font-weight:700;font-size:14px;border-radius:30px;padding:4px 16px}
.spray{max-width:760px;margin:30px auto 0;display:grid;grid-template-columns:88px 1fr;gap:20px;align-items:center;background:#fff;border:2px dashed var(--g2);border-radius:20px;padding:22px 28px}
.spray .ico{width:88px;height:88px;border-radius:50%;background:var(--bg);display:grid;place-items:center}
.spray .ico svg{width:50px;height:50px}
.spray h3{font-size:clamp(20px,2.4vw,26px);font-weight:900;color:var(--g);line-height:1.4}
.spray p{font-weight:700}
.spray small{font-size:12px;color:var(--sub);font-weight:500}
.problem-grid{display:flex;justify-content:space-between;gap:24px;margin-top:56px}
.problem-item{width:calc((100% - 48px) / 3);display:flex;flex-direction:column}
.problem-title{position:relative;font-size:1.1rem;font-weight:900;margin-bottom:18px}
.step-label{position:absolute;top:50%;left:0;transform:translateY(-50%);z-index:2;width:74px;height:74px;border:2px solid #fff;border-radius:50%;background:var(--gold);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--en);font-weight:700;font-size:12px;line-height:1.25;text-align:center}
.step-label span{display:block;font-size:26px;line-height:1}
/* 帯は3つとも2行分の高さにそろえ、文字は上下中央（1行・2行が混ざっても帯の高さと下の本文の頭がそろう） */
.problem-title-text{display:flex;align-items:center;justify-content:center;min-height:3.6em;margin-left:22px;padding:6px 14px 6px 60px;background:var(--g2);color:#fff;border-radius:40px;text-align:center;line-height:1.45;font-size:1rem;text-wrap:balance}
.problem-item p{line-height:1.8;padding:0 10px;font-size:15px}
.problem-item p strong{color:var(--g);background:linear-gradient(transparent 62%,#DDF0E1 62%)}
.problem-item>img{width:210px;height:210px;margin:0 auto 18px;border-radius:50%;border:6px solid #fff;box-shadow:0 0 0 3px var(--g2),0 10px 24px rgba(10,111,58,.12);object-fit:cover}
@media (max-width:900px){.problem-grid{flex-direction:column;gap:40px}.problem-item{width:100%}.spray{grid-template-columns:1fr;text-align:center;justify-items:center;padding:22px 16px}}

/* ---------- 比較表 ---------- */
.compare-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;font-size:14px;background:#fff}
.compare-table th,.compare-table td{padding:16px 14px;text-align:center;vertical-align:middle;border-bottom:1px solid #E2E8E4;line-height:1.6}
.compare-table thead th{font-size:17px;font-weight:900;padding:18px 10px;border-bottom:0}
.compare-table thead th.hi{background:var(--g);color:#fff;border-radius:14px 14px 0 0;font-size:19px}
.compare-table thead th.lo{background:#E3E9E5;color:var(--ink)}
.compare-table tbody th{width:118px;background:var(--bg);font-weight:700;color:var(--g)}
.compare-table tbody th svg{display:block;width:26px;height:26px;margin:0 auto 4px;fill:none;stroke:var(--g);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.compare-table td.hi{background:#EAF6ED;border-left:3px solid var(--g);border-right:3px solid var(--g);font-weight:700}
.compare-table tbody tr:last-child td.hi{border-bottom:3px solid var(--g);border-radius:0 0 14px 14px}
.compare-table td .sym{display:block;width:40px;height:40px;margin:0 auto 8px}
.compare-table td.hi u{text-decoration:none;background:linear-gradient(transparent 62%,var(--mk) 62%)}
.compare-table td.lo{color:var(--sub)}

/* ---------- 肩甲骨はがし（緑帯） ---------- */
.hagashi{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;position:relative}
.hagashi .video-card{max-width:none}
.hagashi .lead-top{display:inline-block;background:#fff;color:var(--g);font-weight:900;font-size:clamp(15px,1.7vw,19px);border-radius:30px;padding:4px 18px}
.hagashi h2{font-size:clamp(22px,2.8vw,34px);font-weight:500;letter-spacing:.12em;line-height:1.65;margin:18px 0 16px}
.hagashi h2 b{font-weight:900;color:var(--mk)}
.hagashi p{font-weight:600;line-height:1.9}
@media (max-width:900px){.hagashi{grid-template-columns:1fr;gap:28px}.hagashi h2{letter-spacing:.04em}}

/* ---------- 医者が本気で… ---------- */
/* LP と同じ構図: 左に白衣の医師（セクション下端に接地）、右に見出し → 3枚の写真の式 → 予約の一言 */
.push-sec{padding-top:56px;padding-bottom:0}
@media (max-width:768px){.push-sec{padding-top:44px}}
.push{display:grid;grid-template-columns:minmax(220px,30%) 1fr;gap:28px;align-items:end}
.push__doctor{width:100%;height:auto;align-self:end}
.push__body{padding-bottom:70px;min-width:0}
.push__body .sec-head{margin-bottom:34px}
/* 写真は丸く切らない（LP も四角）。3枚とも同じ高さで、横幅は元の縦横比のまま＝どこも欠けない */
.formula{display:flex;align-items:center;justify-content:center;gap:12px}
.formula figure{flex:none;display:flex;flex-direction:column;background:var(--g);border-radius:12px;overflow:hidden;box-shadow:0 8px 20px rgba(10,111,58,.14)}
.formula img{display:block;height:clamp(118px,11.5vw,150px);width:auto;background:#fff}
.formula figcaption{color:#fff;font-weight:900;text-align:center;padding:6px 8px;font-size:clamp(13px,1.2vw,15px);line-height:1.4}
.formula figure.is-plan{background:var(--or2)}
.formula .op{font-family:var(--en);font-weight:300;color:var(--g2);font-size:48px;line-height:1;flex:none}
.open-banner{position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:40px;background:#fff;border-radius:24px;padding:0 24px 0 36px;overflow:hidden;box-shadow:0 8px 24px rgba(10,111,58,.08)}
.open-banner .t{padding-block:28px;font-size:clamp(18px,1.9vw,26px);font-weight:900;line-height:1.55}
.open-banner .t .nw{white-space:nowrap}
.open-banner .t .o{color:var(--or2)}
.open-banner .t .btn{margin-top:16px;font-size:16px}
.open-banner img{width:clamp(150px,17vw,210px)}
@media (max-width:1000px){.formula img{height:clamp(96px,11vw,130px)}}
@media (max-width:768px){
  .push{grid-template-columns:1fr;gap:0}
  .push__body{padding-bottom:10px}
  .push__doctor{order:2;width:150px;justify-self:center}
  .formula{gap:6px}
  .formula img{height:clamp(52px,16.5vw,86px)}
  .formula figcaption{font-size:11px;padding:4px 4px}
  .formula .op{font-size:26px}
  .open-banner{grid-template-columns:1fr;padding:0 18px}.open-banner img{justify-self:center;width:150px}
}

/* ---------- メカニズム / 答え ---------- */
.mech{display:grid;grid-template-columns:1fr 1fr;gap:30px;position:relative}
.mech-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 0 12px rgba(0,0,0,.08);display:flex;flex-direction:column}
.mech-card img{width:100%;aspect-ratio:790/710;object-fit:contain;background:#fff}
.mech-card__b{padding:24px 28px 30px}
.mech-card h3{font-size:21px;font-weight:900;color:var(--g);padding-left:14px;border-left:5px solid var(--g2);line-height:1.4;margin-bottom:12px}
.mech-card p{font-size:15px;line-height:1.9}
.mech-card p+p{margin-top:10px}
.mech-card strong{background:linear-gradient(transparent 62%,var(--mk) 62%)}
.answer{background:var(--g2);color:#fff;text-align:center;padding-block:96px 70px;position:relative;overflow:hidden}
/* LP の answer_copy と同じ構図: 中央の箱の左上に女性、右下に男性の丸写真を重ねる */
.answer .nw{white-space:nowrap}
.answer .sm{font-size:.78em}
.answer__box{position:relative;max-width:800px;margin:0 auto;padding:40px 100px;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.65);border-radius:18px}
.answer__ph{position:absolute;width:136px;height:136px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.answer__ph--l{left:-44px;top:-48px;object-position:62% 40%}
.answer__ph--r{right:-44px;bottom:-48px;object-position:55% 30%}
.answer p{position:relative;font-size:clamp(20px,2.6vw,34px);font-weight:900;line-height:1.6}
@media (max-width:768px){
  .answer{padding-block:80px 56px}
  .answer__box{padding:62px 14px 62px}
  .answer__ph{width:96px;height:96px}
  .answer__ph--l{left:-4px;top:-40px}.answer__ph--r{right:-4px;bottom:-40px}
  .answer p{font-size:clamp(19px,5.6vw,24px)}
}
/* 「筋肉の癒着」が…の帯（LP の approach_copy と同じ構図: 左に男女の丸写真・下向きの吹き出し） */
.ph-band{position:relative;display:flex;align-items:center;max-width:840px;margin:0 auto 48px;min-height:180px;padding:28px 36px 28px 220px;background:linear-gradient(135deg,var(--g3),var(--g));color:#fff;border-radius:18px;box-shadow:0 10px 26px rgba(10,111,58,.18)}
.ph-band::after{content:"";position:absolute;left:50%;bottom:-20px;margin-left:-18px;border-top:22px solid var(--g);border-left:18px solid transparent;border-right:18px solid transparent}
.ph-band__ph{position:absolute;left:-30px;top:50%;width:236px;height:236px;transform:translateY(-50%)}
.ph-band__ph img{position:absolute;width:132px;height:132px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.ph-band__ph img:first-child{left:0;top:0;object-position:62% 40%}
.ph-band__ph img:last-child{left:84px;bottom:0;object-position:55% 30%}
.ph-band__txt{font-size:clamp(17px,1.9vw,23px);font-weight:700;line-height:1.75}
.ph-band__txt .q{font-size:1.12em;font-weight:900}
.ph-band__txt b{color:var(--mk);font-size:1.4em;font-weight:900}
.ph-band__txt small{font-size:.62em;font-weight:700}
@media (max-width:768px){
  .ph-band{display:block;margin-top:70px;padding:78px 16px 24px;text-align:center}
  .ph-band__ph{left:50%;top:-58px;width:196px;height:112px;transform:translateX(-50%)}
  .ph-band__ph img{width:104px;height:104px}
  .ph-band__ph img:first-child{left:0;top:0}.ph-band__ph img:last-child{left:92px;top:8px;bottom:auto}
}
.answer p .x{font-family:var(--en);font-weight:300;margin:0 .2em}
.answer .chev{display:flex;flex-direction:column;align-items:center;margin-top:18px}
.answer .chev i{display:block;width:26px;height:26px;border-right:4px solid #fff;border-bottom:4px solid #fff;transform:rotate(45deg);margin-top:-10px;opacity:.9}
.answer .chev i:nth-child(2){opacity:.6}.answer .chev i:nth-child(3){opacity:.3}
@media (max-width:768px){.mech{grid-template-columns:1fr;gap:20px}.mech-card__b{padding:20px 18px 24px}}

/* ---------- 治療について ---------- */
.tx-lead{max-width:820px;margin:0 auto;font-size:17px;font-weight:500;line-height:2;text-align:center}
.tx-lead em,.tx-body em{font-style:normal;font-weight:900;background:linear-gradient(transparent 62%,var(--mk) 62%)}
.tx-anim{max-width:900px;margin:34px auto 0;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.echo{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px;margin:26px auto 0}
.echo figure{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.06)}
.echo figcaption{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-weight:700;color:var(--g)}
.echo figcaption span{font-family:var(--en);font-size:12px;letter-spacing:.14em;color:var(--g2)}
.effects-h{text-align:center;font-size:clamp(20px,2.5vw,30px);font-weight:900;line-height:1.55;margin:80px 0 30px}
.effects{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.effect__box{background:var(--g);color:#fff;padding:8px;aspect-ratio:230/150}
.effect__box div{border:1px solid #fff;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}
.effect__box small{font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.16em;opacity:.85}
.effect__box b{font-size:clamp(18px,2vw,24px);font-weight:900}
.effect p{margin-top:14px;font-size:15px;line-height:1.85}
.effect p em{font-style:normal;font-weight:900;color:var(--g)}
.tx-body{max-width:900px;margin:34px auto 0;background:#fff;border-radius:16px;padding:26px 30px;line-height:1.95}
.hagashi-about{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
.hagashi-about img{width:100%;border-radius:16px;aspect-ratio:790/546;object-fit:cover;background:#fff}
@media (max-width:900px){.effects{grid-template-columns:1fr 1fr;gap:14px}.effect__box{aspect-ratio:auto;min-height:110px}.echo,.hagashi-about{grid-template-columns:1fr}.tx-body{padding:20px 16px}.tx-lead{text-align:left}}

/* ---------- 流れ（からだ接骨院 flow の型） ---------- */
.bg-flow{background:linear-gradient(to bottom,#fff 0%,#fff 11%,var(--bg) 15%,var(--bg) 100%)}
.flow-wrapper{position:relative;display:grid;gap:30px}
.flow-item{display:flex;background:#fff;border-radius:var(--r);overflow:hidden}
.flow-item>img{width:35%;max-width:320px;object-fit:cover;aspect-ratio:3/2}
.flow-item__content{flex:1;padding:22px 32px}
.flow-item__title{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--g2);margin-bottom:14px;padding-bottom:6px;flex-wrap:wrap}
.flow-item__title .num{font-family:var(--en);color:var(--g2);font-size:clamp(32px,3.2vw,40px);font-weight:700;line-height:1.1}
.flow-item__title .text{font-size:clamp(20px,2vw,26px);font-weight:900;color:var(--g);line-height:1.35}
.flow-item__title .time{margin-left:auto;background:var(--bg);color:var(--g);font-weight:700;font-size:14px;border-radius:20px;padding:2px 14px;white-space:nowrap}
.flow-item__text{line-height:1.75;font-weight:600}
@media (max-width:768px){
  .flow-item{flex-direction:column;background:none;overflow:visible}
  .flow-item>img{width:62%;display:block;margin:0 auto;border-radius:15px;position:relative;z-index:2}
  .flow-item__content{padding:62px 18px 24px;margin-top:-46px;border-radius:15px;background:#fff}
}

/* ---------- 4つのメリット（からだ接骨院 reason の型） ---------- */
.reason-h{position:relative;text-align:center;font-weight:500;color:var(--g);font-size:clamp(20px,2.4vw,30px);line-height:1.5;margin-bottom:30px}
.reason-h b{font-weight:900;font-size:1.3em}
.reason-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.reason-item__box{background:var(--g);color:#fff;padding:8px;aspect-ratio:230/200}
.reason-item__box div{border:1px solid #fff;display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;gap:8px;text-align:center;padding:6px}
.reason-item__box .lbl{font-family:var(--en);font-weight:600;font-size:clamp(12px,1.4vw,20px)}
.reason-item__box .lbl span{font-size:1.5em}
.reason-item__box p{font-weight:900;font-size:clamp(14px,1.6vw,19px);line-height:1.45}
.reason-item__box p .y{color:var(--mk)}
.reason-item>p{margin-top:14px;font-size:15px;line-height:1.8}
@media (max-width:900px){.reason-grid{grid-template-columns:1fr 1fr;gap:16px 12px}.reason-item__box{aspect-ratio:auto;min-height:150px}}

/* ---------- トータルケア ---------- */
.tc-top{position:relative;text-align:center}
.tc-top img{width:260px;margin:0 auto}
.tc-top .partner{font-size:clamp(24px,3.2vw,40px);font-weight:900;line-height:1.4;margin-top:6px}
.tc-top .partner small{font-size:.4em;font-weight:700;vertical-align:.8em;margin-left:-.2em}
/* LP と同じく、ラベル（予防/医療）は写真の上。写真は2枚とも同じ高さで、横幅は元の比率のまま（どこも欠けない） */
.tc-flow{display:flex;justify-content:center;align-items:flex-end;gap:14px;margin:34px auto 0}
.tc-flow figure{display:flex;flex-direction:column;align-items:center;min-width:0}
.tc-flow img{display:block;height:clamp(220px,23vw,310px);width:auto;max-width:100%;border-radius:16px}
.tc-flow figcaption{order:-1;margin-bottom:10px;font-weight:900;color:var(--g);font-size:clamp(24px,2.6vw,32px);line-height:1.2}
.tc-flow figcaption small{font-size:.5em;font-weight:700;margin-left:8px;color:var(--ink)}
.tc-flow .arr{display:flex;gap:2px;align-self:center;margin-top:44px}
.tc-flow .arr i{width:0;height:0;border-left:16px solid var(--g2);border-top:14px solid transparent;border-bottom:14px solid transparent}
.tc-flow .arr i+i{opacity:.55}
.tc-total{text-align:center;font-size:clamp(22px,3vw,38px);font-weight:900;line-height:1.6;margin-top:30px}
.tc-total .one{display:inline-block;background:var(--g);color:#fff;padding:2px 18px;margin:0 6px;letter-spacing:.1em}
/* 傍点は緑の箱の中に白で（箱の外に出すと箱の縁に隠れていた） */
.tc-total .one{padding:.3em .5em .06em;line-height:1.5}
.tc-total .one .dot::before{color:#fff;top:-.2em;font-size:.22em}
/* LP と同じく、文章は左・右下にストレッチする女性（左と上へ白くフェード） */
.tc-purpose{position:relative;max-width:1000px;margin:70px auto 0;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 28px rgba(10,111,58,.1)}
.tc-purpose__img{position:absolute;right:0;bottom:0;width:40%;height:auto;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 30%);mask-image:linear-gradient(to right,transparent 0,#000 30%)}
.tc-purpose__txt{position:relative;width:64%;padding:44px 0 44px 48px}
.tc-purpose h3{font-size:clamp(20px,2.3vw,28px);font-weight:900;line-height:1.65;margin-bottom:22px}
.tc-purpose h3 strong{color:var(--g)}
.tc-purpose p{line-height:1.95}
.tc-purpose p+p{margin-top:14px}
.tc-purpose em{font-style:normal;font-weight:900;background:linear-gradient(transparent 62%,var(--mk) 62%)}
@media (max-width:768px){
  .tc-flow{flex-direction:column;align-items:center}
  .tc-flow img{height:auto;width:100%}
  .tc-flow .arr{transform:rotate(90deg);margin:0}
  .tc-purpose__txt{width:auto;padding:26px 18px 0}
  .tc-purpose__img{position:relative;width:78%;margin-left:auto;display:block;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 25%);mask-image:linear-gradient(to bottom,transparent 0,#000 25%)}
}

/* ---------- メッセージ ---------- */
.message{position:relative;text-align:center}
.message .from{display:block;font-weight:900;color:var(--g);letter-spacing:.14em;font-size:clamp(20px,2vw,26px);line-height:1.4;margin-bottom:8px}
.message__body{position:relative;margin-top:10px;font-size:17px;line-height:2.25;font-weight:500}
.message__body p+p{margin-top:22px}
.message__body strong{color:var(--g);font-weight:900}
@media (max-width:768px){.message__body{font-size:15px;line-height:2.1;text-align:left}}

/* ---------- FAQ（からだ接骨院の型） ---------- */
.faq-list{max-width:1000px;margin:0 auto;position:relative}
.faq-q{width:100%;display:flex;align-items:center;gap:16px;border:0;background:transparent;cursor:pointer;text-align:left;position:relative;margin-bottom:15px;padding:0}
.faq-qNum,.faq-aNum{flex:none;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--ro);font-weight:900;font-size:28px;color:#fff}
.faq-qNum{background:var(--g)}.faq-aNum{background:var(--a)}
.faq-qText{flex:1;background:var(--bg);border-radius:40px;padding:15px 56px 15px 30px;font-size:clamp(15px,1.5vw,18px);font-weight:900;color:var(--g);line-height:1.5}
.faq-icon{position:absolute;right:22px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:var(--g)}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;inset:0;margin:auto;background:currentColor}
.faq-icon::before{width:20px;height:2px}.faq-icon::after{width:2px;height:20px;transition:opacity .2s}
.faq-q[aria-expanded="true"] .faq-icon::after{opacity:0}
.faq-a{display:flex;align-items:flex-start;gap:40px;margin-bottom:28px;line-height:1.8}
.faq-a[hidden]{display:none!important}
.faq-aInner{flex:1;padding-top:14px}
.faq-aInner p+p{margin-top:8px}
@media (max-width:768px){.faq-qNum,.faq-aNum{width:40px;height:40px;font-size:20px}.faq-q{gap:10px}.faq-qText{padding:10px 40px 10px 18px}.faq-icon{right:14px;width:12px;height:12px}.faq-icon::before{width:12px}.faq-icon::after{height:12px}.faq-a{gap:10px;font-size:15px}.faq-aInner{padding-top:6px}}

/* ---------- 最後のキャンペーン（緑） ---------- */
.campaign-sec{background:
   radial-gradient(40% 50% at 10% 10%,rgba(255,255,255,.16),transparent 70%),
   radial-gradient(35% 45% at 90% 80%,rgba(190,228,120,.22),transparent 70%),
   linear-gradient(160deg,#2FA24B 0%,#128447 50%,#0A6F3A 100%);color:#fff}
.campaign-sec .slash{color:#fff}
.campaign-sec .notice{color:var(--ink)}

/* ---------- アクセス ---------- */
.access{display:grid;grid-template-columns:1fr 1fr;gap:36px;position:relative}
.access h3{font-size:clamp(22px,2.6vw,32px);font-weight:900;border-bottom:1px solid var(--g2);padding-bottom:16px;margin-bottom:20px}
.access .shop-list li{background:var(--bg)}
.hours{width:100%;border-collapse:collapse;margin-top:22px;text-align:center;background:#fff}
.hours th,.hours td{border:1px solid #D9E4DE;padding:9px 4px;font-size:14px}
.hours thead th{background:var(--g);color:#fff;font-weight:700}
.hours tbody th{background:var(--bg);font-weight:700;white-space:nowrap}
.hours td{color:var(--g2);font-weight:900;font-size:18px}
.access__photos{display:grid;gap:14px}
.access__photos figure{display:grid;grid-template-columns:48% 1fr;gap:14px;align-items:center;background:var(--bg);border-radius:14px;overflow:hidden}
.access__photos img{width:100%;height:auto}
.access__photos figcaption{font-weight:700;font-size:15px;line-height:1.7;padding-right:14px}
.access__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.access__btns .btn{min-width:0;flex:1 1 220px;font-size:16px}
@media (max-width:900px){.access{grid-template-columns:1fr}}

/* ---------- フッター ---------- */
.site-footer{background:var(--g);color:#fff;text-align:center;padding-block:56px 36px}
.site-footer .logo{width:280px;margin:0 auto}
.site-footer .addr{margin-top:18px;font-size:14px;line-height:1.8}
.ft-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:30px;font-weight:700;font-size:14px}
.ft-nav a:hover{text-decoration:underline}
.site-footer .copy{margin-top:34px;font-size:12px;opacity:.75;font-family:var(--en);letter-spacing:.06em}

/* SNSアイコン（旧STUDIOサイトと同じ5つ。LINE/TikTokは画像、他はSVG） */
.ft-sns{display:flex;justify-content:center;align-items:center;gap:14px;margin:0 0 34px;padding:0;list-style:none}
.ft-sns a{display:flex;align-items:center;justify-content:center;width:30px;height:30px;transition:opacity .2s}
.ft-sns a:hover{opacity:.7}
.ft-sns img,.ft-sns svg{display:block;width:30px;height:30px}

/* ==========================================================================
   2026-09-25 小松さん指摘分（上の定義を上書き）
   ========================================================================== */
.nw{white-space:nowrap}

/* 症例: スライダーをやめて2枚を固定で並べる */
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,440px));justify-content:center;gap:30px}
.case-grid>li{display:flex}
@media (max-width:768px){.case-grid{grid-template-columns:1fr;gap:20px}}
/* 注射直後の見た目（単体のクリエイティブ） */
.neck{max-width:1040px;margin:70px auto 0;background:#fff;border-radius:24px;padding:0 30px 30px;box-shadow:0 10px 30px rgba(10,111,58,.08);text-align:center}
.neck__title{display:inline-block;margin:0 auto 26px;background:linear-gradient(100deg,var(--g) 0%,var(--g3) 100%);color:#fff;font-weight:900;font-size:clamp(20px,2.6vw,34px);line-height:1.4;padding:14px 44px;border-radius:0 0 18px 18px;letter-spacing:.04em}
.neck__title span{font-size:1.05em}
.neck__title b{color:var(--mk);font-size:1.12em;margin:0 .06em}
.neck__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.neck__grid figure{margin:0;border-radius:16px;overflow:hidden;border:2px solid #DDE9E0}
.neck__grid img{display:block;width:100%;height:auto}
.neck__note{text-align:left;margin-top:18px}
@media (max-width:768px){.neck{padding:0 12px 18px}.neck__title{padding:10px 16px;font-size:18px}.neck__grid{grid-template-columns:1fr;gap:12px}}

/* Google 高評価: 4.7 と星を、右の満足度の円（約240px）と同じ存在感に */
.trust-card{display:flex;flex-direction:column;align-items:center}
.trust-card .score{font-size:clamp(110px,13vw,168px);margin-top:18px;letter-spacing:-.01em}
.stars{gap:6px;margin-top:14px}
.stars svg{width:46px;height:46px}
.trust-card .note{margin-top:auto;padding-top:14px}
/* 4.7＋星を、右の満足度の円と同じ位置（見出しと注釈の間の真ん中）に */
.score-mid{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:250px}
.score-mid .score{margin-top:0}

/* 上記以外の違和感もご相談ください／しっかりと事前評価: 見出しとコーションを大きく、写真と本文を半々に */
.check-box{padding:40px 44px}
.check-box h3{font-size:clamp(22px,2.8vw,32px);gap:14px;margin-bottom:26px}
.check-box h3 svg{width:42px;height:42px}
.check-box__in{grid-template-columns:minmax(0,38%) 1fr;gap:34px}
.check-box__in img{aspect-ratio:auto;height:auto}
.check-box p{font-size:15px}
@media (max-width:900px){.check-box{padding:26px 16px}.check-box__in{grid-template-columns:1fr}}

/* 麻酔スプレー: LP と同じく左に大きなコピー・右に丸写真。全体を中央に */
.spray{display:flex;align-items:center;justify-content:center;gap:40px;max-width:900px;margin:40px auto 0;padding:34px 44px;background:linear-gradient(120deg,#F3FAF5,#fff);border:2px solid var(--g2);border-radius:24px}
.spray__txt{text-align:left}
.spray h3{font-size:clamp(34px,4.6vw,58px);font-weight:900;color:var(--g);line-height:1.3;letter-spacing:.04em}
.spray h3 .c{display:inline-grid;place-items:center;width:1.45em;height:1.45em;margin-right:.08em;border-radius:50%;background:var(--g2);color:#fff}
.spray h3 small{font-size:.5em;color:var(--ink);margin-left:.1em}
.spray p{margin-top:16px;font-size:clamp(16px,1.8vw,22px);font-weight:900;line-height:1.7;color:var(--ink)}
.spray p .hl{background:var(--g);color:#fff;padding:1px 8px;margin-right:2px}
.spray p b{color:var(--g)}
.spray p.sm{margin-top:4px;font-size:13px;font-weight:500;color:var(--sub);text-align:right}
.spray__img{flex:none;width:clamp(200px,24vw,270px);height:auto;border-radius:50%;box-shadow:0 0 0 8px #fff,0 0 0 10px #D6E8DA}
@media (max-width:768px){.spray{flex-direction:column-reverse;gap:20px;padding:26px 16px}.spray__txt{text-align:center}.spray p.sm{text-align:center}.spray__img{width:180px}}

/* POINT01〜03: 1つずつ白いカードに入れて境目をはっきり */
.problem-grid.is-card{align-items:stretch}
.problem-grid.is-card .problem-item{background:#fff;border:2px solid #D6E8DA;border-radius:18px;padding:22px 18px 24px;box-shadow:0 6px 18px rgba(10,111,58,.06)}
.problem-grid.is-card .problem-title{margin-left:-6px}
.problem-grid.is-card .problem-title-text{font-size:.92rem;padding:6px 10px 6px 58px;letter-spacing:-.01em}
.problem-grid.is-card{gap:20px}

/* 肩甲骨はがし（緑帯）: 見出しは3行固定 */
.hagashi h2{font-size:clamp(20px,2.4vw,31px);letter-spacing:.08em}

/* 医者が本気で…: 見出しは2列にまたがって上。医師は写真の式の段から下に置く（上の空白をなくす） */
.push{grid-template-columns:minmax(220px,28%) 1fr;grid-template-areas:"head head" "doc formula" "doc banner";column-gap:28px;row-gap:0;align-items:start}
.push__body{display:contents}
.push__body .sec-head{grid-area:head;margin-bottom:30px}
.push .formula{grid-area:formula}
.push .open-banner{grid-area:banner;margin-bottom:60px}
.push__doctor{grid-area:doc;align-self:end;max-height:520px;width:auto;max-width:100%;justify-self:center}
@media (max-width:768px){.push .sec-head h2{font-size:clamp(17px,5.1vw,22px)}.push{grid-template-columns:1fr;grid-template-areas:"head" "formula" "banner" "doc"}.push .open-banner{margin-bottom:10px}.push__doctor{max-height:300px}}

/* 「筋肉の癒着」が…の帯: 写真を大きく、文字は右の空きの中央に */
.ph-band{padding:30px 40px 30px 300px;min-height:230px;max-width:900px}
.ph-band__ph{left:-40px;width:320px;height:300px}
.ph-band__ph img{width:180px;height:180px}
.ph-band__ph img:first-child{left:0;top:0;object-position:center}
.ph-band__ph img:last-child{left:120px;top:auto;bottom:0;object-position:center}
.ph-band__txt{flex:1;text-align:center}
/* LP の approach_copy と同じ比率: 写真2枚は帯の左側の中（上に少しはみ出す）、文字は左そろえで帯の右側いっぱい。2行目がいちばん大きい */
.ph-band{max-width:1000px;min-height:250px;padding:34px 44px 34px 330px;margin-top:70px}
.ph-band__ph{left:28px;top:-40px;transform:none;width:300px;height:330px}
.ph-band__ph img{width:190px;height:190px}
.ph-band__ph img:first-child{left:0;top:0}
.ph-band__ph img:last-child{left:110px;top:auto;bottom:0}
/* 男女の写真: 斜めの重ねをやめ、引きの写真2枚を横並び（高さそろえ・枠なし） */
.clinic-photos{display:flex;justify-content:center;gap:18px;max-width:1000px;margin:34px auto 0}
.clinic-photos img{height:clamp(260px,32vw,420px);width:auto;max-width:calc(50% - 9px);border-radius:16px;box-shadow:0 8px 24px rgba(10,111,58,.1)}
@media (max-width:768px){.clinic-photos{flex-direction:row;gap:8px}.clinic-photos img{height:auto;width:calc(50% - 4px);max-width:none;border-radius:12px}}
/* こんな方におすすめ: 文字を大きく */
.recommend .check-list li{font-size:clamp(17px,1.8vw,21px);padding:16px 20px 16px 62px}
.check-list li::before{width:32px;height:32px;margin-top:-16px}
.check-list li::after{left:26px}
.check-list{max-width:700px;gap:14px}
/* 肩こり専門外来の写真（高解像度に差し替え） */
.specialist img{aspect-ratio:auto}
/* 店舗情報（簡易）: LP と同じく左に地図・右に情報 */
.shop-mini{grid-template-columns:1fr 1fr;grid-template-areas:"h h" "map info";gap:24px 36px;padding:40px 44px;background:#fff;border:2px solid #D6E8DA}
.shop-mini__h{grid-area:h;text-align:center}
.shop-mini__map{grid-area:map}
.shop-mini__info{grid-area:info;align-self:center}
.shop-mini__name{font-size:clamp(22px,2.4vw,30px);font-weight:900;margin-bottom:14px}
.map-embed{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:#E7EFEA}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:768px){.shop-mini{grid-template-columns:1fr;grid-template-areas:"h" "map" "info";padding:26px 16px}}
/* 医者が本気で…: 医師を大きく、左の列を上から下まで使う（LP と同じ） */
.push{grid-template-columns:minmax(300px,40%) 1fr;column-gap:10px;grid-template-areas:"doc head" "doc formula" "doc banner"}
.push__doctor{max-height:none;width:100%;max-width:none;align-self:end;margin-top:10px;justify-self:start;transform:translateX(-60px)}
/* 写真の式は右の列の中に必ず収める（はみ出して医師と重なっていた） */
.push .formula{min-width:0;max-width:100%;justify-self:end;gap:10px}
.push .formula img{height:clamp(96px,10vw,150px)}
.push .formula .op{font-size:clamp(30px,3vw,48px)}
@media (max-width:1100px){.push__doctor{transform:none}}
@media (max-width:768px){.push__doctor{transform:none;justify-self:center}}
@media (max-width:768px){.push{grid-template-columns:1fr;grid-template-areas:"head" "formula" "banner" "doc"}.push__doctor{max-width:220px}}
/* メッセージ: LP と同じく光のボケの背景・ロゴ・グラデーション見出し・白いカード */
.msg-sec{background:
  radial-gradient(9% 14% at 12% 22%,rgba(255,255,255,.75),transparent 70%),
  radial-gradient(12% 18% at 86% 18%,rgba(190,228,120,.45),transparent 70%),
  radial-gradient(10% 15% at 8% 70%,rgba(120,200,170,.35),transparent 70%),
  radial-gradient(14% 20% at 90% 72%,rgba(255,240,170,.45),transparent 70%),
  radial-gradient(8% 12% at 30% 88%,rgba(255,255,255,.8),transparent 70%),
  radial-gradient(9% 13% at 72% 90%,rgba(140,210,190,.35),transparent 70%),
  radial-gradient(7% 10% at 50% 8%,rgba(255,255,255,.7),transparent 70%),
  linear-gradient(135deg,#EAF5E6 0%,#F4FAF0 40%,#EEF7F4 70%,#F6F4E4 100%)}
.msg__logo{width:clamp(230px,26vw,340px);height:auto;margin:0 auto}
.msg__title{margin:18px 0 30px;font-size:clamp(30px,4.4vw,56px);font-weight:900;letter-spacing:.06em;line-height:1.35;background:linear-gradient(90deg,#1E9A55,#0A6F3A 45%,#43B45B 75%,#7CC9B4);-webkit-background-clip:text;background-clip:text;color:transparent;text-wrap:balance}
.msg__card{max-width:780px;margin:0 auto;padding:40px 40px 42px;background:#fff;border-radius:24px;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--g2),#7CC9B4,var(--g)) border-box;box-shadow:0 10px 30px rgba(10,111,58,.1)}
.msg__card p{font-size:clamp(15px,1.55vw,18px);line-height:2.1;color:#333}
.msg__card p+p{margin-top:22px}
.msg__card span{display:inline;border-bottom:1px solid #B9D8C3;padding-bottom:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.msg__card b{font-weight:900;color:#222}
@media (max-width:768px){.msg__card{padding:26px 16px}.msg__card p{font-size:15px;line-height:2}}
/* FAQ: LP と同じく質問は1問ずつ緑の帯、答えは帯の下の白いパネル。右に白丸の＋／− */
#faq{background:radial-gradient(circle,#D9E9DE 1.6px,transparent 2px) 0 0/40px 40px,var(--bg)}
.faq-list{max-width:1080px}
.faq-q{gap:14px;background:var(--g);border-radius:12px;padding:18px 76px 18px 26px;margin-bottom:18px;box-shadow:0 4px 12px rgba(10,111,58,.12);transition:background .2s}
.faq-q:hover{background:#0C7C41}
.faq-q[aria-expanded="true"]{border-radius:12px 12px 0 0;margin-bottom:0}
.faq-qNum{width:auto;height:auto;background:none;font-family:"Roboto",serif;font-size:30px;line-height:1;color:#fff}
.faq-qText{background:none;border-radius:0;padding:0;color:#fff;font-weight:700;font-size:clamp(16px,1.7vw,20px)}
.faq-icon{right:20px;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--g)}
.faq-icon::before{width:18px;height:2.5px}.faq-icon::after{width:2.5px;height:18px}
.faq-a{display:block;background:#fff;border-radius:0 0 12px 12px;padding:22px 28px 24px;margin-bottom:18px;box-shadow:0 4px 12px rgba(10,111,58,.1);gap:0}
.faq-aNum{display:none}
.faq-aInner{padding-top:0;font-size:17px;line-height:1.9}
@media (max-width:768px){.faq-q{padding:14px 58px 14px 16px}.faq-qNum{font-size:24px}.faq-qText{font-size:16px;padding:0}.faq-icon{right:12px;width:32px;height:32px}.faq-icon::before{width:14px}.faq-icon::after{height:14px}.faq-a{padding:16px 16px 18px}.faq-aInner{font-size:15px}}
/* 比較表: 境界線をはっきり（縦・横とも罫線、外枠あり） */
.compare-table{border:2px solid #C9DCCF;border-radius:0 0 12px 12px}
.compare-table th,.compare-table td{border-bottom:1.5px solid #C9DCCF}
.compare-table td.lo,.compare-table tbody th{border-right:1.5px solid #C9DCCF}
.compare-table td.lo:last-child{border-right:0}
.compare-table thead th.lo{border-left:1.5px solid #C9DCCF}
.compare-table tbody tr:nth-child(even) td.lo{background:#FAFCFB}
.compare-table td.hi{border-bottom:1.5px solid #9CCBA9}
/* SNS: LP と同じく見出しと写真を1枚のカードに。カードの地は写真の地色 (249,249,247) に合わせて継ぎ目を消す */
.sns-sec{background:radial-gradient(40% 50% at 10% 20%,rgba(190,228,120,.25),transparent 70%),radial-gradient(35% 45% at 90% 80%,rgba(124,201,180,.22),transparent 70%),var(--bg)}
.sns-card{position:relative;max-width:1180px;margin:0 auto;background:#F9F9F7;border-radius:28px;padding:44px 24px 20px;box-shadow:0 14px 40px rgba(10,111,58,.12);border:2px solid #DCE9E0}
.sns-head{margin-bottom:6px}
.sns-lead .slash{color:#8A7A4E;font-size:clamp(17px,2vw,24px);font-weight:700;letter-spacing:.08em}
.sns-title{margin-top:8px;display:inline-block;position:relative;color:var(--g);font-weight:900;font-size:clamp(28px,3.2vw,42px);letter-spacing:.04em;line-height:1.3;padding:0 .3em}
.sns-title .big{font-size:1.45em}
.sns-title .note8{font-size:1.2em;margin-left:.05em}
.sns-title::before{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.42em;z-index:-1;border-radius:40px 8px 40px 8px;background:linear-gradient(90deg,rgba(255,242,0,.15),rgba(255,236,120,.85) 20%,rgba(255,236,120,.85) 80%,rgba(255,242,0,.15))}
.sns-head{isolation:isolate}
.sns-card .sns-tag{display:flex;width:max-content;margin:14px auto 0;font-size:clamp(17px,1.8vw,22px);border-bottom:0;color:var(--ink);font-weight:500;letter-spacing:.06em}
.sns-card .sns-tag svg{width:30px;height:30px}
.sns-card .sns-collage{box-shadow:none;background:none;border-radius:0}
@media (max-width:768px){.sns-card{padding:28px 8px 12px;border-radius:18px}}
/* 4つのメリット: 効果4つと同じく、1つずつ枠のある白いカードに（緑の箱＋説明をひとまとまりに） */
.reason-grid{align-items:stretch}
.reason-item{background:#fff;border:2px solid #C9DCCF;border-radius:16px;overflow:hidden;box-shadow:0 6px 18px rgba(10,111,58,.06)}
.reason-item__box{aspect-ratio:auto;min-height:210px;display:flex}
.reason-item__box>div{flex:1;height:auto!important;align-self:stretch}
.reason-item>p{margin:0;padding:16px 18px 20px}
/* 解決できます！の丸写真を大きく（190→250px） */
.answer{padding-block:150px 110px}
.answer__box{padding:64px 190px}
.answer__ph{width:250px;height:250px}
.answer__ph--l{left:-100px;top:-100px}
.answer__ph--r{right:-100px;bottom:-100px}
@media (max-width:1100px){.answer__ph{width:200px;height:200px}.answer__ph--l{left:-40px;top:-90px}.answer__ph--r{right:-40px;bottom:-90px}.answer__box{padding:64px 150px}}
@media (max-width:768px){.answer{padding-block:110px 90px}.answer__box{padding:80px 12px}.answer__ph{width:140px;height:140px}.answer__ph--l{left:-6px;top:-66px}.answer__ph--r{right:-6px;bottom:-66px}}
/* 大ボタン: 販売LPと同じく、白い光が斜めに走る */
.btn--xl{overflow:hidden;isolation:isolate}
.btn--xl::before{content:"";position:absolute;top:-20%;left:-40%;width:28%;height:140%;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);transform:skewX(-22deg);animation:btnShine 3.2s ease-in-out infinite}
.btn--xl .badge-1min,.btn--xl .xl-main{position:relative;z-index:2}
.btn--xl .badge-1min{position:absolute}
@keyframes btnShine{0%{left:-40%}55%{left:130%}100%{left:130%}}
/* 解決できます！: 文字を大きく */
.answer p{font-size:clamp(28px,3.6vw,48px);line-height:1.5}
.answer .sm{font-size:.72em}
.answer__box{max-width:960px;padding:56px 140px}
@media (max-width:768px){.answer p{font-size:clamp(20px,6vw,26px)}.answer__box{padding:72px 12px}}
/* 初回来院限定価格の今のうちに…: LP と同じく大きな2行の文字を左、スタッフをすぐ右に（ボタンは置かない） */
.open-banner{grid-template-columns:auto auto;justify-content:space-between;align-items:end;gap:10px;padding:0 28px 0 40px}
.open-banner .t{font-size:clamp(19px,1.9vw,26px)!important}
.open-banner>img{width:210px!important;height:auto;justify-self:end}
.open-banner .t{align-self:center;padding-block:30px;font-size:clamp(20px,2.1vw,28px);line-height:1.65;letter-spacing:.03em}
@media (max-width:768px){.open-banner{grid-template-columns:1fr;justify-content:stretch;text-align:center;padding:0 16px}.open-banner>img{width:160px!important;justify-self:center}.open-banner .t{font-size:clamp(18px,5.4vw,22px);padding-bottom:4px}.open-banner .t .nw{white-space:normal}}
/* 麻酔スプレー: LP と同じく文字が主役（左2/3を文字、右1/3を写真） */
.spray{max-width:1000px;gap:36px;padding:40px 48px}
.spray h3{font-size:clamp(44px,6.2vw,80px);line-height:1.25}
.spray p{font-size:clamp(19px,2.3vw,28px);margin-top:20px}
.spray p .hl{padding:2px 10px}
.spray p.sm{font-size:15px}
.spray__img{width:clamp(200px,22vw,280px)}
@media (max-width:768px){.spray h3{font-size:clamp(34px,10vw,44px)}.spray p{font-size:17px}}
.ph-band__txt{text-align:left;font-size:clamp(19px,2.2vw,28px);line-height:1.6;font-weight:700}
.ph-band__txt .q{font-size:1.05em}
.ph-band__txt b{font-size:1.75em;line-height:1.35}
.ph-band__txt small{font-size:.6em}
.ph-band__txt .l3{font-size:1.15em}
@media (max-width:768px){.ph-band{padding:120px 16px 24px;margin-top:80px}.ph-band__ph{left:50%;top:-70px;transform:translateX(-50%);width:250px;height:160px}.ph-band__ph img{width:140px;height:140px}.ph-band__ph img:last-child{left:110px;top:16px;bottom:auto}.ph-band__txt{text-align:center;font-size:16px}.ph-band__txt b{font-size:1.5em}}
@media (max-width:768px){.ph-band{padding:110px 16px 24px}.ph-band__ph{left:50%;top:-70px;width:250px;height:150px}.ph-band__ph img{width:140px;height:140px}.ph-band__ph img:last-child{left:110px;top:10px}}

/* 解決できます！: 丸写真を大きく */
.answer{padding-block:120px 80px}
.answer__box{padding:48px 150px}
.answer__ph{width:190px;height:190px;object-position:center}
.answer__ph--l{left:-70px;top:-70px}
.answer__ph--r{right:-70px;bottom:-70px}
@media (max-width:768px){.answer{padding-block:96px 70px}.answer__box{padding:70px 14px}.answer__ph{width:120px;height:120px}.answer__ph--l{left:-6px;top:-56px}.answer__ph--r{right:-6px;bottom:-56px}}

/* メカニズム: 絵の周りに枠を付けて、絵とカードの境目をはっきり */
.mech-card{border:2px solid #D6E8DA}
.mech-card img{width:calc(100% - 32px);margin:16px 16px 0;border:1px solid #DDE7E0;border-radius:12px}

/* 効果4つ: 番号とアイコンで見分けが付くように。1つずつ枠のあるカードに */
.effects{gap:18px}
.effect{background:#fff;border:2px solid #D6E8DA;border-radius:16px;overflow:hidden}
.effect__box{aspect-ratio:auto;padding:8px}
.effect__box div{padding:16px 8px 14px;gap:6px}
.effect__box .ei{width:40px;height:40px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.effect__box small{font-size:12px;letter-spacing:.12em;opacity:1}
.effect__box small span{font-size:1.5em;color:var(--mk)}
.effect p{margin:0;padding:14px 16px 18px}

/* キャンペーン: LP のバナーと同じく右に注射の丸写真、紙吹雪を散らす */
.cp-card{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='260' viewBox='0 0 900 260'%3E%3Cg opacity='.9'%3E%3Crect x='30' y='70' width='14' height='6' rx='1' fill='%23E2C766' transform='rotate(-30 37 73)'/%3E%3Crect x='80' y='40' width='10' height='5' rx='1' fill='%2343B45B' transform='rotate(40 85 42)'/%3E%3Crect x='18' y='200' width='12' height='6' rx='1' fill='%23D9B84F' transform='rotate(25 24 203)'/%3E%3Crect x='250' y='36' width='12' height='5' rx='1' fill='%23E2C766' transform='rotate(-50 256 38)'/%3E%3Crect x='600' y='40' width='12' height='5' rx='1' fill='%2343B45B' transform='rotate(30 606 42)'/%3E%3Crect x='660' y='210' width='14' height='6' rx='1' fill='%23E2C766' transform='rotate(-20 667 213)'/%3E%3Crect x='860' y='60' width='12' height='5' rx='1' fill='%23D9B84F' transform='rotate(60 866 62)'/%3E%3Crect x='880' y='220' width='12' height='5' rx='1' fill='%2343B45B' transform='rotate(-35 886 222)'/%3E%3Crect x='330' y='225' width='10' height='5' rx='1' fill='%23D9B84F' transform='rotate(45 335 227)'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat}
.cp-body{grid-template-columns:auto 1fr auto;gap:18px;padding:22px 26px 8px 30px}
.cp-right{position:relative;flex:none}
.cp-photo{display:block;width:clamp(150px,17vw,190px);height:auto;border-radius:50%;box-shadow:0 0 0 5px #fff,0 0 0 7px #D6E8DA}
.cp-right .cp-off{position:absolute;right:-18px;left:auto;bottom:-10px;width:96px;height:96px;box-shadow:0 6px 16px rgba(255,111,0,.3);border:3px solid #fff}
.cp-ribbon{position:relative;max-width:560px;margin:0 auto;border-radius:0 0 14px 14px;box-shadow:0 4px 10px rgba(160,130,40,.25);font-size:clamp(20px,2.4vw,28px)}
.btn--xl .xl-main{font-size:clamp(20px,2.6vw,30px);letter-spacing:.06em}
/* 皆様へのお願い: 文字を大きく */
.notice{max-width:960px}
.notice h4{font-size:clamp(19px,2.1vw,24px);padding:9px 10px}
.notice h4 svg{width:26px;height:26px}
.notice p{font-size:clamp(15px,1.75vw,20px);line-height:2;padding:20px 20px 24px}
.notice .big{font-size:1.35em}
/* 皆様へのお願い: LP と同じ（見出しの両側に注意マーク、本文は黒の太字、「キャンペーンを終了」は帯に黄色文字、「是非お早めに…」は黄色の箱に大きく） */
.notice{border-width:4px}
.notice h4{gap:12px;font-size:clamp(21px,2.4vw,28px);padding:8px 10px}
.notice h4 svg{display:none}
.notice h4 svg.tri{display:block;width:30px;height:30px}
.notice h4 svg.tri path:first-child{fill:#F5C518}
.notice h4 svg.tri path:last-child{fill:#4A4A4A}
.notice{max-width:1040px}
.notice p{color:#222;font-weight:900;font-size:clamp(17px,2.2vw,26px);line-height:2.1;padding:20px 20px 26px}
.notice h4{font-size:clamp(22px,2.7vw,32px)}
.notice .mk{display:inline-block;background:var(--or2);color:#FFF200;font-size:1.3em;line-height:1.35;padding:0 .3em;margin:0 .2em}
.notice .ul{border-bottom:3px solid var(--or2);padding-bottom:1px}
.notice .big{display:inline-block;background:#FFF08A;color:var(--or2);font-size:1.6em;line-height:1.35;padding:.1em .4em;margin-left:.3em;vertical-align:middle}
@media (max-width:768px){.notice p{font-size:15px}.notice .big{font-size:1.35em;margin:6px 0 0}}
/* キャンペーン枠の文字を全体に大きく */
.cp-limit{font-size:17px;padding:5px 18px}
.cp-first{font-size:clamp(22px,2.6vw,32px)}
.cp-regular{font-size:19px}
.cp-regular s{font-size:23px}
.cp-plan{font-size:clamp(28px,3.6vw,44px)}
.cp-desc{font-size:15px}
.cp-price{font-size:clamp(76px,9.6vw,120px);margin-top:12px}
.cp-price .tax{font-size:.19em}
.cp-notes{font-size:14px;color:var(--ink)}

/* 本文・注釈の文字を全体に一段大きく（小さすぎて読みにくいという指摘） */
.note{font-size:13.5px}
body{font-size:17px}
.voice-item__body,.problem-item p,.mech-card p,.effect p,.reason-item>p,.tc-purpose p,.flow-item__text,.faq-a,.specialist p{font-size:17px}
.check-box p{font-size:18px;line-height:1.95}
.check-box h3{font-size:clamp(24px,3vw,34px)}
@media (max-width:768px){body{font-size:16px}.voice-item__body,.problem-item p,.mech-card p,.effect p,.reason-item>p,.tc-purpose p,.flow-item__text,.faq-a,.specialist p,.check-box p{font-size:16px}}
.plan-table{font-size:16px}
.plan-table td.first .n,.plan-table thead th small,.plan-table td.menu small{font-size:12.5px}
.compare-table{font-size:15.5px}
.compare-table thead th{font-size:19px}.compare-table thead th.hi{font-size:21px}
dl.rows dt,dl.rows dd{font-size:15px}
.case-title{font-size:19px}
.sym-list li{font-size:16px}
.shop-list li>span:last-child{font-size:16px}
.faq-qText{font-size:clamp(16px,1.6vw,19px)}
.tx-lead,.tx-body{font-size:17px}
.recommend .check-list li{font-size:clamp(18px,1.9vw,22px);padding:16px 20px 16px 62px}
@media (max-width:768px){.recommend .check-list li{font-size:16px;padding:13px 14px 13px 54px}}
.stats .note{font-size:13.5px}

/* お着替え: LP のバナーの構図（大きい見出し・白い吹き出し・服の写真を大きく）に寄せる */
.rental{position:relative;grid-template-columns:1.05fr 1fr;padding:34px 30px 30px 52px;border:3px solid transparent;background:linear-gradient(120deg,#F1F9F3,#FFFFFF 55%,#EDF7F2) padding-box,linear-gradient(135deg,var(--g2),#7CC9B4 50%,var(--g)) border-box}
.rental__bubble{position:absolute;left:42%;top:18px;z-index:2;display:grid;place-items:center;width:150px;height:92px;margin:0;border-radius:50%;border:2px solid var(--g);background:#fff;color:var(--g);font-size:17px;line-height:1.4;text-align:center;padding:0}
.rental__bubble::after{left:30px;bottom:-7px;width:16px;height:16px}
.rental h3{margin-top:44px;color:var(--g);line-height:1.3;letter-spacing:.04em}
.rental h3 .l1{display:block;font-size:clamp(28px,3.3vw,42px)}
.rental h3 .l2{display:block;margin-top:8px;font-size:clamp(22px,2.5vw,32px);white-space:nowrap}
.rental h3 .box{display:inline-block;background:#FFF3A0;color:#E65C00;font-size:1.4em;padding:0 .18em;margin-right:.12em;line-height:1.25}
.rental__txt>p:last-child{margin-top:16px;font-size:clamp(16px,1.6vw,19px);color:var(--g)}
.rental__img{transform:scale(1.08);transform-origin:right center}
@media (max-width:768px){.rental{grid-template-columns:1fr;padding:26px 16px 20px;text-align:center}.rental h3 .l2{white-space:normal}.pay__ribbon{font-size:14px}.rental__bubble{position:relative;left:auto;top:auto;margin:0 auto -6px;width:130px;height:78px;font-size:15px}.rental h3{margin-top:14px}.rental__img{transform:none}}
@media (max-width:768px){.cp-body{grid-template-columns:1fr;text-align:center}.cp-right{justify-self:center;margin-top:6px}.cp-photo{width:150px}.cp-right .cp-off{left:auto;right:-30px;width:78px;height:78px;top:auto}}

/* ==========================================================================
   最終上書き（2026-09-25）。上に同じ指定が何度も重なって、新しい指定が古い指定に負けていたため、ここを正とする
   ========================================================================== */
/* その他のメニュー: 2枚のカード（緑の見出し帯・点線の区切り・金額は右そろえ） */
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1080px;margin:0 auto;align-items:start}
.menu-card{background:#fff;border:2px solid #C9DCCF;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(10,111,58,.08)}
.menu-card__h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;background:var(--g);color:#fff;font-size:clamp(19px,2vw,23px);font-weight:900;padding:14px 26px;line-height:1.4}
.menu-card__h small{font-size:13px;font-weight:700;color:var(--mk)}
.menu-list{margin:0;padding:6px 26px 0}
.menu-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:2px dotted #C9DCCF}
.menu-row--sub{padding-top:10px;margin-left:45%}
.menu-row dt{font-weight:700;font-size:17px;line-height:1.5}
.menu-row dt small{display:block;font-size:13px;font-weight:500;color:var(--sub)}
.menu-row dd{display:flex;align-items:baseline;gap:24px;margin:0;white-space:nowrap}
.menu-row .t{font-weight:700;color:var(--sub);font-size:15px;min-width:3em;text-align:right}
.menu-row .p{font-family:var(--en);font-weight:700;font-size:20px;color:var(--g);min-width:5.5em;text-align:right}
.menu-note{text-align:right;font-size:13px;color:var(--sub);padding:12px 26px 18px}
@media (max-width:900px){.menu-grid{grid-template-columns:1fr}}
@media (max-width:768px){.menu-list{padding:4px 16px 0}.menu-card__h{padding:12px 16px}.menu-row dt{font-size:16px}.menu-row .p{font-size:18px}.menu-row--sub{margin-left:30%}.menu-note{padding:10px 16px 14px}}
/* コラム（トップ: 3枚のカード／column.html: 横長の一覧） */
.col-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1080px;margin:0 auto}
.col-card{display:flex;flex-direction:column;height:100%;background:#fff;border:2px solid #D6E8DA;border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.col-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(10,111,58,.12)}
.col-card img{width:100%;aspect-ratio:1200/630;object-fit:cover}
.col-card time,.col-row time{display:block;font-family:var(--en);color:var(--sub);font-size:14px;padding:14px 18px 0}
/* 題名は3行まで（padding を付けると4行目の頭が見えてしまうので、余白は margin で取る） */
.col-card h3{margin:6px 18px 20px;padding:0;font-size:17px;font-weight:900;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.col-list{display:grid;gap:22px;max-width:1000px;margin:0 auto}
.col-row{display:grid;grid-template-columns:minmax(0,36%) 1fr;background:#fff;border:2px solid #D6E8DA;border-radius:16px;overflow:hidden;transition:box-shadow .2s}
.col-row:hover{box-shadow:0 10px 24px rgba(10,111,58,.12)}
.col-row img{width:100%;height:100%;aspect-ratio:1200/630;object-fit:cover}
.col-row__b{padding:18px 26px 20px}
.col-row time{padding:0}
.col-row h2{font-size:clamp(17px,1.8vw,21px);font-weight:900;line-height:1.55;margin:6px 0 8px}
.col-row p{font-size:15px;color:var(--sub);line-height:1.8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kirei{max-width:520px;margin:56px auto 0}
.kirei img{width:100%;height:auto}
@media (max-width:900px){.col-grid{grid-template-columns:1fr;gap:18px}.col-row{grid-template-columns:1fr}.col-row__b{padding:14px 16px 16px}}
/* 筋膜リリース注射ページ（hydrorelease.html） */
.page-hero h1 small{font-size:.55em;font-weight:700}
.hy-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.hy-lead{font-size:clamp(22px,2.6vw,32px);font-weight:900;line-height:1.6;margin-bottom:16px}
.hy-intro__t p+p{margin-top:0}
.hy-sub{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.hy-sub dt{display:none}
.hy-sub dd{margin:0;background:var(--bg);border-radius:10px;padding:12px 14px;font-size:14.5px;line-height:1.7}
.hy-sub dd::before{display:block;font-weight:900;color:var(--g);margin-bottom:4px}
.hy-sub dd:nth-of-type(1)::before{content:"注射前の痛み対策"}
.hy-sub dd:nth-of-type(2)::before{content:"使用する薬剤"}
@media (max-width:768px){.hy-sub{grid-template-columns:1fr}}
.hy-intro__ph{display:grid;gap:14px}
.hy-intro__ph img,.hy-fig img,.hy-media img,.case-item>img{width:100%;height:auto;border-radius:14px}
.hy-box{max-width:900px;margin:0 auto;background:#fff;border:2px solid #C9DCCF;border-radius:18px;padding:30px 36px;text-align:center}
.hy-box__h{font-size:clamp(20px,2.3vw,28px);font-weight:900;line-height:1.6;margin-bottom:12px}
.hy-fig{max-width:980px;margin:0 auto 26px}
.hy-h3{font-size:clamp(19px,2vw,23px);font-weight:900;color:var(--g);padding-left:14px;border-left:5px solid var(--g2);line-height:1.45;margin:0 0 12px}
.hy-p{max-width:900px;margin:0 auto 20px;text-align:center}
.hy-checks{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
.hy-checks li{background:#fff;border:2px solid #C9DCCF;border-radius:14px;padding:18px 16px;text-align:center}
.hy-checks b{display:block;color:var(--g);font-size:18px;margin-bottom:6px}
.hy-checks b::before{content:"";display:block;width:34px;height:34px;margin:0 auto 8px;border-radius:50%;background:var(--g2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.hy-checks span{font-size:15px;line-height:1.7}
.hy-2col{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.hy-card{background:#fff;border:2px solid #C9DCCF;border-radius:18px;padding:26px 28px}
.hy-card h3{font-size:clamp(19px,2vw,23px);font-weight:900;color:var(--g);margin-bottom:12px}
.hy-card--con{border-color:#F4C9A8}.hy-card--con h3{color:var(--or2)}
.hy-card .sym-list{margin-top:12px}
.hy-num{counter-reset:n;display:grid;gap:16px}
.hy-num li{counter-increment:n;position:relative;padding-left:44px}
.hy-num li::before{content:counter(n);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--g);color:#fff;font-family:var(--en);font-weight:700;display:grid;place-items:center}
.hy-card--con .hy-num li::before{background:var(--or2)}
.hy-num b{display:block;font-size:17px;margin-bottom:4px}
.hy-num p,.hy-num ul{font-size:15px;line-height:1.8}
.hy-num ul li{padding-left:1em;text-indent:-1em}
.hy-num ul li::before{content:none}
.hy-num ul li{counter-increment:none}
.hy-num ul li::marker{content:""}
.hy-num ul li span{display:inline}
.hy-price{max-width:720px;margin:0 auto;background:#fff;border:3px solid var(--g);border-radius:20px;padding:34px 30px;text-align:center}
.hy-price__plan{font-size:clamp(24px,2.8vw,34px);font-weight:900;color:var(--g)}
.hy-price__desc{margin-top:6px;font-weight:700}
.hy-price__num{margin-top:14px;font-family:var(--en);font-weight:700;color:var(--or2);font-size:clamp(56px,6.5vw,80px);line-height:1}
.hy-price__num small{font-family:var(--jp);font-size:.3em;font-weight:900}
.hy-price__per{font-weight:700;color:var(--sub)}
.hy-price__time{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0}
.hy-price__time li{background:var(--bg);border-radius:30px;padding:6px 18px;font-weight:700;color:var(--g)}
.hy-price__cp{font-size:14px;color:var(--sub)}
/* 7つ: 3・3・1 で最後が1つだけ左に残らないよう、折り返しても中央そろえ */
.hy-ks{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;max-width:1080px;margin:0 auto}
.hy-ks li{flex:0 1 calc((100% - 36px) / 3);min-width:260px;background:#fff;border:2px solid #C9DCCF;border-radius:16px;padding:22px 24px 22px 76px;position:relative}
.hy-ks .n{position:absolute;left:20px;top:20px;width:42px;height:42px;border-radius:50%;background:var(--g);color:#fff;font-family:var(--en);font-weight:700;font-size:20px;display:grid;place-items:center}
.hy-ks b{display:block;font-size:18px;color:var(--g);line-height:1.5;margin-bottom:6px}
.hy-ks p{font-size:15px;line-height:1.8}
.hy-cmp{min-width:560px}
.hy-cmp tbody th{width:170px}
.hy-cmp td.hi,.hy-cmp td.lo{text-align:left}
.hy-media{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:center}
.hy-media--rev{grid-template-columns:1fr 1.3fr}
.hy-media .hy-h3+p{margin-bottom:22px}
.hy-rec{grid-template-columns:1fr 1fr!important;max-width:none!important}
.hy-info{max-width:820px;margin:0 auto}
.hy-contact{max-width:900px;margin:0 auto;text-align:center}
.hy-contact__lead{font-size:clamp(17px,1.9vw,21px);font-weight:700;line-height:1.8}
.hy-contact__btns{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;margin:26px 0}
.hy-tel{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:3px solid var(--g);border-radius:30px;min-height:92px;padding:10px;font-family:var(--en);font-weight:700;color:var(--g);font-size:30px;line-height:1.2}
.hy-tel small{font-family:var(--jp);font-size:13px;font-weight:700;color:var(--ink)}
.hy-contact__btns .btn--xl{width:100%}
.hy-contact__foot{font-weight:700}
.hy-disc{max-width:900px;margin:30px auto 0}
@media (max-width:900px){.hy-intro,.hy-2col,.hy-media,.hy-media--rev,.hy-contact__btns{grid-template-columns:1fr}.hy-checks{grid-template-columns:1fr 1fr}.hy-rec{grid-template-columns:1fr!important}.hy-media--rev>img{order:2}}
@media (max-width:768px){.hy-box{padding:22px 16px}.hy-card{padding:20px 16px}.hy-ks li{padding:18px 16px 18px 66px}.hy-ks .n{left:14px;top:16px;width:38px;height:38px}.hy-tel{font-size:26px}}
/* 「その他のよくあるご質問はこちら」: 緑のボタン（押すと FAQ ページへ） */
.btn--more{min-width:min(440px,100%);min-height:64px;font-size:clamp(16px,1.7vw,19px);box-shadow:0 6px 16px rgba(10,111,58,.2)}
#faq .btn-wrap{margin-top:36px}
/* ---------- FAQ ページ（faq.html）---------- */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(150deg,#118A48 0%,#0A6F3A 60%,#07592E 100%);color:#fff;text-align:center;padding-block:70px 60px}
.page-hero .catch-en{color:#fff;top:10px}
.page-hero h1{position:relative;font-size:clamp(28px,3.6vw,44px);font-weight:900;letter-spacing:.06em}
.page-hero p{position:relative;margin-top:12px;font-weight:500;opacity:.9}
.crumb{max-width:1080px;margin:0 auto;padding:14px 20px 0;font-size:13px;color:var(--sub)}
.crumb a{color:var(--g);text-decoration:underline}
.faq-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 46px}
.faq-cats a{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;border-radius:30px;background:#fff;border:2px solid var(--g);color:var(--g);font-weight:700;font-size:15px}
.faq-cats a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.faq-cats a:hover{background:var(--g);color:#fff}
.faq-cat{max-width:1080px;margin:0 auto 56px;scroll-margin-top:calc(var(--hd) + 20px)}
.faq-cat__h{display:flex;align-items:center;gap:12px;font-size:clamp(20px,2.3vw,26px);font-weight:900;color:var(--g);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #C9DCCF}
.faq-cat__h small{font-family:var(--en);font-size:12px;letter-spacing:.14em;color:var(--g2)}
.faq-back{text-align:center;margin-top:10px}
.page-hero{padding-inline:16px}
@media (max-width:768px){.page-hero p{font-size:14px}.faq-cats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.faq-cats a{justify-content:center;padding:9px 8px;font-size:13px}}
/* 医者が本気で…: 医師は左の列の中だけ（ずらさない）。写真の式は右の列の幅に合わせて縮む → 絶対に重ならない */
.push{grid-template-columns:minmax(260px,36%) minmax(0,1fr);column-gap:48px}
.push .push__doctor{transform:none;justify-self:start;width:100%;max-width:420px;max-height:none}
.push .formula{justify-self:stretch;justify-content:center;container-type:inline-size;min-width:0;width:100%}
.push .formula img{height:min(150px,18.5cqw)}
.push .formula .op{font-size:min(48px,7cqw)}
.push .formula figcaption{font-size:min(15px,2.6cqw)}
@media (max-width:768px){.push{grid-template-columns:1fr}.push .push__doctor{max-width:220px;justify-self:center}.push .formula img{height:min(86px,20cqw)}}
/* 解決できます！: 丸写真を大きく（300px） */
.answer{padding-block:170px 130px}
.answer .answer__box{padding:70px 200px;max-width:1040px}
.answer .answer__box p{text-align:center;font-size:clamp(24px,2.7vw,40px)}
.answer .answer__ph{width:300px;height:300px}
.answer .answer__ph--l{left:-120px;top:-120px}
.answer .answer__ph--r{right:-120px;bottom:-120px}
@media (max-width:1200px){.answer .answer__ph{width:240px;height:240px}.answer .answer__ph--l{left:-50px;top:-110px}.answer .answer__ph--r{right:-50px;bottom:-110px}.answer .answer__box{padding:70px 180px}}
@media (max-width:768px){.answer .answer__box p{font-size:clamp(16px,5vw,22px)}.answer .answer__box p .nw{white-space:nowrap}.answer .answer__box p .sm{font-size:.8em}.answer{padding-block:120px 100px}.answer .answer__box{padding:90px 12px}.answer .answer__ph{width:150px;height:150px}.answer .answer__ph--l{left:-6px;top:-72px}.answer .answer__ph--r{right:-6px;bottom:-72px}}
/* 2026-09-25 小松さん「文字を大きくして」: 解決できます！の文字を一回り大きく（31px→最大40px。44px だと2行目が丸写真の外接枠に2px掛かったので40pxで止める）。「という治療法で〜」も .72em→.8em */
.answer .answer__box{padding:70px 170px}
.answer .answer__box p{font-size:clamp(28px,3.3vw,40px);line-height:1.6}
.answer .answer__box p .sm{font-size:.8em}
@media (max-width:1000px){.answer .answer__box{padding:70px 110px}.answer .answer__box p{font-size:3.1vw}}
/* 2026-09-25 小松さん「文字をもう少し大きく」（確認用ページは幅1,000〜1,250pxで見ることが多く、そこで31pxまで縮んでいた）
   → 枠の上下を広げて、長い2行目を丸写真の高さの外（上下の丸の間）に置き、左右の余白を減らして字を大きくする */
@media (min-width:769px) and (max-width:1300px){
  .answer .answer__box{padding:118px 60px}
  .answer .answer__box p{font-size:clamp(34px,3.9vw,46px)}
}
@media (max-width:768px){.answer .answer__box{padding:90px 12px}.answer .answer__box p{font-size:clamp(18px,5.4vw,26px)}}
/* 2026-09-25 小松さん「枠線をはっきりと」: トータルケアの目的カードに緑の枠 */
.tc-purpose{border:2px solid var(--g2)}
/* 2026-09-25: 各キャンペーン枠にも料金表＋違和感のパート。緑地（最後のキャンペーン）では白い台に載せて読めるように */
.campaign-sec .plan-wrap{color:var(--ink);background:#fff;border-radius:20px;padding:44px 36px 40px}
.campaign-sec .plan-wrap .check-box{border-color:var(--g2)}
@media (max-width:768px){.campaign-sec .plan-wrap{padding:28px 14px 24px}}
/* 2026-09-25 小松さん「文字が読みにくい、マーカーや太文字など工夫を」: 下層ページ本文の要点（M=黄マーカー＋太字／G=緑の太字） */
.hy-em,.hy-g{display:inline;margin:0;font-size:inherit;line-height:inherit}
.hy-em{font-weight:900;color:var(--ink);background:linear-gradient(transparent 60%,var(--mk) 60%);padding:0 .06em}
.hy-g{font-weight:900;color:var(--g)}
/* 2026-09-25 プライバシーポリシー・プリペイドカード利用規約・お問い合わせ（文言は現行HPのまま） */
/* 2026-09-25「こんな方におすすめ！の前後の背景が同じ白でメリハリない」: 下の「東京肩こりクリニックとは？」区間を一段濃い緑の地に、おすすめの箱は白地の上で緑の枠 */
/* 2026-09-25 小松さん「最下部のキャンペーンのパートはメリハリある。このパートを同じ背景色に」
   → 料金の区間（#campaign-plan）と途中4か所のキャンペーン枠も、最下部（.campaign-sec）と同じ緑の地・白い台に */
.cta-full,.cta-mini{background:
   radial-gradient(40% 50% at 10% 10%,rgba(255,255,255,.16),transparent 70%),
   radial-gradient(35% 45% at 90% 80%,rgba(190,228,120,.22),transparent 70%),
   linear-gradient(160deg,#2FA24B 0%,#128447 50%,#0A6F3A 100%);color:#fff}
.cta-full .slash,.cta-mini .slash{color:#fff}
.cta-full .catch-en,.cta-mini .catch-en{color:#fff}
.cta-full .notice,.cta-mini .notice{color:var(--ink)}
.cta-full .plan-wrap,.cta-mini .plan-wrap{color:var(--ink);background:#fff;border-radius:20px;padding:44px 36px 40px}
@media (max-width:768px){.cta-full .plan-wrap,.cta-mini .plan-wrap{padding:28px 14px 24px}}
/* 前後が白・淡い地で「メリハリがない」と言われた区間は、この1色（一段濃い緑）にそろえる */
.usp-sec,.trouble-sec,.sec-deep{background:#DFEFE4}
.sec-white{background:#fff}
.sec-white .tx-body{border:2px solid #D6E8DA}
/* 効果とメカニズム: 見出しを区間の見出しと同じ大きさに（区間を分けたので、区間の頭になる） */
.sec-deep .effects-h{font-size:clamp(24px,3.2vw,40px);padding-bottom:26px;position:relative;margin-bottom:48px}
.sec-deep .effects-h::after{content:"";position:absolute;left:50%;bottom:0;width:60px;height:4px;background:var(--g2);transform:translateX(-50%)}
/* 2026-09-25 2回目「解決できます！の文字をもう少し大きく」: 広い画面（1300px超）でも 40→52px。枠の上下を広げて長い2行目を丸写真の高さの外に */
@media (min-width:1301px){.answer .answer__box{padding:118px 60px}.answer .answer__box p{font-size:clamp(40px,3.9vw,52px)}}
@media (min-width:769px) and (max-width:1300px){.answer .answer__box p{font-size:clamp(36px,4.2vw,50px)}}
.trouble-sec .catch-en,.sec-deep .catch-en{opacity:.14}
/* 2026-09-25「なんで54%が写真に被ってるの？」: 販売LPと同じく「価格 → 54%OFF → 写真」と横に並べる（重ねない）。
   並べると幅が足りないので、キャンペーン枠の最大幅を 900→1000px、写真を少し小さく */
.cp-card,.cta-mini .cp-card{max-width:1000px}
/* 2026-09-25 小松さん「これも問診に飛ぶようにCTA化して」: キャンペーン枠全体を予約（問診）へのリンクに。押せると分かるよう、触れると浮く＋右下に「このプランで予約する →」 */
.cp-card--link{display:block;color:var(--ink);text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s}
.cp-card--link:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.22)}
.cp-card--link:focus-visible{outline:3px solid var(--mk);outline-offset:4px}
.cp-go{position:absolute;right:22px;bottom:12px;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:900;color:var(--or2);line-height:1.4}
.cp-go::after{content:"";width:22px;height:7px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 7'%3E%3Cpath d='M0 6.2h23.5L18 .8' fill='none' stroke='%23FF6F00' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center/contain;transition:transform .2s}
.cp-card--link:hover .cp-go::after{transform:translateX(4px)}
@media (max-width:1000px){.cp-go{position:static;display:flex;justify-content:center;padding:0 0 14px}}
/* 2回目の指摘「場所変じゃね？オリジナルの位置に寄せて」: 販売LPの並び＝「9,980［税込（上）／円（下）］→ すぐ右に54%OFF → 右端に大きい写真」 */
.cp-pricerow{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1vw,14px);margin-top:4px}
.cp-price{margin-top:0;display:flex;align-items:flex-end}
.cp-yt{display:inline-flex;flex-direction:column;align-items:center;line-height:1;margin:0 0 .06em .04em}
.cp-price .cp-yt .tax{font-size:.2em;margin:0 0 .18em;vertical-align:baseline}
.cp-price .cp-yt .yen{font-size:.4em}
.cp-pricerow .cp-off{position:static;flex:none;width:clamp(78px,8.4vw,108px);height:clamp(78px,8.4vw,108px);margin-top:.4em;box-shadow:0 6px 16px rgba(255,111,0,.3);border:3px solid #fff}
.cp-pricerow .cp-off b{font-size:clamp(28px,3.2vw,40px)}.cp-pricerow .cp-off span{font-size:clamp(14px,1.5vw,19px)}
.cp-body{padding-right:18px}
.cp-right{display:block}
.cp-photo{width:clamp(150px,19vw,220px)}
@media (max-width:768px){.cp-right{justify-self:center;margin-top:4px}.cp-photo{width:160px}.cp-body{padding-right:14px}}
/* スマホ実測（2026-09-25）: 390px幅で54%OFFが枠の右端から4px、375px幅でははみ出していた → スマホは価格と丸を画面幅に合わせて縮める */
@media (max-width:768px){.cp-price{font-size:clamp(54px,16.5vw,76px)}.cp-pricerow .cp-off{width:clamp(60px,17vw,78px);height:clamp(60px,17vw,78px);margin-top:.2em}.cp-pricerow .cp-off b{font-size:clamp(22px,6.4vw,28px)}.cp-pricerow .cp-off span{font-size:clamp(12px,3.4vw,14px)}}
/* 2026-09-25「日本に1店舗…が4.7と10,000と中心がズレてる」: 3列とも数字の段の下端そろえだったため、字の小さい「日本に1店舗」が下に寄っていた → この列だけ段の上下中央に置く */
.stats-big.stats-big--jp{align-items:center;padding-bottom:0;position:relative;top:.1em}
/* 2026-09-25 小松さん「ここ勝負のクリエイティブだぞ！文字を大きく」（SP）: 見出し・ラベル・数字・一言をすべて一回り以上大きく。数字は画面幅いっぱいまで */
@media (max-width:768px){
  .stats h2{font-size:clamp(24px,7vw,32px);margin-bottom:30px}
  .stats-label{font-size:clamp(15px,4.2vw,18px);padding:8px 22px}
  .stats-big{font-size:clamp(76px,24vw,110px);margin-top:12px}
  .stats-big .u{font-size:.34em}
  .stats-big.stats-big--jp{font-size:clamp(44px,13.4vw,60px)}
  .stats-sub{font-size:clamp(22px,6.4vw,28px);margin-top:8px}
  .stats-item{padding:28px 0}
}
/* ↑ 白い文字の画素で実測（4.7 の字の上下中心と合わせる）: 上下中央だけだと 6px 上に寄ったので .1em 下げる */
.recommend{border:2px solid var(--g2)}
/* 2026-09-25 小松さん「こんな方におすすめ！にも背景色入れようか。前後とぼやける」
   → 上（白）とも下の区間（#DFEFE4）とも見分けがつく、はっきりした緑の地。チェックの白い帯が浮いて見える */
.recommend{background:#CDE9D4}
.recommend .check-list li{box-shadow:0 2px 8px rgba(10,111,58,.08)}
.lg-doc{max-width:880px;margin:0 auto;background:#fff;border:2px solid #D6E8DA;border-radius:20px;padding:48px 52px;line-height:1.95}
.lg-doc p{margin-top:12px;overflow-wrap:anywhere}
.lg-h2{font-size:clamp(18px,2vw,22px);font-weight:900;color:var(--g);border-left:5px solid var(--g2);padding:2px 0 2px 14px;margin:40px 0 6px;line-height:1.5}
.lg-doc>.lg-h2:first-child{margin-top:0}
.lg-h3{font-size:17px;font-weight:900;margin:22px 0 2px;line-height:1.5}
.lg-ul{margin:10px 0 0;padding-left:1.4em;list-style:disc}
.lg-ul li{margin-top:4px;overflow-wrap:anywhere}
.lg-lead{font-weight:700;font-size:18px;text-align:center;margin-bottom:26px}
.lg-contact{max-width:560px;margin:0 auto}
@media (max-width:768px){.lg-doc{padding:28px 18px}}

/* ==========================================================================
   SP 総点検（2026-09-25 小松さん「全体的にSPデザイン酷すぎる。本気のチェックを一回やってくれ」）
   scripts でなく clients/katakori/hp/_sp_audit.js で 375/390/430px を全要素走査 → 見つかったものをここで直す。
   ここがSPの最終上書き（これより前の指定より優先）
   ========================================================================== */
/* 最後の行に1〜2文字だけ落ちる改行を防ぐ（短い文は行の長さをそろえる／長い文は最後の行を短くしすぎない） */
/* 🔴 ここから下はすべて SP（768px以下）だけ。PCのデザインには一切効かせない（小松さん「変更はSPだけ。PCは動かすな」） */
@media (max-width:768px){
  .check-list li,.onlyone .after,.plan-sp__grp dd,dl.rows dd,figcaption,.msg-sec p,.plan-sp__menu,.faq-qText,.flow-item__text,.rental p,.menu-row dt,.effect p,.problem-item p,.cp-desc,.plan-notes p,.note{text-wrap:balance}
  p,li,dd{text-wrap:pretty}
}
@media (max-width:768px){
  /* 実績3項目（徒歩2分／夜20時／TOP）: 3列だと丸ラベルが3行に崩れたので、SPは縦に並べて1行ずつ */
  .fv-achievements{flex-direction:column;align-items:stretch;margin-top:30px}
  .fv-ach{width:100%;padding:20px 0}
  .fv-ach:not(:last-child){border-right:0;border-bottom:2px dashed var(--dash)}
  .fv-ach__label{white-space:nowrap;padding:6px 20px;font-size:15px}
  .fv-ach__num{font-size:64px;margin-top:10px}
  .fv-ach__sub{font-size:18px}
  /* こんな方におすすめ！: 女性がチェック項目に重なっていた → 女性の高さ分だけ下を空け、女性は右下に収める */
  .recommend{padding-bottom:196px}
  .recommend__woman{width:108px;right:16px}
  /* 見出しの改行位置（<br class="sp-only"> を入れた所）がそろうように、SPの見出しの大きさを固定の範囲に */
  h2.border{font-size:clamp(22px,6.2vw,26px)}
  .plan-wrap h3{font-size:clamp(19px,5.4vw,22px)}
  .tc-top .partner{font-size:clamp(26px,7.4vw,32px)}
  .center .slash{font-size:clamp(17px,4.8vw,20px)}
  /* 吹き出し・価格・表の見出しは1行で */
  .rental__bubble{white-space:nowrap}
  .plan-sp__price .p{white-space:nowrap}
  .plan-sp__grp dl{grid-template-columns:112px 1fr}
  .plan-sp__grp dt{font-size:13px;white-space:nowrap}
  .menu-row dt{white-space:nowrap}
  /* 大きい予約ボタン・「その他のよくあるご質問はこちら」: 文字が2行に折れて最後に1〜2文字落ちていた → 余白を詰めて1行 */
  .btn--xl{padding:14px 40px 14px 86px}
  .btn--xl .badge-1min{left:10px;width:64px;height:64px;font-size:10px}
  .btn--xl .xl-main{white-space:nowrap;font-size:clamp(15px,4.4vw,18px)}
  .btn--more{padding:15px 52px 15px 24px;font-size:15px;white-space:nowrap}
}
@media (max-width:768px){
  /* こんな方におすすめ！: 短い項目が「〜悩み／が解決しない方」と2行に割れていた → 字を少し詰めて1行に収める。長い項目だけ2行 */
  .recommend{padding-inline:14px}
  .recommend .check-list li{padding:12px 10px 12px 46px;font-size:15px;letter-spacing:-.01em;text-wrap:pretty}
  .cp-desc{font-size:12px}
  .check-list li::before{left:12px;width:24px;height:24px;margin-top:-12px}
  .check-list li::after{left:20px;width:9px;height:5px;margin-top:-4px}
  /* 上記以外の違和感もご相談ください: 左右の注意マークで見出しが3行に潰れていた → マークを小さくして見出しは2行 */
  .check-box h3{font-size:19px;gap:6px;line-height:1.45}
  .check-box h3 svg{width:24px;height:24px}
  .check-box h3 svg:last-child{display:none}
  /* 皆様へのお願い: 「くだ／さい！」と割れていた → 1行に収まる大きさで */
  .notice p{font-size:15px;padding:16px 12px 20px}
  .notice .big{font-size:19px;white-space:nowrap;padding:.15em .35em}
  /* 料金表（SP）: 見出しの列を狭めて本文の列を広く。「腰痛・骨盤部／痛」のような割れを防ぐ */
  .plan-sp__grp dl{grid-template-columns:96px 1fr}
  .plan-sp__grp dt{font-size:12.5px;padding:8px 8px}
  .plan-sp__grp dd{text-wrap:pretty;padding:8px 10px}
  .plan-notes p,.note{text-wrap:pretty}
  /* 4つのメリット: 2列だと1行5文字しか入らなかった → 1列 */
  .reason-grid{grid-template-columns:1fr;gap:16px}
  .reason-item__box{min-height:0;aspect-ratio:auto;padding:22px 16px}
  /* 流れ・比較表の本文: 行の長さを均す指定で1行が極端に短くなっていた → 普通の折り返しに */
  .flow-item__text,.compare-table td,.faq-qText{text-wrap:pretty}
  /* メッセージ: 行ごとに下線を引いた中央ぞろえなので、SPは字を少し小さくして割れを減らす */
  .msg__card{padding:28px 16px 30px}
  .msg__card p{font-size:14.5px}
  /* メニュー表: 「ドライヘッドスパ 30分 5,500円」が右端ぎりぎりだった → 時間と金額の間を詰める */
  .menu-row dd{gap:12px}
  .menu-row .t{min-width:0}
  .menu-row .p{min-width:0}
}
/* 日本語の単語の途中（「副作/用」「モ/ッコリ」「筋膜リリ/ース」など）で折れないよう、SPは文節で折り返す（Chrome 119+。非対応ブラウザは今までどおり） */
@media (max-width:768px){
  h1,h2,h3,h4,p,td,th,dt,dd,li,figcaption,.note,.cp-desc,.cp-notes,.notice p,.slash,.fv-ach__sub,.stats-sub,.hy-em,.hy-g,.marker,.problem-title-text,.flow-item__title,.faq-qText,.btn,.tm,.bubble{word-break:auto-phrase}
  dl.rows dd{font-size:13.5px}
}
/* 筋膜リリース注射ページ（SP）: 「期待できる効果」の2列が画面の右にはみ出して切れていた／「独自の強み」のカードが細く右に寄っていた */
@media (max-width:768px){
  .hy-checks{grid-template-columns:1fr;gap:10px}
  .hy-checks li{display:grid;grid-template-columns:40px 1fr;gap:4px 12px;align-items:center;text-align:left;padding:14px 16px}
  .hy-checks b{grid-column:2;margin:0;font-size:17px}
  .hy-checks b::before{position:absolute;margin:0;transform:translate(-52px,-4px)}
  .hy-checks li{position:relative}
  .hy-checks span{grid-column:2;font-size:14.5px}
  .hy-ks{display:grid;grid-template-columns:1fr;gap:12px}
  .hy-ks li{min-width:0;width:100%;flex:none}
  .hy-price__time li{font-size:14px;padding:6px 14px}
  /* 2026-09-25 小松さん「文字を大きく」（SP）: 「現役医師とRe.Ra.Kuが本気で肩こりについて考えました！」23→最大32px、「東京肩こりクリニック」も一回り大きく */
  .concept .copy{font-size:clamp(26px,7.4vw,32px);line-height:1.6}
  .concept .sub{font-size:clamp(20px,5.6vw,24px)}
  /* 2026-09-25 小松さん「全国約300店舗展開する／肩こりに特化した の文字が小さすぎる」（SP）: 12→15px、帯も太く */
  .collab-card .tag{font-size:15px;padding:6px 12px;letter-spacing:.02em}
  /* 2026-09-25 小松さん「大きくして」（SP）: 「東京肩こりクリニック」は当院の登録商標です 15→19px */
  .specialist .tm{font-size:clamp(17px,5vw,19px);line-height:1.6;padding:10px 20px}
  /* 2026-09-25 小松さん「SNS、オリジナルに近づけて。小さすぎて見えない」（SP）: 画像はLPのSP用（縦3列×3段）に差し替え（<picture>）、
     カードの左右の余白を詰めて写真を画面幅いっぱいに。見出しもLPのSPの比率に合わせて大きく */
  .sns-sec .container{padding-inline:12px}
  .sns-card{padding:26px 4px 10px}
  .sns-lead .slash{font-size:clamp(17px,4.8vw,20px)}
  .sns-title{font-size:clamp(26px,7.6vw,33px);white-space:nowrap;padding:0 .1em}
  .sns-title .big{font-size:1.25em}
  .sns-title br{display:none}
  .sns-card .sns-tag{font-size:clamp(18px,5vw,21px);margin-top:10px}
  .sns-card .sns-tag svg{width:28px;height:28px}
  .sns-collage img{width:100%}
  /* 2026-09-25 小松さん「対応症状、めちゃくちゃ。オリジナルに近づけて」（SP）: 販売LPのSPと同じく、体の図を真ん中に大きく置き、
     左に「首・肩甲骨」、右に「肩・腰」の箱を図に重ねて並べ、引き出し線でつなぐ。症状はタグではなく縦に並べた文字 */
  .parts{grid-template-columns:1fr 1fr;gap:0;align-items:stretch;min-height:clamp(300px,88vw,380px)}
  .parts__body{position:absolute;left:50%;top:0;transform:translateX(-50%);width:60%;order:0}
  .parts__body img{max-width:none;width:100%}
  .parts__lines{display:block}
  .parts__col{display:flex;flex-direction:column;gap:18px;padding-top:14px}
  .parts__col:last-child{justify-content:space-between;align-items:flex-end}
  .parts .part-card{width:86%;padding:22px 10px 10px;border-radius:12px;border-width:2px}
  .parts .part-card__name{top:-14px;left:10px;font-size:14px;padding:1px 12px}
  .parts .sym-list{display:block}
  .parts .sym-list li{background:none;padding:0;font-size:14px;line-height:1.55;color:var(--ink);font-weight:700;border-radius:0}
  .parts .sym-list li::before{display:none}
  /* 2026-09-25 小松さん「肩こり治療に特化した医師が〜ご相談ください！→中央揃えにしよう」（SP） */
  .specialist p{text-align:center}
  /* 2026-09-25 小松さん「SPは女性のモデル邪魔だから抜くか」→ SPは女性を出さず、女性用に空けていた下の余白も詰める（PCはそのまま） */
  .recommend__woman{display:none}
  .recommend,.recommend:not(:has(.recommend__woman)){padding-bottom:28px}
  /* 女性の画像が無い「こんな方におすすめです」は、下の空き（女性用）を作らない */
  .recommend:not(:has(.recommend__woman)){padding-bottom:28px}
  /* マッサージとの違いの表: 右が画面外に切れていた → 3列を画面幅に収める */
  /* FAQページのカテゴリ: 5つ目「来院時・施術後について」が「て」だけ2行目に落ちていた → 最後の1つは横いっぱい・1行 */
  .faq-cats a{white-space:nowrap}
  .faq-cats a:last-child:nth-child(odd){grid-column:1 / -1}
  .hy-cmp,.compare-table.hy-cmp{min-width:0!important;width:100%;table-layout:fixed;font-size:13px}
  .hy-cmp td,.hy-cmp th{overflow-wrap:anywhere}
  .hy-cmp tbody th{width:78px;padding:10px 6px;font-size:12.5px}
  .hy-cmp td{padding:10px 8px}
  .hy-cmp thead th{font-size:13px;padding:12px 6px}
  .hy-cmp thead th.hi{font-size:14px}
}
/* 効果とメカニズムの4枚: SPで2列だと細すぎて本文が7行になっていた → 1列に */
@media (max-width:600px){.effects{grid-template-columns:1fr}.effect__box{min-height:96px}}

/* ==========================================================================
   SP を販売LP（https://lp.katakori-clinic.com/6/hp.html）のSP版に寄せる（2026-09-25 小松さん「総じてやり直し。販売LPのSP版にデザインを近づけて」）
   LPのSPを375px実寸で全区間撮り、区間ごとに並べて寄せた。🔴 すべて 768px 以下だけ（PCは一切変えない）
   ========================================================================== */
@media (max-width:768px){
  /* 実績3項目（徒歩2分／夜20時／TOP）: LPと同じく3つ横並びの小さな札。ラベルは札の中の小さい文字 */
  .fv-achievements{flex-direction:row;align-items:stretch;gap:8px;margin-top:26px}
  .fv-ach{width:auto;flex:1 1 0;min-width:0;padding:12px 4px 12px;background:#fff;border:2px solid var(--g2);border-radius:14px}
  .fv-ach:not(:last-child){border-right:2px solid var(--g2);border-bottom:2px solid var(--g2)}
  .fv-ach__label{background:none;color:var(--g);padding:0;white-space:normal;font-size:12px;line-height:1.35;text-align:center;min-height:2.7em;display:flex;align-items:center;justify-content:center}
  .fv-ach__num{font-size:clamp(34px,10vw,42px);margin-top:4px}
  .fv-ach__sub{font-size:12px;margin-top:4px}

  /* 症例: LPと同じく「施術前｜施術後」の写真を左右に並べる（ドラッグで見比べる仕組みはSPでは使わない） */
  .compare{display:grid;grid-template-columns:1fr 1fr;gap:6px;aspect-ratio:auto;background:none;cursor:default;padding-top:34px}
  .compare>img,.compare__before img{position:static;width:100%;height:auto;aspect-ratio:472/644;object-fit:cover}
  .compare>img{grid-column:2;grid-row:1}
  .compare__before{position:static;clip-path:none;grid-column:1;grid-row:1}
  .compare__handle{display:none}
  .compare__lbl{top:0;font-size:14px;padding:2px 16px;border-width:2px}
  .compare__lbl--b{left:calc(25% - 3px);transform:translateX(-50%)}
  .compare__lbl--a{right:auto;left:calc(75% + 3px);transform:translateX(-50%)}
  .pc-only-block{display:none!important}

  /* 比較表: LPと同じく3列（筋膜リリース注射／エステ／マッサージ）を画面幅に収め、項目名は上に帯で。横スクロールしない */
  .compare-table{min-width:0!important;width:100%;display:block;font-size:12px}
  .compare-table thead,.compare-table tbody{display:block}
  .compare-table tr{display:grid;grid-template-columns:1.15fr 1fr 1fr}
  .compare-table thead td{display:none}
  .compare-table thead th{font-size:14px;padding:10px 4px;border-radius:0}
  .compare-table thead th.hi{font-size:14px;border-radius:10px 10px 0 0}
  .compare-table tbody th{grid-column:1 / -1;width:auto;display:flex;align-items:center;justify-content:center;gap:6px;padding:5px 8px;font-size:13px;background:#DDEEE2}
  .compare-table tbody th svg{display:inline-block;width:16px;height:16px;margin:0}
  .compare-table td{padding:10px 6px;font-size:11.5px;line-height:1.55;border-left:0!important;border-right:0!important}
  .compare-table td.hi{border-left:3px solid var(--g)!important;border-right:3px solid var(--g)!important}
  .compare-table td .sym{width:22px;height:22px;display:block;margin:0 auto 4px}
  .cmp-sec .scroll-hint,section[aria-labelledby="cmp-h"] .scroll-hint{display:none}

  /* 効果とメカニズム4つ: LPと同じく2列×2段の枠付きカード。見出しは帯、本文は小さめ */
  .effects{grid-template-columns:1fr 1fr!important;gap:8px}
  .effect{border-radius:12px}
  .effect__box{min-height:0!important;aspect-ratio:auto;padding:5px}
  .effect__box div{padding:8px 4px;gap:2px}
  .effect__box .ei{width:26px;height:26px}
  .effect__box small{font-size:10px}
  .effect__box b{font-size:16px}
  .effect p{margin-top:0;padding:10px 10px 12px;font-size:12.5px;line-height:1.7}

  /* こんなお悩み: LPと同じく、丸写真を小さくしてカードの上に重ね、下に見出しと本文のカード */
  .trouble-sec .problem-grid{gap:44px;margin-top:40px!important}
  .trouble-sec .problem-item{background:#fff;border:2px solid #C9DCCF;border-radius:16px;padding:64px 16px 18px;position:relative}
  .trouble-sec .problem-item>img{position:absolute;top:-46px;left:50%;transform:translateX(-50%);width:104px;height:104px;margin:0;border-width:4px}
  .trouble-sec .problem-title{margin-bottom:10px}
  .trouble-sec .problem-title-text{min-height:0;background:none;color:var(--g);font-size:17px;padding:0!important;border-radius:0}
  .trouble-sec .problem-item p{padding:0;font-size:14px}
  /* 4つのメリット: 緑の札の中の文字が右に切れていた → 札を広げて字を少し小さく */
  .reason-item{grid-template-columns:146px 1fr}
  .reason-item__box{padding:4px}
  .reason-item__box div{padding:8px 2px}
  .reason-item__box p{font-size:11px;letter-spacing:-.04em;white-space:nowrap}
  .fv-ach__sub{white-space:nowrap;font-size:11px;letter-spacing:-.03em}

  /* 施術の流れ: LPと同じく、番号と見出しの横に小さな写真。写真を大きく出さない */
  .flow-item{display:grid;grid-template-columns:1fr 104px;gap:10px 12px;align-items:center;background:#fff;border-radius:14px;padding:16px 14px 16px;overflow:hidden}
  .flow-item>img{grid-column:2;grid-row:1;width:104px;margin:0;border-radius:8px;aspect-ratio:3/2}
  .flow-item__content{display:contents}
  .flow-item__title{grid-column:1;grid-row:1;border-bottom:0;margin:0;padding:0;gap:4px 8px}
  .flow-item__title .num{font-size:28px}
  .flow-item__title .text{font-size:17px}
  .flow-item__title .time{margin-left:0;font-size:12px;padding:1px 10px}
  .flow-item__text{grid-column:1 / -1;grid-row:2;font-size:13.5px;font-weight:500;background:var(--bg);border-radius:8px;padding:10px 12px}
  .flow-item .hy-sub{grid-column:1 / -1}
  /* 医者が本気で…の「注射＋はがし＝プラン」: 左右の写真が画面の端で切れていた → 画面幅に収める */
  .push .formula{padding-inline:0;gap:4px}
  .push .formula img{height:auto;width:100%}
  .push .formula figure{flex:1 1 0;min-width:0}
  .push .formula .op{font-size:22px}
  /* 対応症状の図: 引き出し線が症状の文字の上を横切っていた → SPは線を消し、箱は白地で図の上に */
  .parts .parts__lines{display:none}
  .parts .part-card{position:relative;z-index:1}

  /* 4つのメリット: LPと同じく、1行ずつのリスト（左に緑の札、右に説明） */
  .reason-grid{grid-template-columns:1fr!important;gap:10px}
  .reason-item{display:grid;grid-template-columns:146px 1fr;align-items:stretch}
  .reason-item__box{min-height:0!important;aspect-ratio:auto;padding:4px}
  .reason-item__box div{padding:8px 2px;gap:2px}
  .reason-item__box .lbl{font-size:11px}
  .reason-item__box p{font-size:12px;line-height:1.4;letter-spacing:-.03em;white-space:nowrap}
  .reason-item>p{padding:12px 12px;font-size:13px;line-height:1.7;display:flex;align-items:center}

  /* 2026-09-25 小松さん「注記書が大きすぎる、小さくして」: 症例・お客様の声などの※注記を LP と同じく小さく詰める */
  .note,.case-note,.case-note p,.voice-note,.voice-note p{font-size:10.5px!important;line-height:1.6!important}
  .case-note{padding:12px 14px}

  /* 対応症状（LPのSPと同じ組み方）: 体の図を真ん中に大きく、首・肩甲骨＝左、肩・腰＝右の箱を図の上に重ねて配置。箱は小さめ・白地・細い枠 */
  .parts{display:block!important;position:relative;height:clamp(290px,84vw,360px);min-height:0}
  .parts__col{display:contents}
  .parts__body{position:absolute;left:50%;top:0;transform:translateX(-50%);width:58%;z-index:0}
  .parts__body img{width:100%;max-width:none}
  .parts .part-card{position:absolute;width:43%;padding:14px 8px 6px 12px;border-width:2px;border-radius:8px;background:#fff;z-index:1}
  .parts .part-card[data-to="0.50,0.31"]{left:0;top:4%}
  .parts .part-card[data-to="0.33,0.57"]{left:0;top:43%}
  .parts .part-card[data-to="0.76,0.45"]{right:0;top:4%}
  .parts .part-card[data-to="0.66,0.91"]{right:0;top:65%}
  .parts .part-card__name{top:-12px;left:-6px;font-size:13px;padding:0 10px;line-height:1.7}
  .parts .sym-list li{font-size:13px;line-height:1.5}
  .parts .parts__lines{display:block}
  .parts .parts__lines line{stroke-width:1.5}
  .parts .parts__lines circle{r:3}

  /* しっかりと事前評価を行います（LPのSPと同じ）: 見出しは左右に注意マーク＋下線、写真は横いっぱい、本文は小さめで詰めてマーカー多め */
  .check-box{margin-top:26px;padding:16px 12px 18px;border-radius:16px}
  .check-box h3{font-size:18px;gap:4px;margin-bottom:12px;white-space:nowrap}
  .check-box h3 svg{width:22px;height:22px}
  .check-box h3 svg:last-child{display:inline-block}
  .check-box h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
  .check-box__in{gap:10px}
  .check-box__in img{border-radius:6px}
  .check-box p{font-size:14px!important;line-height:1.75!important;font-weight:500}
  .check-box .marker,.check-box .marker-sp{background:linear-gradient(transparent 8%,#FFF48C 8%);padding:0 .05em}

  /* 決済（LPのSPと同じ絵）: SPはリボン・スマホのイラスト・ロゴ3段の1枚絵にする。PC用の文字リボンとロゴ2段は隠す */
  .pay{background:none;border:0;padding:0;border-radius:0}
  .pay .pay__ribbon,.pay .pay__logos{display:none}
  .pay .pay__sp{display:block;width:100%;height:auto}

  /* キャンペーン枠（LPのSPと同じ横に詰めた形）:
     ①9月キャンペーン ②期限 ③「筋膜リリースプラン」＋右に小さい丸写真 ④内容 ⑤初回来院限定｜1回通常22,000円 ⑥54%OFF＋9,980円 ⑦注記 */
  .cp-body{display:grid!important;grid-template-columns:auto 1fr 92px;grid-template-areas:"limit limit limit" "plan plan photo" "desc desc photo" "first reg reg" "price price price";gap:6px 8px;padding:14px 14px 4px;text-align:left;align-items:center}
  .cp-left,.cp-center{display:contents}
  .cp-limit{grid-area:limit;justify-self:center;font-size:14px;padding:2px 16px}
  .cp-plan{grid-area:plan;font-size:clamp(22px,6.6vw,27px);line-height:1.2;white-space:nowrap;text-align:left}
  .cp-desc{grid-area:desc;font-size:10.5px!important;text-align:left;margin:0}
  .cp-right{grid-area:photo;justify-self:end;margin:0!important}
  .cp-photo{width:92px!important;box-shadow:0 0 0 3px #fff,0 0 0 5px #D6E8DA}
  .cp-first{grid-area:first;font-size:15px;padding:2px 8px;background:linear-gradient(90deg,#DDF0E1,#FFF6C8);line-height:1.4;white-space:nowrap}
  .cp-regular{grid-area:reg;font-size:15px;white-space:nowrap}
  .cp-regular s{font-size:16px}
  .cp-pricerow{grid-area:price;justify-content:center;gap:8px;margin:0}
  .cp-pricerow .cp-off{order:-1;width:62px!important;height:62px!important;margin:0}
  .cp-pricerow .cp-off b{font-size:22px!important}.cp-pricerow .cp-off span{font-size:12px!important}
  .cp-price{font-size:clamp(56px,17vw,68px)!important}
  .cp-notes{font-size:10.5px;padding:0 14px 8px;line-height:1.55}
  .cp-notes br.sp-only{display:none}
  .cp-go{padding:0 0 12px;font-size:13px}
  .cp-ribbon{font-size:18px;padding:5px 10px}

  /* 🔴 数字帯（4.7／10,000件／日本に1店舗）は小松さんOKの形（縦に1つずつ・大きい数字）のまま。触らない（2026-09-25「せっかく前のが良かった」） */

  /* 「全国約300店舗展開する Re.Ra.Ku × 肩こりに特化した 医師」: LPのSPと同じく2枚を横に並べ、写真は下に小さく */
  .collab{flex-direction:row!important;align-items:stretch;gap:4px!important;margin-top:22px}
  .collab-card{flex:1 1 0;min-width:0;display:flex!important;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px!important;min-height:0!important;border-radius:12px}
  .collab-card .l{width:100%;gap:4px}
  .collab-card .tag{font-size:11px!important;padding:3px 4px!important;letter-spacing:-.02em}
  .collab-card .who{height:44px}
  .collab-card .who img{width:112px}
  .collab-card .who .marker{font-size:28px}
  .collab-card .avatar{width:72px!important;height:72px!important}
  .collab .x{align-self:center;font-size:22px!important}

  /* 痛くないから怖くない（麻酔スプレー）: LPのSPと同じく横長の1枚（左に文字・右に写真） */
  .spray{flex-direction:row!important;align-items:center;gap:8px!important;padding:16px 12px!important;border-radius:14px}
  .spray__txt{text-align:left!important;flex:1;min-width:0}
  .spray h3{font-size:clamp(24px,7.4vw,30px)!important;line-height:1.3}
  .spray p{font-size:13px!important;margin-top:8px!important;line-height:1.7}
  .spray p.sm{text-align:right!important;font-size:10.5px!important;margin-top:2px!important}
  .spray__img{width:96px!important;box-shadow:0 0 0 4px #fff,0 0 0 6px #D6E8DA!important}
  .spray p br.sp-only{display:none}

  /* POINT 01〜03: LPのSPと同じく、枠の上の真ん中にPOINTの札、題名は真ん中に大きく（緑の帯にしない） */
  .problem-grid.is-card .problem-item{padding:34px 16px 18px!important;position:relative;margin-top:26px}
  .problem-grid.is-card .problem-title{text-align:center;margin-bottom:12px}
  .problem-grid.is-card .step-label{position:absolute;left:50%;top:-26px;transform:translateX(-50%);width:58px;height:58px}
  .problem-grid.is-card .step-label span{font-size:20px}
  .problem-grid.is-card .problem-title-text{display:block;background:none!important;color:var(--g);padding:0!important;margin:0!important;min-height:0;font-size:19px;line-height:1.5;border-radius:0}
  .problem-grid.is-card .problem-item p{font-size:14px;padding:0}

  /* 医者が本気で…（LPのSPと同じ）: 左に医師、右に「注射＋はがし＝プラン」を縦に積む */
  .push{display:grid!important;grid-template-columns:44% 1fr!important;grid-template-areas:"head head" "doc formula" "banner banner"!important;column-gap:10px!important;align-items:end}
  .push .push__body{display:contents}
  .push .sec-head{grid-area:head}
  .push .push__doctor{grid-area:doc;max-width:none!important;width:100%;justify-self:stretch;margin:0}
  .push .formula{grid-area:formula;flex-direction:column;gap:2px!important;align-self:center;container-type:normal}
  .push .formula figure{width:100%;flex:none}
  .push .formula img{height:auto!important;width:100%}
  .push .formula figcaption{font-size:11px!important;padding:3px 2px}
  .push .formula .op{font-size:18px!important;line-height:1;transform:none}
  .push .open-banner{grid-area:banner;margin-top:14px}

  /* お着替えの無料貸出し: LPのSPと同じく、吹き出しは右上、文字は左寄せで詰め、服の写真は下 */
  .rental{padding:18px 14px 12px!important;text-align:left!important;position:relative}
  .rental__bubble{position:absolute!important;right:10px;top:8px;left:auto!important;margin:0!important;width:92px!important;height:56px!important;font-size:12px!important}
  .rental h3{font-size:clamp(24px,7vw,30px)!important;margin-top:4px!important}
  .rental__txt>p:last-child{font-size:12.5px!important;margin-top:4px!important}
  .rental__img{margin-top:4px}

  /* 撮り直して見つけた崩れ: ①キャンペーン枠のプラン名が丸写真に重なる ②違和感の見出しが枠の外にはみ出す ③対応症状の線が症状の文字を横切る */
  .cp-plan{font-size:clamp(19px,5.9vw,23px)!important;letter-spacing:-.02em}
  .cp-body{grid-template-columns:auto 1fr 84px}
  .cp-photo{width:84px!important}
  .check-box h3{font-size:15px!important;gap:3px}
  .check-box h3 svg{width:19px!important;height:19px!important}
  .parts .parts__body{z-index:0}
  .parts .parts__lines{z-index:1}
  .parts .part-card{z-index:2}
  /* 2026-09-25「部位と症状の箱が線で結ばれていない／事前評価が図の直下にない（変に空いている）」:
     図を普通の流れに置いて枠の高さ＝図の高さにし（下の空きをなくす）、箱は幅38%で左右の端に寄せて、線が箱と図の間に見えるようにする */
  .parts{height:auto!important}
  .parts .parts__body{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:52%!important;margin:0 auto}
  .parts .part-card{width:38%!important}
  .parts .parts__lines line{stroke-width:2px}
  .parts + .check-box,.parts ~ .check-box{margin-top:14px!important}
}

/* ==========================================================================
   SP を販売LP（/6/hp.html）のSP版の「実寸」に合わせる（2026-09-25 小松さん「サイズも全て、販売LPのSP版に合わせて」）
   LPを375px幅で読み込み、要素ごとに文字の大きさ・太さ・幅を実測した値をそのまま使う（数値の出どころは各行のコメント）
   ========================================================================== */
@media (max-width:768px){
  /* 本文: LPはほぼ全区間 16px / 太さ400 */
  .problem-item p,.flow-item__text,.tx-body p,.tx-lead,.mech-card p,.tc-purpose p,.check-box p,.hagashi-about+p{font-size:16px!important;font-weight:400!important;line-height:1.8!important}
  /* こんな方におすすめ: 項目 16px/400 */
  .recommend .check-list li{font-size:16px!important;font-weight:400!important;letter-spacing:0!important}

  /* 店舗情報（上）: 医院名 26px/700、項目名・本文 16px/400 */
  .shop-mini h3{font-size:26px!important}
  .shop-list li>span:first-child{font-size:16px!important;font-weight:400!important}
  .shop-list li>span:last-child{font-size:16px!important}

  /* 症例の表: 項目名・本文 14px/400、補足 12px */
  dl.rows dt{font-size:14px!important;font-weight:400!important}
  dl.rows dd{font-size:14px!important;font-weight:400!important}

  /* 動画のラベル（エコー動画・施術動画）: 16px/400 */
  .video-card .vlabel{font-size:16px!important;font-weight:400!important}

  /* POINT 01〜03: 細い枠のカード、札は枠の上の真ん中、題名 25px/500 を中央に2行、本文 16px */
  .problem-grid.is-card{gap:46px}
  .problem-grid.is-card .problem-item{border:1.5px solid #9FCFAE!important;border-radius:0!important;box-shadow:none!important;padding:62px 22px 30px!important}
  .problem-grid.is-card .problem-title{position:static!important}
  .problem-grid.is-card .step-label{top:-30px!important;width:84px!important;height:64px!important;border-radius:14px!important;border:1.5px solid #9FCFAE!important;background:#fff!important;color:var(--g)!important;font-size:12px}
  .problem-grid.is-card .step-label span{font-size:32px!important;font-weight:500}
  .problem-grid.is-card .problem-title-text{font-size:25px!important;font-weight:500!important;line-height:1.5!important;text-wrap:balance}
  .problem-grid.is-card .problem-item p strong{font-weight:700;background:linear-gradient(transparent 55%,#FFF48C 55%)}

  /* こんなお悩み: 題名 20px/500、本文 16px */
  .trouble-sec .problem-title-text{font-size:20px!important;font-weight:500!important}

  /* 施術の流れ: 左に STEP 丸＋縦線、右に題名 24px/700（右に小さい写真）、所要時間の札、説明は淡い地の箱 16px */
  .flow-wrapper{position:relative}
  .flow-item{grid-template-columns:52px 1fr 88px!important;grid-template-rows:auto auto auto;gap:6px 10px!important;background:none!important;padding:0 0 18px!important;border-radius:0!important;box-shadow:none!important;align-items:start!important}
  .flow-item__title{display:contents!important}
  .flow-item__title .num{grid-column:1;grid-row:1 / 3;width:50px;height:50px;border-radius:50%;background:#DDEEE2;color:var(--g);font-size:20px!important;font-weight:500;display:flex;align-items:center;justify-content:center;line-height:1}
  .flow-item__title .num::before{content:"STEP";position:absolute;margin-top:-26px;font-size:8px;letter-spacing:.1em}
  .flow-item__title .text{grid-column:2;grid-row:1;font-size:24px!important;font-weight:700!important;line-height:1.35!important;align-self:center}
  .flow-item__title .time{grid-column:2;grid-row:2;justify-self:start;background:var(--g)!important;color:#fff!important;font-size:14px!important;font-weight:700!important;border-radius:3px!important;padding:0 8px!important}
  .flow-item>img{grid-column:3!important;grid-row:1 / 3!important;width:88px!important}
  .flow-item__text{grid-column:2 / 4!important;grid-row:3!important;background:#F2F8F4!important;border-radius:6px!important;padding:12px 10px!important}
  .flow-item::before{content:"";grid-column:1;grid-row:3;justify-self:center;width:1.5px;background:var(--g2);height:100%}
  .flow-item:last-child::before{display:none}

  /* 4つのメリット: 白い角丸カード（影）＋左に丸い印、右に題名 20px/500（緑）と説明 14px */
  .reason-item{display:grid!important;grid-template-columns:64px 1fr!important;grid-template-rows:auto auto;gap:4px 12px;background:#F4FAF6!important;border:0!important;border-radius:14px!important;box-shadow:0 4px 14px rgba(10,111,58,.12)!important;padding:18px 14px 18px 12px!important}
  .reason-item__box,.reason-item__box>div{display:contents!important}
  .reason-item__box .lbl{grid-column:1;grid-row:1 / 3;align-self:center;width:56px;height:56px;border-radius:50%;background:#fff;color:var(--g);font-size:9px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;box-shadow:0 0 0 1px #CFE3D6}
  .reason-item__box .lbl span{font-size:20px}
  .reason-item__box p{grid-column:2;grid-row:1;font-size:20px!important;font-weight:500!important;color:var(--g)!important;line-height:1.4!important;white-space:normal!important;letter-spacing:0!important;text-align:left}
  .reason-item__box p br{display:none}
  .reason-item__box p .y{color:var(--g)!important}
  .reason-item>p{grid-column:2;grid-row:2;padding:0!important;font-size:14px!important;display:block!important;line-height:1.6!important}

  /* 効果とメカニズム: 2列×2段、細い枠のカード。題名 20px/500（緑・中央）、本文 14px。緑の箱・アイコンは使わない */
  .effects{gap:8px!important}
  .effect{border:1.5px solid #9FCFAE!important;border-radius:6px!important;background:#fff;box-shadow:none!important;padding:12px 10px 14px}
  .effect__box{background:none!important;padding:0!important;min-height:0!important}
  .effect__box div{border:0!important;padding:0!important}
  .effect__box .ei,.effect__box small{display:none!important}
  .effect__box b{color:var(--g)!important;font-size:20px!important;font-weight:500!important}
  .effect p{padding:8px 0 0!important;font-size:14px!important;line-height:1.6!important}
  .effects-h{font-size:18px!important;font-weight:400!important;background:#E3EFE7;padding:10px 8px!important;margin-bottom:12px!important}
  .effects-h::after{display:none!important}

  /* 筋膜リリース注射とは？: 本文 16px、エコー画像の説明 14px */
  .echo figcaption{font-size:14px!important;font-weight:400!important}
  .tx-body h3,.mech-card h3{font-size:20px!important;font-weight:400!important}

  /* 医者が本気で…の式: 説明 15px/500 */
  .push .formula figcaption{font-size:15px!important;font-weight:500!important}

  /* よくあるご質問: 質問 18px/400、答え 16px */
  .faq-qText{font-size:18px!important;font-weight:400!important}
  .faq-a,.faq-aInner p{font-size:16px!important}

  /* メッセージ: 15px */
  .msg__card p{font-size:15px!important}

  /* 下の店舗情報: 医院名 26px、項目 16px */
  #access h3{font-size:26px!important}
}
@media (min-width:769px){.pay__sp{display:none}.ps-first{display:none!important}}

/* ==========================================================================
   販売LP（SP）と区間ごとに等倍で並べて見つけた「形の違い」を、LPの形に直す（2026-09-25・対策後の作り直し）
   🔴 すべて 768px 以下だけ。小松さんOK済みの区間（数字帯・丸写真・男女写真など）は触らない
   ========================================================================== */
@media (max-width:768px){
  /* ■ 料金表（LP: 3列の表「お悩み｜施術内容（1施術）｜通常価格（税込）」。部位は色帯の行、施術内容はまたいだ1マス、通常価格の列を枠で囲む） */
  .ps-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;line-height:1.45;background:#fff}
  .ps-table th,.ps-table td{padding:5px 6px;border:1px solid #D6E2DA;vertical-align:middle;text-align:left}
  .ps-table thead th{background:var(--g);color:#fff;font-weight:700;font-size:12px;padding:8px 6px}
  .ps-table thead th:nth-child(1){width:46%}
  .ps-table thead th:nth-child(2){width:31%;text-align:center}
  .ps-table thead th small,.ps-table .ps-price small{display:block;font-size:9px;font-weight:500}
  .ps-table tr.ps-part th{background:#6FB885;color:#fff;font-weight:700;font-size:12px;padding:3px 6px}
  .ps-table tr.ps-part th small{font-size:9px}
  .ps-table tr.ps-sym td{font-size:12px}
  .ps-table tr.ps-sym td small{display:block;font-size:9.5px;color:var(--sub)}
  .ps-table .ps-menu{text-align:center!important;font-weight:700;color:var(--g);font-size:12px;background:#fff}
  .ps-table .ps-menu .mk{background:linear-gradient(transparent 55%,#FFF48C 55%);color:var(--ink)}
  .ps-table .ps-menu small{display:block;font-size:9.5px;font-weight:500;color:var(--sub);margin-top:4px}
  .ps-table .ps-price{width:23%;text-align:center!important;border-left:2px solid var(--or2)!important;border-right:2px solid var(--or2)!important;font-family:var(--en);font-weight:600;font-size:13px}
  .ps-table thead .ps-price{border-top:2px solid var(--or2)!important}
  .ps-table tbody tr:last-child .ps-price{border-bottom:2px solid var(--or2)!important}
  .ps-table .ps-price s{text-decoration-color:var(--or2);text-decoration-thickness:1.5px}
  .ps-table .ps-price--gap{background:#FFF7EF}
  .plan-notes{font-size:9.5px!important;margin-top:6px!important}
  .plan-notes p{font-size:9.5px!important}
  /* 矢印 → 初回来院価格 ¥9,980（LP: 大きな曲がった矢印、左に丸い札、薬剤費の注記） */
  .ps-first{position:relative;margin:30px 0 8px;padding:16px 10px 12px 96px;background:#FFFBE3;text-align:center}
  .ps-first::before{content:"";position:absolute;right:26px;top:-34px;width:36px;height:40px;background:var(--or2);clip-path:polygon(35% 0,65% 0,65% 60%,100% 60%,50% 100%,0 60%,35% 60%)}
  .ps-first__badge{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:76px;height:76px;border-radius:50%;background:var(--or2);color:#fff;font-weight:900;font-size:14px;line-height:1.3;display:flex;align-items:center;justify-content:center}
  .ps-first__lbl{display:inline-block;background:var(--g);color:#fff;font-weight:700;font-size:15px;border-radius:30px;padding:2px 18px}
  .ps-first__lbl small{font-size:11px}
  .ps-first__p{font-family:var(--en);font-weight:700;color:var(--or2);font-size:clamp(46px,14vw,56px);line-height:1.1}
  .ps-first__n{font-size:9.5px;color:var(--sub);text-align:left;line-height:1.5;margin-top:4px}
  .plan-sp__price,.plan-sp__grp{display:none!important}

  /* ■ 症例の表（LP: 表ではなく、小さな色の札「施術内容」の下に本文。札と本文を縦に積む） */
  dl.rows{display:block!important}
  dl.rows dt{display:inline-block!important;width:auto!important;padding:1px 6px!important;font-size:12px!important;font-weight:700!important;margin-top:8px;background:var(--g)!important;color:#fff}
  dl.rows dd{display:block!important;width:auto!important;background:none!important;padding:2px 0 0!important;font-size:14px!important}
  /* 施術前／施術後の札（LP: 写真の上に大きめの札） */
  .compare__lbl{font-size:15px!important;padding:2px 18px!important}

  /* ■ 店舗情報（LP: 項目名は小さな色の札、その下に本文） */
  .shop-list{gap:10px}
  .shop-list li{display:block!important;background:none!important}
  .shop-list li>span:first-child{display:inline-block!important;width:auto!important;padding:2px 8px!important;font-size:15px!important}
  .shop-list li>span:last-child{display:block!important;padding:4px 0 0!important;font-size:16px!important}

  /* ■ 肩こり専門外来（LP: 見出し → 当院は〜 → 専門外来です！ → 写真 → 登録商標 → 本文） */
  .specialist{display:flex!important;flex-direction:column}
  .specialist>div{display:contents}
  .specialist h2{order:1}.specialist .from{order:2}.specialist .big{order:3}
  .specialist>img{order:4;margin:4px 0 16px}
  .specialist .tm{order:5;align-self:center}
  .specialist p:not(.from):not(.big):not(.tm){order:6}

  /* ■ 東京肩こりクリニックとは？（LP: 題名・札・ロゴ・本文が上、写真は下） */
  .usp{display:flex!important;flex-direction:column}
  .usp__body{order:1;margin-top:0!important;padding-top:26px!important}
  .usp__photo{order:2}
  .usp__photo img{-webkit-mask-image:linear-gradient(to top,#000 70%,transparent)!important;mask-image:linear-gradient(to top,#000 70%,transparent)!important}

  /* ■ 肩甲骨はがしW効果（LP: 「さらに！」→ 見出し → 動画 → 本文） */
  .hagashi{display:flex!important;flex-direction:column}
  .hagashi>div:not(.video-card){display:contents}
  .hagashi .lead-top{order:1}.hagashi h2{order:2;margin-bottom:16px}
  .hagashi .video-card{order:3}
  .hagashi>div>p:last-child{order:4;margin-top:16px}

  /* ■ 医者が本気で（LP: 医師は左に大きく＝枠の半分強、右に3枚を縦に積む） */
  .push{grid-template-columns:54% 1fr!important;column-gap:6px!important}
  .push .push__doctor{align-self:end}

  /* ■ 症例（430px で並べて: LPは写真の上に大きめの「施術前／施術後」、写真の下に「20代 女性｜施術時間 10分!」の2つの札） */
  .compare__lbl{font-size:0!important;padding:3px 0!important;width:calc(50% - 10px);text-align:center;transform:none!important;top:0!important}
  .compare__lbl--b{left:0!important;background:#DDEEE2!important;color:var(--g)!important;border-color:#DDEEE2!important}
  .compare__lbl--a{left:auto!important;right:0!important}
  .compare__lbl--b::after{content:"施術前";font-size:17px}
  .compare__lbl--a::after{content:"施術後";font-size:17px}
  .compare{padding-top:40px!important}
  .case-item{display:grid!important;grid-template-columns:1fr 1fr;column-gap:6px}
  .case-item>*{grid-column:1 / -1}
  .case-item dl.rows{display:contents!important}
  .case-item dl.rows dt:first-of-type{display:none!important}
  .case-item dl.rows dd:first-of-type{grid-column:1;grid-row:2;background:var(--g)!important;color:#fff!important;text-align:center;font-size:16px!important;padding:3px 0!important;margin-top:6px}
  .case-item .case-title{grid-column:2;grid-row:2;min-height:0!important;margin:6px 0 0!important;border:1.5px solid var(--g);color:var(--g);justify-content:center;font-size:16px!important;font-weight:500!important;padding:2px 0}
  .case-item .compare{grid-row:1}
  /* 施術内容などは LP と同じく、小さな札の下に本文を横いっぱい */
  .case-item dl.rows dt{grid-column:1 / -1!important;justify-self:start;margin-top:10px!important;background:#333!important;font-size:12px!important;padding:1px 6px!important}
  .case-item dl.rows dd:not(:first-of-type){grid-column:1 / -1!important;font-size:13px!important;line-height:1.6!important}

  /* ■ 医者が本気で（LP: 医師は右の3枚と同じ高さまで大きく、下は薄く消える） */
  .push .push__doctor{height:100%!important;width:100%!important;object-fit:cover;object-position:50% 0;align-self:stretch!important;-webkit-mask-image:linear-gradient(to bottom,#000 82%,transparent);mask-image:linear-gradient(to bottom,#000 82%,transparent)}

  /* ■ 肩甲骨はがしW効果（LP: 見出しは大きく、最後の一文は中央に大きく「徹底的にケア」を強調） */
  .hagashi h2{font-size:clamp(20px,5.6vw,24px)!important;line-height:1.6}
  .hagashi>div>p:last-child{font-size:clamp(18px,5vw,21px)!important;text-align:center;line-height:1.8;font-weight:700}

  /* ■ これまでにない新しい医療技術（LP: 丸写真2枚は重ねずに横並び・大きめ、紫の箱の上端にかかる） */
  .ph-band{padding:124px 14px 26px!important;margin-top:96px!important}
  .ph-band__ph{display:flex!important;justify-content:center;gap:10px;left:0!important;right:0!important;width:auto!important;height:auto!important;top:-86px!important;transform:none!important}
  .ph-band__ph img{position:static!important;width:calc((100% - 50px) / 2)!important;max-width:170px;height:auto!important;aspect-ratio:1/1}

  /* ============ LPの全要素（124）を430pxで並べて見直した残り（2026-09-25） ============ */
  /* 19 お客様の声（LP: 見出しの横のスタッフは無し。Case番号は大きく中央、写真の上に施術前／施術後、写真の下に「20代 女性｜施術時間 10分!」の2つの札、感想は下線付き） */
  .voice-title img{display:none!important}
  .voice-item{border:1.5px solid #9FCFAE;border-radius:12px;box-shadow:none!important;padding:14px 12px 16px;display:flex!important;flex-direction:column}
  .voice-item__text{display:contents!important}
  .voice-item__title{order:1;text-align:center;font-size:26px!important;font-weight:400!important;color:var(--g)!important;margin-bottom:8px}
  .voice-item__img{order:2;gap:6px!important;padding-top:34px;position:relative;background:none!important}
  .voice-item__img figure{position:static!important}
  .voice-item__img figcaption{top:0!important;left:auto!important;width:calc(50% - 3px);text-align:center;font-size:16px!important;font-weight:500!important;padding:2px 0!important}
  .voice-item__img figure:first-child figcaption{left:0!important;background:#DDEEE2!important;border-color:#DDEEE2!important}
  .voice-item__img figure:last-child figcaption{right:0!important}
  .voice-item dl.rows{order:3;display:grid!important;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
  .voice-item dl.rows dt{display:none!important}
  .voice-item dl.rows dd:first-of-type{background:var(--g)!important;color:#fff!important;text-align:center;font-size:16px!important;padding:3px 0!important}
  .voice-item dl.rows dd:last-of-type{border:1.5px solid var(--g);color:var(--g)!important;text-align:center;font-size:16px!important;padding:2px 0!important}
  .voice-item dl.rows dd:last-of-type::before{content:"施術時間 "}
  .voice-item__body{order:4;margin-top:12px;font-size:15px!important;line-height:2!important;background:linear-gradient(transparent calc(100% - 1px),#999 0) 0 0/100% 2em;padding-bottom:1px}

  /* 26 エコー動画（LP: 名前は動画の下に）・麻酔スプレー（LP: 大きい文字が主役） */
  .video-card{overflow:visible!important;background:none!important;box-shadow:none!important;display:flex;flex-direction:column-reverse}
  .video-card video{border-radius:12px;border:1px solid #ddd}
  .video-card .vlabel{position:static!important;display:block;background:none!important;color:var(--ink)!important;text-align:center;margin-top:8px;font-size:15px!important}
  .spray h3{font-size:clamp(32px,9.6vw,40px)!important}
  .spray p{font-size:14.5px!important}
  .spray__img{width:120px!important}

  /* 26 麻酔スプレー（2026-09-25 小松さん「このデザインと配置に近づけて」・LP: 写真は右上、「痛くないから／怖くない!!」は2行で大きく、
     説明の2行は写真の下を横いっぱいに使う） */
  .spray{display:block!important;position:relative;padding:18px 14px 14px!important}
  .spray__txt{text-align:left!important}
  .spray__img{position:absolute!important;right:12px;top:14px;width:clamp(88px,24.5vw,106px)!important;margin:0!important}
  .spray h3{font-size:clamp(28px,8vw,34px)!important;line-height:1.4!important;min-height:clamp(96px,27vw,116px);white-space:nowrap;margin:0!important}
  .spray h3 small{font-size:.5em}
  .spray p{font-size:clamp(14px,4vw,16px)!important;font-weight:900!important;line-height:1.75!important;margin-top:6px!important;white-space:nowrap}
  .spray p.sm{font-size:10.5px!important;font-weight:500!important;text-align:right!important;white-space:normal}

  /* 29 肩甲骨はがしW効果（2026-09-25 小松さん「さらに！〜をもう少し大きく」「例のように矢印で表現して。女性はいらない」）:
     LPと同じく見出しを箱に入れ、箱の下に動画を指す下向きの矢印。女性の画像は入れない */
  .hagashi .lead-top{font-size:clamp(17px,4.9vw,21px)!important;padding:6px 20px!important}
  .hagashi h2{position:relative;background:#fff;color:var(--ink)!important;padding:18px 16px 20px!important;margin:4px 0 44px!important;border-radius:4px;text-align:left}
  .hagashi h2 b{color:var(--g)!important}
  .hagashi h2::after{content:"";position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:36px solid #fff}

  /* 「肩甲骨はがし 施術動画」の名前: 緑の地で見えなかった（小松さん指摘）→ 緑の地の区間では白文字 */
  .sec--green .video-card .vlabel{color:#fff!important}

  /* 30・37 医者が本気で（2026-09-25 小松さん「女医の左が欠けてる」「ここ全然違う。例通りに」）
     ・医師は切り抜かず全身（object-fit:contain）。LPと同じく左の列に収めて下は薄く消える
     ・「初回来院限定価格の今のうちに是非ご体験ください！」は白い箱ではなく、左に文字（3行・中央）、右にスタッフ（LPと同じ） */
  .push{grid-template-columns:58% 1fr!important;column-gap:0!important}
  .push .push__doctor{object-fit:contain!important;object-position:50% 100%!important;height:auto!important;align-self:end!important;width:116%!important;max-width:none!important;margin-right:-16%!important;position:relative;z-index:0}
  .push .formula{position:relative;z-index:1}
  .push .open-banner{display:grid!important;grid-template-columns:1fr 38%!important;align-items:end!important;background:none!important;box-shadow:none!important;border:0!important;padding:0 0 0 4px!important;text-align:center!important;margin-top:10px!important}
  .push .open-banner .t{padding:0 0 18px!important;font-size:clamp(19px,5.4vw,23px)!important;line-height:1.7!important;align-self:center}
  .push .open-banner .t .nw{white-space:normal!important}
  .push .open-banner .t .o{display:block}
  .push .open-banner>img{width:100%!important;justify-self:end!important}

  /* 2026-09-25 iPhone 16 Pro（402px）で改行が崩れた2か所（小松さん指摘）:
     ・「肩こり」を医療で治療します。→ 1行で（途中で改行しない）
     ・「東京肩こりクリニック」は／当院の登録商標です → この2行で固定。どの幅でも収まる字の大きさに */
  .usp__copy .nw,.specialist .tm .nw{white-space:nowrap}
  .usp__copy{font-size:clamp(19px,5.6vw,25px)!important}
  .specialist .tm{font-size:clamp(15px,4.4vw,19px)!important;padding:10px 16px!important}

  /* 34 解決できます（LP: 文字の箱が上、その下に丸写真2枚を横並び） */
  .answer{padding-block:40px 40px!important}
  .answer .answer__box{display:flex;flex-direction:column;align-items:center;padding:28px 14px 18px!important}
  .answer .answer__box p{order:1}
  .answer .answer__ph{position:static!important;width:118px!important;height:118px!important;margin-top:14px}
  .answer .answer__box{flex-wrap:wrap;flex-direction:row;justify-content:center;column-gap:10px}
  .answer .answer__box p{flex-basis:100%}
  .answer .answer__ph--l{order:2}.answer .answer__ph--r{order:3}

  /* 35 筋膜リリース注射前／後のエコー（LP: 小さく横に2枚並べる） */
  .echo{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .echo figcaption{order:-1;font-size:13px!important;text-align:center;padding:4px 0!important}
  .echo figcaption span{display:none}
  .echo figure{display:flex;flex-direction:column;box-shadow:none!important;background:none!important}

  /* 42 トータルケア（LP: 予防の写真は左上・医療の写真は右下に少し重ねて小さく。女性の写真は無し） */
  .tc-flow{display:block!important;position:relative;height:clamp(250px,70vw,300px);margin-top:10px}
  .tc-flow figure{position:absolute;width:62%;margin:0}
  .tc-flow figure:first-child{left:0;top:26px}
  .tc-flow figure:last-of-type{right:0;bottom:0}
  .tc-flow figure img{border-radius:0!important;aspect-ratio:3/2;object-fit:cover}
  .tc-flow figcaption{position:absolute;top:-26px;left:0;font-size:22px!important}
  .tc-flow figure:last-of-type figcaption{top:-30px;left:auto;right:0}
  .tc-flow .arr{position:absolute;left:34%;bottom:44px;z-index:2;transform:none!important;flex-direction:row!important}
  /* 2026-09-25 小松さん「矢印は右向きのはずが下になってる」（古いSP指定の rotate(90deg) が残っていた）／「唯一無二のクリニックです！を大きく」／「一時的な癒し〜をセンター揃え」 */
  .tc-total{font-size:clamp(18px,5.2vw,23px)!important;line-height:1.7!important;margin-top:22px!important;white-space:nowrap}
  .tc-total .one{font-size:1.4em;margin:0 4px 0 0}
  .tc-total br.sp-only{display:block}
  .tc-purpose h3{text-align:center!important;font-size:clamp(20px,5.8vw,24px)!important}
  .tc-purpose h3 br.sp-only{display:none}
  .tc-purpose__img{display:none!important}
  .tc-purpose{border:0!important;box-shadow:none!important;background:none!important}

  /* 47 店舗情報（下）（LP: 写真は横いっぱいに縦に積み、説明は写真の下） */
  .access__photos{display:grid!important;grid-template-columns:1fr!important;gap:22px}
  .access__photos figure{display:block!important;background:none!important;padding:0!important}
  .access__photos img{width:78%!important;margin:0 auto;aspect-ratio:4/3!important;height:auto!important;object-fit:cover}
  .access__photos figcaption{text-align:center;font-size:15px!important;font-weight:400!important;padding:6px 0 0!important}

  /* ■ 施術の流れ（LP: 説明は白い箱。題名の右に写真） */
  .flow-item__text{background:#fff!important;box-shadow:0 1px 4px rgba(0,0,0,.06)}
  .bg-flow{background:#EEF5FF}
}
