/* ============================================================
   Ever Pilates Studio — 下層ページ共通スタイル
   白基調／余白／ブルー基調＋くすみローズのアクセント
   ============================================================ */
:root{
  --navy:#1B3A5C;--navy-deep:#12283F;--blue:#3E6E9E;--blue-text:#2F5A85;
  --blue-mid:#7FA6C8;--blue-soft:#C6D9E8;--blue-pale:#E9F1F7;--blue-mist:#F4F8FB;
  --rose:#C48D95;--rose-deep:#9E4A60;--rose-pale:#F6EDEE;
  --paper:#FFFFFF;--text:#253544;--mute:#556878;--line:#DCE6EE;
  --serif:"Shippori Mincho",serif;
  --sans:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  --en:"Cormorant Garamond",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--text);background:var(--paper);
  font-family:var(--sans);font-weight:300;
  line-height:1.95;letter-spacing:.055em;font-size:15px;
  -webkit-font-smoothing:antialiased;
}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}

/* ---------- 下層共通ヘッダー ---------- */
.site-head{
  height:76px;position:sticky;top:0;z-index:30;
  padding:0 4vw;display:flex;align-items:center;gap:26px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.site-head .logo img{width:auto;height:34px}
.site-head nav{display:flex;gap:26px;margin-left:auto;font-size:11.5px;letter-spacing:.1em}
.site-head nav a{color:var(--navy);padding:4px 0;position:relative}
.site-head nav a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
  background:var(--blue-mid);transition:width .3s ease;
}
.site-head nav a:hover::after{width:100%}
.site-head .head-cta{
  position:relative;overflow:hidden;
  padding:12px 22px;border-radius:999px;
  background:linear-gradient(135deg,#D28793 0%,#B85F72 52%,#9E4A60 100%);
  color:#fff;border:1px solid rgba(255,255,255,.32);
  font-family:var(--serif);font-weight:700;font-size:11.5px;letter-spacing:.08em;
  box-shadow:0 6px 20px rgba(158,74,96,.4);
  transition:transform .25s ease,box-shadow .25s ease;
}
.site-head .head-cta::before{
  content:"";position:absolute;top:-60%;left:-70%;width:36%;height:220%;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);
  transform:rotate(16deg);pointer-events:none;
  animation:everCtaShine 4.2s ease-in-out infinite;
}
.site-head .head-cta:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(174,117,127,.45)}
@keyframes everCtaShine{0%,68%{left:-70%}100%{left:135%}}
@media(prefers-reduced-motion:reduce){.site-head .head-cta::before{animation:none;opacity:0}}

/* ---------- 見出し ---------- */
.en{font:500 12px var(--en);letter-spacing:.4em;text-indent:.4em;text-transform:uppercase;color:var(--blue-text);margin:0}
.page-head{text-align:center;padding:96px 24px 0}
.page-head h1{font:400 clamp(26px,3.4vw,38px)/1.6 var(--serif);color:var(--navy);letter-spacing:.08em;margin:18px 0 0}
.page-head::after{content:"";display:block;width:40px;height:1px;margin:26px auto 0;background:var(--blue-mid)}

/* ---------- 本文レイアウト ---------- */
.wrap{max-width:860px;margin:0 auto;padding:78px 24px 96px}
.lead{font-size:14.5px;color:var(--mute);margin:0 0 10px}

/* ---------- 注記 ---------- */
.note{
  background:var(--blue-mist);border:1px solid var(--line);border-radius:16px;
  padding:22px 24px;margin-top:52px;font-size:11.5px;line-height:2;color:var(--mute);
}
.note p{margin:0 0 6px}
.note p:last-child{margin-bottom:0}

/* ---------- CTAバンド ---------- */
.cta-band{background:var(--navy-deep);color:#fff;padding:104px 24px;text-align:center}
.cta-band h2{font:400 clamp(19px,2.6vw,25px)/1.7 var(--serif);margin:0 0 8px}
.cta-band p{font-size:12.5px;color:rgba(255,255,255,.75);margin:0 0 30px}
.cta{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;gap:14px;padding:13px 32px 13px 14px;
  background:linear-gradient(135deg,#D28793 0%,#B85F72 52%,#9E4A60 100%);
  color:#fff;font-family:var(--serif);font-weight:700;font-size:15px;letter-spacing:.08em;
  border:1px solid rgba(255,255,255,.32);border-radius:999px;
  box-shadow:0 6px 20px rgba(158,74,96,.4);
  transition:transform .25s ease,box-shadow .25s ease;
}
.cta::before{
  content:"LINE";position:static;flex:0 0 auto;
  display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  background:#06c755;color:#fff;font:600 9px var(--sans);letter-spacing:.06em;z-index:1;
}
.cta::after{
  content:"";position:absolute;top:-60%;left:-70%;width:36%;height:220%;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);
  transform:rotate(16deg);pointer-events:none;
  animation:everCtaShine 4.2s ease-in-out infinite;
}
.cta:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(174,117,127,.45)}
.cta>*{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.cta::after{animation:none;opacity:0}}

/* ---------- フッター ---------- */
footer{
  padding:64px 7vw 78px;background:var(--navy-deep);color:rgba(255,255,255,.8);
  font-size:10.5px;letter-spacing:.08em;text-align:center;
}
footer .fnav{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;margin:0 0 16px}
footer .fnav.legal{
  gap:8px 18px;margin:20px auto 0;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.16);max-width:560px;
  font-size:9.5px;opacity:.66;
}
footer small{display:block;margin-top:14px;opacity:.6;letter-spacing:.16em}

@media(max-width:800px){
  .site-head{height:64px;padding:0 18px;gap:14px}
  .site-head nav{gap:15px;font-size:10.5px}
  .site-head .head-cta{padding:10px 15px;font-size:10.5px}
  .page-head{padding-top:64px}
  .wrap{padding:54px 20px 72px}
  .cta-band{padding:76px 20px}
}
@media(max-width:520px){
  .site-head nav{display:none}
  .site-head .head-cta{margin-left:auto}
}

/* 横はみ出し防止 */
html,body{max-width:100%;overflow-x:hidden}
