/* VAVITTEの肌理論（基礎研修）ページ専用CSS（共通部分は /vavitte-life/styles.css）。
   すべて .pv- 接頭辞で他ページへ影響させない。配色・ボタン寸法は BOMBER FACIAL（.bf-）/色むらレス（.sc-）とそろえ、
   本ページは「教育・知識」のテーマでゴールドの罫線・番号を多めに使う */
.pv{--pv-wine:#6f2944;--pv-wine-deep:#3c1e2c;--pv-rose:#e8557d;--pv-cta:#c93560;--pv-ivory:#fbf7f2;--pv-beige:#f4ebe2;--pv-blush:#fbe7ec;--pv-gold:#a77d43;--pv-gold-soft:#ead9bd;--pv-ink:#292429;--pv-muted:#6d5f66;color:var(--pv-ink);overflow-x:clip}
.pv img{display:block;max-width:100%;height:auto}
.pv-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(20px,4.6vw,56px)}
.pv section{padding:clamp(56px,7.5vw,104px) 0}
.pv-tag{font:600 11.5px/1 var(--sans);letter-spacing:.22em;color:var(--pv-gold);margin-bottom:20px}
.pv-tag--light{color:#f2d3a8}
.pv h2{font:600 clamp(28px,3.8vw,48px)/1.42 var(--jp);letter-spacing:.03em;margin:0 0 20px;color:var(--pv-ink)}
.pv h2 em{font-style:normal;color:var(--pv-cta)}
.pv h3{font-family:var(--jp);margin:0}
.pv p{font:400 clamp(15px,1.25vw,16.5px)/2 var(--jp);margin:0 0 16px}
.pv-head{max-width:860px;margin-bottom:clamp(28px,4vw,48px)}
.pv-head--center{margin-left:auto;margin-right:auto;text-align:center}
.pv-head-sub{color:var(--pv-muted)}
.pv-note{font:400 12.5px/1.85 var(--jp)!important;color:var(--pv-muted);margin:12px 0 0!important}

/* ボタン（.bf-btn / .sc-btn と同寸） */
.pv-actions{display:flex;flex-wrap:wrap;gap:12px 14px;margin:26px 0 0}
.pv-actions--center{justify-content:center}
.pv-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:56px;padding:16px 28px;border-radius:999px;font:600 15px/1.4 var(--jp);letter-spacing:.04em;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;text-align:left}
.pv-btn span{font-size:18px}
.pv-btn:hover{transform:translateY(-2px)}
.pv-btn--primary{background:var(--pv-wine);color:#fff;box-shadow:0 14px 30px rgba(111,41,68,.26)}
.pv-btn--primary:hover{background:var(--pv-wine-deep)}
.pv-btn--ghost{background:#fff;color:var(--pv-wine);border:1.5px solid rgba(111,41,68,.35)}
.pv-btn--ghost:hover{border-color:var(--pv-wine)}
.pv-btn--white{background:#fff;color:var(--pv-wine);box-shadow:0 14px 34px rgba(30,8,18,.28)}
.pv-btn--outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7)}
.pv-btn--outline:hover{background:rgba(255,255,255,.12)}
.pv-textlink{display:inline-flex;align-items:center;min-height:44px;color:var(--pv-wine);font:600 14.5px/1.6 var(--jp);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}

/* 01 HERO */
.pv-hero{background:linear-gradient(160deg,#fffdf9 0%,#fbf3ee 55%,#f8e6ea 100%);padding:clamp(24px,4vw,56px) 0 clamp(48px,6vw,88px)!important;position:relative}
.pv-hero:after{content:"";position:absolute;right:-6%;bottom:-18%;width:42%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(234,217,189,.5),rgba(234,217,189,0) 66%);pointer-events:none}
.pv-hero-grid{display:grid;gap:22px;align-items:center;position:relative;z-index:1}
.pv-hero-visual{position:relative;order:-1;margin:0}
.pv-hero-visual img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:60% 40%;border-radius:22px;box-shadow:0 26px 60px rgba(111,41,68,.16)}
.pv-hero-visual figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.94);border:1px solid var(--pv-gold-soft);border-radius:14px;padding:10px 16px;font:600 10px/1.4 var(--sans);letter-spacing:.2em;color:var(--pv-gold);display:flex;flex-direction:column;gap:2px}
.pv-hero-visual figcaption b{font:700 14px/1.3 var(--jp);letter-spacing:.06em;color:var(--pv-wine)}
.pv h1{margin:0 0 18px;font-weight:600;word-break:keep-all}
.pv-h1-en{display:block;font:600 11.5px/1 var(--sans);letter-spacing:.26em;color:var(--pv-gold);margin-bottom:14px}
.pv-h1-sub{display:block;font:700 clamp(17px,4.4vw,22px)/1.5 var(--jp);color:var(--pv-wine);letter-spacing:.06em;margin-bottom:10px}
.pv-h1{display:block;font:700 clamp(30px,7.8vw,48px)/1.38 var(--jp);letter-spacing:.04em;color:var(--pv-ink)}
.pv-h1 em{font-style:normal;color:var(--pv-cta)}
.pv-hero-lead{font:500 clamp(15.5px,4vw,19px)/1.95!important;color:#4a3e45;margin:0!important}

/* 02 WHY（考え方の流れ） */
.pv-why{background:#fff}
.pv-why-grid{display:grid;gap:30px;align-items:start}
.pv-flow{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:pvflow}
.pv-flow li{position:relative;background:var(--pv-ivory);border:1px solid rgba(167,125,67,.22);border-radius:18px;padding:18px 20px 18px 74px;min-height:76px;display:flex;flex-direction:column;justify-content:center}
.pv-flow li:before{counter-increment:pvflow;content:"0" counter(pvflow);position:absolute;left:18px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--pv-gold-soft);font:600 13px/1 var(--sans);color:var(--pv-gold)}
.pv-flow li:not(:last-child):after{content:"";position:absolute;left:38px;bottom:-13px;width:2px;height:14px;background:var(--pv-gold-soft)}
.pv-flow strong{font:700 clamp(17px,1.7vw,19px)/1.5 var(--jp);color:var(--pv-wine)}
.pv-flow span{font:400 13.5px/1.75 var(--jp);color:var(--pv-muted)}
.pv-flow li:last-child{background:linear-gradient(135deg,#fff5f7,#fbe7ec);border-color:rgba(201,53,96,.25)}
.pv-why-photo{margin:16px 0 0;overflow:hidden;border-radius:18px}
.pv-why-photo img{width:100%;aspect-ratio:16/10;object-fit:cover}

/* 03 FOUR BASICS */
.pv-basics{background:var(--pv-beige)}
.pv-basic-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.pv-basic{background:#fff;border-radius:22px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;box-shadow:0 14px 34px rgba(111,41,68,.07)}
.pv-basic figure{margin:0;position:relative;background:var(--pv-ivory)}
.pv-basic figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pv-basic figure.is-contain{background:#fff;border-bottom:1px solid rgba(167,125,67,.14)}
/* 01 は白背景の実物商品写真。figure も白にして写真の白地と一体化させ、四角く浮いて見えないようにする（写真自体は無加工） */
.pv-basic figure.is-contain img{object-fit:contain;padding:2% 4%}
.pv-basic-no{position:absolute;left:14px;top:14px;width:46px;height:46px;border-radius:50%;background:var(--pv-wine);color:#fff;display:grid;place-items:center;font:600 14px/1 var(--sans)}
.pv-basic-body{padding:20px clamp(20px,2.2vw,26px) 24px}
.pv-basic-body small{display:block;font:600 11px var(--sans);letter-spacing:.2em;color:var(--pv-gold);margin-bottom:6px}
.pv-basic-body h3{font:700 clamp(18px,1.7vw,21px)/1.55 var(--jp);color:var(--pv-ink);margin-bottom:8px}
.pv-basic-body p{font-size:14.5px;line-height:1.9;color:var(--pv-muted);margin:0}

/* 04 CHANGE（目指す変化） */
.pv-change{background:#fff}
.pv-change-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.pv-change-list li{display:grid;grid-template-columns:1fr;gap:10px;align-items:center;background:var(--pv-ivory);border-radius:20px;padding:18px clamp(18px,2.4vw,28px)}
.pv-before,.pv-after{display:flex;flex-direction:column;gap:3px}
.pv-before small,.pv-after small{font:600 10.5px var(--sans);letter-spacing:.2em}
.pv-before small{color:var(--pv-muted)}
.pv-after small{color:var(--pv-cta)}
.pv-before b{font:600 15.5px/1.55 var(--jp);color:var(--pv-muted)}
.pv-after b{font:700 clamp(17px,1.8vw,20px)/1.55 var(--jp);color:var(--pv-wine)}
.pv-arrow{color:var(--pv-gold);font:400 22px/1 var(--sans);transform:rotate(90deg);justify-self:start;margin-left:6px}

/* 05 STEP UP */
.pv-path{background:linear-gradient(160deg,#3c1e2c 0%,#6f2944 100%);color:#fff}
.pv-path h2,.pv-path p{color:#fff}
.pv-path .pv-head-sub{opacity:.88}
.pv-path-base{display:grid;gap:18px;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:clamp(20px,3vw,32px)}
.pv-path-base figure{margin:0;overflow:hidden;border-radius:16px}
.pv-path-base figure img{width:100%;aspect-ratio:16/10;object-fit:cover}
.pv-path-base small,.pv-path-course small{display:block;font:600 11px var(--sans);letter-spacing:.22em;color:#f2d3a8;margin-bottom:8px}
.pv-path-base h3{font:700 clamp(21px,2.3vw,28px)/1.45 var(--jp);margin-bottom:8px}
.pv-path-base p{margin:0;opacity:.9}
.pv-path-branch{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0;font:600 13px/1.6 var(--jp);color:#f2d3a8;text-align:center}
.pv-path-branch:before,.pv-path-branch:after{content:"";flex:1;height:1px;background:rgba(242,211,168,.4)}
.pv-path-courses{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.pv-path-course{background:#fff;color:var(--pv-ink);border-radius:22px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.pv-path-course figure{margin:0}
.pv-path-course figure img{width:100%;aspect-ratio:16/9;object-fit:cover}
.pv-path-course div{padding:20px clamp(20px,2.4vw,28px) 22px;display:flex;flex-direction:column}
.pv-path-course small{color:var(--pv-gold)}
.pv-path-course h3{font:700 clamp(20px,2vw,24px)/1.45 var(--jp);color:var(--pv-wine);margin-bottom:6px}
.pv-path-course p{color:var(--pv-muted)!important;font-size:14.5px;line-height:1.9;margin:0 0 6px}
.pv-path-course .pv-textlink{margin-top:auto}
.pv-path .pv-note{color:rgba(255,255,255,.75)!important;text-align:center}

/* 06 ABOUT TRAINING（受講について） */
.pv-info{background:linear-gradient(180deg,#fff 0%,var(--pv-ivory) 100%)}
.pv-info-grid{display:grid;gap:22px}
.pv-info-table{margin:0;background:#fff;border:1px solid rgba(167,125,67,.25);border-radius:22px;overflow:hidden}
.pv-info-table div{display:grid;grid-template-columns:1fr;gap:4px;padding:16px clamp(18px,2.4vw,26px);border-top:1px solid rgba(167,125,67,.18)}
.pv-info-table div:first-child{border-top:0}
.pv-info-table dt{font:600 12.5px/1.5 var(--jp);color:var(--pv-gold);letter-spacing:.06em}
.pv-info-table dd{margin:0;font:500 15.5px/1.8 var(--jp);color:var(--pv-ink)}
.pv-for{background:var(--pv-blush);border-radius:22px;padding:clamp(20px,2.6vw,30px)}
.pv-for h3{font:700 18px/1.5 var(--jp);color:var(--pv-wine);margin-bottom:12px}
.pv-for ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pv-for li{position:relative;background:#fff;border-radius:14px;padding:12px 14px 12px 42px;font:600 14.5px/1.6 var(--jp);color:var(--pv-ink)}
.pv-for li:before{content:"";position:absolute;left:17px;top:50%;width:12px;height:6px;border-left:2px solid var(--pv-cta);border-bottom:2px solid var(--pv-cta);transform:translateY(-70%) rotate(-45deg)}

/* 07 FINAL */
.pv-final{background:#fff;padding-top:0!important}
.pv-final-card{text-align:center;color:#fff;border-radius:clamp(22px,3vw,40px);padding:clamp(44px,7vw,88px) clamp(22px,5vw,64px);background:radial-gradient(120% 140% at 85% 0%,#c93560 0%,rgba(201,53,96,0) 55%),linear-gradient(150deg,#3c1e2c,#6f2944)}
.pv-final-card .pv-tag{margin-bottom:16px}
.pv-final-card h2{color:#fff;font-size:clamp(27px,4.2vw,50px);margin-bottom:14px}
.pv-final-lead{font:500 clamp(15px,1.6vw,18px)/1.9!important;color:#fff;opacity:.92;margin-bottom:4px!important}
.pv-final-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 22px;margin-top:16px}
.pv-final-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;color:#fff;opacity:.92;font:500 14px/1.6 var(--jp);text-decoration:underline;text-underline-offset:6px;text-decoration-color:rgba(255,255,255,.55)}

/* タブレット以上 */
@media(min-width:700px){
.pv-basic-list{grid-template-columns:1fr 1fr}
.pv-change-list li{grid-template-columns:1fr auto 1.2fr;gap:18px}
.pv-arrow{transform:none;justify-self:center;margin:0}
.pv-path-courses{grid-template-columns:1fr 1fr}
.pv-info-table div{grid-template-columns:180px 1fr;gap:16px;align-items:baseline}
}
@media(min-width:900px){
.pv-hero-grid{grid-template-columns:1.05fr 1fr;gap:clamp(30px,3.6vw,60px)}
.pv-hero-visual img{aspect-ratio:4/3.05;border-radius:28px}
.pv-why-grid{grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px)}
.pv-basic-list{grid-template-columns:repeat(4,1fr)}
.pv-path-base{grid-template-columns:.9fr 1.1fr;gap:clamp(24px,3vw,40px)}
.pv-info-grid{grid-template-columns:1.35fr 1fr;gap:clamp(24px,3vw,40px);align-items:start}
}
@media(prefers-reduced-motion:reduce){.pv-btn{transition:none}.pv-btn:hover{transform:none}}
.pv-info-table dd a{color:var(--pv-hot,#c93560);font-weight:700;text-decoration:underline;text-underline-offset:3px}
