/*
 * プリンセスダイエット(岐阜)の見た目。FUサイト共通クラス(.fu-section, .fu-wrap, .fu-dark 等)を土台に、
 * このページ固有の見た目だけ .pgf- プレフィックスで追加する。
 */
.pgf .fu-brand{display:flex;flex-direction:column;line-height:1.2;font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;color:var(--navy);text-decoration:none}
.pgf .fu-brand strong{font-size:1.1rem}
.pgf .fu-brand small{font-size:.7rem;letter-spacing:.1em;color:var(--gold)}

.pgf-hero{background:#fff}
.pgf-hero-media{width:100%;position:relative;overflow:hidden}
.pgf-hero-media img{display:block;width:100%;height:auto;aspect-ratio:1672/941;max-height:calc(100vh - 90px);object-fit:cover;object-position:50% 25%}
.pgf-hero-body{padding-block:28px 44px;max-width:760px}
.pgf-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pgf-brand{color:var(--gold)}
.pgf-sp{display:none}
@media(max-width:700px){.pgf-sp{display:inline}}

.pgf-worries{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:20px}
.pgf-worries li{padding:20px 24px;border:1px solid var(--line);background:#fff}
.pgf-worries li strong{display:block;font-size:1.05rem;margin-bottom:8px;color:var(--navy)}
.pgf-worries li span{color:var(--muted)}

.pgf-ba-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}
.pgf-ba-item{margin:0;border:1px solid var(--line);background:#fff}
.pgf-ba-item img{display:block;width:100%;height:auto}
.pgf-ba-item figcaption{padding:14px 16px;font-size:.875rem;line-height:1.7;color:var(--ink)}
.pgf-disclaimer{margin-top:18px;color:var(--muted)}
@media(max-width:700px){.pgf-ba-grid{grid-template-columns:1fr}}

.pgf-rating{font-size:1.1rem;color:#b8860b;letter-spacing:.05em;margin:8px 0 20px}
.pgf-reviews{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.pgf-reviews li{padding:18px 20px;background:var(--paper);border-left:3px solid var(--gold)}
.pgf-review-name{display:block;font-weight:600;color:var(--navy);margin-bottom:6px}
.pgf-reviews li p{margin:0;color:var(--ink)}

.pgf-final{text-align:center}
.pgf-final .fu-lead{max-width:none;margin-inline:auto}

/* 睡眠・疲労回復だけが目的の方向けの中間CTA(ダイエット目的でなくても相談できることを明示) */
.pgf-subcta{margin-top:32px;padding:24px 20px;background:var(--paper);border-left:3px solid var(--gold);border-radius:4px;text-align:center}
.pgf-subcta .fu-lead{max-width:none;margin-inline:auto}

/* 公式LINEボタン(LINEカラー・立体的・動きで目を引く。経営者コンディション診断と同じデザイン) */
.pgf-line-wrap{position:relative;margin:28px auto 0;max-width:420px}
.pgf-line-badge{
  position:absolute;top:-16px;left:50%;z-index:2;white-space:nowrap;
  transform:translateX(-50%) rotate(-4deg);
  background:#fff;color:#06c755;font-size:12px;font-weight:800;
  padding:5px 14px;border-radius:100px;box-shadow:0 4px 10px rgba(0,0,0,.3);
  animation:pgf-badge-bounce 1.6s ease-in-out infinite;
}
.pgf-line-badge::after{content:'';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#fff}
.pgf-btn-line{
  display:block;width:100%;box-sizing:border-box;text-align:center;
  padding:19px 20px 17px;border-radius:12px;border:none;
  font-size:16px;font-weight:800;letter-spacing:.02em;text-decoration:none;
  color:#fff;background:linear-gradient(180deg,#12d768 0%,#06c755 55%,#04a648 100%);
  box-shadow:0 5px 0 #04893f,0 12px 24px rgba(6,199,85,.35),inset 0 1px 0 rgba(255,255,255,.35);
  cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;
  animation:pgf-line-pulse 2.2s ease-in-out infinite;
}
.pgf-btn-line:hover{filter:brightness(1.05)}
.pgf-btn-line:active{transform:translateY(4px);box-shadow:0 1px 0 #04893f,0 4px 10px rgba(6,199,85,.35),inset 0 1px 0 rgba(255,255,255,.35)}
@keyframes pgf-line-pulse{
  0%,100%{box-shadow:0 5px 0 #04893f,0 12px 24px rgba(6,199,85,.35),inset 0 1px 0 rgba(255,255,255,.35)}
  50%{box-shadow:0 5px 0 #04893f,0 14px 34px rgba(6,199,85,.65),inset 0 1px 0 rgba(255,255,255,.35)}
}
@keyframes pgf-badge-bounce{
  0%,100%{transform:translateX(-50%) rotate(-4deg) translateY(0)}
  50%{transform:translateX(-50%) rotate(-4deg) translateY(-5px)}
}
@media(prefers-reduced-motion:reduce){.pgf-btn-line,.pgf-line-badge{animation:none}}

/* 追従CTA「変わりたいと思ったら 無料個別相談」(このLPのみ)
 * 公式LINEボタンと同じ色・立体感。PC: 画面中央下に1段の横長ボタン。スマホ: AIボタンの左横に並べる
 * 注意: box-shadow は動きのためにあえて !important を付けない(付けるとアニメーションが効かない) */
body.pgf-page .fupdw-floating-cta{
  position:fixed!important;left:50%!important;right:auto!important;bottom:22px!important;
  transform:translateX(-50%)!important;width:auto!important;min-width:340px!important;height:auto!important;
  padding:14px 26px!important;box-sizing:border-box!important;border:none!important;border-radius:12px!important;
  background:linear-gradient(180deg,#12d768 0%,#06c755 55%,#04a648 100%)!important;color:#fff!important;
  font-size:15px!important;font-weight:800!important;line-height:1.2!important;letter-spacing:.02em!important;
  text-align:center!important;text-decoration:none!important;white-space:nowrap!important;
  box-shadow:0 5px 0 #04893f,0 12px 24px rgba(6,199,85,.35),inset 0 1px 0 rgba(255,255,255,.35);
  animation:pgf-float-pulse 2.2s ease-in-out infinite;
}
body.pgf-page .fupdw-floating-cta:hover{filter:brightness(1.05)}
body.pgf-page .fupdw-floating-cta:active{box-shadow:0 1px 0 #04893f,0 4px 10px rgba(6,199,85,.35),inset 0 1px 0 rgba(255,255,255,.35)}
@keyframes pgf-float-pulse{
  0%,100%{box-shadow:0 5px 0 #04893f,0 12px 24px rgba(6,199,85,.35),inset 0 1px 0 rgba(255,255,255,.35)}
  50%{box-shadow:0 5px 0 #04893f,0 14px 34px rgba(6,199,85,.65),inset 0 1px 0 rgba(255,255,255,.35)}
}
/* PCは1段にするため、ボタン内の強制改行を消す(スマホは2段のまま) */
@media(min-width:481px){body.pgf-page .fupdw-floating-cta br{display:none!important}}
/* スマホ: 左下に追従。幅を固定して「変わりたいと思ったら」「無料個別相談はこちら」の2行に収める */
@media(max-width:480px){
  body.pgf-page .fupdw-floating-cta{
    left:12px!important;right:auto!important;bottom:12px!important;transform:none!important;
    width:180px!important;min-width:0!important;padding:8px 10px!important;font-size:12px!important;
    line-height:1.35!important;white-space:nowrap!important;
  }
  body.pgf-page .fupdw-floating-cta br{display:inline!important}
}
@media(prefers-reduced-motion:reduce){body.pgf-page .fupdw-floating-cta{animation:none}}

/* 日本語の改行を整える(PC・スマホ共通)
 * auto-phrase: 文節のまとまりで折り返し、「。」だけの行や単語の途中での分割を防ぐ(非対応ブラウザは keep-all で代替)
 * balance: 見出しの行の長さをそろえる / pretty: 本文の最後の1文字だけの行を防ぐ */
.pgf{word-break:keep-all;line-break:strict}
.pgf p,.pgf h1,.pgf h2,.pgf h3,.pgf li,.pgf figcaption{word-break:auto-phrase}
.pgf h1,.pgf h2,.pgf h3,.pgf h4{text-wrap:balance}
.pgf p,.pgf li,.pgf figcaption{text-wrap:pretty}
body.pgf-page .fupdw-floating-cta{word-break:keep-all;text-wrap:balance}

/* 特徴カード(サイト側の見出しブロック)の1文字だけの行を防ぐ。このLPのみ */
body.pgf-page .fupdw-benefit-grid span{display:inline-block;text-wrap:balance}
/* 「こんなこと、ありませんか？」の強調文が途中で割れないようにする。このLPのみ */
body.pgf-page .fupdw-belief-box strong{display:inline-block;text-wrap:balance}

/* ファーストビュー: 左に大きめの文章、右に「お客様の実際の変化はこちら」ボタン(上)と31kgの写真(下)。
 * 文章の上端・下端に、ボタンの上端と写真の下端を合わせる(高さは文章に揃う) */
.pgf-hero-body{max-width:1080px}
.pgf-hero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:stretch;margin-top:12px;perspective:1100px}
.pgf-hero-copy{display:flex;flex-direction:column;justify-content:flex-start}
.pgf-hero-copy .fu-lead{margin:0;font-size:1.5rem;line-height:2.1}
.pgf-hero-visual{display:flex;flex-direction:column;gap:18px;min-width:0}

.pgf-ba-btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:12px;
  min-height:68px;padding:16px 24px;box-sizing:border-box;border-radius:16px;text-decoration:none;color:#fff;
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-weight:700;font-size:18px;line-height:1.3;letter-spacing:.04em;white-space:nowrap;
  background:linear-gradient(160deg,#d6b27a 0%,#bd9152 55%,#94692f 100%);
  box-shadow:0 8px 0 #6e4d22,0 18px 30px rgba(60,40,10,.3),inset 0 1px 0 rgba(255,255,255,.45);
  transform:translateZ(30px) rotateX(4deg);transform-style:preserve-3d;
  animation:pgf-btn-bob 2.6s ease-in-out infinite;transition:transform .15s ease,box-shadow .15s ease}
.pgf-ba-btn::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.6) 50%,transparent 65%);
  transform:translateX(-120%);animation:pgf-shine 3.4s ease-in-out infinite}
.pgf-ba-btn:hover{transform:translateZ(15px) rotateX(4deg) translateY(4px);box-shadow:0 4px 0 #6e4d22,0 10px 18px rgba(60,40,10,.28),inset 0 1px 0 rgba(255,255,255,.45)}
.pgf-ba-btn:active{transform:translateY(8px);box-shadow:0 0 0 #6e4d22}
.pgf-ba-btn-arrow{font-size:1.3rem;line-height:1;animation:pgf-arrow 1.4s ease-in-out infinite}

.pgf-hero-ba{position:relative;margin:0;flex:1 1 auto;min-height:200px;border-radius:14px;overflow:hidden;
  box-shadow:0 26px 40px -12px rgba(20,40,60,.4);transform:rotateY(-5deg) rotateX(2deg);transform-style:preserve-3d;
  animation:pgf-photo-float 5.5s ease-in-out infinite}
.pgf-hero-ba a{position:absolute;inset:0;display:block}
.pgf-hero-ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block;border:1px solid var(--line);border-radius:14px}
.pgf-hero-ba figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:26px 18px 14px;background:linear-gradient(to top,rgba(20,40,60,.9),rgba(20,40,60,0));
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;color:#fff}
.pgf-hero-ba-tag{font-size:.75rem;letter-spacing:.12em;color:#fff;background:var(--gold);padding:4px 12px;border-radius:999px}
.pgf-hero-ba strong{font-size:1.2rem;font-weight:700;letter-spacing:.02em}

@keyframes pgf-photo-float{
  0%,100%{transform:rotateY(-5deg) rotateX(2deg) translateY(0)}
  50%{transform:rotateY(-5deg) rotateX(2deg) translateY(-7px)}
}
@keyframes pgf-btn-bob{
  0%,100%{transform:translateZ(30px) rotateX(4deg) translateY(0)}
  50%{transform:translateZ(30px) rotateX(4deg) translateY(-5px)}
}
@keyframes pgf-shine{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes pgf-arrow{0%,100%{transform:translateX(0)}50%{transform:translateX(7px)}}

/* スマホ: 1段に積む(文章 → ボタン → 写真) */
@media(max-width:820px){
  .pgf-hero-split{grid-template-columns:1fr;gap:28px}
  .pgf-hero-copy .fu-lead{font-size:1.05rem;line-height:1.9}
  .pgf-hero-ba{flex:none;min-height:0;aspect-ratio:16/9}
  .pgf-hero-ba figcaption{padding:52px 16px 14px;background:linear-gradient(to top,rgba(20,40,60,.95) 60%,rgba(20,40,60,0))}
  .pgf-ba-btn{font-size:16px;white-space:normal}
}
@media(prefers-reduced-motion:reduce){
  .pgf-hero-ba,.pgf-ba-btn,.pgf-ba-btn::after,.pgf-ba-btn-arrow{animation:none}
}

/* 「こんなこと、ありませんか？」の枠: 文字を大きくし、各項目の左にアイコンを置く(このLPのみ。枠自体はサイト側の仕組み) */
body.pgf-page .fupdw-belief-box{padding:36px 28px}
body.pgf-page .fupdw-belief-box > p{font-size:1.35rem;font-weight:700;color:var(--navy);margin:0 0 20px;text-align:center;letter-spacing:.04em}
body.pgf-page .fupdw-belief-box ul{list-style:none;margin:0 auto 24px;padding:0;max-width:560px;display:grid;gap:14px}
body.pgf-page .fupdw-belief-box li{position:relative;display:block;text-indent:0;padding:16px 18px 16px 84px;min-height:84px;box-sizing:border-box;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:1.2rem;line-height:1.6;color:var(--ink)}
body.pgf-page .fupdw-belief-box li::before{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(160deg,#f3e6cf,#e6cfa6);font-size:26px;line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
body.pgf-page .fupdw-belief-box li:nth-child(1)::before{content:"🍽️"}
body.pgf-page .fupdw-belief-box li:nth-child(2)::before{content:"👟"}
body.pgf-page .fupdw-belief-box li:nth-child(3)::before{content:"🚫"}
body.pgf-page .fupdw-belief-box strong{display:block;text-align:center;font-size:1.4rem;line-height:1.7;color:var(--navy);font-weight:800}
@media(max-width:700px){
  body.pgf-page .fupdw-belief-box{padding:26px 14px}
  body.pgf-page .fupdw-belief-box > p{font-size:1.15rem}
  body.pgf-page .fupdw-belief-box li{padding:12px 12px 12px 66px;min-height:70px;font-size:1.05rem}
  body.pgf-page .fupdw-belief-box li::before{left:10px;width:46px;height:46px;font-size:22px}
  body.pgf-page .fupdw-belief-box strong{font-size:1.2rem}
}

/* アイコン付きリンク(フッター・発信セクション) */
.pgf-ico{width:1.1em;height:1.1em;vertical-align:-.2em;margin-right:.4em;flex:0 0 auto}
.pgf-ico-link{display:inline-flex;align-items:center}

/* 若山の発信: YouTube(若山ってこんな人)とInstagramリール(更年期ダイエット) */
.pgf-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px;align-items:start}
.pgf-media-card h3{font-size:1.1rem;color:var(--navy);margin:0 0 12px;font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif}
.pgf-embed{position:relative;width:100%;height:460px;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 18px 34px -14px rgba(20,40,60,.35)}
.pgf-embed-ig{background:#fff;overflow:hidden}
.pgf-embed-ig .instagram-media{min-width:0!important;max-width:100%!important}
.pgf-media-lead{margin:-6px 0 0;color:var(--muted);font-size:.95rem}
.pgf-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pgf-media-follow{text-align:center;margin:28px 0 0}
.pgf-media-follow a{font-weight:700;color:var(--navy)}
@media(max-width:700px){.pgf-media-grid{grid-template-columns:1fr;gap:24px}.pgf-embed{height:420px}}
/* 公式アイコン(Instagram・Googleマップ)は色そのものを使うので、文字色の影響を受けないようにする */
.pgf-ico-ig,.pgf-ico-map{width:1.25em;height:1.25em;margin-right:.45em;vertical-align:-.25em}

/* 「若山の発信」をロゴと本の紹介の間に置いたとき(このLPのみ): 横幅いっぱいに、上下に余白 */
.fupdw-trainer-links > .pgf-media-moved{flex:0 0 100%;width:100%;max-width:100%;padding:24px 0 8px;margin:0;background:transparent}
.fupdw-trainer-links > .pgf-media-moved .pgf-media-grid{margin-top:20px}

/* スマホのファーストビュー: 画面いっぱいの紹介動画に文字を重ねる。PCでは出さない */
.pgf-hero-sp-full{display:none}
@media(max-width:700px){
  .pgf-hero-sp-full{display:block;position:relative;width:100%;margin-left:0;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:#000}
  .pgf-hero-sp-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  .pgf-hero-sp-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:15vh 24px 0;color:#fff;background:linear-gradient(to bottom,rgba(10,20,30,.55) 0%,rgba(10,20,30,.08) 38%,rgba(10,20,30,.08) 66%,rgba(10,20,30,.45) 100%)}
  .pgf-hero-sp-brand{margin:14px 0 0;font-size:12px;letter-spacing:.24em;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.4)}
  .pgf-hero-sp-copy{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-size:22px;line-height:1.7;font-weight:600;letter-spacing:.03em;text-shadow:0 2px 14px rgba(0,0,0,.55)}
  .pgf-hero-sp-line{display:block;white-space:nowrap}
  .pgf-hero-sp-scroll{position:absolute;left:0;right:0;bottom:22px;margin:0;font-size:10px;letter-spacing:.3em;text-align:center;opacity:.85}
  .pgf-hero-sp-scroll::after{content:"";display:block;width:1px;height:28px;margin:8px auto 0;background:rgba(255,255,255,.7)}
  .pgf-hero > .pgf-hero-media{display:none}
  body.pgf-page #wpadminbar{display:none}
  body.pgf-page .fu-header{display:none}
  body.pgf-page.pgf-scrolled .fu-header{display:block}
}
