@charset "utf-8";
/* cocoro Pilates 監修者ページ専用CSS
   既存サイトと衝突しないよう、全クラスに sv- を付け、リセットとCSS変数は .sv-root 配下に限定しています。
   Webフォント Marcellus / Cormorant Garamond の読み込みが必要です。 */
/* 変数は .sv-root 配下に限定。既存サイトの :root を上書きしません */
.sv-root{
  --font-mincho:"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","MS P明朝",serif;
  --font-gothic:游ゴシック体,YuGothic,"Yu Gothic","游ゴシック Medium","Yu Gothic Medium","ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
  --pink-brand:#ce9588; --pink:#a96054; --pink-deep:#82463d;
  --pink-light:#fdf8f6; --pink-pale:#faf7f3;
  --ink:#494341; --ink-soft:#6f6764; --heading:#393332;
  --line:#e0d4cf; --line-strong:#cfc2bd; --gold:#c0b291; --white:#fff;
  --container:1180px;
}
.sv-root,.sv-root *,.sv-root *::before,.sv-root *::after{box-sizing:border-box}
.sv-root{background:#fff;color:var(--ink);font-family:var(--font-gothic);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}
:where(.sv-root) :where(img){max-width:100%;height:auto;display:block}
:where(.sv-root) :where(a){color:inherit;text-decoration:none}
:where(.sv-root) :where(h1,h2,h3){color:var(--heading)}
.sv-shell{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.sv-eyebrow{margin:0 0 18px;color:var(--pink);font:500 11px/1.4 "Marcellus",serif;letter-spacing:.22em}
.sv-section{padding:clamp(64px,8vw,110px) 0}
.sv-section--warm{background:var(--pink-pale)}
.sv-section-heading{max-width:670px;margin-bottom:48px}
.sv-section-heading h2{margin:0;font:500 clamp(28px,3.6vw,46px)/1.45 var(--font-mincho);letter-spacing:.02em}
.sv-section-heading>p:last-child{color:var(--ink-soft);font-size:14px}
.sv-button{min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 26px;border:1px solid transparent;border-radius:2px;font-size:14px;font-weight:700;transition:transform .2s,background .2s}
.sv-button:hover{transform:translateY(-2px)}
.sv-button--light{background:#fff;color:var(--pink-deep)}
.sv-button--line{border-color:rgba(255,255,255,.6);color:#fff}



/* ===== breadcrumbs ===== */
.sv-breadcrumbs{padding-block:18px}
.sv-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;color:var(--ink-soft);font-size:11px}
.sv-breadcrumbs li:not(:last-child)::after{content:"/";margin-left:8px;color:#bfb2ad}
.sv-breadcrumbs a{text-decoration:underline;text-underline-offset:3px}

/* ===== hero ===== */
.sv-supervisor-profile-hero{padding:54px 0 72px;background:linear-gradient(115deg,#f6ece8 0 58%,#fff 58%)}
.sv-supervisor-profile-hero__grid{display:grid;grid-template-columns:minmax(300px,430px) 1fr;gap:clamp(44px,7vw,100px);align-items:center}
.sv-supervisor-profile-hero figure{position:relative;margin:0;padding:15px;background:#fff;box-shadow:0 22px 55px rgba(86,60,52,.12)}
.sv-supervisor-profile-hero figure::after{position:absolute;right:-14px;bottom:-14px;width:38%;height:38%;border-right:2px solid var(--pink-brand);border-bottom:2px solid var(--pink-brand);content:""}
.sv-supervisor-profile-hero figure img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 18%}
.sv-supervisor-profile-hero__role{margin:20px 0 8px;color:var(--pink);font-size:12px;font-weight:700;letter-spacing:.08em}
.sv-supervisor-profile-hero h1{margin:0;font:500 clamp(40px,5vw,66px) var(--font-mincho);letter-spacing:.08em}
.sv-supervisor-profile-hero__lead{margin:26px 0 0;font:500 clamp(22px,2.8vw,36px)/1.65 var(--font-mincho);color:var(--heading)}
.sv-supervisor-profile-credentials{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0;list-style:none}
.sv-supervisor-profile-credentials li{padding:9px 13px;border:1px solid var(--line-strong);background:rgba(255,255,255,.72);color:var(--ink-soft);font-size:12px;font-weight:700}

/* ===== proof band ===== */
.sv-supervisor-profile-proof{border-bottom:1px solid var(--line);background:#fff}
.sv-supervisor-profile-proof .sv-shell{display:grid;grid-template-columns:repeat(3,1fr);padding-block:24px}
.sv-supervisor-profile-proof article{display:flex;gap:16px;align-items:center;min-height:62px;padding:0 28px;border-right:1px solid var(--line)}
.sv-supervisor-profile-proof article:first-child{padding-left:0}
.sv-supervisor-profile-proof article:last-child{border-right:0}
.sv-supervisor-profile-proof article>span{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:50%;background:var(--pink-brand);color:#fff;font-size:11px;font-weight:700}
.sv-supervisor-profile-proof b,.sv-supervisor-profile-proof small{display:block}
.sv-supervisor-profile-proof b{font-size:14px}
.sv-supervisor-profile-proof small{margin-top:4px;color:var(--ink-soft);font-size:10px}

/* ===== toc ===== */

/* ===== 01 experience ===== */
.sv-pillar-two-column{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,6vw,86px)}
.sv-pillar-heading h2{margin:0;font:500 clamp(28px,3.4vw,44px)/1.5 var(--font-mincho)}
.sv-pillar-copy p{margin:0 0 22px;color:var(--ink-soft);font-size:14px}
.sv-supervisor-experience-list{margin:30px 0 0;border-top:1px solid var(--line)}
.sv-supervisor-experience-list>div{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}
.sv-supervisor-experience-list dt{color:var(--ink-soft);font-size:11px}
.sv-supervisor-experience-list dd{margin:0;font-size:12.5px;font-weight:700;line-height:1.85}
.sv-supervisor-affiliations__label{margin:30px 0 12px;color:var(--pink);font-size:12px;font-weight:700;letter-spacing:.06em}
.sv-supervisor-affiliations{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:0}
.sv-supervisor-affiliations a{min-width:0;padding:15px 13px;border:1px solid var(--line);background:#fff;transition:border-color .2s,background .2s}
.sv-supervisor-affiliations a:hover{border-color:var(--pink-brand);background:var(--pink-light)}
.sv-supervisor-affiliations span,.sv-supervisor-affiliations b,.sv-supervisor-affiliations small{display:block}
.sv-supervisor-affiliations span{color:var(--pink);font-size:9px;font-weight:700;letter-spacing:.08em}
.sv-supervisor-affiliations b{margin-top:5px;font-size:11px;line-height:1.55}
.sv-supervisor-affiliations small{margin-top:5px;color:var(--ink-soft);font-size:9px}

/* ===== 02 policy ===== */
.sv-supervisor-policy-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--pink-brand);background:#fff}
.sv-supervisor-policy-grid article{padding:34px 30px;border-right:1px solid var(--line)}
.sv-supervisor-policy-grid article:last-child{border-right:0}
.sv-supervisor-policy-grid article>div{display:flex;gap:14px;align-items:baseline}
.sv-supervisor-policy-grid span{color:var(--pink-brand);font:500 25px "Cormorant Garamond",Georgia,serif}
.sv-supervisor-policy-grid h3{margin:0;font:500 20px var(--font-mincho)}
.sv-supervisor-policy-grid p{margin:16px 0 0;color:var(--ink-soft);font-size:12.5px;line-height:1.95}

/* ===== safety ===== */
.sv-safety-band{padding:54px 0;background:#fdf1ee;border-block:1px solid #e9cdc4}
.sv-safety-band__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,5vw,80px);align-items:start}
.sv-safety-band h2{margin:0;color:#8a3a2a;font:500 clamp(22px,2.4vw,30px)/1.5 var(--font-mincho)}
.sv-safety-band ul{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0;list-style:none}
.sv-safety-band li{padding:16px 18px;background:#fff;border-left:3px solid var(--pink);font-size:13px;font-weight:700}
.sv-safety-band__note{margin-top:28px;margin-bottom:0;color:#7a544b;font-size:12px}

/* ===== 03 pages ===== */
.sv-supervisor-pages-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.sv-supervisor-pages-grid>a{min-height:210px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;transition:background .2s,transform .2s}
.sv-supervisor-pages-grid>a:hover{background:var(--pink-light);transform:translateY(-2px)}
.sv-supervisor-pages-grid>a>div{display:flex;gap:14px;align-items:baseline}
.sv-supervisor-pages-grid span{color:var(--pink-brand);font:500 18px "Cormorant Garamond",Georgia,serif}
.sv-supervisor-pages-grid h3{margin:0;font:500 21px var(--font-mincho)}
.sv-supervisor-pages-grid p{margin:16px 0 22px;color:var(--ink-soft);font-size:12.5px;line-height:1.9}
.sv-supervisor-pages-grid b{color:var(--pink);font-size:12px}


/* ===== closing ===== */
.sv-closing-cta{background:var(--pink-brand);color:#fff}
.sv-closing-cta__inner{padding:90px 0;text-align:center}
.sv-closing-cta .sv-eyebrow{color:#ffeee9}
.sv-closing-cta h2{margin:0;color:#fff;font:500 clamp(26px,3.2vw,44px)/1.55 var(--font-mincho)}
.sv-closing-cta__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:34px}


@media (max-width:1000px){
  .sv-supervisor-profile-hero{background:linear-gradient(180deg,#f6ece8 0 42%,#fff 42%)}
  .sv-supervisor-profile-hero__grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}
  .sv-supervisor-profile-proof .sv-shell{grid-template-columns:1fr}
  .sv-supervisor-profile-proof article{padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}
  .sv-supervisor-profile-proof article:last-child{border-bottom:0}
  .sv-pillar-two-column{grid-template-columns:1fr}
  .sv-supervisor-affiliations{grid-template-columns:1fr}
  .sv-supervisor-policy-grid{grid-template-columns:1fr}
  .sv-supervisor-policy-grid article{border-right:0;border-bottom:1px solid var(--line)}
  .sv-safety-band__grid{grid-template-columns:1fr}
  .sv-safety-band ul{grid-template-columns:1fr}
  .sv-supervisor-pages-grid{grid-template-columns:1fr}
  .sv-supervisor-experience-list>div{grid-template-columns:1fr;gap:4px}
}

/* ===== 複数監修者ページ用 ===== */
.sv-root [id]{scroll-margin-top:90px} /* 固定ヘッダーの高さに合わせて調整してください */
.sv-page-intro{padding:clamp(48px,6vw,80px) 0;background:linear-gradient(115deg,#f6ece8 0 58%,#fff 58%)}
.sv-page-intro h1{margin:0;font:500 clamp(30px,4vw,52px)/1.4 var(--font-mincho);letter-spacing:.06em}
.sv-page-intro p:not(.sv-eyebrow){max-width:720px;margin:22px 0 0;color:var(--ink-soft);font-size:14px}
.sv-supervisor-index{margin-top:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:760px}
.sv-supervisor-index a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border:1px solid var(--line-strong);background:rgba(255,255,255,.8);transition:border-color .2s,background .2s}
.sv-supervisor-index a:hover{border-color:var(--pink-brand);background:#fff}
.sv-supervisor-index b{display:block;font:500 19px var(--font-mincho)}
.sv-supervisor-index small{display:block;margin-top:4px;color:var(--ink-soft);font-size:11px}
.sv-supervisor-index i{color:var(--pink-brand);font-style:normal}
.sv-supervisor-block{padding:clamp(56px,7vw,96px) 0 0}
.sv-supervisor-block--alt{background:var(--pink-pale)}
.sv-supervisor-block__num{display:inline-block;margin:0 0 14px;padding:6px 12px;background:var(--pink-brand);color:#fff;font:500 11px/1 "Marcellus",serif;letter-spacing:.16em}
.sv-supervisor-block .sv-supervisor-profile-hero{padding:0 0 56px;background:none}
.sv-supervisor-block .sv-supervisor-profile-proof{border-top:1px solid var(--line);background:transparent}
.sv-supervisor-block .sv-supervisor-profile-proof .sv-shell{padding:0}
.sv-supervisor-block .sv-supervisor-profile-proof article{padding-block:22px}
.sv-supervisor-block .sv-pillar-section{padding:clamp(48px,6vw,80px) 0 clamp(56px,7vw,96px)}


.sv-page-meta{margin:16px 0 0;color:var(--ink-soft);font-size:12px;letter-spacing:.02em}
.sv-supervised-articles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px}
.sv-supervised-articles a{padding:18px 22px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:700;display:flex;justify-content:space-between;gap:14px;transition:border-color .2s,background .2s}
.sv-supervised-articles a:hover{border-color:var(--pink-brand);background:var(--pink-light)}
.sv-supervised-articles i{color:var(--pink-brand);font-style:normal}
.sv-supervised-articles--note{margin-top:14px;color:var(--ink-soft);font-size:12px}
@media (max-width:1000px){.sv-supervised-articles{grid-template-columns:1fr}}

/* ===== FAQ（安藝先生ページより補完） ===== */
.sv-supervisor-faq{display:grid;gap:10px;max-width:900px}
.sv-supervisor-faq details{border:1px solid var(--line);background:#fff}
.sv-supervisor-faq summary{list-style:none;cursor:pointer;display:flex;gap:14px;align-items:flex-start;padding:20px 24px;font-size:14px;font-weight:700;color:var(--heading)}
.sv-supervisor-faq summary::-webkit-details-marker{display:none}
.sv-supervisor-faq summary::before{content:"Q";color:var(--pink-brand);font:500 16px "Cormorant Garamond",Georgia,serif;line-height:1.6}
.sv-supervisor-faq summary::after{content:"＋";margin-left:auto;color:var(--pink-brand);font-size:14px}
.sv-supervisor-faq details[open] summary::after{content:"－"}
.sv-supervisor-faq div{display:flex;gap:14px;padding:0 24px 22px;color:var(--ink-soft);font-size:13px;line-height:1.95}
.sv-supervisor-faq div::before{content:"A";color:var(--pink);font:500 16px "Cormorant Garamond",Georgia,serif;line-height:1.5}
