@charset "UTF-8";
/* =========================================================================
   Treasure Box LP
   - 色やサイズは :root の変数で一括調整できます
   - 各セクションは <!-- ===== セクション名 ===== --> で区切っています
   - ボタン類の多くは画像（images/）です。差し替え時はそのまま置換してください
   ========================================================================= */

:root{
  --purple:        #8b85c0;   /* 帯・アクセントの紫 */
  --purple-deep:   #6f68a8;   /* 濃い紫 */
  --purple-text:   #463f78;   /* 見出しの紫テキスト（コントラスト強化） */
  --ink:           #423d5c;   /* 本文の濃い文字（強化） */
  --ink-soft:      #5d587c;   /* 補足テキスト（強化） */
  --gold:          #b8924c;   /* ゴールド系CTA（暖色寄りに調整） */
  --pink:          #e58ba6;   /* ステップ等のピンク差し色 */
  --hero-a:        #b6a0d2;   /* ヒーロー背景グラデ上 */
  --hero-b:        #a187c3;   /* ヒーロー背景グラデ下 */
  --cream:         #fbf9f5;
  --line:          #e7e3ef;
  --maxw:          1080px;    /* コンテンツ最大幅 */
  --radius:        12px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family: "M+ Type-1 (general-j) Regular", "Roboto", "Helvetica Neue", "Helvetica", "Arial", "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.85;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
  padding-bottom:64px; /* 追従CTAバーぶんの余白 */
}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* 見出し共通（明朝・字間広め） */
.sec-title{
  font-family:"Noto Serif JP",serif;
  color:var(--purple-text);
  text-align:center;
  font-weight:600;
  letter-spacing:.18em;
  font-size:30px;
  margin:0 0 8px;
}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.header{
  position:sticky;top:0;z-index:1000;
  background:#fff;border-bottom:1px solid var(--line);
}
.header__inner{
  display:flex;align-items:center;gap:24px;
  max-width:1320px;margin:0 auto;padding:10px 24px;
}
.header__logo{width:150px;flex:none;}
.header__logo img{width:100%;}
.gnav{display:flex;gap:14px;margin-left:0;}
.gnav a{
  font-size:13px;font-weight:500;letter-spacing:.06em;color:var(--ink);
  position:relative;padding:4px 0;transition:color .2s;white-space:nowrap;
}
.gnav a:hover{color:var(--purple);}
.header__tel{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.2;}
.header__tel .num{
  font-size:22px;font-weight:700;color:var(--purple-deep);letter-spacing:.02em;
  display:flex;align-items:center;gap:6px;line-height:1;white-space:nowrap;
}
.header__tel .num img{width:16px;}
.header__tel .hours{font-size:11px;color:var(--ink-soft);white-space:nowrap;}
.header__cta{display:flex;gap:8px;align-items:center;}
.header__cta .fbtn{padding:9px 14px;font-size:12.5px;border-radius:7px;}
.header__cta img{height:34px;width:auto;transition:opacity .2s;}
.header__cta a:hover img{opacity:.85;}

