@charset "UTF-8";

/* ===== Reset ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { display: block; max-width: none; }

body {
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  color: #3e3525;
  background: #ffffff;
  overflow-x: hidden;
}

/* 1440px設計をビューポート幅にスケール（PC幅に合わせて拡大縮小）*/
.page {
  width: 1440px;
  transform-origin: top left;
}

/* ============================================
   Header
   Figma: MV (node 13:5) 上部ヘッダー / 基準幅 1440px
   - 上部バー: 高さ100px / 背景 #F1F7F3
   - ナビ帯  : 高さ55px  / 背景 #FFFFFF
   ============================================ */
.header {
  width: 100%;
}

/* 1440px の座標系を中央寄せで再現する内側ステージ */
.header__inner {
  position: relative;
  width: 1440px;
  margin: 0 auto;
}

/* ---- 上部バー ---- */
.header__bar {
  background: #f1f7f3;
}
.header__bar .header__inner {
  height: 100px;
}

/* ロゴ : Figma x=63 y=19 w=282 h=68.5 */
.header__logo {
  position: absolute;
  left: 63px;
  top: 19px;
  width: 282px;
  height: 68.5px;
}
.header__logo img {
  width: 282px;
  height: 68.5px;
}

/* ボタン共通 (ピル型) */
.btn {
  position: absolute;
  top: 19px;
  width: 275px;
  height: 59px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 29.5px;
  font-weight: 700;
  font-size: 21px;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

/* WEB予約 : Figma x=659 / 緑塗り */
.btn--primary {
  left: 659px;
  background: #367d47;
  color: #ffffff;
}

/* アクセス : Figma x=945 / 白地 緑枠 */
.btn--outline {
  left: 945px;
  background: #ffffff;
  color: #367d47;
  border: 2px solid #367d47;
}

/* ハンバーガー : Figma x=1363 y=34 w=55 h=37 */
.header__menu {
  position: absolute;
  left: 1363px;
  top: 34px;
  width: 55px;
  height: 37px;
  background: none;
  border: 0;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.header__menu span {
  display: block;
  width: 55px;
  height: 4px;
  background: #367d47;
  border-radius: 2px;
}

/* ---- ナビ帯 ---- */
.header__nav {
  background: #ffffff;
}
.header__inner--nav {
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ナビ: 5項目を中央寄せ + 項目間に縦区切り線 */
.gnav {
  display: flex;
  align-items: center;
}
.gnav__item {
  position: relative;
  white-space: nowrap;
  padding: 0 21px;
}
/* 項目間の縦棒（先頭以外の左側に表示）: Figma 高さ約13px・濃いめグレー */
.gnav__item:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 13px;
  background: #a3a3a3;
}
.gnav__item a {
  font-weight: 700;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.75px;
  color: #3e3525;
}

/* ============================================
   FV / メインビジュアル
   Figma: MV(13:5) のヘッダー下／基準幅1440px
   座標 = Figma MV の y から 155px(ヘッダー高) を引いた値
   ============================================ */
.fv {
  width: 100%;
  background: #f1f7f3;
}
.fv__inner {
  position: relative;
  width: 1440px;
  height: 779px; /* Figma 写真ストリップ開始 y=934 − ヘッダー155 */
  margin: 0 auto;
}

/* 背景コラージュ : Figma y=157 → top 2 / 1440x615 */
.fv__collage {
  position: absolute;
  left: 0;
  top: 2px;
  width: 1440px;
  height: 615px;
}

/* 見出しボックス : Figma x=358 y=329 w=725 h=234 */
.fv__headbox {
  position: absolute;
  left: 358px;
  top: 174px;
  width: 725px;
  height: 234px;
  background: #ffffff;
  box-shadow: 6px 6px 0 0 #367d47;
}

/* サブ見出し : Figma y=365 / Noto Sans Medium 30px */
.fv__sub {
  position: absolute;
  left: 720px;
  top: 210px;
  transform: translateX(-50%);
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 30px;
  letter-spacing: 1.5px;
  color: #3e3525;
  white-space: nowrap;
}
.fv__sub--gold { color: #cb8d19; }

/* メイン見出し : Figma 中心y=446 / Noto Serif JP Bold 60px / グラデ+白ハロー */
.fv__title {
  position: absolute;
  left: 720px;
  top: 291px;
  transform: translate(-50%, -50%);
  width: 665px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 60px;
  letter-spacing: 4.8px;
  white-space: nowrap;
  background: linear-gradient(90deg, #4eaa47 0%, #367d47 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  /* 白グローは外側のみ（内側ににじませないため text-shadow ではなく drop-shadow） */
  filter: drop-shadow(0 0 4px rgba(255,255,255,0.9));
}

/* 実績バッジ : Figma 各メダル w≒110 / y=506(→top351) / x=404,534,664,794,924 */
.fv__medal {
  position: absolute;
  top: 351px;
  width: 110px;
  height: 110px;
}
.fv__medal--1 { left: 404px; }
.fv__medal--2 { left: 534px; }
.fv__medal--3 { left: 664px; }
.fv__medal--4 { left: 794px; }
.fv__medal--5 { left: 924px; }

/* 店舗ボックス : Figma x=323 y=694 w=795 h=177 */
.fv__storebox {
  position: absolute;
  left: 323px;
  top: 539px;
  width: 795px;
  height: 177px;
  background: #f1f7f3;
  border-radius: 20px;
  box-shadow: 0px 4px 5px 3px #d0dfd5;
}

/* 店舗見出し : Figma y=719 / Noto Sans Bold 18px */
.fv__store-heading {
  position: absolute;
  left: 0;
  right: 0;
  top: 25px;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.9px;
  color: #367d47;
}

/* 店舗ボタン群 : Figma y=786 / 各212x47 */
.fv__store-btns {
  position: absolute;
  left: 52px;   /* 375-323 */
  top: 92px;    /* 786-694 */
  display: flex;
  gap: 28px;
}
.store-btn {
  width: 212px;
  height: 47px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(to bottom, #d46238 0%, #d46238 52.87%, #cb4819 52.87%, #cb4819 100%);
  border: 1px solid #ffffff;
  border-radius: 28px;
  box-shadow: 1px 1px 4px rgba(0,0,0,0.25);
  color: #ffffff;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.75px;
}

/* ============================================
   写真ストリップ（バンド） : Figma 13:23 / y=934 / 1440x145
   ============================================ */
.photoband {
  width: 100%;
  background: #f1f7f3;
  padding-bottom: 187px; /* Figma: ストリップ下 y1079→MV下端1266 のミント余白 */
}
.photoband__inner {
  position: relative;
  width: 1440px;
  margin: 0 auto;
}
.photoband__bg {
  display: block;
  width: 1440px;
  height: 145px;
}

/* ============================================
   こころ整体院グループ 3ヶ条 : Figma 13:638 / 1440x747
   ============================================ */
.promises {
  width: 100%;
  background: #ffffff;
}
.promises__inner {
  position: relative;
  width: 1440px;
  min-height: 747px;
  margin: 0 auto;
  padding: 72px 0 60px;
  /* ドットグリッド : 白地に淡いミントの点・10px間隔 */
  background-image: radial-gradient(#eef4f1 1.5px, transparent 1.6px);
  background-size: 10px 10px;
}

/* 左上の樹木イラスト : Figma 13:11549 */
.promises__tree {
  position: absolute;
  left: 0;
  top: 0;
  width: 404px;
  height: 347px;
  pointer-events: none;
}

/* 見出し背後の六角形 : Figma Polygon 2 (x487.76 y86 / 114.49) */
.promises__poly {
  position: absolute;
  left: 487.76px;
  top: 86px;
  width: 114.49px;
  height: auto;
  z-index: 0;
  pointer-events: none;
}

/* eyebrow : Figma y=72 / Noto Sans Medium 24px #367d47 */
.promises__eyebrow {
  position: relative;
  z-index: 1;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 2.4px;
  color: #367d47;
}

/* 見出し : Figma y=120 / Noto Serif JP Bold 32px tracking1.6 / 先頭「こ」緑 */
.promises__heading {
  position: relative;
  z-index: 1;
  margin-top: 14px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 1.6px;
  color: #3e3525;
}
.promises__heading-accent { color: #006934; }

/* ---- アコーディオン ---- */
.acc {
  position: relative;
  margin-top: 54px;
}
.acc__item {
  width: 620px;
  margin: 0 auto 41px;
}
.acc__item:last-child { margin-bottom: 0; }

/* ヘッダーバー : Figma bg #f1f7f3 / h80 / shadow */
.acc__head {
  position: relative;
  width: 100%;
  height: 80px;
  background: #f1f7f3;
  border: 0;
  box-shadow: 5px 4px 8px 0 rgba(0,0,0,0.12);
  cursor: pointer;
  display: flex;
  align-items: center;
  text-align: left;
}

/* 番号バッジ（リボン）: Figma img 46x58 / 白番号 Noto Sans Bold */
.acc__num {
  position: absolute;
  left: 20px;
  top: 1px;
  width: 46px;
  height: 58px;
}
.acc__num img {
  position: absolute;
  inset: 0;
  width: 46px;
  height: 58px;
}
.acc__num b {
  position: absolute;
  left: 0;
  right: 0;
  top: 9px;
  text-align: center;
  font-family: "Noto Sans", sans-serif;
  font-weight: 700;
  font-size: 23px;
  color: #ffffff;
  letter-spacing: -1px;
}

/* タイトル : Noto Sans Bold 25px #3e3525 */
.acc__title {
  margin-left: 80px;
  font-weight: 700;
  font-size: 25px;
  letter-spacing: 1.25px;
  color: #3e3525;
}

/* 開閉アイコン（+/-） */
.acc__icon {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 25px;
  font-weight: 700;
  font-size: 22px;
  color: #3e3525;
}
.acc__icon::before {
  content: "＋";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  line-height: 1;
}
.acc__head[aria-expanded="true"] .acc__icon::before { content: "－"; }

/* パネル（開閉） */
.acc__panel {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.35s ease;
}
.acc__body {
  padding: 24px 6px 10px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.3px;
  color: #3e3525;
}
.acc__body p { margin: 0; }
.acc__note {
  margin-top: 12px !important;
  font-size: 14px;
  color: #7a7468;
}

/* ============================================
   こんな悩みありませんか？ : Figma 13:11552 / 1440x928
   ============================================ */
.worry {
  width: 100%;
  overflow: hidden;
  /* 外側はテクスチャ端と同じ色で塗り、1440超の画面でも継ぎ目を目立たせない */
  background: #f2f8e5;
}
.worry__inner {
  position: relative;
  width: 1440px;
  height: 928px;
  margin: 0 auto;
  overflow: hidden; /* 装飾（樹木・葉）を1440内に収め、左右のはみ出しをなくす */
  /* テクスチャは1440内に収め、左右端を外側色(#f2f8e5)へフェードして継ぎ目を消す */
  background:
    linear-gradient(to right, #f2f8e5 0, rgba(242,248,229,0) 80px) left top / 80px 100% no-repeat,
    linear-gradient(to left,  #f2f8e5 0, rgba(242,248,229,0) 80px) right top / 80px 100% no-repeat,
    url("../../../images/area/shinjuku-worry_bg.webp") center / cover no-repeat;
}

/* 左上の樹木 : Figma 13:11554 (-123,0 / 534x355) */
.worry__tree {
  position: absolute;
  left: -123px;
  top: 0;
  width: 534px;
  height: auto;
  pointer-events: none;
}
/* 右下の葉 : Figma 13:11555 (1018,629 / 464x310) */
.worry__leaf {
  position: absolute;
  left: 1018px;
  top: 629px;
  width: 464px;
  height: auto;
  pointer-events: none;
}

/* ピル見出し : Figma 13:11559 (386,76 / 668x74) */
.worry__pill {
  position: absolute;
  left: 386px;
  top: 76px;
  width: 668px;
  height: 74px;
  z-index: 3; /* カードより前面 */
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 59px;
  background: linear-gradient(to top, #006934 0%, #add484 100%);
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  color: #ffffff;
  white-space: nowrap;
}

/* カード : Figma 13:11556 (220,113 / 1000x353) */
.worry__card {
  position: absolute;
  left: 220px;
  top: 113px;
  width: 1000px;
  height: 353px;
  z-index: 2;
  background: url("../../../images/area/shinjuku-worry_card_bg.webp") center / cover no-repeat;
}

/* 女性写真 : Figma 13:11569 (264,180 → カード内44,67 / 478x254) */
.worry__photo {
  position: absolute;
  left: 44px;
  top: 67px;
  width: 478px;
  height: 254px;
}

/* チェックリスト : Figma 13:11562 / Noto Sans Medium 18px #3e3525 */
.worry__check {
  position: absolute;
  left: 560px; /* チェック位置 : inner780 − card220 */
  top: 100px;  /* inner216 − card113 ≒ 103 を微調整 */
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.worry__check li {
  display: flex;
  align-items: center;
  gap: 17px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 25px;
  letter-spacing: 0.9px;
  color: #3e3525;
  white-space: nowrap;
}
.worry__check li img {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* 下部リード見出し : Figma 13:11595-11598 / Noto Serif JP Bold #3e3525 */
.worry__lead p {
  position: absolute;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #3e3525;
  letter-spacing: 3.6px;
  white-space: nowrap;
}
.worry__lead-1 { top: 545px; font-size: 45px; }
.worry__lead-2 { top: 600px; font-size: 45px; }
.worry__lead-3 { top: 689px; font-size: 45px; }

/* "データで語れる整体" グラデ + 白グロー */
.worry__grad {
  font-size: 55px;
  background: linear-gradient(90deg, #4eaa47 0%, #367d47 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 4px rgba(255,255,255,0.9));
}
.worry__q { font-size: 45px; }

/* ボタン : Figma 13:11591 (578,805 / 275x59) */
.worry__btn {
  position: absolute;
  left: 578px;
  top: 805px;
  width: 275px;
  height: 59px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 44px;
  padding: 0 22px 0 75px;
  border-radius: 29.5px;
  background: #cb4819;
  color: #ffffff;
  font-weight: 700;
  font-size: 21px;
  white-space: nowrap;
}
.worry__btn svg { flex-shrink: 0; }

/* ============================================
   こころ整体院の特徴 (FEATURES) : Figma 13:12698 / 1440x975
   ============================================ */
.features {
  width: 100%;
  background: #ffffff;
}
.features__inner {
  position: relative;
  width: 1440px;
  height: 975px;
  margin: 0 auto;
  overflow: hidden;
  /* ドットグリッド（3ヶ条と同じ） */
  background-image: radial-gradient(#eef4f1 1.5px, transparent 1.6px);
  background-size: 10px 10px;
}

/* 六角形（薄い装飾）: 実測位置に合わせて配置（見出し左に重なる） */
.features__poly {
  position: absolute;
  left: 548px;
  top: 84px;
  width: 100px;
  height: auto;
  pointer-events: none;
}
/* マスコット : 実測位置に合わせて配置（左上） */
.features__mascot {
  position: absolute;
  left: 36px;
  top: 0;
  width: 248px;
  height: auto;
  pointer-events: none;
}

/* eyebrow FEATURES : Figma 13:27032 (y=68) / Noto Sans Medium 24px #367d47 */
.features__eyebrow {
  position: absolute;
  top: 68px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 2.4px;
  color: #367d47;
}
/* 見出し : Figma 13:27034 (y=113) / Noto Serif JP Bold 32px #3e3525 */
.features__heading {
  position: absolute;
  top: 113px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 1.6px;
  color: #3e3525;
}

/* ---- 特徴カード : Figma 各317x500 / x=221,562,903 top=250 ---- */
.feat-card {
  position: absolute;
  top: 250px;
  width: 317px;
  height: 500px;
  background: #f1f7f3;
  border-radius: 20px;
  box-shadow: 5px 4px 8px 0 rgba(0,0,0,0.12);
}
.feat-card--1 { left: 221px; }
.feat-card--2 { left: 562px; }
.feat-card--3 { left: 903px; }

/* 番号リボン（3ヶ条と同じ）*/
.feat-card__num {
  position: absolute;
  left: 18px;
  top: 0;
  width: 46px;
  height: 58px;
}
.feat-card__num img {
  position: absolute;
  inset: 0;
  width: 46px;
  height: 58px;
}
.feat-card__num b {
  position: absolute;
  left: 0;
  right: 0;
  top: 9px;
  text-align: center;
  font-family: "Noto Sans", sans-serif;
  font-weight: 700;
  font-size: 23px;
  color: #ffffff;
  letter-spacing: -1px;
}

/* アイコン : カードごとに位置・サイズ微差 */
.feat-card__icon {
  position: absolute;
  object-fit: contain;
}
.feat-card--1 .feat-card__icon { left: 99px;  top: 49px; width: 128px; height: 115px; }
.feat-card--2 .feat-card__icon { left: 96px;  top: 55px; width: 132px; height: 100px; }
.feat-card--3 .feat-card__icon { left: 100px; top: 54px; width: 133px; height: 118px; }

/* カード2のタイトルは1行なので少し下げて中央に揃える */
.feat-card--2 .feat-card__title { top: 209px; }

/* ボタン : Figma 13:27549 (481,805 / 479x59) */
.features__btn {
  position: absolute;
  left: 481px;
  top: 805px;
  width: 479px;
  height: 59px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 44px;
  padding: 0 22px 0 75px;
  border-radius: 29.5px;
  background: #cb4819;
  color: #ffffff;
  font-weight: 700;
  font-size: 21px;
  white-space: nowrap;
}
.features__btn svg { flex-shrink: 0; }

/* ============================================
   たくさんの専門家に選ばれています : Figma 13:27553 / 1440x534
   ============================================ */
.experts {
  width: 100%;
  overflow: hidden;
  background: #ffffff;
}
.experts__inner {
  position: relative;
  width: 1440px;
  height: 534px;
  margin: 0 auto;
  /* 背景画像（緑グラデ＋弧状トップ） */
  background: url("../../../images/area/shinjuku-experts_bg.webp") center top / 1440px 534px no-repeat;
}
/* 上部のドット（淡いミント・10px間隔・上200px） */
.experts__inner::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1440px;
  height: 200px;
  background-image: radial-gradient(#eef4f1 1.6px, transparent 1.7px);
  background-size: 10px 10px;
  pointer-events: none;
}

/* 見出し : Figma 13:30483 (y=113) / Noto Serif JP Bold 55px グラデ+グロー */
.experts__heading {
  position: absolute;
  top: 113px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 55px;
  letter-spacing: 4.4px;
  white-space: nowrap;
  background: linear-gradient(90deg, #4eaa47 0%, #367d47 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 4px rgba(255,255,255,0.9));
}

/* ---- カルーセル : 2名ずつ表示 / ビューポート1016px(=492*2+32) 中央 ---- */
.experts__carousel {
  position: absolute;
  left: 212px;
  top: 251px;
  width: 1016px;
  height: 156px;
  overflow: hidden;
}
.experts__track {
  display: flex;
  gap: 32px;
  transition: transform 0.5s ease;
  will-change: transform;
}

/* ---- 専門家カード : Figma 各492x155 ---- */
.expert-card {
  position: relative;
  flex: 0 0 492px;
  width: 492px;
  height: 155px;
}

.expert-card__body {
  position: absolute;
  left: 0;
  top: 34px;
  width: 492px;
  height: 121px;
  background: linear-gradient(to bottom, #add484 0%, #006934 100%);
  border-radius: 1px 30px 0 30px;
}
.expert-card__role {
  position: absolute;
  left: 137px;
  top: 58px;
  width: 355px;
  height: 35px;
  background: #ffffff;
  display: flex;
  align-items: center;
  padding-left: 16px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.75px;
  color: #006934;
  white-space: nowrap;
}
.expert-card__name {
  position: absolute;
  left: 153px;
  top: 99px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 23px;
  letter-spacing: 1.15px;
  line-height: 40px;
  color: #ffffff;
  white-space: nowrap;
}
.expert-card__photo {
  position: absolute;
  left: 12px;
  top: 0;
  width: 125px;
  height: 142px;
  border-radius: 0 30px 0 30px; /* 右上・左下を角丸（カード形状に合わせる） */
  object-fit: cover;
  z-index: 2;
}

/* ページネーションドット : Figma 13:30484 (y=466 / 中央) */
.experts__dots {
  position: absolute;
  top: 462px;
  left: 0;
  width: 1440px;
  display: flex;
  justify-content: center;
  gap: 14px;
}
.experts__dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: #c3d8c8;
  cursor: pointer;
  transition: background 0.3s;
}
.experts__dot.is-active { background: #367d47; }

/* ============================================
   対応している主な症状 (SYMPTOMS) : Figma 13:30490 / 1440x1299
   ============================================ */
.symptoms {
  width: 100%;
  background: #ffffff;
}
.symptoms__inner {
  position: relative;
  width: 1440px;
  height: 1299px;
  margin: 0 auto;
  overflow: hidden;
  background: url("../../../images/area/shinjuku-symptoms_bg.webp") center top / 1440px 1299px no-repeat;
}
/* 六角形（薄い装飾）: Figma 13:53239 */
.symptoms__poly {
  position: absolute;
  left: 507px;
  top: 84px;
  width: 100px;
  height: auto;
  pointer-events: none;
}
/* マスコット＋星 : Figma 13:53789 キラキラ1 (1170,50 / 235x218) */
.symptoms__mascot {
  position: absolute;
  left: 1170px;
  top: 50px;
  width: 235px;
  height: auto;
  pointer-events: none;
}

/* eyebrow SYMPTOMS : Figma 13:53238 (y=68) */
.symptoms__eyebrow {
  position: absolute;
  top: 68px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 2.4px;
  color: #367d47;
}
/* 見出し : Figma 13:53240 (y=113) / Noto Serif JP Bold 32px #3e3525 */
.symptoms__heading {
  position: absolute;
  top: 113px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 1.6px;
  color: #3e3525;
}

/* ---- 症状カード : Figma 各295x372 (3列x2行) ---- */
.sym-card {
  position: absolute;
  width: 295px;
  height: 372px;
  background: #ffffff;
  border-radius: 20px 20px 0 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.20);
}
.sym-card--1 { left: 220px; top: 249px; }
.sym-card--2 { left: 573px; top: 249px; }
.sym-card--3 { left: 925px; top: 249px; }
.sym-card--4 { left: 220px; top: 686px; }
.sym-card--5 { left: 573px; top: 686px; }
.sym-card--6 { left: 925px; top: 686px; }

/* 写真 : 295x237 / 上に角丸 */
.sym-card__photo {
  position: absolute;
  left: 0;
  top: 0;
  width: 295px;
  height: 237px;
  object-fit: cover;
  border-radius: 20px 20px 0 0;
}
/* 緑タイトル帯 : Figma #367d47 / h48 / 上角丸 */
.sym-card__bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 295px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #367d47;
  border-radius: 20px 20px 0 0;
  font-weight: 700;
  font-size: 20px;
  color: #ffffff;
  letter-spacing: 1px;
}
/* 帯の下向き三角（吹き出しの尾）*/
.sym-card__tail {
  position: absolute;
  left: 50%;
  top: 48px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 10px solid #367d47;
}
/* 本文 : Noto Sans Medium 15px #3e3525 line-height28 */
.sym-card__body {
  position: absolute;
  left: 18px;
  top: 259px;
  width: 260px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 28px;
  letter-spacing: 0.45px;
  color: #3e3525;
}

/* ボタン : Figma 13:53707 (574,1135 / 293x59) */
.symptoms__btn {
  position: absolute;
  left: 574px;
  top: 1135px;
  width: 293px;
  height: 59px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 44px;
  padding: 0 22px 0 75px;
  border-radius: 29.5px;
  background: #cb4819;
  color: #ffffff;
  font-weight: 700;
  font-size: 21px;
  white-space: nowrap;
}
.symptoms__btn svg { flex-shrink: 0; }

/* ============================================
   施術内容 (MENU) : Figma 13:53790 / 1440x1166
   ============================================ */
.menu {
  width: 100%;
  overflow: hidden;
  background: #ecf4d8;
}
.menu__inner {
  position: relative;
  width: 1440px;
  height: 1166px;
  margin: 0 auto;
  overflow: hidden;
  /* 背景画像（緑グラデ＋マスコット）/ 左右端を外側色へフェード */
  background:
    linear-gradient(to right, #ecf4d8 0, rgba(236,244,216,0) 80px) left top / 80px 100% no-repeat,
    linear-gradient(to left,  #ecf4d8 0, rgba(236,244,216,0) 80px) right top / 80px 100% no-repeat,
    url("../../../images/area/shinjuku-menu_bg.webp") center top / 1440px 1166px no-repeat;
}
/* 上部ドット */
.menu__inner::before {
  content: "";
  position: absolute;
  left: 0; top: 0;
  width: 1440px; height: 200px;
  background-image: radial-gradient(rgba(255,255,255,0.55) 1.5px, transparent 1.6px);
  background-size: 10px 10px;
  pointer-events: none;
}
/* 六角形（薄い装飾）: Figma 13:57332 */
.menu__poly {
  position: absolute;
  left: 610px;
  top: 78px;
  width: 100px;
  height: auto;
  pointer-events: none;
}

/* マスコット（背景とは別画像）*/
.menu__mascot {
  position: absolute;
  height: auto;
  pointer-events: none;
}
.menu__mascot--tl { left: 20px;   top: -5px;   width: 235px; }
.menu__mascot--br { left: 1055px; top: 742px;  width: 265px; }

/* ============================================
   店舗一覧 (SHOP LIST) ＋ お客様の声 (VOICE) 背景
   ============================================ */
/* 親: 木目写真を1440中央寄せ。外側(1440超)は 茶→緑 の縦グラデで他セクションと統一 */
.shopvoice {
  position: relative;
  width: 100%;
  /* 木目を1440中央寄せ。外側(1440超)は白背景 */
  background:
    url("../../../images/area/shinjuku-shop_bg2.webp") center top / 1440px auto no-repeat,
    #ffffff;
}
.shoplist {
  width: 100%;
  /* 新デザイン：薄いドット柄の背景（木目は使わない） */
  background:
    radial-gradient(#dde9e0 1.4px, transparent 1.6px) 0 0 / 16px 16px,
    #fbfdfb;
}
.shoplist__inner {
  position: relative;
  width: 1000px;
  margin: 0 auto;
  padding: 72px 0 96px;
}
.voice {
  position: relative;
  width: 100%;
  /* 緑カーブを1440中央寄せで重ねる。透過の弧から親の木目が見える。外側は親の緑が見える */
  background: url("../../../images/area/shinjuku-voice_bg2.webp") center top / 1440px auto no-repeat;
}
.voice__inner {
  position: relative;
  width: 1440px;
  height: 670px;
  margin: 0 auto;
}

/* eyebrow SHOP LIST */
.shoplist__eyebrow {
  margin: 0;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 2.4px;
  color: #367d47;
}
/* 見出し 店舗一覧 */
.shoplist__heading {
  margin: 8px 0 0;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 1.6px;
  color: #3e3525;
}

/* ===== 店舗一覧（市区→チップ→エリア→アコーディオン）===== */
.shoplist__body { margin-top: 74px; }

/* 市区見出し（下線付き） */
.arealist__city {
  margin: 0;
  padding-bottom: 18px;
  border-bottom: 2px solid #3e3525;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 30px;
  letter-spacing: 1.5px;
  color: #3e3525;
}

/* エリア絞り込みチップ */
.arealist__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin-top: 28px;
}
.areachip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: 232px;
  height: 44px;
  border: 1.5px solid #367d47;
  border-radius: 60px;
  background: #ffffff;
  text-decoration: none;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.75px;
  color: #3e3525;
  transition: background .2s, color .2s;
}
.areachip:hover { background: #367d47; color: #ffffff; }
.areachip__div { width: 1px; height: 18px; background: #c2d6c8; }
.areachip:hover .areachip__div { background: rgba(255,255,255,.6); }

/* エリアグループ（緑バー＋アコーディオン） */
.areagroup { margin-top: 40px; scroll-margin-top: 20px; }
.areagroup__bar {
  display: flex;
  align-items: center;
  height: 64px;
  padding: 0 28px;
  background: #367d47;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 1.1px;
  color: #ffffff;
}

/* アコーディオン1件 */
.shopacc { margin-top: 22px; }
.shopacc__head {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  height: 80px;
  padding: 0 32px;
  background: #f1f7f3;
  border: 0;
  cursor: pointer;
  text-align: left;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 25px;
  letter-spacing: 1px;
  color: #3e3525;
}
.shopacc__name { flex: 1 1 auto; }
.shopacc__icon { position: relative; flex: 0 0 26px; width: 26px; height: 26px; }
.shopacc__icon::before,
.shopacc__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #3e3525;
}
.shopacc__icon::before { width: 24px; height: 2.5px; transform: translate(-50%, -50%); }
.shopacc__icon::after  { width: 2.5px; height: 24px; transform: translate(-50%, -50%); transition: opacity .25s; }
.shopacc__head[aria-expanded="true"] .shopacc__icon::after { opacity: 0; } /* ＋ → − */

.shopacc__panel {
  overflow: hidden;
  max-height: 0;
  background: #f1f7f3;
  transition: max-height .35s ease;
}
.shopacc__body {
  display: flex;
  gap: 56px;
  padding: 4px 32px 36px;
}
.shopacc__map {
  flex: 0 0 401px;
  height: 232px;
  overflow: hidden;
  border-radius: 6px;
}
.shopacc__map iframe { display: block; width: 100%; height: 100%; border: 0; }
.shopacc__info { flex: 1 1 auto; padding-top: 6px; }
.shopacc__addr {
  margin: 0;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.75px;
  color: #3e3525;
}
.shopacc__access {
  margin: 18px 0 0;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.75px;
  color: #3e3525;
}
.shopacc__btns { display: flex; gap: 30px; margin-top: 40px; }
.shopacc__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 215px;
  height: 44px;
  border-radius: 60px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
  text-decoration: none;
}
.shopacc__btn--web { background: #367d47; color: #ffffff; }
.shopacc__btn--info { background: #ffffff; border: 2px solid #006934; color: #006934; }

/* 六角形（薄い装飾）: Figma 13:57445 (お の背後・少し回転) */
.voice__poly {
  position: absolute;
  left: 600px;
  top: 76px;
  width: 100px;
  height: auto;
  transform: rotate(12.49deg);
  pointer-events: none;
}

/* ---- VOICE 見出し ---- */
.voice__eyebrow {
  position: absolute;
  top: 92px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 2.4px;
  color: #367d47;
}
.voice__heading {
  position: absolute;
  top: 133px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 1.6px;
  color: #3e3525;
}
.voice__heading-accent { color: #006934; }

/* ---- 口コミカルーセル ---- */
.voice__carousel {
  position: absolute;
  top: 240px;
  left: 0;
  width: 1440px;
  height: 330px;
  overflow: hidden;
}
.voice__track {
  display: flex;
  gap: 98px;
  transition: transform 0.5s ease;
  will-change: transform;
}
.voice-card {
  position: relative;
  flex: 0 0 744px;
  width: 744px;
  height: 325px;
  background: #ffffff;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.voice-card__photo {
  position: absolute;
  left: 27px;
  top: 44px;
  width: 180px;
  height: 186px;
  object-fit: cover;
  border-radius: 6px;
}
.voice-card__title {
  position: absolute;
  left: 242px;
  top: 45px;
  width: 480px;
  font-weight: 700;
  font-size: 20px;
  line-height: 30px;
  color: #006934;
}
.voice-card__text {
  position: absolute;
  left: 242px;
  top: 92px;
  width: 465px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 30px;
  color: #3e3525;
}
.voice-card__hl { font-weight: 700; color: #cb4819; }
.voice-card__name {
  position: absolute;
  left: 27px;
  top: 243px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  color: #3e3525;
}
.voice-card__tags {
  position: absolute;
  left: 27px;
  top: 279px;
  display: flex;
  gap: 10px;
}
.voice-card__tags span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 22px;
  padding: 0 12px;
  border-radius: 11px;
  background: #006934;
  color: #ffffff;
  font-weight: 500;
  font-size: 15px;
}
.voice__dots {
  position: absolute;
  top: 614px;
  left: 0;
  width: 1440px;
  display: flex;
  justify-content: center;
  gap: 24px;
}
.voice__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: #c3d8c8;
  cursor: pointer;
  transition: background 0.3s;
}
.voice__dot.is-active { background: #006934; }

/* ============================================
   お悩み別コース一覧 ＋ 施術の流れ（共有背景）
   ============================================ */
.courseflow {
  position: relative;
  width: 1440px;
  /* 2セクション分の縦長背景を1枚で（1440×2504）*/
  background: #eef5da url("../../../images/area/shinjuku-course_flow_bg.webp") center top / 1440px auto no-repeat;
}
.course {
  position: relative;
  width: 1440px;
  background: transparent;
}
.course__inner {
  position: relative;
  width: 1440px;
  height: 1318px;
  margin: 0 auto;
}
/* 右上の葉 : VOICE下の余白に少し被さる・右にはみ出し（カードには掛けない）*/
.course__leaf {
  position: absolute;
  left: 720px;
  top: -70px;
  width: 800px;
  height: auto;
  pointer-events: none;
  z-index: 3;
}
/* 左上のマスコット : 実測位置に合わせて配置（Figmaは左右反転）*/
.course__mascot {
  position: absolute;
  left: 47px;
  top: 16px;
  width: 235px;
  height: auto;
  transform: scaleX(-1);
  pointer-events: none;
}
/* 六角形（見出し背後）: Figma 13:76428 */
.course__poly {
  position: absolute;
  left: 530px;
  top: 77px;
  width: 100px;
  height: auto;
  pointer-events: none;
}
/* eyebrow BY SYMPTOMS : Figma 13:76430 (y=72) */
.course__eyebrow {
  position: absolute;
  top: 72px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 2.4px;
  color: #367d47;
}
/* 見出し : Figma 13:76429 (y=121) / Noto Serif JP Bold 32px */
.course__heading {
  position: absolute;
  top: 121px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 1.6px;
  color: #3e3525;
}
.course__heading-accent { color: #006934; }

/* ---- お悩み別コース グループ : Figma 各1000幅 ---- */
.cgroup {
  position: absolute;
  left: 221px;
  width: 1000px;
}
.cgroup--1 { top: 239px; }
.cgroup--2 { top: 576px; }
.cgroup--3 { top: 798px; }
.cgroup--4 { top: 1020px; }

/* 緑ヘッダー帯 : Figma #3e8346 / 上角丸 */
.cgroup__head {
  height: 85px;
  background: #3e8346;
  border-radius: 20px 20px 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.cgroup__cat {
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.8px;
  color: #ffffff;
}
.cgroup__title {
  margin-top: 2px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 28px;
  letter-spacing: 1.4px;
  color: #fcf582;
}
/* ボディ（淡いミント）＋緑枠＋ピル */
.cgroup__body {
  background: #f1f7f3;
  border: 2px solid #3e8346;
  border-top: 0;
  border-radius: 0 0 2px 2px; /* 下角はほぼ角ばり（Figma実測）*/
  padding: 31px 0 33px 35px;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 11px 24px;
}
/* 症状ピル : Figma 214x43 / 白・緑枠・矢印 */
.cpill {
  position: relative;
  width: 214px;
  height: 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 2px solid #367d47;
  border-radius: 30px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #367d47;
}
.cpill__arrow {
  position: absolute;
  right: 16px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1.6px solid #367d47;
  border-right: 1.6px solid #367d47;
  transform: translateY(-60%) rotate(45deg);
}
.flow {
  position: relative;
  width: 1440px;
  background: transparent;
}
.flow__inner {
  position: relative;
  width: 1440px;
  height: 1186px;
  margin: 0 auto;
}
/* 右上のマスコット : Figma 13:79338（少し左下・やや大きめに調整）*/
.flow__mascot {
  position: absolute;
  left: 1140px;
  top: 0;
  width: 320px;
  height: auto;
  pointer-events: none;
}
/* 六角形（見出し背後）: Figma 13:79339 */
.flow__poly {
  position: absolute;
  left: 585px;
  top: 107px;
  width: 100px;
  height: auto;
  pointer-events: none;
}
/* eyebrow FLOW : Figma 13:79413 (y=92) */
.flow__eyebrow {
  position: absolute;
  top: 92px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 2.4px;
  color: #367d47;
}
/* 見出し : Figma 13:79340 (y=133) / Noto Serif JP Bold 32px / 先頭緑 */
.flow__heading {
  position: absolute;
  top: 133px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 1.6px;
  color: #3e3525;
}
.flow__heading-accent { color: #006934; }

/* FLOW ステップカード : Figma 13:79341 ほか */
.flow-card {
  position: absolute;
  width: 295px;
}
/* 写真（上角だけ丸） */
.flow-card__photo {
  display: block;
  width: 295px;
  height: 189px;
  object-fit: cover;
  border-radius: 20px 20px 0 0;
}
/* 番号バッジ #cb4819 左上・右下が丸 */
.flow-card__num {
  position: absolute;
  left: 0;
  top: 0;
  width: 58px;
  height: 52px;
  background: #cb4819;
  border-radius: 20px 0 20px 0;
  color: #fff;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 52px;
  text-align: center;
}
/* 緑のタイトルバー #367d47 */
.flow-card__bar {
  width: 295px;
  height: 35px;
  background: #367d47;
  color: #fff;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 35px;
  text-align: center;
}
/* 白の本文ボックス */
.flow-card__body {
  width: 295px;
  height: 190px;
  margin: 0;
  background: #fff;
  box-sizing: border-box;
  padding: 21px 17px 0 18px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 28px;
  letter-spacing: 0.45px;
  color: #3e3525;
}

/* eyebrow MENU : Figma 13:57334 (y=92) */
.menu__eyebrow {
  position: absolute;
  top: 92px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 2.4px;
  color: #367d47;
}
/* 見出し : Figma 13:57333 (y=133) / Noto Serif JP Bold 32px / 先頭緑 */
.menu__heading {
  position: absolute;
  top: 133px;
  left: 0;
  width: 1440px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 1.6px;
  color: #3e3525;
}
.menu__heading-accent { color: #006934; }

/* ---- 施術カード : Figma 各316x389 ---- */
.menu-card {
  position: absolute;
  width: 316px;
  height: 389px;
  border-radius: 20px 20px 0 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.14);
}
.menu-card--1 { left: 220px; top: 251px; }
.menu-card--2 { left: 566px; top: 251px; }
.menu-card--3 { left: 912px; top: 256px; }
.menu-card--4 { left: 220px; top: 685px; }
.menu-card--5 { left: 566px; top: 685px; }

.menu-card__photo {
  position: absolute;
  left: 0;
  top: 0;
  width: 316px;
  height: 211px;
  object-fit: cover;
  border-radius: 20px 20px 0 0;
  z-index: 1;
}
/* 白い本文エリア（写真下端に少し重なる）: Figma 13:57375 (y189 / 316x200) */
.menu-card__body {
  position: absolute;
  left: 0;
  top: 189px;
  width: 316px;
  height: 200px;
  background: #ffffff;
  z-index: 2;
}
/* タイトル（緑）: Noto Sans Bold 18px #367d47 */
.menu-card__title {
  position: absolute;
  top: 18px;
  left: 27px;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.9px;
  color: #367d47;
}
/* 区切り線 : Figma 13:57379 (w277) */
.menu-card__line {
  position: absolute;
  top: 51px;
  left: 27px;
  width: 277px;
  height: 2px;
  background: linear-gradient(90deg, #6fa877 0%, rgba(111,168,119,0) 100%);
}
/* 本文 : Noto Sans Medium 15px #3e3525 line-height24 */
.menu-card__text {
  position: absolute;
  top: 67px;
  left: 27px;
  width: 268px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 24px;
  letter-spacing: 0.75px;
  color: #3e3525;
}

/* タイトル : Noto Sans Bold 18px #3e3525 tracking1.44 / 中央2行 */
.feat-card__title {
  position: absolute;
  top: 193px;
  left: 0;
  width: 317px;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 1.44px;
  color: #3e3525;
}

/* 区切り線 : Figma 13:27528 (w228) */
.feat-card__line {
  position: absolute;
  top: 256px;
  left: 50%;
  transform: translateX(-50%);
  width: 228px;
  height: 2px;
  background: linear-gradient(90deg, rgba(54,125,71,0) 0%, #7fae88 50%, rgba(54,125,71,0) 100%);
}

/* 本文 : Noto Sans Medium 15px #3e3525 line-height30 tracking0.75 */
.feat-card__body {
  position: absolute;
  left: 26px;
  top: 264px;
  width: 277px;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 30px;
  letter-spacing: 0.75px;
  color: #3e3525;
}

/* =========================================================
   代表メッセージ ＋ よくあるご質問（連結背景）
   背景画像 代表メッセージ背景.webp : 1448x1819(design) / 4px bleed
========================================================= */
.msgfaq {
  position: relative;
  width: 1440px;
  min-height: 2069px;
  background: url(../../../images/area/shinjuku-message-bg.webp) center top / 1440px 100% no-repeat;
  background-color: #ffffff;
}
/* --- 代表メッセージ section (COLUMNブロック分を追加して 1100px) --- */
.message {
  position: relative;
  width: 1440px;
  height: 1100px;
}
.message__inner {
  position: relative;
  width: 1440px;
  height: 1100px;
  margin: 0 auto;
}

/* --- 代表メッセージ 中身 --- */
/* 見出し背後の六角形 */
.message__poly {
  position: absolute; left: 571px; top: 96px;
  width: 108px; height: auto; pointer-events: none; z-index: 0;
}
.message__eyebrow {
  position: absolute; top: 92px; left: 0; width: 1440px;
  text-align: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 24px; letter-spacing: 2.4px; color: #367d47;
}
.message__heading {
  position: absolute; top: 133px; left: 0; width: 1440px;
  text-align: center;
  font-family: "Noto Serif JP",serif; font-weight: 700;
  font-size: 32px; letter-spacing: 1.6px; color: #3e3525;
}
.message__heading-accent { color: #006934; }

/* 背景パネル #f1f7f3 : Figma 13:92325 */
.message__panel {
  position: absolute; left: 220px; top: 247px;
  width: 1000px; height: 409px; background: #f1f7f3; z-index: 0;
}
/* 写真 : Figma 13:92334 Mask group (282x333) 角は角ばり */
.message__photo {
  position: absolute; left: 256px; top: 196px;
  width: 282px; height: 333px; object-fit: cover; border-radius: 0;
  z-index: 1;
}
/* 役職ラベル : Figma 13:92333 Medium 15px */
.message__role {
  position: absolute; left: 583px; top: 279px; margin: 0; z-index: 1;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; letter-spacing: 0.75px; color: #3e3525;
}
/* 氏名 : Figma 13:92327 Bold 32px tracking1.6 */
.message__name {
  position: absolute; left: 583px; top: 299px; margin: 0; z-index: 1;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 32px; letter-spacing: 1.6px; color: #3e3525;
}
/* 肩書きサブ : Figma 13:92328 Medium 13px #367d47 */
.message__sub {
  position: absolute; left: 583px; top: 343px; margin: 0; z-index: 1;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 13px; letter-spacing: 0.65px; color: #367d47;
}
/* 経歴グリーンバー : Figma 13:92330 401x48 */
.message__cred {
  position: absolute; left: 583px; top: 371px; margin: 0; z-index: 1;
  width: 401px; height: 48px; box-sizing: border-box;
  padding: 6px 9px;
  background: #367d47;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 13px; line-height: 18px; letter-spacing: 0.65px; color: #ffffff;
}
/* 本文 : Figma 13:92332 Medium 15px tracking0.75 w561 lh30 */
.message__body {
  position: absolute; left: 583px; top: 429px; margin: 0; z-index: 1;
  width: 561px;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; line-height: 30px; letter-spacing: 0.75px; color: #3e3525;
}
/* =========================================================
   COLUMN（コラム誘導）ブロック : Figma 81:193070
   パネル left220 top736 / 1000x318 / グラデの角丸スタジアム
========================================================= */
.column-cta {
  position: absolute; left: 220px; top: 736px;
  width: 1000px; height: 318px; z-index: 1;
}
/* グラデ背景パネル（スタジアム形） */
.column-cta__bg {
  position: absolute; inset: 0;
  border-radius: 159px;
  background: url("../../../images/area/shinjuku-column-bg.webp") center / 100% 100% no-repeat;
  z-index: 0;
}
/* 背後の六角形（薄い装飾） */
.column-cta__poly {
  position: absolute; left: 315px; top: 43px;
  width: 96px; height: auto; z-index: 1;
  mix-blend-mode: multiply; opacity: .9; pointer-events: none;
}
.column-cta__eyebrow {
  position: absolute; top: 40px; left: 0; width: 1000px; margin: 0; z-index: 2;
  text-align: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 24px; letter-spacing: 1.2px; color: #367d47;
}
.column-cta__title {
  position: absolute; top: 79px; left: 0; width: 1000px; margin: 0; z-index: 2;
  text-align: center;
  font-family: "Noto Serif JP",serif; font-weight: 700;
  font-size: 32px; letter-spacing: 1.6px; color: #3e3525;
}
.column-cta__lead {
  position: absolute; top: 157px; left: 0; width: 1000px; margin: 0; z-index: 2;
  text-align: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 15px; letter-spacing: 0.75px; color: #3e3525;
}
.column-cta__btn {
  position: absolute; top: 209px; left: 50%; transform: translateX(-50%);
  width: 275px; height: 59px; box-sizing: border-box; z-index: 2;
  display: flex; align-items: center; gap: 23px;
  padding: 15px 22px 15px 37px;
  background: #cb4819; border-radius: 29.5px; text-decoration: none;
}
.column-cta__btn-text {
  width: 179px; text-align: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 21px; line-height: normal; color: #ffffff;
}
.column-cta__btn-arrow { width: 11px; height: 18px; display: block; flex-shrink: 0; }

/* =========================================================
   よくあるご質問（FAQ）: Figma 13:92343 / 中身 13:95253
========================================================= */
.faq {
  position: relative; width: 1440px;
}
.faq__inner {
  position: relative; width: 1440px; margin: 0 auto;
  min-height: 969px; box-sizing: border-box;
  padding: 248px 0 121px;
}
/* 見出し背後の六角形 */
.faq__poly {
  position: absolute; left: 571px; top: 96px;
  width: 108px; height: auto; pointer-events: none; z-index: 0;
}
.faq__eyebrow {
  position: absolute; top: 92px; left: 0; width: 1440px; text-align: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 24px; letter-spacing: 2.4px; color: #367d47;
}
.faq__heading {
  position: absolute; top: 133px; left: 0; width: 1440px; text-align: center;
  font-family: "Noto Serif JP",serif; font-weight: 700;
  font-size: 32px; letter-spacing: 1.6px; color: #3e3525;
}
.faq__heading-accent { color: #006934; }

/* アコーディオン : 緑バー 1000x80 / 行間24px / 開閉 */
.faq-list {
  position: relative; width: 1000px; margin: 0 0 0 220px; z-index: 1;
}
.faq-acc { margin-bottom: 24px; }
.faq-acc:last-child { margin-bottom: 0; }
.faq-acc__head {
  position: relative; height: 80px; background: #367d47; cursor: pointer;
}
/* Q 白丸 + 緑Q字 : Figma 13:95257/95258 */
.faq-item__q {
  position: absolute; left: 23px; top: 20.7px;
  width: 40px; height: 40px; border-radius: 50%; background: #ffffff;
  display: flex; align-items: center; justify-content: center;
  padding-bottom: 5.5px;
  font-family: "Noto Serif JP", serif; font-weight: 700;
  font-size: 24.39px; line-height: 1; letter-spacing: 0.9756px; color: #367d47;
  text-indent: 0.9756px;
}
/* 質問テキスト : Figma 13:95259 Bold 25px white left312 */
.faq-item__text {
  position: absolute; left: 92px; top: 50%; transform: translateY(-50%);
  margin: 0;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 25px; line-height: 1.45; letter-spacing: 1px; color: #ffffff;
  white-space: nowrap;
}
/* ＋／− アイコン : Figma 13:95260 Medium 25px white 中心x1176.5 */
.faq-acc__icon {
  position: absolute; left: 956.5px; top: 50%;
  transform: translate(-50%, -50%);
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 25px; line-height: 1.45; letter-spacing: 1px; color: #ffffff;
}
/* 回答パネル : Figma 13:96751 白 / Medium 15px lh2.2 #3e3525 */
.faq-acc__panel {
  max-height: 0; overflow: hidden; background: #ffffff;
  transition: max-height 0.35s ease;
}
.faq-acc__inner { padding: 20px 44px 20px 24px; }
.faq-acc__answer {
  margin: 0;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 16px; line-height: 2.0; letter-spacing: 0.75px; color: #3e3525;
}

/* =========================================================
   フッターナビ : Figma 13:95298（緑帯 1440x124）
========================================================= */
.footnav {
  width: 1440px; height: 124px; background: #367d47;
}
.footnav__inner {
  position: relative; width: 1440px; height: 124px; margin: 0 auto;
}
.footnav__link {
  position: absolute; transform: translateX(-50%); white-space: nowrap;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 15px; letter-spacing: 0.75px; color: #ffffff; text-decoration: none;
}

/* ============================================================
   ==================  スマートフォン版 (≤768px)  ==============
   375px基準のSP専用キャンバス。768px以下で表示しビューポート幅にスケール。
   各SPセクションは375座標で絶対配置（PC版とは完全分離）。
   ============================================================ */
.page-sp { display: none; }

@media (max-width: 768px) {
  .page { display: none !important; }
  .page-sp {
    display: block;
    position: relative;
    width: 375px;
    transform-origin: top left;
    background: #f1f7f3;
  }
}

/* ===== SP ヘッダー : Figma sp_top (logo 81:3509 / menu 81:3505) ===== */
.sp-header {
  position: relative;
  width: 375px;
  height: 67px;
  background: #f1f7f3;
}
.sp-header__logo {
  position: absolute; left: 13px; top: 15px;
  width: 161px; height: auto;
}
.sp-header__logo img { width: 161px; height: auto; }
.sp-header__access {
  position: absolute; top: 17px; left: 197px; width: 110px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  background: #036242; border-radius: 9px; text-decoration: none;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 16px; line-height: 22px; color: #ffffff;
}
.sp-header__menu {
  position: absolute; left: 327px; top: 25px;
  width: 32px; height: 24px;
  background: none; border: 0; padding: 0; cursor: pointer;
}
.sp-header__menu span {
  position: absolute; left: 0; width: 32px; height: 2.6px;
  border-radius: 2px; background: #367d47;
}
.sp-header__menu span:nth-child(1) { top: 0; }
.sp-header__menu span:nth-child(2) { top: 10.76px; }
.sp-header__menu span:nth-child(3) { top: 21.53px; }

/* ===== SP FV メインビジュアル : Figma sp_top (collage 81:3502 / headbox 81:3601) ===== */
.sp-fv {
  position: relative;
  width: 375px;
  height: 508px;
}
.sp-fv__collage {
  position: absolute; left: 0; top: 0;
  width: 375px; height: 508px; object-fit: cover;
}
/* 見出しボックス : Figma 355x232 / 白90% / 緑ドロップ影 */
.sp-fv__headbox {
  position: absolute; top: 140px; left: 50%; transform: translateX(-50%);
  width: 355px; height: 232px;
  background: rgba(255,255,255,0.9);
  box-shadow: 4px 4px 0 0 #036242;
}
/* eyebrow : Noto Sans Medium 21px / 年間80万人来院=ゴールド */
.sp-fv__eyebrow {
  position: absolute; top: 29px; left: 0; width: 355px; margin: 0;
  text-align: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 21px; line-height: 1.45; letter-spacing: 1.05px; color: #3e3525;
}
.sp-fv__eyebrow-gold { color: #cb8d19; }
/* 見出し : Noto Serif JP Bold 42px / 緑グラデ + 白ハロー */
.sp-fv__title {
  position: absolute; top: 92px; left: 0; width: 355px; margin: 0;
  text-align: center;
  font-family: "Noto Serif JP", serif; font-weight: 700;
  font-size: 42px; line-height: 1.24; letter-spacing: 3.36px;
  background: linear-gradient(112deg, #4eaa47 1%, #298645 31%, #036242 99%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 3px rgba(255,255,255,0.9));
}

/* ===== SP 実績バッジ（2×2グリッド） : Figma 各173x84 ===== */
.sp-badges {
  width: 355px; margin: 0 auto; padding-top: 9px;
  display: flex; flex-wrap: wrap; gap: 9px;
}
.sp-badge {
  width: 173px; height: 84px; background: #ffffff;
  box-shadow: 0 -1px 3.5px 0 #dbe5de;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.sp-badge__label {
  margin: 0; color: #036242;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 600;
  font-size: 12px; letter-spacing: 0.6px; line-height: 1.34;
  transform: skewX(-5deg); text-shadow: 0 0 3.7px #fff;
}
.sp-badge__stars {
  margin: 1px 0 -3px; transform: skewX(-5deg);
  color: #e60012; font-size: 9px; letter-spacing: 1.5px; line-height: 1;
}
.sp-badge__value {
  margin: 0; display: flex; align-items: baseline; transform: skewX(-5deg);
  color: #3e3525; text-shadow: 0 0 3.4px #fff;
  font-family: "Noto Serif JP", serif; font-weight: 700; line-height: 1;
}
.sp-badge__num { font-size: 50px; letter-spacing: -2px; }
.sp-badge__dot { font-weight: 400; }
.sp-badge__unit { font-size: 25px; letter-spacing: -1px; }
/* 数値色：1.9万人 / 20.257件 は #350b0b */
.sp-badge--maroon .sp-badge__value { color: #350b0b; }
.sp-badge--wide .sp-badge__num { font-size: 42px; letter-spacing: -2.5px; }

/* ===== SP お近くの店舗を探す : Figma 81:3586 (355x169) ===== */
.sp-stores { padding-top: 24px; }
.sp-stores__box {
  width: 355px; margin: 0 auto; padding: 20px 0 24px;
  background: #f1f7f3; border-radius: 21px;
  box-shadow: 0 0 2.4px 2px #d0dfd5;
}
.sp-stores__title {
  margin: 0; text-align: center; color: #036242;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 18px; letter-spacing: 0.9px; line-height: 40px;
}
.sp-stores__btns {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 9px 7px; margin-top: 12px;
}
.sp-storebtn {
  width: 143px; height: 31.7px; box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
  border-radius: 18.9px; border: 0.675px solid #ffffff;
  background: linear-gradient(to bottom, #d46238 0%, #d46238 52.87%, #cb4819 52.88%, #cb4819 100%);
  box-shadow: 0.675px 0.675px 2.7px 0 rgba(0,0,0,0.25);
  color: #ffffff; text-decoration: none;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 600;
  font-size: 15px; letter-spacing: 0.75px;
}

/* ===== SP 写真ストリップ（自動左スクロール / マーキー） ===== */
.sp-photoband {
  width: 375px; overflow: hidden; padding-top: 24px; padding-bottom: 44px;
}
.sp-photoband__track {
  display: flex; gap: 16px; width: max-content;
  animation: sp-marquee 35s linear infinite;
}
.sp-photoband__track img {
  flex: 0 0 auto; width: 235px; height: 145px;
  border-radius: 10px; object-fit: cover; display: block;
}
@keyframes sp-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-1004px); } /* 1セット = 235*4 + 16*4 */
}
/* 視差軽減設定の人には自動アニメを止める */
@media (prefers-reduced-motion: reduce) {
  .sp-photoband__track { animation: none; }
}

/* ===== SP セクション2 : ドット背景 (Figma 81:3652) ===== */
.sp-dotsec {
  position: relative;
  width: 375px;
  min-height: 342px;
  padding: 138px 0 36px; /* 上：見出し領域分 / 下：余白。中身(アコーディオン)で伸縮 */
  background:
    radial-gradient(circle, #f1f7f3 2px, transparent 2.35px) 0 0 / 10px 10px,
    #ffffff;
}
/* 見出し背後の六角形 : Figma 81:4980 (x18.65 y50 / 53.67px) */
.sp-dotsec__hex {
  position: absolute; left: 18.65px; top: 50px;
  width: 53.67px; height: 53.67px; z-index: 0; pointer-events: none;
}
/* 右下の木 : Figma 81:4979 (217x144) ※左右反転で葉を右に */
.sp-dotsec__tree {
  position: absolute; left: 158px; top: 198px;
  width: 217px; height: 144px; object-fit: cover;
  transform: scaleX(-1); z-index: 0; pointer-events: none;
}
/* PROMISES eyebrow : Figma 81:4981 (x158 y35 / Noto Sans Medium 12 #036242) */
.sp-promises__eyebrow {
  position: absolute; top: 35px; left: 0; width: 375px; z-index: 1; margin: 0;
  text-align: center; line-height: 16px;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 12px; letter-spacing: 0.5px; color: #036242;
}
/* 見出し : Figma 81:4982 (x27 y59 / Noto Serif JP Bold 24 tracking1.2 / 先頭緑) */
.sp-promises__heading {
  position: absolute;
  top: 59px;
  left: 0;
  width: 375px;
  z-index: 1;
  margin: 0;
  line-height: 34px;
}

/* ===== SP 3ヶ条アコーディオン : Figma 行45px / 行間16.6px ===== */
.sp-promises__list { position: relative; z-index: 1; }
.sp-promise { margin-bottom: 16.6px; }
.sp-promise:last-child { margin-bottom: 0; }
.sp-promise__head {
  position: relative; display: block;
  width: 355px; height: 45px; margin: 0 auto;
  background: #f1f7f3; border: 0; cursor: pointer; padding: 0;
  box-shadow: 2.817px 2.254px 4.508px 0 rgba(0,0,0,0.12);
}
/* リボンバッジ + 番号 : Figma ribbon 25.92x32.68 / 番号 Bold 19.75 白 */
.sp-promise__badge {
  position: absolute; left: 11.3px; top: 0.56px;
  width: 25.92px; height: 32.68px;
}
.sp-promise__badge img { width: 100%; height: 100%; display: block; }
.sp-promise__badge b {
  position: absolute; left: 0; top: 0; width: 25.92px; height: 28.97px;
  display: flex; align-items: center; justify-content: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 19.75px; color: #ffffff; font-style: normal;
}
/* タイトル : Bold 18px tracking0.9 #3e3525 */
.sp-promise__title {
  position: absolute; left: 58px; top: 50%; transform: translateY(-50%);
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 18px; letter-spacing: 0.9px; color: #3e3525; white-space: nowrap;
}
.sp-promise__head--1 .sp-promise__title { left: 45px; } /* 「卒業」は始端の括弧が左に出るため */
/* ＋／− アイコン */
.sp-promise__icon {
  position: absolute; right: 24px; top: 50%; transform: translateY(-50%);
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 14px; line-height: 1; color: #3e3525;
}
/* 開閉パネル */
.sp-promise__panel {
  overflow: hidden; max-height: 0; width: 355px; margin: 0 auto;
  background: #ffffff; transition: max-height .35s ease;
}
.sp-promise__body {
  padding: 14px 18px 18px;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 13px; line-height: 1.85; letter-spacing: 0.4px; color: #3e3525;
}
.sp-promise__body p { margin: 0; }
.sp-promise__note { margin-top: 8px !important; font-size: 11px; color: #7a7568; }

/* ===== SP こんな悩みありませんか？ : Figma 81:5015 (375x786) ===== */
.sp-worry {
  position: relative; width: 375px; min-height: 786px;
  background: url("../../../images/area/shinjuku-sp_worry_bg.webp") center / cover no-repeat;
  overflow: hidden;
}
/* 下部の葉 : Figma 81:5017 (598803963) 左下に配置（ボタンの左に出る） */
.sp-worry__leaf {
  position: absolute; left: -22px; bottom: -12px;
  width: 250px; height: 218px; object-fit: contain;
  z-index: 1; pointer-events: none;
}
/* 緑ピル見出し : Figma 81:5026 (x29 y47 / 316.69x35.08 / 下緑→上薄緑グラデ) */
.sp-worry__pill {
  position: absolute; top: 47px; left: 50%; transform: translateX(-50%);
  width: 316.69px; height: 35.08px; z-index: 5;
  display: flex; align-items: center; justify-content: center;
  border-radius: 27.97px;
  background: linear-gradient(to top, #036242 0%, #96bd6d 100%);
  font-family: "Noto Serif JP", serif; font-weight: 700;
  font-size: 21px; letter-spacing: 1.68px; color: #ffffff; white-space: nowrap;
}
/* 白カード（マーブル）: Figma 81:5023 (x10 y71 / 355x434) */
.sp-worry__card {
  position: absolute; top: 71px; left: 10px; z-index: 1;
  width: 355px; height: 434px; border-radius: 0; /* Figma: 角の半径0（直角） */
  background: url("../../../images/area/shinjuku-sp_worry_card.webp") center / cover no-repeat, #ffffff;
}
/* 写真 : Figma 81:5029 (x25 y96 / 325x173) 角は直角 */
.sp-worry__photo {
  position: absolute; top: 96px; left: 25px; z-index: 2;
  width: 325px; height: 173px; object-fit: cover; border-radius: 0;
}
/* チェックリスト : Figma 81:5032 (チェックx25 / テキストx58 / y298〜) */
.sp-worry__checks {
  position: absolute; top: 298px; left: 25px; z-index: 2;
  width: 325px; margin: 0; padding: 0; list-style: none;
}
.sp-worry__checks li {
  display: flex; align-items: center; gap: 14.4px;
  height: 24px; margin-bottom: 6.85px;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; letter-spacing: 0.75px; color: #3e3525; white-space: nowrap;
}
.sp-worry__checks li:last-child { margin-bottom: 0; }
/* 緑チェックマーク（緑四角＋白チェック）: Figma 18.58px #036242 */
.sp-check {
  position: relative; flex: 0 0 18.58px; width: 18.58px; height: 18.58px;
  background: #036242; border-radius: 0; /* Figma: 角の半径0（直角） */
}
.sp-check::after {
  content: ""; position: absolute; left: 3.6px; top: 4.4px;
  width: 9px; height: 5px;
  border-left: 1.82px solid #fff; border-bottom: 1.82px solid #fff;
  transform: rotate(-45deg);
}
/* リード文 : Figma 81:5022/5018/5021 (Noto Serif JP Bold 中央) */
.sp-worry__lead1, .sp-worry__lead3 {
  position: absolute; left: 0; width: 375px; z-index: 2; margin: 0;
  text-align: center; line-height: 29px;
  font-family: "Noto Serif JP", serif; font-weight: 700;
  font-size: 18px; letter-spacing: 1px; color: #3e3525;
}
.sp-worry__lead1 { top: 539px; }
.sp-worry__lead3 { top: 609px; }
.sp-worry__lead2 {
  position: absolute; top: 572px; left: 0; width: 375px; z-index: 2; margin: 0;
  text-align: center; white-space: nowrap;
  font-family: "Noto Serif JP", serif; font-weight: 700; letter-spacing: 1.45px;
}
.sp-worry__grad {
  font-size: 23px;
  background: linear-gradient(to right, #65a852 0%, #45844b 39.4%, #296144 85.6%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 2px rgba(255,255,255,0.9));
}
.sp-worry__q { font-size: 18.1px; }
.sp-worry__as { font-size: 18.1px; color: #3e3525; margin-left: 2px; }
/* 初めての方へ ボタン : Figma 81:5059 (x44 y677 / 293x59 / #cb4819) */
.sp-worry__btn {
  position: absolute; top: 677px; left: 50%; transform: translateX(-50%);
  width: 293px; height: 59px; z-index: 2;
  display: flex; align-items: center; justify-content: center; gap: 14px;
  background: #cb4819; border-radius: 29.5px; text-decoration: none;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 18px; color: #ffffff;
}
.sp-worry__btn-arrow {
  width: 7px; height: 7px;
  border-top: 2px solid #fff; border-right: 2px solid #fff;
  transform: rotate(45deg);
}

/* ===== SP こころ整体院の特徴（GIFT） : Figma 81:5063 (375x2058) ===== */
.sp-features {
  position: relative; width: 375px; min-height: 2460px;
}
/* features セクション内・トリガー図の下：この4つが絡み合って〜GIFT詳細CTA */
.sp-gift-cta-bg {
  position: absolute; left: 0; top: 2015px; width: 375px; height: 445px;
  background: #fff; z-index: 0;
}
.sp-gift-bridge {
  position: absolute; top: 2036px; left: 50%; transform: translateX(-50%);
  margin: 0; z-index: 1; text-align: center; white-space: nowrap;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; line-height: 28px; letter-spacing: 0.75px; color: #3e3525;
}
.sp-gift-benefit {
  position: absolute; top: 2101px; left: 50%; transform: translateX(-50%);
  width: 351px; height: 174px; z-index: 1; display: block; object-fit: contain;
}
.sp-gift-route {
  position: absolute; top: 2287px; left: 50%; transform: translateX(-50%);
  margin: 0; z-index: 1; text-align: center; white-space: nowrap;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; line-height: 28px; letter-spacing: 0.75px; color: #3e3525;
}
.sp-gift-cta {
  position: absolute; top: 2356px; left: 50%; transform: translateX(-50%);
  width: 318px; height: 59px; z-index: 1;
  display: flex; align-items: center; justify-content: center; gap: 12px;
  background: #cb4819; border-radius: 29.5px; text-decoration: none;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 18px; line-height: 25px; color: #fff;
}
.sp-gift-cta svg { flex-shrink: 0; }
.sp-features__bg {
  position: absolute; top: 0; left: 0;
  width: 375px; height: 2058px; z-index: 0; display: block;
}
/* FEATURES eyebrow : Figma 81:5083 (中央 y35 / Noto Sans Medium 12 #036242) */
.sp-feat__eyebrow {
  position: absolute;
  top: 35px;
  left: 0;
  width: 375px;
  z-index: 1;
  margin: 0;
}
/* 見出し : Figma 81:5085 (中央 y59 / Noto Serif JP Bold 24 tracking1.2 / 先頭緑) */
.sp-feat__heading {
  position: absolute;
  top: 59px;
  left: 0;
  width: 375px;
  z-index: 1;
  margin: 0;
  line-height: 31px;
}
/* リード : Figma 81:5086 (中央 y132 / Noto Sans Bold 15 行高25 / 3行目緑) */
.sp-feat__lead {
  position: absolute; top: 132px; left: 0; width: 375px; z-index: 1; margin: 0;
  text-align: center; line-height: 25px;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 15px; letter-spacing: 0.75px; color: #3e3525;
}
.sp-feat__lead-green { color: #036242; }
/* GIFT 4視点（G/I/F/T）: タイトル＋図解。バッジ・ミント枠・マスコットは背景画像に焼込み済み */
.sp-gift-title {
  position: absolute; left: 0; width: 375px; z-index: 1; margin: 0;
  display: flex; align-items: baseline; justify-content: center; gap: 9px;
  line-height: 1;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
}
.sp-gift-title__en { font-size: 20px; letter-spacing: 1px; color: #036242; }
.sp-gift-title__jp { font-size: 20px; letter-spacing: 0.8px; color: #000; }
.sp-gift-diagram {
  position: absolute; left: 50%; transform: translateX(-50%);
  object-fit: cover; z-index: 1; display: block;
}
/* G : Gliding（滑走障害）Figma 81:5157 / 81:5160 */
.sp-gift-title--g   { top: 568px; }
.sp-gift-diagram--g { top: 626px; width: 315px; height: 182px; }
/* I : Inner（インナー機能不全）Figma 81:5110 / 81:5113 */
.sp-gift-title--i   { top: 957px; }
.sp-gift-diagram--i { top: 998px; width: 304px; height: 227px; }
/* F : Form（フォーム不全）Figma 81:5142 / 81:5149 */
.sp-gift-title--f   { top: 1342px; }
.sp-gift-diagram--f { top: 1377px; width: 322px; height: 240px; }
/* T : Trigger（トリガーポイント）Figma 81:5135 / 81:5139 */
.sp-gift-title--t   { top: 1721px; }
.sp-gift-diagram--t { top: 1770px; width: 327px; height: 245px; }

/* ===== SP たくさんの専門家に選ばれています : Figma 81:5170 (375x554) ===== */
.sp-experts {
  position: relative; width: 375px; height: 554px;
}
.sp-experts__bg {
  position: absolute; top: 0; left: 0;
  width: 375px; height: 554px; z-index: 0; display: block;
}
/* 見出し : Figma 81:5177 (中央 y67 / Noto Serif JP Bold 28 行高42 tracking2.24 / 緑グラデ) */
.sp-experts__heading {
  position: absolute; top: 67px; left: 50%; transform: translateX(-50%);
  width: 293px; margin: 0; z-index: 1; text-align: center;
  font-family: "Noto Serif JP", serif; font-weight: 700;
  font-size: 28px; line-height: 42px; letter-spacing: 2.24px;
  background: linear-gradient(to right, #65a852 0%, #45844b 39.4%, #296144 85.6%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 3px rgba(255,255,255,0.95));
}
/* カルーセル ビューポート＆トラック（2名ずつ・3ページ）*/
.sp-experts__viewport {
  position: absolute; top: 184px; left: 0; width: 375px; height: 281px;
  z-index: 1; overflow: hidden;
}
.sp-experts__track {
  position: absolute; top: 0; left: 10px;
  display: flex; gap: 16px;
  transition: transform .45s ease;
}
/* 専門家カード : Figma 81:5184 / 81:5194 (169x281) */
.sp-expcard {
  position: relative; flex: 0 0 169px; width: 169px; height: 281px;
  box-sizing: border-box;
  border: 1px solid #ffffff; border-radius: 1px 30px 0 30px; overflow: hidden;
  background: linear-gradient(to bottom, #add484 0%, #036242 100%);
}
.sp-expcard--alt { background: linear-gradient(to bottom, #add484 0%, #006934 100%); }
/* 上部白帯（所属）: Figma 81:5186 (h65) */
.sp-expcard__strip {
  position: absolute; top: 0; left: 0; width: 100%; height: 65px; z-index: 1;
  background: #ffffff; display: flex; align-items: center; justify-content: center;
}
.sp-expcard__affil {
  margin: 0; text-align: center; color: #036242;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; line-height: 21px; letter-spacing: 0.75px;
}
/* 写真（マスク済みPNG）: Figma 81:5191 表示窓125x142 / カード基準 left22 top59（中央）*/
.sp-expcard__photo {
  position: absolute; top: 59px; left: 50%; transform: translateX(-50%);
  width: 125px; height: 142px; object-fit: cover; z-index: 2;
}
/* 肩書ピル : Figma 81:5192 (100x24 / top397 / r12) */
.sp-expcard__pill {
  position: absolute; top: 213px; left: 50%; transform: translateX(-50%);
  width: 100px; height: 24px; z-index: 2;
  background: #ffffff; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  color: #036242; font-family: "Noto Sans","Noto Sans JP",sans-serif;
  font-weight: 500; font-size: 15px; letter-spacing: 0.75px;
}
/* 氏名 : Figma 81:5188 (white / Noto Sans Medium 18 tracking0.9 / 中心 y255) */
.sp-expcard__name {
  position: absolute; top: 255px; left: 0; width: 100%; transform: translateY(-50%);
  margin: 0; z-index: 2; text-align: center; color: #ffffff; line-height: 24px;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 18px; letter-spacing: 0.9px;
}
/* ページネーションドット : Figma 81:5178 (y513 / 6.5px / 中央) */
.sp-experts__dots {
  position: absolute; top: 511px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 17px; z-index: 1;
}
.sp-experts__dot { width: 6.5px; height: 6.5px; border-radius: 50%; background: #cfcfcf; }
.sp-experts__dot.is-active { background: #036242; }

/* ===== SP 対応している主な症状 (SYMPTOMS) : Figma 81:5204 (375x2434) ===== */
.sp-symptoms {
  position: relative; width: 375px; height: 2434px;
  background:
    radial-gradient(circle, #f1f7f3 2px, transparent 2.35px) 0 0 / 10px 10px,
    #ffffff;
}
/* 六角形デコ : Figma 81:14725 (x58.73 y54 / 53.67px) */
.sp-symptoms__hex {
  position: absolute; left: 58.73px; top: 54px;
  width: 53.67px; height: 53.67px; z-index: 0; pointer-events: none;
}
/* 葉っぱ装飾 : Figma AdobeStock_598804168 1/2/3（カード背面 / 透過PNG）*/
.sp-symptoms__leaf {
  position: absolute; z-index: 0; pointer-events: none; display: block;
}
/* SYMPTOMS eyebrow : Figma 81:14726 (中央 y35 / Noto Sans Medium 12 #036242) */
.sp-symptoms__eyebrow {
  position: absolute;
  top: 35px;
  left: 0;
  width: 375px;
  z-index: 1;
  margin: 0;
}
/* 見出し : Figma 81:14727 (中央 y59 / Noto Serif JP Bold 24 tracking1.2 / 先頭緑) */
.sp-symptoms__heading {
  position: absolute;
  top: 59px;
  left: 0;
  width: 375px;
  z-index: 1;
  margin: 0;
  line-height: 40px;
}
/* 症状カード : Figma Group134等 (355x337 / left10) */
.sym2-card {
  position: absolute; left: 10px; width: 355px; height: 337px; z-index: 1;
  border-radius: 20px 20px 0 0; overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,0.34);
}
/* 写真 : 上端から237px（緑帯が上に重なる）*/
.sym2-card__photo {
  position: absolute; top: 0; left: 0; width: 355px; height: 237px;
  object-fit: cover; display: block;
}
/* 緑ラベル帯 : Figma Rectangle23 (#036242 h48 / 角丸top20) */
.sym2-card__bar {
  position: absolute; top: 0; left: 0; width: 355px; height: 48px; z-index: 2;
  background: #036242; display: flex; align-items: center; justify-content: center;
}
.sym2-card__name {
  color: #ffffff; font-family: "Noto Sans","Noto Sans JP",sans-serif;
  font-weight: 700; font-size: 18px;
}
/* 下向き三角 : Figma Polygon3 (16.85x15 / #036242 / 帯中央下) */
.sym2-card__tri {
  position: absolute; top: 43px; left: 50%; transform: translateX(-50%);
  width: 0; height: 0; z-index: 2;
  border-left: 8.4px solid transparent; border-right: 8.4px solid transparent;
  border-top: 15px solid #036242;
}
/* 説明パネル : Figma Rectangle11 (白 h100) + テキスト #3e3525 15/28 */
.sym2-card__desc {
  position: absolute; top: 237px; left: 0; width: 355px; height: 100px;
  box-sizing: border-box; margin: 0; padding: 22px 20px 0; background: #ffffff;
  color: #3e3525; font-family: "Noto Sans","Noto Sans JP",sans-serif;
  font-weight: 500; font-size: 15px; line-height: 28px; letter-spacing: 0.75px;
}
/* 症状一覧を見る ボタン : Figma 81:14807 (293x59 / #cb4819 / r29.5 / y2329) */
.sp-symptoms__btn {
  position: absolute; top: 2329px; left: 50%; transform: translateX(-50%);
  width: 293px; height: 59px; z-index: 1;
  display: flex; align-items: center; justify-content: center; gap: 14px;
  background: #cb4819; border-radius: 29.5px; text-decoration: none;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 18px; color: #ffffff;
}

/* ===== SP 施術内容 (MENU) : Figma 81:14811 (375x2253) ===== */
.sp-menu { position: relative; width: 375px; height: 2253px; overflow: hidden; background: #ffffff; }
.sp-menu__bg {
  position: absolute; top: 0; left: 0; width: 375px; height: 2253px;
  z-index: 0; display: block;
}
/* 上部ドット帯 : Figma Group216 (4px / 10px間隔 / y5-75) */
.sp-menu__dots {
  position: absolute; top: 5px; left: 0; width: 375px; height: 72px; z-index: 0;
  background: radial-gradient(circle, #f1f7f3 2px, transparent 2.35px) 0 0 / 10px 10px, #ffffff;
}
/* 装飾（ふぶき粒子 / 六角 / きらきらマスコット）*/
.sp-menu__fubuki { position: absolute; width: 107px; height: 101px; z-index: 0; pointer-events: none; }
.sp-menu__hex {
  position: absolute; left: 124.73px; top: 54px; width: 53.67px; height: 53.67px;
  z-index: 0; pointer-events: none;
}
.sp-menu__kirakira {
  position: absolute; left: 255.51px; top: 45.05px; width: 102.04px; height: 94.66px;
  z-index: 1; pointer-events: none;
}
.sp-menu__waai {
  position: absolute; left: 10px; top: 2145px; width: 102px; height: 96px;
  z-index: 2; pointer-events: none;
}
/* MENU eyebrow : Figma 81:15093 (中央 y36 / Noto Sans Medium 12 #036242) */
.sp-menu__eyebrow {
  position: absolute;
  top: 36px;
  left: 0;
  width: 375px;
  z-index: 2;
  margin: 0;
}
/* 見出し : Figma 81:15094 (中央 y60 / Noto Serif JP Bold 24 tracking1.2 / 先頭緑) */
.sp-menu__heading {
  position: absolute;
  top: 60px;
  left: 0;
  width: 375px;
  z-index: 2;
  margin: 0;
  line-height: 40px;
}
/* 施術カード : Figma Group14等 (355x389 / left10) */
.menu2-card {
  position: absolute; left: 10px; width: 355px; height: 389px; z-index: 1;
  border-radius: 20px 20px 0 0; overflow: hidden;
}
.menu2-card__photo {
  position: absolute; top: 0; left: 0; width: 355px; height: 211px;
  object-fit: cover; display: block;
}
.menu2-card__panel {
  position: absolute; top: 189px; left: 0; width: 355px; height: 200px; background: #ffffff;
}
/* タイトル : Figma 81:15102 (#036242 / Noto Sans Bold 18 / tracking0.9 / 左30) */
.menu2-card__title {
  position: absolute; top: 207px; left: 30px; margin: 0; z-index: 1;
  color: #036242; font-family: "Noto Sans","Noto Sans JP",sans-serif;
  font-weight: 700; font-size: 18px; letter-spacing: 0.9px; line-height: 1.2;
}
/* 区切り線 : Figma Line3 (#036242 / 2px / 幅311) */
.menu2-card__line {
  position: absolute; top: 240px; left: 0; width: 311px; height: 2px; z-index: 1;
  background: #036242;
}
/* 説明文 : Figma 81:15103 (#3e3525 / Noto Sans Medium 15 / 行間28 / 左31 幅301) */
.menu2-card__desc {
  position: absolute; top: 256px; left: 31px; width: 301px; margin: 0; z-index: 1;
  color: #3e3525; font-family: "Noto Sans","Noto Sans JP",sans-serif;
  font-weight: 500; font-size: 15px; line-height: 28px; letter-spacing: 0.75px;
}

/* ===== SP 店舗一覧 (SHOP LIST) ===== */
.sp-shop {
  position: relative; width: 375px; overflow: hidden;
  padding: 36px 0 56px;
  background:
    radial-gradient(circle, #f1f7f3 2px, transparent 2.35px) 0 0 / 10px 10px,
    #ffffff;
}
.sp-shop__leaf {
  position: absolute; left: 0; top: 0; width: 150px; height: auto;
  z-index: 0; pointer-events: none;
}
/* 六角形デコ : Figma Polygon 1 (45x45 / left115 top54 / #E8F7ED / rotate12.49deg) */
.sp-shop__hex {
  position: absolute; left: 115px; top: 54px; width: 45px; height: 45px;
  background: #e8f7ed; transform: rotate(12.49deg);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  z-index: 0; pointer-events: none;
}
.sp-shop__eyebrow {
  position: relative;
  z-index: 1;
  margin: 0;
}
.sp-shop__heading {
  position: relative;
  z-index: 1;
  margin: 8px 0 0;
  line-height: 40px;
}
.sp-shop__lead {
  position: relative; z-index: 1; margin: 12px 0 0; text-align: center; line-height: 1.3;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 13px; letter-spacing: 0.05em; color: #3e3525;
}
/* 区タブ : Figma 81:20460 (アクティブ#036242白字 / 非アクティブ#e8f7ed / 98x44 / 上角丸10 / 下線2px#036242) */
.sp-shop__tabs {
  position: relative; z-index: 1; margin: 26px 10px 0;
  height: 44px; padding-left: 23px;
  display: flex; align-items: flex-end; gap: 8px;
  border-bottom: 2px solid #036242;
}
.sp-shop__tab {
  border: 0; cursor: pointer;
  width: 98px; height: 44px; border-radius: 10px 10px 0 0;
  display: flex; align-items: center; justify-content: center;
  background: #e8f7ed; color: #3e3525;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 18px; letter-spacing: 0.72px;
}
.sp-shop__tab.is-active { background: #036242; color: #ffffff; }
/* エリアチップ（2列） */
.sp-shop__chips {
  position: relative; z-index: 1; margin: 22px 16px 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
}
.sp-shop__chip {
  display: flex; align-items: center; justify-content: center;
  height: 56px; border: 2px solid #036242; border-radius: 28px;
  background: #ffffff; text-decoration: none;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 600;
  font-size: 15px; color: #036242; letter-spacing: 0.05em;
}
/* エリア（緑バー＋アコーディオン） */
.sp-shop__area { position: relative; z-index: 1; margin: 30px 16px 0; }
.sp-shop__areabar {
  background: #036242; color: #ffffff; border-radius: 0;
  padding: 11px 16px; font-family: "Noto Sans","Noto Sans JP",sans-serif;
  font-weight: 700; font-size: 16px; letter-spacing: 0.5px;
}
.sp-shopacc { box-shadow: 0 2px 10px rgba(0,0,0,0.12); }
.sp-shopacc__head {
  width: 100%; border: 0; background: #f1f7f3; cursor: pointer;
  display: flex; align-items: center; gap: 8px;
  padding: 16px 14px; text-align: left;
}
.sp-shopacc__name {
  flex: 1; font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; color: #3e3525; letter-spacing: 0.3px;
}
.sp-shopacc__icon { font-size: 20px; color: #036242; line-height: 1; }
.sp-shopacc__panel { max-height: 0; overflow: hidden; transition: max-height .35s ease; background: #ffffff; }
.sp-shopacc__inner { padding: 4px 6px 18px; }
.sp-shopacc__map { width: 100%; height: 180px; border-radius: 8px; overflow: hidden; }
.sp-shopacc__map iframe { width: 100%; height: 100%; border: 0; display: block; }
.sp-shopacc__addr {
  margin: 12px 0 0; font-family: "Noto Sans","Noto Sans JP",sans-serif;
  font-size: 14px; line-height: 22px; color: #3e3525;
}
.sp-shopacc__access {
  margin: 6px 0 0; font-family: "Noto Sans","Noto Sans JP",sans-serif;
  font-size: 13px; line-height: 20px; color: #6b6657;
}
.sp-shopacc__btns { display: flex; gap: 12px; margin-top: 14px; }
.sp-shopacc__btn {
  flex: 1; height: 44px; display: flex; align-items: center; justify-content: center;
  border-radius: 22px; text-decoration: none;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700; font-size: 14px;
}
.sp-shopacc__btn--web { background: #036242; color: #ffffff; }
.sp-shopacc__btn--info { background: #ffffff; color: #036242; border: 1.5px solid #036242; }

/* ===== SP お客様の声 (VOICE) : Figma 81:20577 (375x985) ===== */
.sp-voice { position: relative; width: 375px; height: 985px; overflow: hidden; }
.sp-voice__bg {
  position: absolute; top: 0; left: 0; width: 375px; height: 985px;
  z-index: 0; display: block;
}
.sp-voice__eyebrow {
  position: absolute;
  top: 36px;
  left: 0;
  width: 375px;
  z-index: 1;
  margin: 0;
}
.sp-voice__heading {
  position: absolute;
  top: 60px;
  left: 0;
  width: 375px;
  z-index: 1;
  margin: 0;
  line-height: 40px;
}
/* カルーセル（1枚表示・5枚） */
.sp-voice__viewport {
  position: absolute; top: 141px; left: 0; width: 375px; height: 790px;
  z-index: 1; overflow: hidden;
}
.sp-voice__track {
  position: absolute; top: 0; left: 10px; display: flex; gap: 20px;
  transition: transform .45s ease;
}
/* 口コミカード : Figma Group61 (355x780) */
.voice2-card {
  position: relative; flex: 0 0 355px; width: 355px; height: 780px;
  background: #ffffff; border-radius: 0; overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.10);
}
.voice2-card__photo {
  position: absolute; top: 15px; left: 15px; width: 325px; height: 308px;
  object-fit: cover; border-radius: 0; display: block;
}
.voice2-card__name {
  position: absolute; top: 332px; left: 15px; margin: 0;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; color: #3e3525; letter-spacing: 0.3px;
}
.voice2-card__tags {
  position: absolute; top: 366px; left: 15px; display: flex; gap: 8px;
}
.voice2-card__tags span {
  display: inline-flex; align-items: center; justify-content: center;
  height: 24px; padding: 0 11px; border-radius: 12px;
  background: #006934; color: #ffffff;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 13px; letter-spacing: 0.3px; white-space: nowrap;
}
.voice2-card__title {
  position: absolute; top: 413px; left: 15px; width: 325px; margin: 0;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 20px; line-height: 30px; letter-spacing: 0; color: #036242;
}
.voice2-card__text {
  position: absolute; top: 481px; left: 15px; width: 325px; margin: 0;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; line-height: 28px; letter-spacing: 0.8px; color: #3e3525;
}
.voice2-card__hl { font-weight: 700; color: #cb4819; }
.sp-voice__dots {
  position: absolute; top: 950px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 9px; z-index: 1;
}
.sp-voice__dot { width: 8px; height: 8px; border-radius: 50%; background: #cfcfcf; }
.sp-voice__dot.is-active { background: #006934; }

/* ===== SP お悩み別コース一覧 (BY SYMPTOMS) : Figma 81:25982 ===== */
.sp-course {
  position: relative; width: 375px; overflow: hidden;
  padding: 36px 0 48px;
  background:
    radial-gradient(circle, #f1f7f3 2px, transparent 2.35px) 0 0 / 10px 10px,
    #ffffff;
}
.sp-course__hex {
  position: absolute; left: 92px; top: 54px; width: 45px; height: 45px;
  background: #e8f7ed; transform: rotate(12.49deg);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  z-index: 0; pointer-events: none;
}
.sp-course__eyebrow {
  position: relative;
  z-index: 1;
  margin: 0;
}
.sp-course__heading {
  position: relative;
  z-index: 1;
  margin: 8px 0 0;
  line-height: 40px;
}
/* グループカード : Figma Group47（緑バー#036242 + 本体#F1F7F3/枠2px#3E8346・角丸20）*/
.sp-course__group {
  position: relative; z-index: 1; margin: 28px 10px 0;
  border-radius: 20px 20px 0 0; overflow: hidden;
}
.sp-course__bar {
  background: #036242; color: #ffffff; height: 47px;
  display: flex; align-items: center; justify-content: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif;
  font-weight: 700; font-size: 18px; letter-spacing: 0.05em;
}
.sp-course__body {
  background: #f1f7f3; border: 2px solid #3e8346; border-top: none;
  padding: 16px 8px 18px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 9px 8px;
}
/* ピル : Figma Frame20等（164x43 / 角丸30 / 枠2px#036242 / 文字15Bold#036242中央 / 矢印右端）*/
.sp-course__pill {
  position: relative; height: 43px; box-sizing: border-box;
  display: flex; align-items: center; justify-content: center; white-space: nowrap;
  background: #ffffff; border: 2px solid #036242; border-radius: 30px;
  text-decoration: none;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 15px; color: #036242; letter-spacing: 0.05em;
}
.sp-course__pill--full { grid-column: 1 / -1; }
.sp-course__arrow {
  position: absolute; right: 16px; top: 50%; width: 6px; height: 6px;
  border-top: 2px solid #036242; border-right: 2px solid #036242;
  transform: translateY(-50%) rotate(45deg);
}

/* ===== SP 施術の流れ (FLOW) : Figma 81:26064 (375x2418) ===== */
.sp-flow { position: relative; width: 375px; height: 2418px; overflow: hidden; padding: 141px 0 0; box-sizing: border-box; }
.sp-flow__bg {
  position: absolute; top: 0; left: 0; width: 375px; height: 100%;
  z-index: 0; display: block;
}
/* FLOW eyebrow / 施術の流れ heading（中央 top36/60・先頭緑）*/
.sp-flow__eyebrow {
  position: absolute;
  top: 36px;
  left: 0;
  width: 375px;
  z-index: 1;
  margin: 0;
}
.sp-flow__heading {
  position: absolute;
  top: 60px;
  left: 0;
  width: 375px;
  z-index: 1;
  margin: 0;
  line-height: 40px;
}
/* マスコット : Figma ノーマル1 (119.29x129.79 / left242 top42 / rotate6.53deg) */
.sp-flow__mascot {
  position: absolute; left: 252px; top: 58px;
  width: 119.29px; height: 129.79px; object-fit: cover;
  transform: rotate(6.53deg); z-index: 2; pointer-events: none;
}
/* カード : Figma Group13 (355x349 / 上角丸20・下直角) */
.flow2-card {
  position: relative; z-index: 1; width: 355px; height: 349px; margin: 0 auto 22px;
  border-radius: 20px 20px 0 0; overflow: hidden;
}
.flow2-card:last-child { margin-bottom: 0; }
/* 写真（上部189px・角丸topはカードでクリップ）*/
.flow2-card__photo {
  position: absolute; top: 0; left: 0; width: 355px; height: 189px;
  object-fit: cover; display: block; z-index: 1;
}
/* 番号バッジ : Rectangle26 (58x52 / #CB4819 / 角丸20 0 20 0) */
.flow2-card__num {
  position: absolute; top: 0; left: 0; width: 58px; height: 52px; z-index: 3;
  background: #cb4819; border-radius: 20px 0 20px 0;
  display: flex; align-items: center; justify-content: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 32px; line-height: 30px; color: #ffffff;
}
/* 白パネル : Rectangle11 (355x160) */
.flow2-card__panel {
  position: absolute; top: 189px; left: 0; width: 355px; height: 160px;
  background: #ffffff; z-index: 1;
}
/* 緑タイトルバー : Rectangle23 (355x35 / #036242 / 白18Bold中央) */
.flow2-card__bar {
  position: absolute; top: 189px; left: 0; width: 355px; height: 35px; z-index: 2;
  background: #036242; display: flex; align-items: center; justify-content: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 18px; color: #ffffff; letter-spacing: 0.3px;
}
/* 説明文 : #3E3525 / Noto Sans Medium 15 / 行間28 / 字間0.05em / 中央 */
.flow2-card__desc {
  position: absolute; top: 246px; left: 50%; transform: translateX(-50%);
  width: 316px; margin: 0; z-index: 2; text-align: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; line-height: 28px; letter-spacing: 0.05em; color: #3e3525;
}

/* ===== SP 代表メッセージ (MESSAGE) + COLUMN : Figma 81:26538 (375x1275) ===== */
.sp-message {
  position: relative; width: 375px; height: 1275px; overflow: hidden;
  background:
    radial-gradient(circle, #f1f7f3 2px, transparent 2.35px) 0 0 / 10px 10px,
    #ffffff;
}
.sp-message__hex {
  position: absolute; left: 91.73px; top: 54px; width: 53.67px; height: 53.67px;
  z-index: 0; pointer-events: none;
}
.sp-message__eyebrow {
  position: absolute;
  top: 35px;
  left: 0;
  width: 375px;
  z-index: 1;
  margin: 0;
}
.sp-message__heading {
  position: absolute;
  top: 59px;
  left: 0;
  width: 375px;
  z-index: 1;
  margin: 0;
  line-height: 40px;
}
.sp-message__card {
  position: absolute; left: 10px; top: 191px; width: 355px; height: 827px;
  background: #f1f7f3; z-index: 0;
}
.sp-message__photo {
  position: absolute; left: 25px; top: 140px; width: 325px; height: 333px;
  object-fit: cover; z-index: 1; display: block;
}
.sp-message__role {
  position: absolute; left: 25px; top: 500px; margin: 0; z-index: 1;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; letter-spacing: 0.05em; color: #3e3525;
}
.sp-message__name {
  position: absolute; left: 25px; top: 518px; margin: 0; z-index: 1;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 32px; line-height: 44px; letter-spacing: 0.05em; color: #3e3525;
}
.sp-message__sub {
  position: absolute; left: 25px; top: 566px; margin: 0; z-index: 1;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 13px; letter-spacing: 0.05em; color: #036242;
}
.sp-message__cred {
  position: absolute; left: 10px; top: 592px; width: 355px; height: 48px;
  box-sizing: border-box; padding: 8px 15px; z-index: 1; background: #036242;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 12px; line-height: 16px; letter-spacing: 0.05em; color: #ffffff;
}
.sp-message__body {
  position: absolute; left: 25px; top: 664px; width: 325px; margin: 0; z-index: 1;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; line-height: 28px; letter-spacing: 0.05em; color: #3e3525;
}
/* COLUMN ブロック */
.sp-column { position: absolute; left: 0; top: 1069px; width: 375px; height: 206px; z-index: 1; }
.sp-column__bg {
  position: absolute; left: 11px; top: 0; width: 355px; height: 190px; z-index: 0;
  background: url("../../../images/area/shinjuku-column_sp_bg.webp") center / 100% 100% no-repeat;
}
.sp-column__hex {
  position: absolute; left: 78.47px; top: 28.48px; width: 46.53px; height: 46.53px;
  z-index: 1; pointer-events: none;
}
.sp-column__eyebrow {
  position: absolute; top: 16px; left: 0; width: 375px; margin: 0; z-index: 2;
  text-align: center; font-family: "Noto Sans","Noto Sans JP",sans-serif;
  font-weight: 500; font-size: 12px; letter-spacing: 0.1em; color: #367d47;
}
.sp-column__title {
  position: absolute; top: 33px; left: 0; width: 375px; margin: 0; z-index: 2;
  text-align: center; font-family: "Noto Serif JP", serif; font-weight: 700;
  font-size: 24px; letter-spacing: 1.2px; color: #3e3525;
}
.sp-column__lead {
  position: absolute; top: 75px; left: 0; width: 375px; margin: 0; z-index: 2;
  text-align: center; font-family: "Noto Sans","Noto Sans JP",sans-serif;
  font-weight: 500; font-size: 12px; letter-spacing: 0.05em; color: #3e3525;
}
.sp-column__btn {
  position: absolute; top: 107px; left: 50%; transform: translateX(-50%);
  width: 265px; height: 48px; box-sizing: border-box; z-index: 2;
  display: flex; align-items: center; justify-content: center; gap: 16px;
  background: #cb4819; border-radius: 24px; text-decoration: none;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 17px; color: #ffffff;
}
.sp-column__arrow {
  width: 7px; height: 7px; border-top: 2px solid #fff; border-right: 2px solid #fff;
  transform: rotate(45deg);
}

/* ===== SP よくある質問 (FAQ) : Figma 81:31560 ===== */
.sp-faq {
  position: relative; width: 375px; overflow: hidden;
  padding: 36px 0 48px;
}
.sp-faq__bg {
  position: absolute; top: 0; left: 0; width: 375px; height: 100%;
  object-fit: cover; object-position: center top; z-index: 0; display: block;
}
.sp-faq__hex {
  position: absolute; left: 152px; top: 54px; width: 45px; height: 45px;
  background: #e8f7ed; transform: rotate(12.49deg);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  z-index: 0; pointer-events: none;
}
.sp-faq__eyebrow {
  position: relative;
  z-index: 1;
  margin: 0;
}
.sp-faq__heading {
  position: relative;
  z-index: 1;
  margin: 8px 0 0;
  line-height: 40px;
}
.sp-faq__list { position: relative; z-index: 1; margin: 26px 16px 0; }
.sp-faq-acc { margin-bottom: 12px; }
.sp-faq-acc__head {
  width: 100%; height: 30px; border: 0; cursor: pointer; box-sizing: border-box;
  display: flex; align-items: center; gap: 0; padding: 0 10px 0 13px;
  background: #036242; border-radius: 0;
}
.sp-faq-acc__q {
  flex: none; width: 22px; height: 22px; border-radius: 50%; box-sizing: border-box;
  background: #ffffff; display: flex; align-items: center; justify-content: center;
  padding-bottom: 2px; margin-right: 4px;
  font-family: "Noto Serif JP", serif; font-weight: 700; font-size: 13px; line-height: 1;
  color: #036242;
}
.sp-faq-acc__qt {
  flex: 1; min-width: 0; text-align: left; line-height: 1.45; white-space: nowrap;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 15px; letter-spacing: 0.04em; color: #ffffff;
}
.sp-faq-acc__icon { flex: none; margin-left: 8px; font-weight: 500; font-size: 12px; line-height: 1.45; color: #ffffff; }
.sp-faq-acc__panel { max-height: 0; overflow: hidden; transition: max-height .35s ease; background: #ffffff; }
.sp-faq-acc__inner { padding: 16px 14px; }
.sp-faq-acc__inner p {
  margin: 0; font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 15px; line-height: 30px; letter-spacing: 0.05em; color: #3e3525;
}

/* ===== SP フッターナビ : Figma 81:32004 (#036242 / 白Bold11) ===== */
.sp-footnav {
  width: 375px; height: 65px; box-sizing: border-box; background: #036242;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px;
}
.sp-footnav__row { display: flex; align-items: center; justify-content: center; gap: 12px; }
.sp-footnav__link {
  text-decoration: none; color: #ffffff;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700;
  font-size: 11px; letter-spacing: 0.55px; line-height: 1;
}
.sp-footnav__div { width: 1px; height: 11px; background: rgba(255,255,255,0.6); }

/* ===== SP コピーライト : Figma 81:32016 (375x30 / #1e1e1e / 白Medium9) ===== */
.sp-copyright {
  width: 375px; height: 30px; box-sizing: border-box; background: #1e1e1e;
  display: flex; align-items: center; justify-content: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 9px; letter-spacing: 0.45px; color: #ffffff;
}

/* ===== 共通：セクション見出し（eyebrow / heading / accent）===== */
.sec-eyebrow { text-align: center; line-height: 16px; font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500; font-size: 12px; letter-spacing: 0.6px; color: #036242; }
.sec-heading { text-align: center; font-family: "Noto Serif JP", serif; font-weight: 700; font-size: 24px; letter-spacing: 1.2px; color: #3e3525; }
.sec-accent { color: #036242; }

/* ===== PC コピーライト ===== */
.footcopy {
  width: 1440px; height: 48px; box-sizing: border-box; background: #1e1e1e;
  display: flex; align-items: center; justify-content: center;
  font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500;
  font-size: 14px; letter-spacing: 0.7px; color: #ffffff;
}

/* ===== SP ハンバーガーメニュー オーバーレイ ===== */
.sp-navmenu { position: fixed; inset: 0; z-index: 1000; background: #fff; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.sp-navmenu[hidden] { display: none; }
.sp-navmenu__head { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; height: 67px; padding: 0 13px; background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,0.05); }
.sp-navmenu__logo img { width: 161px; height: auto; display: block; }
.sp-navmenu__close { width: 44px; height: 44px; border: 0; border-radius: 9px; background: #036242; position: relative; cursor: pointer; flex-shrink: 0; }
.sp-navmenu__close::before, .sp-navmenu__close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 2px; background: #fff; }
.sp-navmenu__close::before { transform: translate(-50%,-50%) rotate(45deg); }
.sp-navmenu__close::after { transform: translate(-50%,-50%) rotate(-45deg); }
.sp-navmenu__inner { padding: 8px 24px 48px; max-width: 430px; margin: 0 auto; }
.sp-navmenu__cat { display: flex; align-items: baseline; gap: 16px; width: 100%; margin: 0; padding: 16px 12px; background: none; border: 0; border-bottom: 1px solid #e3e8e4; cursor: pointer; text-align: left; }
.sp-navmenu__cat-en { font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700; font-size: 18px; letter-spacing: 1px; color: #036242; min-width: 96px; white-space: nowrap; }
.sp-navmenu__cat-jp { font-size: 14px; color: #3e3525; }
.sp-navmenu__cat-icon { margin-left: auto; align-self: center; width: 11px; height: 11px; border-right: 2px solid #036242; border-bottom: 2px solid #036242; transform: rotate(45deg); transition: transform 0.3s ease; }
.sp-navmenu__cat[aria-expanded="true"] .sp-navmenu__cat-icon { transform: rotate(-135deg); }
.sp-navmenu__symptoms { list-style: none; margin: 0; padding: 0; max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.sp-navmenu__pages { list-style: none; margin: 18px 0 0; padding: 0; }
.sp-navmenu__symptoms li, .sp-navmenu__pages li { border-bottom: 1px solid #e3e8e4; }
.sp-navmenu__symptoms a { display: block; padding: 14px 12px; font-size: 15px; color: #3e3525; text-decoration: none; }
.sp-navmenu__pages a { display: flex; align-items: baseline; gap: 16px; padding: 16px 12px; text-decoration: none; }
.sp-navmenu__pages b { font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700; font-size: 18px; letter-spacing: 1px; color: #036242; min-width: 96px; }
.sp-navmenu__pages span { font-size: 14px; color: #3e3525; }
.sp-navmenu__cta { display: flex; align-items: center; justify-content: center; height: 56px; margin-top: 30px; border: 1.5px solid #036242; border-radius: 100px; color: #036242; font-size: 16px; font-weight: 700; text-decoration: none; }
.sp-navmenu__concept { text-align: center; padding: 44px 0 12px; }
.sp-navmenu__concept-en { margin: 0 0 14px; font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500; font-size: 13px; letter-spacing: 2.5px; color: #8a8a8a; }
.sp-navmenu__concept-jp { margin: 0; font-family: "Noto Serif JP", serif; font-weight: 700; font-size: 27px; letter-spacing: 1.5px; color: #036242; }

/* ===== SP 追従フッター（Figma 119:34945）===== */
.sp-fixedfoot { display: none; }
@media (max-width: 768px) {
  .sp-fixedfoot { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; display: flex; height: 48px; }
  .sp-fixedfoot__btn { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; height: 100%; font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 500; font-size: 18px; letter-spacing: 0.8px; text-decoration: none; }
  .sp-fixedfoot__btn--reserve { background: #fff; border: 1px solid #036242; color: #036242; }
  .sp-fixedfoot__btn--access { background: #036242; color: #fff; }
  .sp-fixedfoot__btn img { height: 22px; width: auto; display: block; }
}

/* ① メニュー ブランドTOPボタン（緑背景白文字）*/
.sp-navmenu__cta--brand { background: #036242; color: #fff; border-color: #036242; margin-top: 12px; }
/* ② SPバッジ注釈 */
.sp-badges__note { display: none; }
@media (max-width: 768px) { .sp-badges__note { display: block; flex-basis: 100%; box-sizing: border-box; text-align: right; padding-right: 4px; font-size: 11px; color: #8a8a8a; margin: -3px 0 0 0; } }

/* ⑨ 骨盤の傾き・歪み 窮屈解消（テキストとarrowの間隔確保）*/
.cpill { padding: 0 28px; }
.cpill__arrow { right: 14px; }
@media (max-width: 768px) {
  .sp-course__pill { padding-left: 12px; padding-right: 26px; font-size: 14px; letter-spacing: 0; }
  .sp-course__arrow { right: 13px; }
}

/* ③ 3ヶ条の下 こころ整体院グループ ブランドTOPボタン */
.acc-cta { text-align: center; margin-top: 44px; }
.acc-cta__btn { display: inline-flex; align-items: center; justify-content: center; min-width: 380px; height: 62px; background: #036242; color: #fff; border-radius: 100px; font-family: "Noto Serif JP",serif; font-weight: 700; font-size: 19px; letter-spacing: 0.06em; text-decoration: none; }
@media (max-width: 768px) {
  .sp-acc-cta { text-align: center; margin-top: 28px; padding: 0 24px; }
  .sp-acc-cta__btn { display: flex; align-items: center; justify-content: center; height: 56px; background: #036242; color: #fff; border-radius: 100px; font-family: "Noto Sans","Noto Sans JP",sans-serif; font-weight: 700; font-size: 16px; letter-spacing: 0.04em; text-decoration: none; }
}

/* ③ ブランドTOPボタン 2行（TOP小 / こころ整体院グループ大）*/
.acc-cta__btn { flex-direction: column; gap: 1px; height: auto; padding: 11px 32px; line-height: 1.25; }
.brandbtn__sub { font-size: 11px; font-weight: 500; letter-spacing: 0.25em; }
.brandbtn__main { font-size: 20px; font-weight: 700; }
@media (max-width: 768px) {
  .sp-acc-cta__btn { flex-direction: column; gap: 1px; height: auto; padding: 9px 24px; line-height: 1.25; }
  .brandbtn__main { font-size: 17px; }
}

/* ===== サイト内ページ欄（PC）===== */
.sitemap-nav { width: 1440px; margin: 0 auto; background: #2d6b3c; padding: 30px 80px 34px; box-sizing: border-box; }
.sitemap-nav__title { margin: 0 0 18px; text-align: center; color: #fff; font-size: 15px; font-weight: 700; letter-spacing: 0.12em; }
.sitemap-nav__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 30px; }
.sitemap-nav__links a { color: #e8f7ed; font-size: 14px; text-decoration: none; }
/* ===== サイト内ページ欄（SP）===== */
.sp-sitemap { display: none; }
@media (max-width: 768px) {
  .sp-sitemap { display: block; width: 375px; background: #2d6b3c; padding: 26px 28px 30px; box-sizing: border-box; }
  .sp-sitemap__title { margin: 0 0 12px; text-align: center; color: #fff; font-size: 14px; font-weight: 700; letter-spacing: 0.1em; }
  .sp-sitemap__links { display: flex; flex-direction: column; }
  .sp-sitemap__links a { color: #e8f7ed; font-size: 14px; text-decoration: none; padding: 12px 4px; border-bottom: 1px solid rgba(255,255,255,0.16); }
  .sp-sitemap__links a:last-child { border-bottom: none; }
}