/* ハンバーガー（SPのみ表示） */
.hamburger{display:none;}
.drawer,.drawer-overlay{display:none;}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--hero-a),var(--hero-b));
}
.hero__flower-l{position:absolute;top:0;left:0;width:230px;z-index:1;pointer-events:none;}
.hero__flower-r{position:absolute;bottom:0;right:0;width:230px;z-index:1;pointer-events:none;}
.hero__inner{
  position:relative;z-index:2;
  max-width:1080px;margin:0 auto;padding:38px 24px 26px;
  display:grid;grid-template-columns:1.22fr .78fr;gap:10px;align-items:end;
  min-height:680px;
}
.hero__copy{max-width:720px;min-width:0;display:flex;flex-direction:column;position:relative;}
.hero__pills{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
.hero__pills span{
  background:var(--purple);color:#fff;font-size:13px;font-weight:700;
  padding:6px 18px;border-radius:30px;letter-spacing:.04em;
}
.hero__eyebrow{color:var(--purple-text);font-weight:800;font-size:16.5px;margin:0 0 9px;letter-spacing:.03em;}
.hero__title{
  font-family:"Noto Serif JP",serif;color:var(--purple-text);
  font-weight:600;font-size:clamp(23px, 2.7vw, 33px);line-height:1.5;letter-spacing:.01em;
  margin:0 0 16px;
}
.hero__title .nb{display:block;white-space:nowrap;}
.hero__title .hl{background:linear-gradient(transparent 56%, rgba(224,189,124,.72) 56%);padding:0 .04em;}
.hero .hero__eyebrow,.hero .hero__title,.hero .hero__lead{color:#2a2547;}
.mark{background:linear-gradient(transparent 56%, rgba(224,189,124,.72) 56%);padding:0 .04em;}
.hero__lead{font-size:12.5px;color:var(--ink);margin:0 0 16px;line-height:1.75;letter-spacing:-.025em;}
.hero__lead--sp{display:none;}
.hero__lead strong{font-weight:700;color:var(--purple-text);}
.hero__ctanote{display:none;}
.hero__ctas{display:flex;gap:8px;flex-wrap:nowrap;margin-bottom:22px;align-items:stretch;container-type:inline-size;}
/* CTAは実テキスト化（画像の縮小によるにじみ・潰れを解消／完全レスポンシブ）
   文字サイズ・余白はcqi（行幅の%）で連動し、旧画像と同様に幅へ追従する */

.cta{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  flex:1 1 0;min-width:0;text-decoration:none;overflow:hidden;
  border-radius:13px;
  padding:min(2.0cqi,12px) min(1.5cqi,10px) min(1.7cqi,10px);
  gap:min(.7cqi,5px);
  transition:transform .2s;
  filter:drop-shadow(0 3px 7px rgba(70,58,30,.28));
}
.cta:hover{transform:translateY(-2px);}
.cta__top{font-size:min(1.78cqi,11.5px);line-height:1.2;font-weight:600;white-space:nowrap;letter-spacing:.01em;}
.cta__main{font-size:min(2.8cqi,17.5px);line-height:1.12;font-weight:800;white-space:nowrap;letter-spacing:.01em;display:flex;align-items:center;gap:.42em;}
.cta__sub{font-size:min(1.62cqi,10.5px);line-height:1;font-weight:700;white-space:nowrap;padding:.52em 1.15em;border-radius:999px;}
.cta--demo{background:linear-gradient(150deg,#bd9a4e,#8f6c2a);border:min(.4cqi,2px) solid #715823;}
.cta--demo .cta__top{color:rgba(255,255,255,.86);}
.cta--demo .cta__main{color:#fff;text-shadow:0 1px 2px rgba(70,45,0,.28);}
.cta--demo .cta__sub{background:rgba(255,255,255,.9);color:#7d6a2c;}
.cta--talk{background:#fbf7ea;border:min(.4cqi,2px) solid #565079;}
.cta--talk .cta__top{color:#3b3a55;}
.cta--talk .cta__main{color:#3b3a55;}
.cta--talk .cta__sub{background:rgba(75,74,102,.92);color:#fff;}
.cta--doc{background:#f4efda;border:min(.4cqi,2px) solid #6f6526;}
.cta--doc .cta__top{color:#7a6f2e;}
.cta--doc .cta__main{color:#7a6f2e;}
.cta--doc .cta__chip{background:#7a6f2e;color:#f4efda;font-size:.72em;font-weight:800;padding:.2em .5em;border-radius:5px;letter-spacing:.02em;}
.cta--doc .cta__sub{background:rgba(138,125,56,.94);color:#f7f3e2;}
/* 主CTAに光沢が走る演出（キラーン） */

.cta.shine::after{
  content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,.65) 50%, transparent 100%);
  transform:skewX(-20deg);pointer-events:none;
  animation:cta-shine 3.6s ease-in-out infinite;
}
@keyframes cta-shine{
  0%{left:-70%;} 18%{left:150%;} 100%{left:150%;}
}
@media (prefers-reduced-motion: reduce){
  
.cta.shine::after{animation:none;}
}
.hero__badges{display:flex;gap:18px;}
.hero__badges--dt{margin-top:auto;padding-top:18px;}
.hero__badges--svg{display:none;}
.medal{width:140px;height:140px;display:block;filter:drop-shadow(0 5px 12px rgba(80,60,110,.22));}
/* ビジュアルを「自己完結する縦横比ボックス」にして、女性・PC・吹き出しを
   すべて%で配置 → 拡大縮小・中間幅でも比率が崩れず一体で追従する */
.hero__visual{
  position:relative;
  width:100%;min-width:0;
  align-self:end;
  aspect-ratio:80 / 99;
  min-height:0;
}
.hero__woman{
  position:absolute;bottom:0;right:-7%;
  width:auto;height:100%;max-width:none;
  filter:drop-shadow(0 2px 3px rgba(55,40,95,.38)) drop-shadow(0 16px 30px rgba(55,40,95,.24));
}
.hero__pc{position:absolute;z-index:3;filter:drop-shadow(0 16px 26px rgba(80,60,110,.20));}
/* デスクトップ：実管理画面はコピー列の右下（導入補助金メダルの右）に固定。
   幅はメダル分を除いて確保するので、どの幅でもメダルに被らない */
.hero__pc--dt{right:0;bottom:-4.8%;width:min(52%, calc(100% - 312px));max-width:360px;}
.hero__pc--sp{display:none;}
.hero__bubble{position:absolute;z-index:6;right:auto;top:-2%;left:-6%;
  display:flex;flex-direction:column;align-items:center;gap:1px;
  background:none;border:none;box-shadow:none;padding:0;width:auto;height:auto;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.9)) drop-shadow(0 0 7px rgba(255,255,255,.7));}
.hero__bubble .bb-sl{width:13px;height:auto;flex:0 0 auto;}
.hero__bubble .bb-shape{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.hero__bubble .bb-cloud{fill:#fcfbff;stroke:#b3a8d2;stroke-width:1.5;stroke-linejoin:round;}
.hero__bubble .bb-txt{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;}
.hero__bubble .bb-sm{font-size:12.5px;font-weight:700;color:var(--purple-deep);letter-spacing:.08em;line-height:1.2;}
.hero__bubble .bb-lg{font-size:22px;font-weight:900;color:var(--purple-text);letter-spacing:.04em;line-height:1.1;display:inline-flex;align-items:center;justify-content:center;gap:9px;}
.hero__bubble .bb-mark{padding:0 2px;}
/* FV内 主CTA & スクロールキュー（モバイル専用） */
.hero__spcta{display:none;}
.hero__scroll{display:none;}
@media (max-width:768px){
  .hero__spcta{display:flex;flex:0 0 auto;width:100%;max-width:none;margin:16px 0 6px;padding:14px 16px 13px;gap:7px;border-radius:14px;border-width:2px;}
  .hero__spcta .cta__top{font-size:12.5px;}
  .hero__spcta .cta__main{font-size:19px;}
  .hero__spcta .cta__sub{font-size:11.5px;padding:.5em 1.15em;}
  .hero__scroll{display:flex;flex-direction:column;align-items:center;gap:7px;margin:14px 0 2px;}
  .hero__scroll-txt{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--purple-deep);opacity:.9;}
  .hero__scroll-chev{width:13px;height:13px;border-right:2.5px solid var(--purple);border-bottom:2.5px solid var(--purple);transform:rotate(45deg);animation:hero-bounce 1.5s ease-in-out infinite;}
}
@keyframes hero-bounce{0%,100%{transform:rotate(45deg) translate(0,0);}50%{transform:rotate(45deg) translate(3px,3px);}}
@media (prefers-reduced-motion: reduce){ .hero__scroll-chev{animation:none;} }

/* ============================================================
   STATS BAR
   ============================================================ */
.stats{background:var(--purple);color:#fff;padding:30px 0;}
.stats__row{display:flex;justify-content:center;align-items:stretch;gap:0;flex-wrap:wrap;}
.stats__row--top{margin-bottom:18px;}
.stat{
  text-align:center;padding:0 40px;position:relative;
}
.stat + .stat::before{
  content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;
  background:rgba(255,255,255,.35);
}
.stat .big{font-size:30px;font-weight:700;line-height:1.2;letter-spacing:.02em;}
.stat .lbl{font-size:12px;opacity:.92;}
.stat--award .big{font-size:24px;}
.stat--award .sub{font-size:11px;opacity:.85;display:block;margin-bottom:2px;}

/* ============================================================
   PROBLEM
   ============================================================ */
.problem{padding:60px 0 40px;background:#fff;position:relative;}
.problem__head{
  position:relative;display:flex;justify-content:center;align-items:center;
  margin-bottom:44px;min-height:150px;
}
.problem__head img{position:absolute;width:200px;top:50%;transform:translateY(-50%);}
.problem__head .l{left:6%;}
.problem__head .r{right:6%;}
.problem__head h2{
  font-family:"Noto Serif JP",serif;color:var(--purple-text);
  font-weight:600;font-size:30px;letter-spacing:.16em;position:relative;z-index:2;
}
.problem__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
}
.pcard{
  background:#f6f5fb;border-top:3px solid var(--purple);
  padding:24px 22px;border-radius:6px;
}
.pcard h3{
  color:var(--purple-text);font-size:17px;font-weight:700;
  margin:0 0 10px;line-height:1.55;
  border-left:4px solid var(--purple);padding-left:12px;
}
.pcard p{font-size:13px;color:var(--ink-soft);margin:0;line-height:1.8;}

/* ============================================================
   CONVERSION BAND（紫の帯・複数箇所で再利用）
   ============================================================ */
.cv{
  background:var(--purple) url(../images/conversion_bg.webp) center/auto repeat;
  background-blend-mode:soft-light;
  padding:46px 0;
}
.cv__lead{
  color:#fff;text-align:center;font-weight:700;font-size:21px;
  letter-spacing:.04em;margin:0 0 26px;line-height:1.7;
}
.cv__btns{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;container-type:inline-size;}
.cv__btns .cta{flex:1 1 240px;max-width:300px;}

/* ============================================================
   FEATURES
   ============================================================ */
.features{
  background:url("../images/features_bg.webp") top center/cover;
  background-color:#fbe4e8;
  position:relative;padding:0;
}
.features__line-top,.features__line-foot{width:100%;display:block;}
.features__body{padding:60px 0 50px;}
.feat{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:center;
  margin-bottom:54px;
}
.feat:nth-child(even){direction:rtl;}
.feat:nth-child(even) .feat__txt,
.feat:nth-child(even) .feat__img{direction:ltr;}
.feat__label{
  display:inline-block;background:var(--purple);color:#fff;
  font-size:12px;font-weight:700;letter-spacing:.14em;
  padding:5px 18px;border-radius:30px;margin-bottom:14px;
}
.feat__txt h3{
  font-family:"Noto Serif JP",serif;color:var(--purple-text);
  font-size:23px;font-weight:600;margin:0 0 12px;letter-spacing:.04em;
}
.feat__txt p{font-size:14px;color:var(--ink);margin:0;line-height:1.95;}
.feat__img img{width:100%;border-radius:8px;}
/* 動画プレースホルダ */
.feat__video{
  max-width:520px;margin:10px auto 0;border-radius:6px;
  aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 26px rgba(120,80,110,.12);
  position:relative;overflow:hidden;cursor:pointer;
  background:#1a1a1a center/cover no-repeat;
}
.feat__video::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.15);transition:background .2s;}
.feat__video:hover::before{background:rgba(0,0,0,.05);}
.feat__video .play{
  width:78px;height:54px;background:#e8392b;border-radius:12px;
  display:flex;align-items:center;justify-content:center;position:relative;z-index:2;
  border:0;cursor:pointer;transition:transform .2s,background .2s;
}
.feat__video:hover .play{transform:scale(1.06);background:#f00;}
.feat__video .play::after{content:"";border-left:22px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:4px;}
.feat__video iframe{width:100%;height:100%;border:0;display:block;}

/* ============================================================
   REASONS（4つの理由）
   ============================================================ */
.reasons{
  background:url("../images/benefits_bg.webp") top center/cover;
  background-color:#f6e2ec;padding:64px 0 66px;
}
.reasons h2{
  font-family:"Noto Serif JP",serif;color:var(--purple-text);
  text-align:center;font-weight:600;font-size:30px;letter-spacing:.14em;
  margin:0 0 46px;
}
.reasons__grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,360px));
  justify-content:center;gap:46px 60px;max-width:840px;margin:0 auto;
}
.reason{text-align:center;}
.reason img{width:200px;margin:0 auto 16px;}
.reason p{font-size:13px;color:var(--ink-soft);margin:0;line-height:1.85;}
.reason__awards{display:flex;justify-content:center;gap:14px;margin:14px 0;}
.reason__awards img{width:auto;height:50px;margin:0;}
.reasons__note{
  display:block;max-width:560px;margin:40px auto 0;text-align:center;
  background:rgba(255,255,255,.55);color:var(--purple-deep);
  font-weight:700;font-size:18px;padding:16px;border-radius:40px;letter-spacing:.05em;
}

/* ============================================================
   SUBSIDY（デジタル化・AI導入補助金）— 濃いアクセント
   ============================================================ */
.subsidy{position:relative;overflow:hidden;background:linear-gradient(160deg,#534b86 0%,#3b365e 100%);color:#fff;padding:60px 0 64px;}
.subsidy::before{content:"";position:absolute;top:-45%;left:50%;transform:translateX(-50%);width:700px;height:700px;background:radial-gradient(circle, rgba(230,196,126,.14), transparent 62%);pointer-events:none;}
.subsidy .wrap{max-width:880px;position:relative;}
.subsidy__eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:600;letter-spacing:.08em;color:#e7e1f3;margin:0 0 16px;}
.subsidy__seal{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(230,196,126,.6);color:#e6c47e;border-radius:40px;padding:4px 12px;font-weight:700;font-size:12px;letter-spacing:.05em;}
.subsidy__seal svg{width:13px;height:13px;}
.subsidy__title{font-family:"Noto Serif JP",serif;text-align:center;font-weight:600;font-size:28px;line-height:1.5;letter-spacing:.04em;margin:0 0 32px;}
.subsidy__title em{font-style:normal;color:#e6c47e;font-size:1.16em;}
.subsidy__stats{display:flex;justify-content:center;align-items:stretch;max-width:600px;margin:0 auto 28px;}
.subsidy__stat{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 18px;}
.subsidy__stat + .subsidy__stat{border-left:1px solid rgba(255,255,255,.2);}
.subsidy__stat-cap{font-size:12.5px;font-weight:700;letter-spacing:.08em;color:#cbc4e4;margin-bottom:7px;}
.subsidy__stat-num{font-size:40px;font-weight:800;color:#e6c47e;letter-spacing:.01em;line-height:1.05;}
.subsidy__stat-num small{font-size:.46em;font-weight:700;margin-left:3px;}
.subsidy__stat-sub{font-size:11px;color:#b9b2d6;margin-top:9px;line-height:1.5;}
.subsidy__checks{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:11px 24px;max-width:760px;}
.subsidy__checks li{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:#ece8f6;}
.subsidy__checks svg{width:18px;height:18px;color:#e6c47e;flex:none;}
.subsidy__note{margin:28px auto 0;font-size:11.5px;color:#a89fc6;line-height:1.7;text-align:center;}
@media (max-width:768px){
  .subsidy{padding:42px 0 46px;}
  .subsidy__title{font-size:21px;line-height:1.55;}
  .subsidy__stats{margin-bottom:22px;}
  .subsidy__stat{padding:2px 10px;}
  .subsidy__stat-num{font-size:31px;}
  .subsidy__stat-sub{font-size:10.5px;}
  .subsidy__checks{flex-direction:column;align-items:flex-start;gap:12px;max-width:320px;}
}

/* ============================================================
   REVIEWS（導入事例・お客様の声）
   ============================================================ */
.reviews{background:#fbf7fb;padding:0 0 70px;}
.reviews__deco{
  width:100%;background:url("../images/reviews_bg.webp") top center/cover no-repeat;
  height:300px;margin-bottom:-120px;
}
.reviews h2{
  font-family:"Noto Serif JP",serif;color:var(--purple-text);
  text-align:center;font-weight:600;font-size:30px;letter-spacing:.14em;
  margin:0 0 40px;position:relative;
}
.reviews__grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:26px;max-width:880px;margin:0 auto;
}
.rcard{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px 24px;box-shadow:0 6px 18px rgba(120,90,120,.06);}
.rcard__head{display:flex;gap:14px;margin-bottom:14px;}
.rcard__head img{width:64px;height:82px;object-fit:cover;border-radius:4px;flex:none;}
.rcard__meta .tag{
  display:inline-block;background:var(--purple);color:#fff;font-size:11px;
  padding:2px 10px;border-radius:3px;margin-bottom:4px;
}
.rcard__meta .area{font-size:11px;color:var(--ink-soft);display:block;}
.rcard__meta .name{font-size:15px;font-weight:700;color:var(--ink);display:block;margin-top:2px;}
.rcard__meta .role{font-size:11px;color:var(--ink-soft);}
.rcard h3{font-size:15px;color:var(--purple-text);font-weight:700;margin:0 0 8px;line-height:1.6;}
.rcard p{font-size:13px;color:var(--ink-soft);margin:0;line-height:1.85;}

/* ============================================================
   PRICE
   ============================================================ */
.price{
  background:url("../images/price_bg.webp") center/cover;background-color:#cdbbe6;
  padding:60px 0 64px;
}
.price__head{text-align:center;color:var(--purple-deep);margin-bottom:40px;}
.price__head .t1{font-family:"Noto Serif JP",serif;font-size:28px;letter-spacing:.2em;margin:0;font-weight:600;color:var(--purple-deep);}
.price__head .t2{font-size:22px;font-weight:700;margin-top:6px;color:var(--purple-deep);}
.price__head .t2 .yen{font-family:"Noto Serif JP",serif;font-size:42px;color:#3a3460;
  background:linear-gradient(transparent 56%, rgba(224,189,124,.72) 56%);padding:0 6px;}
.price__head .t3{font-size:14px;margin-top:14px;font-weight:600;color:var(--purple-deep);}
.price__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:960px;margin:0 auto;align-items:center;}
.plan{background:#fff;border-radius:10px;padding:22px 18px;position:relative;box-shadow:0 10px 26px rgba(110,80,140,.14);}
.plan--reco{border:0;background:#fff;transform:scale(1.045);z-index:3;overflow:visible;
  box-shadow:0 0 0 2px #c4a567, 0 22px 48px rgba(124,92,168,.28), 0 6px 14px rgba(176,141,74,.30);}
.plan--reco::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,#caa75f,#a87f3c);border-radius:10px 10px 0 0;}
.plan--reco .yen{color:#8a672f;}
.plan__pop{position:absolute;top:-19px;left:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,#caa75f,#a87f3c);color:#fff;font-size:12.5px;font-weight:800;
  letter-spacing:.06em;padding:8px 20px 8px 34px;border-radius:24px;white-space:nowrap;
  box-shadow:0 8px 18px rgba(138,103,47,.46);text-shadow:0 1px 1px rgba(120,86,30,.4);margin:0;}
.plan__pop::before{content:"";position:absolute;left:13px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;
  background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M3 7l4.5 3.5L12 4l4.5 6.5L21 7l-1.6 11H4.6L3 7z"/><rect x="4.4" y="18.4" width="15.2" height="2.4" rx="1.2"/></svg>') center/contain no-repeat;
  filter:drop-shadow(0 1px 1px rgba(120,86,30,.35));}
.plan__badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);}
.plan__badge img{width:110px;}
.plan h3{font-size:13px;color:var(--ink);font-weight:700;margin:0 0 8px;line-height:1.5;}
.plan .yen{font-size:23px;font-weight:700;color:var(--purple-deep);}
.plan .tax{font-size:11px;color:var(--ink-soft);font-weight:500;}
.plan .init{font-size:11px;color:var(--ink-soft);margin:4px 0 0;}
.plan .for{font-size:11px;color:var(--ink-soft);margin:10px 0 12px;border-top:1px dashed var(--line);padding-top:10px;}
.plan ul{list-style:none;margin:0;padding:0;}
.plan li{font-size:12px;color:var(--ink);padding-left:18px;position:relative;margin-bottom:7px;line-height:1.5;}
.plan li::before{content:"";position:absolute;left:0;top:6px;width:11px;height:11px;background:url("images/price_bt_check.webp") center/contain no-repeat;}
.price__note{
  max-width:680px;margin:34px auto 0;text-align:center;
  background:rgba(255,255,255,.55);border-radius:8px;padding:14px;
}
.price__note .a{color:var(--purple-deep);font-weight:700;font-size:15px;}
.price__note .b{color:var(--ink);font-size:12px;display:block;}

/* ============================================================
   STEP（導入の流れ）
   ============================================================ */
.step{background:linear-gradient(180deg,#f6d9df,#f3d2e0);padding:50px 0 56px;}
.step__card{
  background:#fff;border-radius:10px;padding:42px 30px;
  background-image:url("../images/STEP_line_left.webp"),url("../images/STEP_line_right.webp");
  background-position:left top,right top;background-repeat:repeat-y,repeat-y;
  max-width:960px;margin:0 auto;
}
.step__card h2{
  font-family:"Noto Serif JP",serif;color:var(--purple-text);
  text-align:center;font-weight:600;font-size:28px;letter-spacing:.16em;margin:0 0 36px;
}
.step__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.stp{text-align:center;}
.stp img{width:50px;margin:0 auto 12px;}
.stp h3{color:var(--pink);font-size:15px;font-weight:700;margin:0 0 8px;}
.stp p{font-size:12px;color:var(--ink-soft);margin:0;line-height:1.7;text-align:left;}

/* ============================================================
   FAQ
   ============================================================ */
.faq{
  background:url("../images/QA_bg.webp") top center/cover;background-color:#f7eaf0;
  padding:80px 0 90px;
}
.faq h2{
  font-family:"Noto Serif JP",serif;color:var(--purple-text);
  text-align:center;font-weight:600;font-size:30px;letter-spacing:.16em;margin:0 0 36px;
}
.faq__list{max-width:760px;margin:0 auto;}
.qa{background:rgba(255,255,255,.7);border-radius:8px;margin-bottom:16px;overflow:hidden;}
.qa__q{
  width:100%;text-align:left;border:0;background:rgba(190,180,225,.45);
  color:var(--purple-deep);font-weight:700;font-size:15px;
  padding:16px 50px 16px 22px;cursor:pointer;position:relative;
  font-family:inherit;letter-spacing:.03em;
}
.qa__q::after{
  content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);
  font-size:20px;color:var(--purple);transition:transform .25s;
}
.qa.open .qa__q::after{content:"−";}
.qa__a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.qa__a p{margin:0;padding:16px 22px;font-size:13px;color:var(--ink);line-height:1.9;}

/* ============================================================
   FOOTER CTA
   ============================================================ */
.fcta{background:linear-gradient(180deg,#efe9f3,#9b94c4);padding:54px 0 56px;}
.fcta__top{display:flex;align-items:center;justify-content:center;gap:30px;margin-bottom:8px;}
.fcta__top img{width:160px;border-radius:6px;}
.fcta__hd{font-family:"Noto Serif JP",serif;color:var(--purple-deep);font-size:30px;letter-spacing:.18em;}
.fcta__hd small{display:block;font-size:13px;letter-spacing:.05em;font-family:"Noto Sans JP";margin-top:6px;color:var(--ink-soft);font-weight:500;}
.fcta__lead{text-align:center;color:var(--purple-text);font-weight:700;font-size:20px;margin:14px 0 26px;letter-spacing:.04em;}
.fcta__tel{text-align:center;color:#fff;margin-top:30px;border-top:1px solid rgba(255,255,255,.4);padding-top:24px;}
.fcta__tel .small{font-size:13px;margin-bottom:6px;}
.fcta__tel .num{font-size:34px;font-weight:700;letter-spacing:.02em;display:inline-flex;align-items:center;gap:8px;}
.fcta__tel .num img{width:22px;filter:brightness(0) invert(1);}
.fcta__tel .num small{font-size:15px;}
.fcta__tel .hours{font-size:12px;opacity:.9;margin-top:4px;}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:#fff;padding:40px 0 30px;}
.footer__inner{display:flex;align-items:flex-start;gap:30px;flex-wrap:wrap;justify-content:center;}
.footer__logo{width:160px;display:flex;align-items:center;gap:6px;}
.footer__logo img.bird{width:46px;}
.footer__nav{flex:1;min-width:300px;text-align:center;}
.footer__nav a{font-size:12px;color:var(--ink);margin:0 10px;line-height:2.2;display:inline-block;}
.footer__nav a:hover{color:var(--purple);}
.footer__pf{width:150px;}
.copyright{text-align:center;font-size:11px;color:var(--ink-soft);margin-top:24px;letter-spacing:.04em;}

/* ============================================================
   追従CTAバー（PC/SP共通・スクロールで出現）
   ============================================================ */
.floatcta{
  position:fixed;left:0;right:0;bottom:0;z-index:120;
  background:rgba(247,243,250,.96);backdrop-filter:blur(6px);
  border-top:1px solid var(--line);box-shadow:0 -4px 18px rgba(80,60,110,.10);
  transform:translateY(110%);transition:transform .35s ease;
}
.floatcta.show{transform:translateY(0);}
.floatcta__inner{
  max-width:var(--maxw);margin:0 auto;padding:11px 24px;
  display:flex;align-items:center;gap:18px;
}
.floatcta__lead{font-weight:700;color:var(--purple-deep);font-size:14px;letter-spacing:.03em;}
.floatcta__btns{margin-left:auto;display:flex;gap:12px;}
.fbtn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:11px 26px;border-radius:6px;font-weight:700;font-size:14px;
  letter-spacing:.03em;white-space:nowrap;transition:transform .15s,opacity .15s;
  position:relative;overflow:hidden;
}
.fbtn:hover{transform:translateY(-1px);opacity:.92;}
.fbtn--demo{background:linear-gradient(150deg,#bd9a4e,#8f6c2a);color:#fff;text-shadow:0 1px 2px rgba(80,50,0,.22);box-shadow:0 4px 12px rgba(160,124,52,.34);}
.fbtn--demo::after{
  content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%);
  transform:skewX(-20deg);pointer-events:none;
  animation:cta-shine 3.6s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce){ .fbtn--demo::after{animation:none;} }

/* ============================================================
   SP専用 FV直下CTA（モバイルのみ・ベストプラクティス: 主1+副1）
   ============================================================ */
.spcta{display:none;}
@media (max-width:768px){
  .spcta{display:block;background:linear-gradient(180deg,#f4eff7,#ece4f0);padding:20px 0 24px;}
  .spcta__lead{text-align:center;color:var(--purple-deep);font-weight:700;font-size:13.5px;letter-spacing:.02em;margin:0 0 14px;}
  .spcta__lead strong{color:var(--purple-text);}
  .spcta__cards{display:flex;flex-direction:column;gap:12px;}
  /* FV直下＝リッチカード仕様を“今の大きいサイズ感”で表示 */
  .spcta .cta{flex:0 0 auto;width:100%;max-width:none;padding:14px 16px 13px;gap:7px;border-radius:14px;border-width:2px;}
  .spcta .cta__top{font-size:12.5px;}
  .spcta .cta__main{font-size:19px;}
  .spcta .cta__sub{font-size:11.5px;padding:.5em 1.15em;}
  .spcta .cta__chip{font-size:.72em;}
}
.fbtn--doc{background:#fff;color:var(--purple-deep);border:1.5px solid var(--purple);}
.fbtn--talk{background:#fff;color:var(--purple-deep);border:1.5px solid #cfc7e6;}
.brsp{display:none;}

/* ============================================================
   レスポンシブ
   ============================================================ */
@media (max-width:1240px){
  /* ヘッダーのみ早めにハンバーガー化（長いナビ対策・コンテンツは1カラム化せず） */
  .header__inner{padding:10px 16px;justify-content:space-between;}
  .gnav,.header__tel,.header__cta{display:none;}
  .header__logo{order:2;width:150px;}
  .hamburger{
    order:1;display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:42px;height:42px;background:var(--purple);border:0;border-radius:4px;cursor:pointer;
  }
  .hamburger span{display:block;height:2px;background:#fff;margin:0 9px;}
  .drawer{
    display:block;
    position:fixed;top:0;right:-100%;width:60%;max-width:300px;height:100vh;
    background:#fff;z-index:2000;box-shadow:-6px 0 20px rgba(0,0,0,.15);
    transition:right .3s;padding-top:60px;
  }
  .drawer.open{right:0;}
  .drawer__close{position:absolute;top:14px;left:16px;font-size:26px;background:0;border:0;cursor:pointer;color:var(--ink);}
  .drawer a{display:block;background:var(--purple);color:#fff;margin:0 14px 10px;padding:12px 16px;border-radius:4px;font-size:14px;font-weight:500;}
  .drawer .tel{background:#fff;color:var(--purple-deep);border:1px solid var(--line);font-size:20px;font-weight:700;text-align:center;}
  .drawer .tel small{display:block;font-size:11px;color:var(--ink-soft);font-weight:400;}
  .drawer-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:1500;opacity:0;pointer-events:none;transition:opacity .3s;}
  .drawer-overlay.open{opacity:1;pointer-events:auto;}
}

@media (max-width:900px){
  .hero__inner{grid-template-columns:1fr 1fr;}
  .reasons__grid{grid-template-columns:1fr;max-width:380px;}
  .price__grid{grid-template-columns:repeat(2,1fr);max-width:520px;}
  .step__grid{grid-template-columns:repeat(2,1fr);gap:24px;}
}

@media (max-width:768px){
  body{font-size:14px;padding-bottom:62px;} /* 追従CTAバー分の余白 */
  .wrap{padding:0 18px;}

  /* --- ヒーロー（SP：本文CTAは追従バーに集約／メダルは通常フローで重なり回避） --- */
  .hero__inner{grid-template-columns:1fr;min-height:auto;padding:18px 18px 28px;position:relative;}
  .hero__flower-l{width:120px;}
  .hero__flower-r{display:none;}
  .hero__title{font-size:clamp(19px, 5.6vw, 24px);margin-bottom:12px;}
  .hero__copy{max-width:none;}
  .hero__pills span{font-size:11px;padding:5px 12px;}
  /* ① 本文CTA・注記は非表示（CVは下部の追従バーへ集約） */
  .hero__ctas{display:none;}
  .hero__ctanote{display:none;}
  /* リードはSPでは短縮版に切替（改定の言い回しは維持） */
  .hero__lead--full{display:none;}
  .hero__lead--sp{display:block;margin-bottom:12px;}
  /* 女性は等倍（v7のスッキリ比率） */
  .hero__visual{min-height:auto;margin-top:-4px;position:relative;aspect-ratio:auto;align-self:auto;}
  .hero__woman{position:static;width:100%;margin:0 auto;display:block;}
  /* 吹き出しはSPでは女性の左上に重ねる */
  .hero__bubble{top:10px;left:2px;}
  .hero__bubble .bb-arrow{width:34px;transform:translateX(4px);}
  .hero__bubble .bb-txt{transform:none;}
  .hero__bubble .bb-lg{font-size:19px;gap:7px;}
  .hero__bubble .bb-sl{width:11px;}
  .hero__bubble .bb-sm{font-size:11px;}
  /* ダッシュボードPC：女性の胸〜膝に重ねて製品画面（visual基準で安定） */
  .hero__pc--dt{display:none;}
  .hero__pc--sp{display:block;position:absolute;left:2%;bottom:14%;
    width:45%;max-width:162px;z-index:4;
    filter:drop-shadow(0 12px 22px rgba(80,60,110,.22));}
  /* メダル：デスクトップ用は隠し、SVGを女性下部に重ねる（visual基準＝崩れない） */
  .hero__badges--dt{display:none;}
  .hero__badges--svg{display:flex;justify-content:center;gap:14px;margin:16px 0 2px;
    position:static;z-index:5;}
  .hero__badges--svg .medal{width:96px;height:96px;}
  /* SP追従CTAバー：スクロールで出現（FV直下CTAと重ならない）。背景は無地＝iOSで消えない */
  .floatcta{background:#f6f2f9;-webkit-backdrop-filter:none;backdrop-filter:none;}

  /* --- 統計 --- */
  .stats{padding:22px 0;}
  .stats__row{gap:0;}
  .stat{padding:6px 14px;}
  .stat .big{font-size:22px;}
  .stat--award .big{font-size:18px;}

  /* --- 悩み --- */
  .problem{padding:44px 0 24px;}
  .problem__head{min-height:auto;margin-bottom:28px;padding-top:50px;}
  .problem__head img{width:50px;top:0;transform:none;}
  .problem__head .l{left:2px;}
  .problem__head .r{right:2px;}
  .problem__head h2{font-size:23px;letter-spacing:.06em;line-height:1.5;}
  .problem__head .l{left:-2%;}
  .problem__head .r{right:-2%;}
  .problem__head h2{font-size:20px;letter-spacing:.04em;}
  .problem__grid{grid-template-columns:1fr;gap:14px;}

  /* --- CV帯 --- */
  .cv{padding:34px 0;}
  .cv__lead{font-size:16px;}
  .cv__btns{gap:12px;}
  .cv__btns .cta{flex:1 1 100%;max-width:none;padding:14px 16px 13px;gap:7px;border-radius:14px;}
  .cv__btns .cta__top{font-size:12.5px;}
  .cv__btns .cta__main{font-size:19px;}
  .cv__btns .cta__sub{font-size:11.5px;padding:.5em 1.15em;}
  .cv__btns .cta__chip{font-size:.72em;}

  /* --- 機能 --- */
  .feat,.feat:nth-child(even){direction:ltr;grid-template-columns:1fr;gap:14px;margin-bottom:40px;}
  .feat__txt h3{font-size:20px;}
  .features__body{padding:40px 0 30px;}

  /* --- 理由 --- */
  .reasons{padding:46px 0 50px;}
  .reasons h2{font-size:22px;}
  .reasons__note{font-size:15px;}

  /* --- 事例 --- */
  .reviews__deco{height:150px;margin-bottom:-60px;}
  .reviews h2{font-size:22px;}
  .reviews__grid{grid-template-columns:1fr;}

  /* --- 料金 --- */
  .price{padding:46px 0 50px;}
  .price__head .t2 .yen{font-size:34px;}
  .price__grid{grid-template-columns:1fr;max-width:340px;}

  /* --- ステップ --- */
  .step__card{padding:30px 16px;background-size:18px auto,18px auto;}
  .step__card h2{font-size:22px;}
  .step__grid{grid-template-columns:1fr;gap:22px;}
  .stp{display:grid;grid-template-columns:1fr auto;column-gap:14px;row-gap:8px;text-align:left;align-items:center;}
  .stp__num{grid-column:1;grid-row:1;margin:0;}
  .stp__icon{grid-column:2;grid-row:1;margin:0;justify-self:end;}
  .stp>div{grid-column:1 / -1;grid-row:2;}
  .stp img{margin:0;}

  /* --- FAQ --- */
  .faq{padding:90px 0 50px;background-size:170% auto;background-position:top center;background-repeat:no-repeat;}
  .faq h2{font-size:24px;letter-spacing:.08em;margin:0 0 28px;}
  .faq h2{font-size:22px;}

  /* --- フッターCTA --- */
  .fcta__top{flex-direction:column;gap:16px;}
  .fcta__hd{font-size:22px;}
  .fcta__lead{font-size:16px;}
  .fcta__tel .num{font-size:26px;}

  /* --- フッター --- */
  .footer__inner{flex-direction:column;align-items:center;gap:18px;}

  /* --- 追従CTAバー（SP調整） --- */
  .floatcta__lead{display:none;}
  body{padding-bottom:80px;}
  .floatcta__inner{padding:8px 12px;gap:8px;}
  .floatcta__btns{margin-left:0;width:100%;gap:8px;}
  .fbtn{flex:1;padding:9px 4px;font-size:13px;line-height:1.3;white-space:normal;text-align:center;}
  .brsp{display:inline;}
  body{padding-bottom:74px;}
}

/* 重要指標は画像化せずHTMLテキスト＋CSSのシルバーメダルで表現（SEO/LLMO可読） */
.stat-medal{width:clamp(128px,36vw,166px);aspect-ratio:1;border-radius:50%;margin:0 auto 6px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;
  background:radial-gradient(circle at 38% 30%, #ffffff 0%, #f2f2f5 34%, #d8d8dd 72%, #c3c3ca 100%);
  box-shadow:0 6px 16px rgba(80,60,110,.18), inset 0 2px 4px rgba(255,255,255,.85), inset 0 -5px 11px rgba(120,115,130,.35);
  border:1px solid rgba(255,255,255,.7);}
.stat-medal__num{font-family:"Noto Serif JP",serif;font-weight:700;font-size:clamp(30px,7.4vw,42px);color:#4a4458;line-height:1;letter-spacing:.01em;}
.stat-medal__num--sm{font-size:clamp(26px,6.4vw,36px);}
.stat-medal__unit{font-size:.5em;font-weight:700;margin-left:1px;}
.stat-medal__label{font-size:clamp(11.5px,3vw,13.5px);font-weight:700;color:#6a6478;letter-spacing:.02em;}
.stat-medal__label--nudge{transform:translateX(3px);}
.stp__num{display:block;font-style:italic;font-weight:700;font-size:14px;color:#e08aac;letter-spacing:.09em;margin-bottom:7px;}
.stp__icon{display:block;width:34px;height:34px;margin:0 auto 11px;color:#b3a8d2;}
.stp__icon svg{width:100%;height:100%;display:block;}
.qa__a[role="region"]{}

/* ============================================================
   CTA再設計：資料請求＝主（濃いゴールド）／問い合わせ＝副（白＋濃紫枠）
   無料デモは最下部のみ（濃紫）。既存classはそのまま、見た目のみ上書き
   ============================================================ */
:root{
  --cta-gold-a:#a47d2f;   /* 資料請求：グラデ明側 */
  --cta-gold-b:#8a6722;   /* 資料請求：グラデ暗側（中央付近で白文字と約4.4:1） */
  --cta-gold-line:#7a5b1f;
  --cta-talk:#463f78;     /* 問い合わせ：文字・枠 */
  --cta-demo-a:#5e5799;
  --cta-demo-b:#48427e;
}

/* --- 共通（カード型CTAをボタン型に） --- */
.cta--doc,.cta--talk,.cta--demo{
  flex-direction:row;gap:0;filter:none;padding:0 20px;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease, background-color .2s ease;
}
.cta--doc .cta__main,.cta--talk .cta__main,.cta--demo .cta__main{
  line-height:1.3;letter-spacing:.04em;text-shadow:none;white-space:nowrap;
}
.cta:focus-visible,.fbtn:focus-visible{outline:3px solid #e6c47e;outline-offset:3px;}

/* 資料請求（主） */
.cta--doc{
  background:linear-gradient(160deg,var(--cta-gold-a) 0%,var(--cta-gold-b) 100%);
  border:1px solid var(--cta-gold-line);border-radius:12px;min-height:66px;
  box-shadow:0 0 0 1px rgba(255,255,255,.22), 0 8px 20px rgba(45,32,70,.30), inset 0 1px 0 rgba(255,255,255,.22);
}
.cta--doc .cta__main{color:#fff;font-size:20px;font-weight:800;gap:.5em;text-shadow:0 1px 1px rgba(60,40,0,.25);}
.cta--doc .cta__main::after{content:"\2192";font-weight:700;transition:transform .2s ease;}
.cta--doc:hover{transform:translateY(-2px);filter:brightness(1.06);
  box-shadow:0 0 0 1px rgba(255,255,255,.26), 0 12px 26px rgba(45,32,70,.34), inset 0 1px 0 rgba(255,255,255,.24);}
.cta--doc:hover .cta__main::after{transform:translateX(3px);}
/* 光沢は弱め・間隔長め */
.cta--doc.shine::after{
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,.30) 50%, transparent 100%);
  animation:cta-shine-soft 6s ease-in-out infinite;
}
@keyframes cta-shine-soft{0%{left:-70%;} 14%{left:150%;} 100%{left:150%;}}

/* 問い合わせ（副） */
.cta--talk{
  background:#fff;border:1.5px solid var(--cta-talk);border-radius:10px;min-height:54px;
  box-shadow:0 3px 10px rgba(45,32,70,.10);
}
.cta--talk .cta__main{color:var(--cta-talk);font-size:15px;font-weight:700;}
.cta--talk:hover{transform:translateY(-1px);background:#f7f5fc;}

/* 無料デモ（最下部のみ・中位） */
.cta--demo{
  background:linear-gradient(160deg,var(--cta-demo-a),var(--cta-demo-b));
  border:1px solid #3e3870;border-radius:11px;min-height:58px;
  box-shadow:0 5px 14px rgba(45,32,70,.22);
}
.cta--demo .cta__main{color:#fff;font-size:17px;font-weight:700;text-shadow:none;}
.cta--demo:hover{transform:translateY(-1px);filter:brightness(1.08);}


/* --- ③ FV（PC・タブレット） --- */
.hero__ctalead{margin:0 0 9px;font-size:13px;font-weight:700;color:#2a2547;letter-spacing:.04em;line-height:1.5;}
.hero__ctas{gap:12px;align-items:center;}
.hero__ctas .cta{padding:0 14px;}
.hero__ctas .cta--doc{flex:1.75 1 0;min-height:62px;}
.hero__ctas .cta--doc .cta__main{font-size:clamp(15px,3.2cqi,19px);}
.hero__ctas .cta--talk{flex:1 1 0;min-height:52px;}
.hero__ctas .cta--talk .cta__main{font-size:clamp(13px,2.5cqi,15px);}

/* --- CV帯・最下部（PC） --- */
.cv__btns{align-items:center;gap:16px;}
.cv__btns .cta{padding:0 22px;}
.cv__btns .cta--doc{flex:0 1 460px;max-width:460px;min-height:70px;}
.cv__btns .cta--talk{flex:0 1 240px;max-width:240px;min-height:56px;}

/* ⑨ 最下部：資料請求（大）→ 無料デモ（中）→ 問い合わせ（小） */
.fcta__btns{padding-top:4px;}
.fcta__btns .cta--doc{flex:0 1 420px;max-width:420px;}
.fcta__demo{position:relative;flex:0 1 290px;max-width:290px;display:flex;flex-direction:column;}
.fcta__demo .cta{flex:0 0 auto;width:100%;max-width:none;}
.fcta__btns .cta--talk{flex:0 1 190px;max-width:190px;min-height:52px;}
.fcta__btns .cta--talk .cta__main{font-size:14.5px;}
@media (max-width:1000px) and (min-width:769px){
  /* 幅が足りない帯では資料請求を1段目、デモ＋問い合わせを2段目に */
  .fcta__btns{display:grid;grid-template-columns:290px 190px;justify-content:center;align-items:center;gap:16px;}
  .fcta__btns .cta--doc{grid-column:1 / -1;max-width:none;width:100%;}
  .fcta__btns .fcta__demo,.fcta__btns .cta--talk{max-width:none;width:100%;}
}

/* --- ① ヘッダー --- */
.header__cta{gap:8px;}
.header__cta .fbtn{padding:9px 14px;font-size:12.5px;border-radius:7px;min-height:36px;}
.header__cta .fbtn--doc::after{display:none;}

/* --- ⑪ 追従CTA（PC） --- */
.floatcta__inner{padding:10px 24px;gap:24px;}
.floatcta__lead{font-size:13px;line-height:1.5;min-width:0;}
.floatcta__btns{gap:10px;flex:0 0 auto;}
.fbtn{min-height:48px;border-radius:9px;}
.fbtn--doc{
  background:linear-gradient(160deg,var(--cta-gold-a) 0%,var(--cta-gold-b) 100%);
  color:#fff;border:1px solid var(--cta-gold-line);font-weight:800;
  text-shadow:0 1px 1px rgba(60,40,0,.25);
  box-shadow:0 4px 12px rgba(45,32,70,.24), inset 0 1px 0 rgba(255,255,255,.2);
}
.fbtn--doc::after{content:"\2192";margin-left:.5em;font-weight:700;}
.fbtn--talk{background:#fff;color:var(--cta-talk);border:1.5px solid var(--cta-talk);}
.fbtn--doc:hover{opacity:1;filter:brightness(1.06);}
.fbtn--talk:hover{opacity:1;background:#f7f5fc;}
.floatcta .fbtn--doc{width:380px;font-size:16px;}
.floatcta .fbtn--talk{width:180px;font-size:14px;}
.floatcta .fbtn--doc::before{
  content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,.28) 50%, transparent 100%);
  transform:skewX(-20deg);pointer-events:none;animation:cta-shine-soft 6s ease-in-out infinite;
}
@media (max-width:1000px){
  .floatcta__lead{display:none;}
  .floatcta__btns{margin-left:0;width:100%;}
  .floatcta .fbtn--doc{flex:2 1 0;width:auto;}
  .floatcta .fbtn--talk{flex:1 1 0;width:auto;}
}

/* --- SP（768px以下） --- */
@media (max-width:768px){
  /* ④ FV内 */
  .hero__ctalead{display:none;}
  .hero__spcta.cta--doc{min-height:70px;padding:0 16px;border-width:1px;border-radius:12px;}
  .hero__spcta .cta__main{font-size:clamp(17px,5vw,19px);}

  /* ⑤ FV直下 */
  .spcta__lead{font-size:14px;}
  .spcta__cards{gap:12px;align-items:center;}
  .spcta .cta{padding:0 16px;}
  .spcta .cta--doc{width:100%;min-height:62px;border-width:1px;border-radius:12px;}
  .spcta .cta--doc .cta__main{font-size:clamp(17px,5vw,19px);}
  .spcta .cta--talk{width:86%;min-height:50px;border-width:1.5px;border-radius:10px;}
  .spcta .cta--talk .cta__main{font-size:15px;}

  /* ⑥⑦⑧⑨ 縦積み */
  .cv__btns{flex-direction:column;align-items:center;gap:12px;}
  .cv__btns .cta{padding:0 16px;}
  .cv__btns .cta--doc,.fcta__btns .cta--doc{flex:0 0 auto;width:100%;max-width:none;min-height:62px;border-width:1px;border-radius:12px;}
  .cv__btns .cta--doc .cta__main{font-size:clamp(17px,5vw,19px);}
  .cv__btns .cta--talk,.fcta__btns .cta--talk{flex:0 0 auto;width:86%;max-width:none;min-height:50px;border-width:1.5px;border-radius:10px;}
  .cv__btns .cta--talk .cta__main,.fcta__btns .cta--talk .cta__main{font-size:15px;}
  .fcta__btns{padding-top:0;gap:12px;}
  .fcta__demo{flex:0 0 auto;width:100%;max-width:none;}
    .fcta__demo .cta--demo{min-height:56px;border-radius:11px;}
  .cv__btns .cta--demo .cta__main{font-size:17px;}

  /* ⑪ 追従CTA（横並び：資料請求を大きく／文字は縮めない） */
  body{padding-bottom:74px;}
  .floatcta__inner{padding:8px 10px;gap:8px;}
  .floatcta__btns{gap:8px;}
  .floatcta .fbtn{white-space:nowrap;padding:0 8px;min-height:50px;line-height:1.2;}
  .floatcta .fbtn--doc{flex:2.35 1 0;font-size:15px;}
  .floatcta .fbtn--talk{flex:1 1 0;font-size:13px;}
  .floatcta .fbtn--doc::after{margin-left:.35em;}
}
@media (max-width:350px){
  .floatcta .fbtn--talk{font-size:12px;padding:0 4px;letter-spacing:0;}
  .floatcta .fbtn--doc{padding:0 6px;letter-spacing:.01em;}
}

@media (prefers-reduced-motion: reduce){
  .cta--doc.shine::after,.floatcta .fbtn--doc::before{animation:none;}
  .cta--doc:hover,.cta--talk:hover,.cta--demo:hover,.fbtn:hover{transform:none;}
}

/* ============================================================
   CTA直前の一文（本文より少し強く、CTAより弱く）
   ============================================================ */
.cv__lead{font-size:18px;margin-bottom:22px;}
.fcta__lead{font-size:17px;margin:14px 0 22px;}
.hero__ctalead{font-size:13.5px;margin:0 0 10px;}
.hero__splead{display:none;}
@media (max-width:768px){
  .cv__lead{font-size:16px;margin-bottom:18px;}
  .fcta__lead{font-size:16px;margin-bottom:18px;}
  .hero__splead{display:block;margin:16px 0 8px;text-align:center;font-size:14px;font-weight:700;color:#2a2547;letter-spacing:.03em;line-height:1.5;}
  .hero__splead + .hero__spcta{margin-top:0;}
}
@media (max-width:340px){
  .hero__splead{font-size:13.5px;letter-spacing:0;}
  .cv__lead,.fcta__lead{font-size:15px;letter-spacing:.01em;}
}
/* ============================================================
   Primary CTA Unit：＼ マイクロコピー ／ ＋ 資料請求CTA
   ============================================================ */
.cta-unit{display:flex;flex-direction:column;align-items:stretch;min-width:0;}
.cv__btns .cta-unit > .cta,.hero__ctas .cta-unit > .cta,.spcta .cta-unit > .cta{flex:0 0 auto;width:100%;max-width:none;}
.cta-micro{
  margin:0 0 8px;text-align:center;white-space:nowrap;
  font-size:16px;font-weight:700;line-height:1.5;letter-spacing:.02em;
  color:var(--purple-text);
}
.mc-br{display:none;}
.cv .cta-micro{color:#fff;}
.hero .cta-micro{color:#2a2547;}

/* FV：ボタン幅配分は現状どおり／問い合わせはゴールドCTAと中心を揃える */
.hero__ctas{align-items:flex-end;}
.hero__ctas .cta-unit{flex:1.75 1 28px;}
.hero__ctas > .cta--talk{margin-bottom:5px;}
@media (max-width:1068px) and (min-width:769px){
  .hero__ctas .mc-br--tab{display:inline;}
}
.hero__ctas .cta-micro{align-self:center;width:max-content;} /* 折り返し時もボタン中央に揃える */
.hero__spmicro{display:none;}

/* 中盤CV帯（PC）：資料請求を大きく中央、問い合わせはその下に小さく */
@media (min-width:769px){
  .cv .cv__btns{flex-direction:column;align-items:center;gap:18px;}
  .cv .cv__btns .cta-unit{flex:0 0 auto;width:460px;max-width:100%;}
  .cv .cv__btns > .cta--talk{flex:0 0 auto;width:240px;max-width:100%;min-height:48px;}
  .cv .cv__btns > .cta--talk .cta__main{font-size:14px;}
}

/* 最下部（PC） */
.fcta__btns{padding-top:0;margin-top:26px;align-items:flex-end;}
.fcta__btns .cta-unit{flex:0 1 420px;max-width:420px;}
.fcta__btns > .fcta__demo{margin-bottom:6px;}
.fcta__btns > .cta--talk{margin-bottom:9px;}
@media (max-width:1000px) and (min-width:769px){
  .fcta__btns{row-gap:18px;align-items:center;}
  .fcta__btns .cta-unit{grid-column:1 / -1;max-width:none;width:100%;}
  .fcta__btns > .fcta__demo,.fcta__btns > .cta--talk{margin-bottom:0;}
}

/* SP */
@media (max-width:768px){
  .cta-micro{font-size:14px;line-height:1.5;margin-bottom:7px;}
  .hero__spmicro{display:block;margin:16px 0 7px;}
  .hero__spmicro + .hero__spcta{margin-top:0;}
  .spcta__cards,.cv__btns{gap:16px;}
  .cv__btns{align-items:center;}
  .spcta .cta-unit,.cv__btns .cta-unit{flex:0 0 auto;width:100%;max-width:none;}
  .fcta__btns > .fcta__demo,.fcta__btns > .cta--talk{margin-bottom:0;}
  .fcta__btns{margin-top:20px;}
}
/* 1行に収まらない幅のみ読点の後で改行 */
@media (max-width:364px){ .mc-br--fvsp{display:inline;} }

/* ============================================================
   ゴールドCTA（資料請求）視認性調整：背景・境界・影のみ
   ============================================================ */
.cta--doc,.fbtn--doc{
  background:linear-gradient(180deg,#C99D3A 0%,#B98728 48%,#A8731F 100%);
  background-color:#B88927;
  border-style:solid;border-color:rgba(255,255,255,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 8px 20px rgba(65,40,85,.24);
  color:#FFFFFF;
}
.cta--doc:hover,.fbtn--doc:hover{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 10px 24px rgba(65,40,85,.28);
}

/* ============================================================
   FVテキストのコントラスト調整（文字色・ウェイトのみ）
   ============================================================ */
.hero .hero__eyebrow{color:#211B32;}
.hero .hero__title{color:#211B32;}
.hero .hero__lead,.hero .hero__lead strong{color:#302842;}
@media (max-width:768px){
  .hero .hero__eyebrow{font-weight:700;}
  .hero .hero__lead--sp{font-weight:600;}
}

/* ============================================================
   FVタイポグラフィ・余白の整理（見出し＞上部コピー＞説明文）
   ============================================================ */
.hero .hero__eyebrow{font-weight:600;line-height:1.6;margin-bottom:28px;}
.hero .hero__title{font-weight:700;line-height:1.45;margin-bottom:24px;}
.hero .hero__lead{font-weight:500;line-height:1.7;}
@media (max-width:768px){
  .hero .hero__eyebrow{font-size:15px;font-weight:600;line-height:1.6;margin-bottom:24px;}
  .hero .hero__title{margin-bottom:24px;}
  .hero .hero__lead--sp{font-weight:500;}
}

/* ============================================================
   FV：SPの縦方向最適化・情報階層の整理
   ============================================================ */
@media (max-width:768px){
  .hero__inner{padding-top:10px;}
  .hero__pills{margin-bottom:16px;gap:8px;}
  .hero__pills span{font-size:10.5px;padding:5px 11px;line-height:1.6;} /* 実績チップを脇役化 */
  .hero__flower-l{display:none;}
  /* 右上：画面外の花が上・右からフレームインする構図（素材の花が接している辺を画面端・FV上端に合わせる） */
  .hero__flower-r{display:block;top:0px;bottom:auto;left:auto;right:clamp(-140px, calc(100vw - 470px), -70px);
    width:250px;opacity:.9;transform:scaleY(-1);z-index:1;}
  .hero .hero__eyebrow{color:#211B32;font-weight:600;line-height:1.55;margin-bottom:22px;}
  .hero .hero__title{font-weight:700;margin-bottom:22px;}
  .hero .hero__lead--sp{margin-bottom:0;}
  /* 人物＋PC：約20%縮小し中央配置。画像上部の透明余白（幅の約6.4%）分を詰める */
  .hero__visual{width:80%;justify-self:center;margin:calc(-5.1% - 4px) auto 0;}
  /* 人物画像 → マイクロコピー → CTA を近づける（グリッドの行間10pxを相殺） */
  .hero__spmicro{margin-top:-6px;}
  .hero__spmicro + .hero__spcta{margin-top:-10px;}
}

/* ============================================================
   世界観レイヤー（装飾）：コンテンツより必ず弱く・レイアウトフロー外
   ============================================================ */
:root{
  --tb-flower-l:url("../images/firstview_flower_left.webp");
  --tb-flower-r:url("../images/firstview_flower_right.webp");
  --tb-spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23D8B45A' d='M12 0C12.9 7.6 16.4 11.1 24 12C16.4 12.9 12.9 16.4 12 24C11.1 16.4 7.6 12.9 0 12C7.6 11.1 11.1 7.6 12 0Z'/%3E%3C/svg%3E");
}
.hero,.stats,.problem,.cv,.features,.reasons,.price,.step,.fcta{position:relative;isolation:isolate;}
.tb-deco{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;}
.tb-spk{position:absolute;display:block;width:var(--s,10px);height:var(--s,10px);
  background:var(--tb-spark) center/contain no-repeat;opacity:var(--o,.5);}
.tb-glow{position:absolute;display:block;border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.16) 0%, rgba(255,255,255,.06) 32%, transparent 62%);}
.tb-glow--soft{background:radial-gradient(circle, rgba(255,255,255,.12) 0%, rgba(255,255,255,.04) 35%, transparent 64%);}
.tb-wash{position:absolute;display:block;border-radius:50%;
  background:radial-gradient(circle, rgba(155,148,196,.10) 0%, rgba(155,148,196,.04) 40%, transparent 66%);}
.tb-line{position:absolute;display:block;height:1px;
  background:linear-gradient(90deg, transparent, rgba(216,180,90,.6) 50%, transparent);}
.tb-deco--price .tb-line{top:86px;width:90px;}
.tb-deco--price .tb-line--l{right:calc(50% + 110px);}
.tb-deco--price .tb-line--r{left:calc(50% + 110px);}
.tb-line::after{content:"";position:absolute;top:-2px;left:50%;width:5px;height:5px;margin-left:-2.5px;
  transform:rotate(45deg);background:rgba(216,180,90,.55);}
.tb-bot{position:absolute;display:block;aspect-ratio:230/177;background-size:100% 100%;background-repeat:no-repeat;}
.tb-bot--tl{background-image:var(--tb-flower-l);opacity:.8;}
.tb-bot--tl-flip{background-image:var(--tb-flower-l);transform:scaleX(-1);opacity:.7;}
.tb-bot--br-flip{background-image:var(--tb-flower-r);transform:scaleX(-1);opacity:.55;}
/* ブレークポイント別の表示 */
.tb-sp{display:none;}
.tb-xl,.tb-lg,.tb-xxl{display:none;}
@media (min-width:1200px){ .tb-lg{display:block;} }
@media (min-width:1300px){ .tb-xl{display:block;} }
@media (min-width:1600px){ .tb-xxl{display:block;} }
@media (max-width:768px){
  .tb-pc{display:none;}
  .tb-sp{display:block;}
  .tb-deco--price .tb-line{top:72px;width:44px;}
  .tb-deco--price .tb-line--l{right:calc(50% + 96px);}
  .tb-deco--price .tb-line--r{left:calc(50% + 96px);}
}
/* 導入の流れ：カードに軽い立体感 */
.step__card{box-shadow:0 14px 36px rgba(150,90,130,.10), 0 2px 6px rgba(150,90,130,.05);}
@media (prefers-reduced-motion: reduce){ .tb-deco *{animation:none!important;} }

/* ============================================================
   メイン見出し：各行に連続した控えめなゴールドの筆線
   ============================================================ */
.hero .hero__title .hl{background:none;}
.hero .hero__title .nb{
  width:fit-content;max-width:100%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 14' preserveAspectRatio='none'%3E%3Cpath d='M3 2.6C20 1.2 48 1.9 80 1.3S150 0.8 196 1.6S268 1.0 318 1.4S372 0.7 396 1.9C399.4 4.5 399.6 9.5 397.5 12.2C360 13.1 318 12.4 262 13.0S170 13.5 118 12.6S40 13.4 2.5 12.0C0.6 9.2 0.8 5.0 3 2.6Z' fill='rgb(216,180,90)' fill-opacity='0.58'/%3E%3C/svg%3E") no-repeat;
  background-size:98% 14px;background-position:0 calc(100% - 2px);
}
@media (max-width:768px){
  .hero .hero__title .nb{background-size:98% 12px;background-position:0 calc(100% - 2px);}
}
/* ============================================================
   FVの空気感：淡い光・植物の影・金の曲線
   ============================================================ */
.tb-aura{position:absolute;
  background:radial-gradient(ellipse 50% 50% at 50% 55%, rgba(255,255,255,.14) 0%, rgba(250,246,255,.06) 35%, transparent 65%);}
.tb-sp.tb-aura{background:radial-gradient(ellipse 50% 50% at 50% 40%, rgba(255,255,255,.14) 0%, rgba(250,246,255,.06) 35%, transparent 65%);}
.tb-leafshadow{position:absolute;opacity:.07;filter:blur(1.5px);overflow:visible;}
.tb-curve{position:absolute;overflow:visible;}
.tb-curve--sp{display:none;}
@media (max-width:768px){
  .tb-sp.tb-leafshadow{opacity:.06;}
  .tb-curve--sp{display:block;position:absolute;right:-36px;top:4%;width:30px;height:88%;pointer-events:none;}
}

/* ============================================================
   手描き風ウェーブ（Treasure Boxの装飾言語）
   ============================================================ */
/* FV説明文：各行の太字部分の下に短い波線（行の高さは変えない） */
/* 情報系セクションの見出し下にも同じ波線モチーフを小さく（高さは変えない） */
.problem__head h2::after,.step__card h2::after,.faq h2::after{
  content:"";position:absolute;left:50%;bottom:-16px;height:9px;transform:translateX(-50%);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6C14 2.2 26 2 38 5.4S60 8.6 72 5.2S96 1.8 118 4.6' fill='none' stroke='rgb(216,180,90)' stroke-opacity='0.62' stroke-width='1.6' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;pointer-events:none;
}
.problem__head h2::after{width:96px;}
.step__card h2::after{width:78px;margin-left:-4px;}
.faq h2::after{width:88px;bottom:-15px;}
.step__card h2,.faq h2{position:relative;}
@media (max-width:768px){
  .problem__head h2::after,.step__card h2::after,.faq h2::after{bottom:-12px;width:72px;}
}

/* ============================================================
   FV：説明文の手描きウェーブ2本・sparkle／人物背後の光／管理画面の拡大
   ============================================================ */
.hero .hero__lead{position:relative;}
/* sparkle：説明文の最終行の右（太字「全部まとめて。」の右端基準） */
.hero .hero__lead strong:last-of-type{position:relative;}
.hero .hero__lead strong:last-of-type::after{
  content:"";position:absolute;left:calc(100% + 16px);top:50%;width:11px;height:11px;margin-top:-6px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23D8B45A' d='M12 0C12.9 7.6 16.4 11.1 24 12C16.4 12.9 12.9 16.4 12 24C11.1 16.4 7.6 12.9 0 12C7.6 11.1 11.1 7.6 12 0Z'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.7;pointer-events:none;
}
@media (max-width:768px){
  .hero .hero__lead strong:last-of-type::after{left:calc(100% + 14px);width:10px;height:10px;margin-top:-5px;}
}
/* 人物背後の光（SP）：人物ブロック基準・人物より背面 */
.tb-sp.tb-aura{display:none!important;}
@media (max-width:768px){
  .hero__visual::before{
    content:"";position:absolute;top:0;right:-45%;bottom:-6%;left:-45%;z-index:-1;pointer-events:none;
    background:radial-gradient(ellipse at 55% 67%, rgba(255,255,255,.22) 0%, rgba(255,255,255,.11) 35%, rgba(255,255,255,.03) 55%, transparent 72%);
  }
}
/* 人物背後の光（PC）：同じ濃度設計。テキスト側へ広げない */
.tb-pc.tb-aura{background:radial-gradient(ellipse 42% 50% at 50% 55%, rgba(255,255,255,.22) 0%, rgba(255,255,255,.11) 35%, rgba(255,255,255,.03) 55%, transparent 72%);}
/* 管理画面（SP）：1.25倍。左下の基準位置は維持し、右・上方向へ拡大 */
@media (max-width:768px){
  .hero__pc--sp{width:56.25%;max-width:202.5px;}
}
/* 管理画面（PC 769〜900px）：コピー列が狭く極小になっていたため、人物側へはみ出させて拡大 */
@media (min-width:769px) and (max-width:900px){
  .hero__pc--dt{width:190px;right:-150px;}
}
/* 新マイクロコピーの改行（行数・高さを変更前と同じ幅で切り替え、FVの配置を維持） */
@media (min-width:769px) and (max-width:1068px){ .hero__ctas .mc-br--fvn{display:inline;} }
@media (max-width:364px){ .mc-br--fvnsp{display:inline;} }

/* ============================================================
   FVのゴールドCTA周辺：背後の淡い光・左右のsparkle・下の短いスウッシュ
   （ボタン本体は変更なし／装飾はすべてボタンの外側）
   ============================================================ */
/* PC：資料請求ユニット基準（CTAはユニットの下端） */
.hero__ctas{position:relative;}
.hero__ctas .cta-unit{position:relative;}
.hero__ctas .cta-unit::before{
  content:"";position:absolute;left:-36px;right:-36px;bottom:-14px;height:calc(62px + 28px);pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(255,255,255,.22) 0%, rgba(255,255,255,.08) 40%, transparent 72%);
}
.hero__ctas .cta-unit::after{
  content:"";position:absolute;left:-30px;right:-30px;bottom:-20px;height:82px;pointer-events:none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23D8B45A' fill-opacity='0.7' d='M12 0C12.9 7.6 16.4 11.1 24 12C16.4 12.9 12.9 16.4 12 24C11.1 16.4 7.6 12.9 0 12C7.6 11.1 11.1 7.6 12 0Z'/%3E%3C/svg%3E") no-repeat 4px 16px / 8px 8px,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 7'%3E%3Cpath d='M1.35 2.77 L2.15 3.02 L2.97 3.28 L3.79 3.57 L4.63 3.84 L5.49 4.09 L6.36 4.33 L7.25 4.56 L8.15 4.76 L9.07 4.96 L10.00 5.14 L10.94 5.31 L11.90 5.46 L12.86 5.59 L13.84 5.72 L14.82 5.82 L15.82 5.92 L16.82 5.99 L17.84 6.06 L18.86 6.10 L19.88 6.14 L20.92 6.12 L21.96 6.09 L23.00 6.04 L24.04 5.94 L25.09 5.81 L26.13 5.66 L27.18 5.50 L28.23 5.32 L29.28 5.13 L30.32 4.92 L31.37 4.70 L32.41 4.45 L33.45 4.20 L34.49 3.92 L35.52 3.63 L36.55 3.32 L37.57 3.00 L38.60 2.68 L39.63 2.39 L40.65 2.07 L40.55 1.73 L39.53 2.04 L38.50 2.34 L37.46 2.59 L36.42 2.79 L35.37 2.98 L34.32 3.15 L33.27 3.30 L32.23 3.45 L31.18 3.57 L30.13 3.68 L29.09 3.78 L28.05 3.86 L27.01 3.92 L25.97 3.97 L24.94 4.01 L23.92 4.03 L22.90 4.05 L21.88 4.09 L20.87 4.12 L19.87 4.14 L18.87 4.17 L17.87 4.20 L16.88 4.21 L15.90 4.21 L14.93 4.19 L13.96 4.16 L13.00 4.12 L12.05 4.07 L11.10 4.00 L10.17 3.92 L9.24 3.83 L8.33 3.73 L7.43 3.61 L6.53 3.49 L5.65 3.35 L4.78 3.21 L3.92 3.05 L3.08 2.89 L2.25 2.68 L1.45 2.43Z' fill='%23C89C35' fill-opacity='0.65'/%3E%3C/svg%3E") no-repeat calc(50% + 12px) 71px / 48px 8px;
}
/* 右のsparkle：隣の「お問い合わせ」に重ならないよう、CTA列の右外側に配置 */
.hero__ctas::after{
  content:"";position:absolute;right:-27px;bottom:17.5px;width:11px;height:11px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23D8B45A' fill-opacity='0.7' d='M12 0C12.9 7.6 16.4 11.1 24 12C16.4 12.9 12.9 16.4 12 24C11.1 16.4 7.6 12.9 0 12C7.6 11.1 11.1 7.6 12 0Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (min-width:769px) and (max-width:1128px){
  .hero__ctas .cta-unit::after{background-position:14px 16px, calc(50% + 12px) 71px;}
  .hero__ctas::after{right:-22px;}
}
/* SP：マイクロコピーの直下＝CTA上端（マイクロコピーとCTAの間は7px） */
@media (max-width:768px){
  .hero__spmicro{position:relative;}
  .hero__spmicro::before{
    content:"";position:absolute;left:-18px;right:-18px;top:calc(100% + 7px - 14px);height:calc(70px + 28px);pointer-events:none;
    background:radial-gradient(ellipse at center, rgba(255,255,255,.22) 0%, rgba(255,255,255,.08) 40%, transparent 72%);
  }
  .hero__spmicro::after{
    content:"";position:absolute;left:-18px;right:-18px;top:calc(100% + 7px);height:90px;pointer-events:none;
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23D8B45A' fill-opacity='0.7' d='M12 0C12.9 7.6 16.4 11.1 24 12C16.4 12.9 12.9 16.4 12 24C11.1 16.4 7.6 12.9 0 12C7.6 11.1 11.1 7.6 12 0Z'/%3E%3C/svg%3E") no-repeat 5px 16px / 8px 8px,
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23D8B45A' fill-opacity='0.7' d='M12 0C12.9 7.6 16.4 11.1 24 12C16.4 12.9 12.9 16.4 12 24C11.1 16.4 7.6 12.9 0 12C7.6 11.1 11.1 7.6 12 0Z'/%3E%3C/svg%3E") no-repeat right 3px top 37.5px / 11px 11px,
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 7'%3E%3Cpath d='M1.35 2.77 L2.15 3.02 L2.97 3.28 L3.79 3.57 L4.63 3.84 L5.49 4.09 L6.36 4.33 L7.25 4.56 L8.15 4.76 L9.07 4.96 L10.00 5.14 L10.94 5.31 L11.90 5.46 L12.86 5.59 L13.84 5.72 L14.82 5.82 L15.82 5.92 L16.82 5.99 L17.84 6.06 L18.86 6.10 L19.88 6.14 L20.92 6.12 L21.96 6.09 L23.00 6.04 L24.04 5.94 L25.09 5.81 L26.13 5.66 L27.18 5.50 L28.23 5.32 L29.28 5.13 L30.32 4.92 L31.37 4.70 L32.41 4.45 L33.45 4.20 L34.49 3.92 L35.52 3.63 L36.55 3.32 L37.57 3.00 L38.60 2.68 L39.63 2.39 L40.65 2.07 L40.55 1.73 L39.53 2.04 L38.50 2.34 L37.46 2.59 L36.42 2.79 L35.37 2.98 L34.32 3.15 L33.27 3.30 L32.23 3.45 L31.18 3.57 L30.13 3.68 L29.09 3.78 L28.05 3.86 L27.01 3.92 L25.97 3.97 L24.94 4.01 L23.92 4.03 L22.90 4.05 L21.88 4.09 L20.87 4.12 L19.87 4.14 L18.87 4.17 L17.87 4.20 L16.88 4.21 L15.90 4.21 L14.93 4.19 L13.96 4.16 L13.00 4.12 L12.05 4.07 L11.10 4.00 L10.17 3.92 L9.24 3.83 L8.33 3.73 L7.43 3.61 L6.53 3.49 L5.65 3.35 L4.78 3.21 L3.92 3.05 L3.08 2.89 L2.25 2.68 L1.45 2.43Z' fill='%23C89C35' fill-opacity='0.65'/%3E%3C/svg%3E") no-repeat calc(50% + 12px) 79px / 42px 7px;
  }
}

/* ============================================================
   FVキービジュアル：左＝管理画面／右＝サロンオーナーの非対称構図
   （人物サイズ・上下位置は変更なし。横位置と管理画面サイズのみ）
   ============================================================ */
/* PC：人物を右へ（画面幅に応じて24〜60px）、管理画面は1.1倍で右方向へ拡大 */
@media (min-width:769px){
  .hero__woman{transform:translateX(24px);}
}
@media (min-width:1100px){
  .hero__woman{transform:translateX(clamp(24px, calc((100vw - 1100px) / 3 + 24px), 60px));}
}
@media (min-width:901px){
  .hero__pc--dt{
    width:calc(min(52%, calc(100% - 312px)) * 1.1);max-width:396px;
    right:calc(min(52%, calc(100% - 312px)) * -0.1);
  }
}
/* SP：人物を右へ20px、管理画面は現状の1.15倍にして左へ15px */
@media (max-width:768px){
  .hero__woman{transform:translateX(20px);}
  .hero__pc--sp{width:64.6875%;max-width:232.875px;left:calc(2% - 15px);}
}

/* ============================================================
   FVキービジュアル最終調整（左：管理画面を大きく／右：人物をさらに右へ）
   ============================================================ */
@media (min-width:1100px){
  /* PC：人物は最大90px右へ（管理画面は左のメダル・上のCTAとの間隔を保つため現状の位置・サイズを維持） */
  .hero__woman{transform:translateX(clamp(24px, calc((100vw - 1100px) / 3 + 24px), 90px));}
}
@media (max-width:768px){
  /* SP：人物は現状から+12px（計32px）、管理画面は現状の1.07倍（左端は維持） */
  .hero__woman{transform:translateX(32px);}
  .hero__pc--sp{width:69.2156%;max-width:249.176px;}
}

/* ============================================================
   FV最終微調整：管理画面（SP）1.04倍＋左へ6px／FVマイクロコピーを一段軽く
   ============================================================ */
@media (max-width:768px){
  .hero__pc--sp{width:71.9842%;max-width:259.143px;left:calc(2% - 21px);}
}
/* 本文フォントは400/500/700/900のみ読み込みのため、600指定では700で表示される。実際に一段軽くなる500を指定 */
.hero__ctas .cta-micro,.hero .hero__spmicro{font-weight:500;}


/* ============================================================
   資料DL CTA：円形アウトライン＋短い矢印（全資料DL CTA共通）
   ボタン本体（色・グラデ・サイズ・角丸・枠・影・shine）は変更なし
   ============================================================ */
.cta--doc .cta__main::after,.fbtn--doc::after{content:none;}
.cta--doc::before{
  content:"";position:absolute;top:50%;right:22px;width:36px;height:36px;margin-top:-18px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='17.5' fill='none' stroke='%23FFFFFF' stroke-opacity='0.72' stroke-width='1'/%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.8 18H26'/%3E%3Cpath d='M21.6 13.9L26.2 18L21.6 22.1'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;
}
.floatcta .fbtn--doc::after{
  content:"";position:absolute;top:50%;right:22px;width:36px;height:36px;margin:-18px 0 0;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Ccircle cx='18' cy='18' r='17.5' fill='none' stroke='%23FFFFFF' stroke-opacity='0.72' stroke-width='1'/%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.8 18H26'/%3E%3Cpath d='M21.6 13.9L26.2 18L21.6 22.1'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat;
}
@media (hover:hover) and (min-width:769px){
  .cta--doc::before,.floatcta .fbtn--doc::after{transition:transform .25s ease;}
  .cta--doc:hover::before,.floatcta .fbtn--doc:hover::after{transform:translateX(3px);}
}
/* PC：FVのCTAが狭くなる帯は円を小さくして右へ寄せ、文字と重ねない */
@media (min-width:769px) and (max-width:900px){
  .hero__ctas .cta--doc::before{width:30px;height:30px;margin-top:-15px;right:8px;}
  .hero__ctas .cta--doc{padding-right:48px;}
}
/* SP：円34px・右端から18px。追従バーは幅が足りないため円は表示しない */
@media (max-width:768px){
  .cta--doc::before{width:34px;height:34px;margin-top:-17px;right:18px;}
  .floatcta .fbtn--doc::after{content:none;}
}
@media (max-width:339px){
  .hero__spcta.cta--doc,.spcta .cta--doc,.cv__btns .cta--doc{padding-right:28px;}
}
@media (prefers-reduced-motion: reduce){ .cta--doc::before,.floatcta .fbtn--doc::after{transition:none;} }

/* ============================================================
   補助金サブ訴求（CTAの第3階層：CTAより弱く）
   ============================================================ */
.tb-subsidy{margin:8px 0 0;text-align:center;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.02em;white-space:nowrap;}
.cv .tb-subsidy{color:rgba(255,255,255,.9);}
.hero .tb-subsidy{color:#3b3656;}
.tb-subsidy__s{display:none;}
/* FV（PC）：CTA列の下・右寄せ（CTA下のスウッシュ装飾と重ねない）
   901px以上：CTA列の直後に配置（コピー列は下揃えのため、FVの高さ・人物・管理画面は動かない）
   769〜900px：コピー列に余裕がないため、CTA列の下に重ねて配置 */
.tb-subsidy--fvflow{text-align:right;margin:-16px 0 0;padding-bottom:24px;line-height:1.35;}
.tb-subsidy--fvabs{display:none;position:absolute;right:0;top:calc(100% + 3px);margin:0;pointer-events:none;line-height:1.35;}
@media (max-width:1099px){
  .tb-subsidy--fvflow .tb-subsidy__l{display:none;}
  .tb-subsidy--fvflow .tb-subsidy__s{display:inline;}
}
/* 901px以上：補助金文言の分だけコピー列が高くなり、管理画面の下端（%指定）が約1px動くため補正 */
@media (min-width:901px){
  .hero__pc--dt{bottom:calc(-4.8% + var(--tb-sub-shift, 1.16px));}
}
@media (min-width:769px) and (max-width:900px){
  .tb-subsidy--fvflow{display:none;}
  .tb-subsidy--fvabs{display:block;}
}
.tb-subsidy--fvsp{display:none;}
@media (max-width:768px){
  .tb-subsidy--fvflow,.tb-subsidy--fvabs{display:none;}
  .tb-subsidy--fvsp{display:block;margin:12px 0 0;}
  .tb-subsidy--fvsp + .hero__badges--svg{margin-top:12px;}
  .tb-subsidy{font-size:12px;}
}

/* ============================================================
   最下部CTA：資料DL（主）→ お問い合わせ（副）→ 無料デモ（第3）
   ============================================================ */
.fcta__btns .cta-unit{order:0;}
.fcta__btns > .cta--talk{flex:0 1 220px;max-width:220px;}
.fcta__btns > .fcta__demo{flex:0 1 190px;max-width:190px;margin-bottom:11px;}
.fcta__demo .cta--demo{
  background:transparent;border:1px solid rgba(70,63,120,.45);box-shadow:none;min-height:48px;border-radius:10px;
}
.fcta__demo .cta--demo .cta__main{color:var(--cta-talk);font-size:14px;font-weight:500;}
.fcta__demo .cta--demo:hover{background:rgba(255,255,255,.35);filter:none;}
@media (max-width:1000px) and (min-width:769px){
  .fcta__btns{grid-template-columns:220px 190px;}
}
@media (max-width:768px){
  .fcta__btns > .cta--talk{flex:0 0 auto;width:86%;max-width:none;}
  .fcta__btns > .fcta__demo{flex:0 0 auto;width:72%;max-width:none;margin-bottom:0;}
  .fcta__demo .cta--demo{min-height:44px;}
  .cv__btns .fcta__demo .cta--demo .cta__main{font-size:14px;}
}

/* 中間CTAマイクロコピーの改行（1行に収まらない幅のみ） */
@media (max-width:365px){ .mc-br--cva{display:inline;} }
@media (max-width:350px){ .mc-br--cvb{display:inline;} }
@media (max-width:325px){ .mc-br--cvc{display:inline;} }

/* FVのCTA（SP）：文字のみ左へ12px（円形矢印・ボタン本体は固定） */
@media (max-width:768px){
  .hero__spcta .cta__main{transform:translateX(-12px);}
}

/* ============================================================
   FVの補助金訴求：〔補助金対象〕ピル＋「申請フォロー付き」（CTA下の付帯メリット）
   CTA上のマイクロコピー（PC16px／SP14px）より2px小さく、中央揃え、CTAから18px
   ============================================================ */
.hero .tb-subsidy--fv{
  display:flex;align-items:center;justify-content:center;gap:7px;
  font-size:14px;font-weight:500;line-height:20px;letter-spacing:.02em;color:#3b3656;white-space:nowrap;
}
.hero .tb-subsidy--fv .tb-pill{
  display:inline-block;padding:1px 10px;border-radius:999px;
  background:rgba(255,255,255,.22);font-size:.9em;line-height:18px;
}
/* PC 901px以上：資料DLボタンの幅に合わせて中央揃え（CTA下18px）。
   上下の余白の合計は従来と同じにし、FVの高さ・人物・管理画面・メダルの位置は変えない */
.hero .tb-subsidy--fvflow{
  width:calc(28px + (100% - 68px) * 0.636364);
  margin:-4px 0 0;padding-bottom:8.2px;text-align:center;
}
/* PC 769〜900px：CTA列の下に重ねて配置（資料DLボタンの幅で中央揃え） */
.hero .tb-subsidy--fvabs{
  left:0;right:auto;top:calc(100% + 18px);width:calc(28px + (100% - 68px) * 0.636364);
}
/* 表示の切り替え（PC 901px以上＝フロー版／769〜900px＝重ね版／SP＝SP版） */
.hero .tb-subsidy--fvabs,.hero .tb-subsidy--fvsp{display:none;}
@media (min-width:769px) and (max-width:900px){
  .hero .tb-subsidy--fvabs{display:flex;top:calc(100% + 14px);}
  .hero .tb-subsidy--fvflow{display:none;}
}
@media (max-width:768px){
  .hero .tb-subsidy--fvabs,.hero .tb-subsidy--fvflow{display:none;}
  .hero .tb-subsidy--fvsp{display:flex;margin:2px 0 0;font-size:12px;line-height:18px;gap:6px;}
  .hero .tb-subsidy--fvsp .tb-pill{padding:1px 9px;line-height:16px;}
}

/* ============================================================
   FV最終微調整：CTA上マイクロコピーを8px下へ／補助金訴求のコントラスト／メダル下の余白（SP）
   ============================================================ */
/* 1. マイクロコピー：表示位置のみ8px下へ（CTA・レイアウトは不変） */
@media (min-width:769px){
  .hero__ctas .cta-micro{transform:translateY(8px);}
}
@media (max-width:768px){
  .hero__spmicro{transform:translateY(8px);}
  /* マイクロコピー基準で配置しているCTA周辺の装飾（光・sparkle・スウッシュ）は元の位置に固定 */
  .hero__spmicro::before{top:calc(100% + 7px - 14px - 8px);}
  .hero__spmicro::after{top:calc(100% + 7px - 8px);}
}
/* 2. 補助金訴求：ピル背景と文字色を一段濃く（サイズ・太さは変更なし） */
.hero .tb-subsidy--fv .tb-pill{background:rgba(255,255,255,.30);color:#51456F;}
.hero .tb-subsidy--fv .tb-subsidy__txt{color:#443A5D;}
/* 3. SP：メダル下〜「選ばれる理由を見る」を24px詰め、次セクションまでの余白も少し詰める */
@media (max-width:768px){
  .hero__scroll{margin-top:-10px;}
  .hero__inner{padding-bottom:20px;}
}

/* ============================================================
   FV：補助金訴求（確定仕様）
   1段目［補助金対象］ピル／2段目 ✓申請フォロー付きで導入をサポート
   ============================================================ */
.hero .tb-subsidy--fv{
  flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;
  white-space:nowrap;letter-spacing:normal;
}
.hero .tb-subsidy--fv .tb-pill{
  display:inline-block;margin:0;
  background:rgba(255,255,255,.32);border:1px solid rgba(255,255,255,.45);border-radius:999px;
  color:#51456F;font-weight:600;font-size:13px;line-height:1.5;padding:5px 13px;
  box-shadow:none;
}
.hero .tb-subsidy--fv .tb-subsidy__line{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  color:#443A5D;font-size:14px;line-height:1.5;font-weight:500;
}
.hero .tb-subsidy--fv .tb-subsidy__txt{color:#443A5D;font-weight:500;}
.hero .tb-subsidy--fv .tb-subsidy__txt strong{font-weight:700;color:#443A5D;}
.hero .tb-subsidy--fv .tb-check{
  display:block;flex:0 0 auto;width:16px;height:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.4L6.6 11.6L12.9 4.6' fill='none' stroke='%23B48A3C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}
/* PC：CTA下端→ピル16px（CTA列の下マージン22px − 6px）、ピル→2段目7px、
   2段目→メダル上端16px（メダル枠の上パディング18px − 2px） */
.hero .tb-subsidy--fvflow{margin:-6px 0 -2px;padding:0;}
@media (min-width:769px) and (max-width:900px){
  .hero .tb-subsidy--fvflow{display:flex;}
}
/* 管理画面は下端基準（コピー列の高さの%指定）のため、補助金訴求の高さ分を補正して位置を固定 */
@media (min-width:769px){
  .hero__pc--dt{bottom:calc(-4.8% + var(--tb-sub-shift2, 2.472px));}
}
/* SP：CTA下端→ピル14px、ピル→2段目6px、2段目→メダル上端14px、メダル下端→「選ばれる理由を見る」28px */
@media (max-width:768px){
  .hero .tb-subsidy--fvsp{display:flex;margin:-2px 0 0;gap:6px;}
  .hero .tb-subsidy--fv .tb-pill{font-size:12px;padding:4px 11px;}
  .hero .tb-subsidy--fv .tb-subsidy__line{font-size:13px;}
  .hero .tb-subsidy--fv .tb-check{width:15px;height:15px;}
  .tb-subsidy--fvsp + .hero__badges--svg{margin-top:4px;}
  .hero__scroll{margin-top:16px;}
}
/* CTA下のスウッシュ（弧状の線）を削除：CTA左右のsparkleは維持 */
.hero__ctas .cta-unit::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23D8B45A' fill-opacity='0.7' d='M12 0C12.9 7.6 16.4 11.1 24 12C16.4 12.9 12.9 16.4 12 24C11.1 16.4 7.6 12.9 0 12C7.6 11.1 11.1 7.6 12 0Z'/%3E%3C/svg%3E");}
@media (max-width:768px){
  .hero__spmicro::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23D8B45A' fill-opacity='0.7' d='M12 0C12.9 7.6 16.4 11.1 24 12C16.4 12.9 12.9 16.4 12 24C11.1 16.4 7.6 12.9 0 12C7.6 11.1 11.1 7.6 12 0Z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23D8B45A' fill-opacity='0.7' d='M12 0C12.9 7.6 16.4 11.1 24 12C16.4 12.9 12.9 16.4 12 24C11.1 16.4 7.6 12.9 0 12C7.6 11.1 11.1 7.6 12 0Z'/%3E%3C/svg%3E");}
}

/* FV：薄すぎる要素の視認性（色のみ変更） */
.hero__scroll-txt{color:#51456F;opacity:1;}
.hero__scroll-chev{border-color:#51456F;opacity:1;}
.hero .tb-subsidy--fv .tb-check{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.4L6.6 11.6L12.9 4.6' fill='none' stroke='%238B6B2E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");opacity:1;}

/* ============================================================
   CURRENT LIVE HEADER / FOOTER CSS SYNC — 2026-09-16
   現行本番MHTの lp_style.css を正本として共通ヘッダー表示を同期。
   MAIN CONTENT の既存CSSは変更しない。
   ============================================================ */
.header{position:fixed;top:0;right:0;left:0;z-index:1000;background:#fff;border-bottom:1px solid var(--line);}
.header__inner{display:flex;align-items:center;gap:10px;max-width:1320px;margin:0 auto;padding:10px;}
.header__logo{width:150px;flex:0 0 auto;}
.header__logo img{width:100%;}
.gnav{display:flex;gap:10px;margin-left:0;position:relative;}
.gnav a{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--purple-deep);position:relative;padding:4px 0;transition:color .2s;white-space:nowrap;}
.gnav a:hover{color:var(--purple);}
.header__tel{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.2;}
.header__tel .num{font-size:18px;font-weight:700;color:var(--purple-deep);letter-spacing:.02em;display:flex;align-items:center;gap:6px;line-height:1;white-space:nowrap;}
.header__tel .num img{width:16px;}
.header__tel .hours{font-size:11px;color:var(--ink-soft);white-space:nowrap;}
.header__cta{display:flex;gap:8px;align-items:center;}
.header .fbtn{display:inline-flex;align-items:center;justify-content:center;padding:11px 26px;border-radius:6px;font-weight:700;font-size:14px;letter-spacing:.03em;white-space:nowrap;transition:transform .15s,opacity .15s;position:relative;overflow:hidden;}
.header .header__cta .fbtn{padding:9px 14px;font-size:12.5px;border-radius:7px;min-height:36px;}
.header .fbtn:hover{transform:translateY(-1px);opacity:.92;}
.header .fbtn--demo{background:linear-gradient(150deg,#bd9a4e,#8f6c2a);color:#fff;text-shadow:0 1px 2px rgba(80,50,0,.22);box-shadow:0 4px 12px rgba(160,124,52,.34);}
.header .fbtn--doc{background:#fff;color:var(--purple-deep);border:1.5px solid var(--purple);text-shadow:none;box-shadow:none;filter:none;}
.header .fbtn--login{background:#fff;color:#b8924c;border:1.5px solid #b8924c;}
.newsMenu{display:none;position:absolute;right:-5em;top:2em;list-style:none;background:rgba(255,255,255,.8);margin:-.5em 0;padding:10px 20px;}
.newsMenu li{line-height:1.85;}
@media (max-width:1340px){
  .header__inner{padding:10px 16px;justify-content:space-between;}
  .gnav,.header__tel,.header__cta{display:none;}
  .header__logo{order:2;width:150px;}
  .hamburger{order:1;display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:var(--purple);border:0;border-radius:4px;cursor:pointer;}
  .hamburger span{display:block;height:2px;background:#fff;margin:0 9px;}
  .drawer{display:block;position:fixed;top:0;right:-100%;width:60%;max-width:300px;height:100vh;background:#fff;z-index:2000;box-shadow:-6px 0 20px rgba(0,0,0,.15);transition:right .3s;padding-top:60px;}
  .drawer.open{right:0;}
  .drawer__close{position:absolute;top:14px;left:16px;font-size:26px;background:0;border:0;cursor:pointer;color:var(--ink);}
  .drawer a{display:block;background:var(--purple);color:#fff;margin:0 14px 10px;padding:12px 16px;border-radius:4px;font-size:14px;font-weight:500;}
  .drawer .tel{background:#fff;color:var(--purple-deep);border:1px solid var(--line);font-size:20px;font-weight:700;text-align:center;}
  .drawer .tel small{display:block;font-size:11px;color:var(--ink-soft);font-weight:400;}
  .drawer-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:1500;opacity:0;pointer-events:none;transition:opacity .3s;}
  .drawer-overlay.open{opacity:1;pointer-events:auto;}
}

/* Standalone納品候補の表示確認用：fixed header とMAINの重なりを防止 */

/* ============================================================
   PC FV FINAL COMPOSITION — 2026-09-16
   SP (<=768px) is intentionally untouched / LOCKED
   ============================================================ */
@media (min-width:769px){
  /* PC: left flower removed; floral framing moves to upper-right. */
  .hero__flower-l{display:none;}
  .hero__flower-r{
    display:block;top:-38px;bottom:auto;left:auto;right:-42px;
    width:320px;opacity:.94;transform:scaleY(-1);z-index:1;
  }

  /* Remove the faint decorative curve; retain restrained sparkle accents. */
  .hero::before{display:none !important;}

  /* Make the salon-owner visual more emotionally present without changing SP. */
  .hero__visual{width:108%;justify-self:end;}
  .hero__woman{height:108%;bottom:0;}

  /* Product UI becomes a stronger part of the key visual and moves toward the person. */
  .hero__pc--dt{
    width:min(62%, calc(100% - 280px));
    max-width:430px;
    right:-34px;
  }

  /* PC only: subsidy + application support read as one compact benefit line. */
  .hero .tb-subsidy--fvflow{
    flex-direction:row;align-items:center;justify-content:center;gap:10px;
    width:100%;margin:-4px 0 2px;padding:0;white-space:nowrap;
  }
  .hero .tb-subsidy--fvflow .tb-pill{flex:0 0 auto;}
  .hero .tb-subsidy--fvflow .tb-subsidy__line{flex:0 0 auto;}
  .hero__badges--dt{padding-top:12px;}
}

/* ============================================================
   PC FV LOWER-ZONE FINAL TUNING — 2026-09-16
   SP (<=768px) remains completely LOCKED.
   ============================================================ */
@media (min-width:769px){
  /* Subsidy benefit: one-line, high-contrast, clearly separated from product UI. */
  .hero .tb-subsidy--fvflow{
    position:relative;z-index:7;
    flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;
    width:100%;margin:-2px 0 4px;padding:0 0 0 76px;white-space:nowrap;
  }
  .hero .tb-subsidy--fvflow .tb-pill{
    flex:0 0 auto;background:#F7F1E4;border:1px solid rgba(180,138,60,.55);
    color:#6E5422;font-weight:700;font-size:13px;line-height:1.5;padding:6px 14px;
    box-shadow:0 2px 8px rgba(83,66,38,.08);
  }
  .hero .tb-subsidy--fvflow .tb-subsidy__line{
    flex:0 0 auto;gap:7px;color:#332A4A;font-size:15px;line-height:1.5;font-weight:700;
  }
  .hero .tb-subsidy--fvflow .tb-subsidy__txt,
  .hero .tb-subsidy--fvflow .tb-subsidy__txt strong{color:#332A4A;font-weight:700;}
  .hero .tb-subsidy--fvflow .tb-check{width:16px;height:16px;}

  /* Keep proof badges on the left; create breathing room below the benefit line. */
  .hero__badges--dt{padding-top:18px;}

  /* Product UI: pull back from the benefit line, move toward the woman, and sit lower. */
  .hero__pc--dt{
    width:min(57%, calc(100% - 300px));
    max-width:400px;
    right:-58px;
    bottom:calc(-4.8% - 22px);
  }
}

/* ============================================================
   PC FV KEY VISUAL FIX — 2026-09-16
   SP (<=768px) remains completely LOCKED.
   Only two changes: product UI integration + upper-right flower impact.
   ============================================================ */
@media (min-width:769px){
  /* Upper-right floral framing: larger and more dynamic, kept away from the face. */
  .hero__flower-r{
    top:-52px;right:-58px;width:395px;opacity:.94;
  }

  /* Product UI: enlarge ~11%, lift and move toward the woman/tablet so it reads as one key visual. */
  .hero__pc--dt{
    width:min(63%, calc(100% - 282px));
    max-width:445px;
    right:-92px;
    bottom:4%;
  }
}


/* ============================================================
   PC FV FINAL MICRO ADJUSTMENT — 2026-09-16
   SP (<=768px) remains completely LOCKED.
   Revert flower over-scaling; lower product UI to clear subsidy copy.
   ============================================================ */
@media (min-width:769px){
  /* Flower: keep upper-right framing, return to the restrained pre-enlargement scale. */
  .hero__flower-r{
    top:-38px;right:-42px;width:320px;opacity:.94;
  }

  /* Product UI: preserve the stronger scale/rightward integration, but lower it so
     the subsidy/support line remains fully readable with clear vertical separation. */
  .hero__pc--dt{
    width:min(63%, calc(100% - 282px));
    max-width:445px;
    right:-92px;
    bottom:calc(4% - 34px);
  }
}

/* ============================================================
   PC FV OVERLAP FIX v4 — 2026-09-16
   HTML/CSS only. SP (<=768px) remains completely LOCKED.
   ============================================================ */
@media (min-width:769px){
  /* Remove the thin gold decorative curve beside the inquiry CTA. */
  .hero .tb-curve.tb-lg{display:none !important;}

  /* Keep the subsidy/support copy fully unobstructed.
     Slightly reduce and lower the product UI while retaining its right-side integration. */
  .hero__pc--dt{
    width:min(57%, calc(100% - 300px));
    max-width:400px;
    right:-80px;
    bottom:calc(4% - 46px);
  }
}
