/* Marketing Bootcamp LP — Marche トンマナ（黒×赤・Noto Sans JP・skew） */
:root{
  --red:#D70C18;
  --red-dark:#B00A14;
  --black:#191919;
  --ink:#222;
  --text:#505050;
  --gray:#eee;
  --line:#ddd;
  --white:#fff;
  --kari-bg:#fff1e6;
  --kari:#9a4700;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:"Noto Sans JP",sans-serif;color:var(--ink);background:var(--white);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
ul,ol{list-style:none}
h1,h2,h3{text-wrap:balance;line-height:1.4}
h1,h2,h3,.problem-close,.compare__close,.bonus p,.entry__title,.fv__target,.problem-list li,.ba__col li,.curri p,.types__bridge,.type-card__list li{word-break:auto-phrase}
.nw{display:inline-block}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
.container--narrow{max-width:800px}
.center{text-align:center}
.sp-only{display:none}
.kari{background:var(--kari-bg);color:var(--kari);font-weight:700;font-size:.85em;padding:1px 6px;border-radius:2px}
.hl{color:var(--white);background:var(--red);padding:0 .15em;display:inline-block;transform:skewX(-20deg)}
.hl-red{color:var(--red);font-weight:800}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;border-radius:4px;transition:transform .3s,box-shadow .3s,background .3s;border:0;cursor:pointer;font-family:inherit}
.btn--primary{background:var(--red);color:var(--white)}
.btn--primary:hover{filter:brightness(1.06)}
.btn--sm{font-size:14px;height:44px;padding:0 20px}
.btn--lg{font-size:18px;height:72px;padding:0 48px;min-width:340px}
.btn--block{width:100%}

/* header（mar-che.com と同じ黒帯＋斜めの赤CTA） */
.site-header{position:sticky;top:0;z-index:50;background:var(--black)}
.site-header__inner{max-width:1280px;margin:0 auto;padding:0 0 0 32px;height:72px;display:flex;align-items:center;gap:40px}
.site-header__logo img{width:120px}
.site-header__nav{display:flex;gap:36px;margin-left:auto}
.site-header__nav a{color:var(--white);text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.08em}
.site-header__nav a:hover{color:#ff8a90}
.site-header__cta{align-self:stretch;display:flex;align-items:center;background:var(--red);color:var(--white);text-decoration:none;font-weight:800;font-size:14px;letter-spacing:.06em;padding:0 40px 0 44px;clip-path:polygon(24px 0,100% 0,100% 100%,0 100%);transition:background .3s}
.site-header__cta:hover{background:var(--red-dark)}

/* FV（明るいグレー地＋背景の大きなBOOTCAMP文字＋赤い斜めの帯・講師写真を大きく） */
.fv{position:relative;overflow:hidden;background:linear-gradient(110deg,#f5f5f5 0%,#ededed 55%,#e3e3e1 100%)}
.fv__deco{position:absolute;inset:0;pointer-events:none}
.fv__bar{position:absolute;display:block;transform:skewX(-20deg)}
.fv__bar--1{top:0;left:64%;width:48px;height:58%;background:var(--red)}
.fv__bar--2{bottom:-10%;right:3%;width:42px;height:70%;background:linear-gradient(180deg,rgba(215,12,24,0),rgba(215,12,24,.9) 40%)}
.fv__bar--3{top:-10%;right:-2%;width:18px;height:50%;background:var(--red);opacity:.85}
.fv__bar--w1{top:0;left:69%;width:110px;height:100%;background:rgba(255,255,255,.55)}
.fv__bar--k{top:0;left:61%;width:14px;height:34%;background:#3a3a3a}
.fv__bg{position:absolute;left:-12px;top:8px;font-family:"Noto Sans JP",sans-serif;font-weight:900;font-style:italic;font-size:200px;line-height:1;letter-spacing:-.01em;color:rgba(255,255,255,.75);text-shadow:0 0 1px rgba(0,0,0,.04);pointer-events:none;user-select:none;white-space:nowrap}
.fv__inner{position:relative;max-width:1280px;margin:0 auto;padding:0 32px;min-height:780px}
.fv__copy{position:relative;z-index:2;padding:132px 0 72px;max-width:840px}
.fv__limit{display:inline-block;position:relative;padding-left:22px}
.fv__limit::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--red);transform:skewX(-20deg)}
.fv__limit-row{display:flex;align-items:stretch;background:var(--white);clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%);padding-right:40px}
.fv__limit-k{display:flex;align-items:center;background:var(--red);color:var(--white);font-weight:900;font-size:22px;letter-spacing:.1em;padding:8px 26px 8px 22px;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);margin-left:6px}
.fv__limit-main{display:flex;align-items:center;font-weight:900;font-size:24px;letter-spacing:.04em;padding:8px 0 8px 20px;line-height:1.5}
.fv__limit-sub{margin-top:8px;padding:6px 40px 6px 22px;background:rgba(255,255,255,.75);clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);font-size:16px;font-weight:700;letter-spacing:.06em;line-height:1.6}
.fv__target{display:flex;align-items:center;gap:24px;margin-top:36px;font-size:20px;font-weight:800;letter-spacing:.08em;max-width:620px}
.fv__target::after{content:"";flex:1;height:1px;background:var(--black)}
.fv__title{margin-top:18px;font-size:62px;font-weight:900;line-height:1.4;letter-spacing:.03em;color:var(--black)}
.fv__title-red{color:var(--red);font-style:italic}
.fv__title-ink{color:var(--black)}
.fv__lead{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin-top:24px;font-size:20px;font-weight:800;font-style:italic;letter-spacing:.06em;padding-left:24px;position:relative}
.fv__lead::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:6px;background:var(--red);transform:skewX(-20deg)}
.fv__lead strong{font-size:22px;letter-spacing:.04em}
.fv__info{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin-top:28px;padding:10px 24px 12px;background:rgba(255,255,255,.7);border-bottom:2px solid #b4b4b3;font-size:16px;letter-spacing:.06em}
.fv__info b{font-weight:900;font-size:18px}
.fv__info-item{display:inline-flex;align-items:center;gap:10px}
.fv__info svg{width:20px;height:20px;fill:none;stroke:var(--black);stroke-width:2;flex:0 0 auto}
.fv__info i{width:1px;height:20px;background:#9a9a9a;transform:skewX(-20deg);margin:0 6px}
.fv__note-sp{display:none}
.site-header__menu{display:none}
.sp-nav{display:none}
.fv__cta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-top:28px;max-width:660px;height:108px;background:linear-gradient(180deg,#e8141f 0%,var(--red) 55%,#b8000c 100%);color:var(--white);text-decoration:none;clip-path:polygon(28px 0,100% 0,calc(100% - 28px) 100%,0 100%);transition:transform .3s,filter .3s}
.fv__cta:hover{transform:translateY(-2px);filter:brightness(1.06)}
.fv__cta-main{display:flex;align-items:center;gap:28px;font-weight:900;font-size:30px;letter-spacing:.08em;line-height:1.3}
.fv__cta-main b{font-weight:400;font-size:30px}
.fv__cta-sub{display:flex;align-items:center;gap:18px;font-size:15px;font-weight:700;letter-spacing:.1em}
.fv__cta-sub::before,.fv__cta-sub::after{content:"";width:72px;height:1px;background:rgba(255,255,255,.8)}
.fv__photo{position:absolute;z-index:1;right:-40px;bottom:0;height:94%;margin:0}
.fv__photo img{height:100%;width:auto;max-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%),linear-gradient(180deg,transparent 0,#000 12%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 18%),linear-gradient(180deg,transparent 0,#000 12%);mask-composite:intersect}
.fv__photo figcaption{position:absolute;right:20px;bottom:64px;display:flex;align-items:center;gap:20px;background:rgba(25,25,25,.94);color:var(--white);padding:14px 40px 14px 18px;clip-path:polygon(18px 0,100% 0,calc(100% - 18px) 100%,0 100%)}
.fv__photo-role{background:var(--white);color:var(--black);font-weight:900;font-size:16px;letter-spacing:.1em;padding:6px 20px;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);margin-left:10px}
.fv__photo-name{display:flex;flex-direction:column;padding-left:20px;border-left:5px solid var(--red);line-height:1.4}
.fv__photo-name small{font-size:14px;font-weight:700;letter-spacing:.06em}
.fv__photo-name strong{font-size:30px;font-weight:900;letter-spacing:.1em}

/* ===== セクション共通（明るいグレー地・斜めの白カード・赤いアクセント） ===== */
.sec{position:relative;padding:96px 0;overflow:hidden}
.sec--gray{background:linear-gradient(110deg,#f3f3f3 0%,#ececec 60%,#e6e6e4 100%)}
.sec--dark{background:var(--black);color:var(--white)}
.sec__deco{position:absolute;top:0;right:0;width:220px;height:100%;pointer-events:none;background:linear-gradient(110deg,transparent 0 38%,var(--red) 38% 46%,transparent 46% 58%,#3a3a3a 58% 61%,transparent 61%);opacity:.9;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 45%,transparent 75%);mask-image:linear-gradient(180deg,#000 0,#000 45%,transparent 75%)}
.sec .container{position:relative}
.sec__head{margin-bottom:40px}
.sec__head--row{display:flex;align-items:flex-end;gap:12px 32px;flex-wrap:wrap}
.sec__head--sub{margin:72px 0 28px}
.sec__en{font-size:14px;font-weight:900;font-style:italic;letter-spacing:.12em;color:var(--red);margin-bottom:4px}
.sec__title{position:relative;font-size:38px;font-weight:900;line-height:1.4;letter-spacing:.04em;padding-left:40px}
.sec__title::before{content:"";position:absolute;left:4px;top:.18em;bottom:.18em;width:9px;background:var(--red);transform:skewX(-20deg)}
.sec__title em{font-style:italic;color:var(--red);font-size:1.15em;margin:0 2px}
.sec__title--sm{font-size:28px}
.sec__side{font-size:14px;color:var(--text);padding:0 0 8px 24px;border-left:1px solid #b4b4b3;line-height:1.7}
.sec__lead{color:var(--text);margin:-12px 0 36px;max-width:760px}
.sec--dark .sec__lead{color:#ccc}
.note{font-size:12px;color:#7c7c7c;margin-top:16px;line-height:1.7}
.note--center{text-align:center}

/* 画像枠（画像が無い間はラベルを表示） */
.ph{position:relative;overflow:hidden;background:repeating-linear-gradient(135deg,#e4e4e4 0 12px,#ececec 12px 24px)}
.ph::before{content:attr(data-ph);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8px;text-align:center;font-size:12px;font-weight:700;color:#8a8a8a}
.ph img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover}

/* アイコン */
.ico-check,.ico-x{flex:0 0 auto;width:24px;height:24px}
.ico-check circle{fill:var(--red)}
.ico-check path{fill:none;stroke:var(--white);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ico-x circle{fill:#6b6b6b}
.ico-x path{fill:none;stroke:var(--white);stroke-width:2.4;stroke-linecap:round}

/* S02 悩み：斜めの白カード */
.problem-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.problem-list li{display:flex;align-items:center;gap:20px;background:var(--white);padding:22px 40px 22px 32px;min-height:100px;font-weight:700;font-size:19px;line-height:1.6;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);box-shadow:0 6px 18px rgba(0,0,0,.05)}
.problem-list .ico-check{width:30px;height:30px}
.problem-list em{font-style:normal;font-weight:900;color:var(--red)}
.problem-list small{font-size:.8em;color:var(--text)}
.problem-close{margin-top:48px;text-align:center;font-size:26px;font-weight:900;line-height:1.75;letter-spacing:.04em}
.problem-close em{font-style:normal;color:var(--red);font-size:1.12em;border-bottom:3px solid var(--red)}

/* S03 2つのタイプ */
.types{position:relative;background:#ededed}
.types__band{position:relative;text-align:center;padding:88px 16px 80px;overflow:hidden;background:var(--black)}
.types__art{position:absolute;top:0;bottom:0;width:40%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);pointer-events:none}
.types__band:has(.types__art)::before,.types__band:has(.types__art)::after{display:none}
.types__art--wizard{left:0;object-position:30% 40%;-webkit-mask-image:linear-gradient(90deg,#000 45%,transparent 100%);mask-image:linear-gradient(90deg,#000 45%,transparent 100%)}
.types__art--warrior{right:0;object-position:70% 30%;-webkit-mask-image:linear-gradient(270deg,#000 45%,transparent 100%);mask-image:linear-gradient(270deg,#000 45%,transparent 100%)}
.types__band::before,.types__band::after{content:"";position:absolute;z-index:1;top:0;width:8%;height:100%;background:repeating-linear-gradient(110deg,transparent 0 22px,rgba(215,12,24,.55) 22px 28px,transparent 28px 52px,rgba(255,255,255,.08) 52px 56px)}
.types__band::before{left:0}
.types__band::after{right:0}
.types__label{position:relative;z-index:2}
.types__label span{display:inline-block;background:var(--red);color:var(--white);font-weight:900;font-style:italic;font-size:18px;letter-spacing:.06em;padding:8px 32px;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.types__title{position:relative;z-index:2;margin-top:16px}
.types__title span{display:inline-block;background:#262626;color:var(--white);font-weight:900;font-size:44px;letter-spacing:.06em;line-height:1.3;padding:18px 64px;clip-path:polygon(24px 0,100% 0,calc(100% - 24px) 100%,0 100%);border-bottom:4px solid var(--red)}
.types__grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:-32px}
.types__ask{position:relative;z-index:2;margin-top:14px;color:var(--white);font-size:20px;font-weight:900;letter-spacing:.06em}
.type-card__list li.is-good{font-weight:900}
.types__bridge{margin-top:48px;text-align:center;font-size:22px;font-weight:700;line-height:1.8}
.types__bridge b{color:var(--red);font-weight:900}
.type-card{padding:44px 64px 40px 56px;clip-path:polygon(0 0,100% 0,calc(100% - 36px) 100%,0 100%);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.type-card--light{background:var(--white)}
.type-card--dark{background:linear-gradient(135deg,#2a2a2a,#151515);color:var(--white);clip-path:polygon(36px 0,100% 0,100% 100%,0 100%);padding:44px 56px 40px 72px}
.type-card__icon svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.type-card--light .type-card__icon{color:var(--red)}
.type-card--dark .type-card__icon{color:#ff5a63}
.type-card__title{font-size:32px;font-weight:900;letter-spacing:.06em;margin-top:6px}
.type-card__sub{font-size:15px;font-weight:700;margin-top:4px;color:var(--text)}
.type-card--dark .type-card__sub{color:#ccc}
.funnel{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0}
.funnel li{position:relative;font-size:13px;font-weight:700;padding:6px 18px 6px 14px;background:#ededed;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%,6px 50%)}
.funnel li b{font-size:16px;margin-left:4px}
.funnel li:last-child{background:var(--red);color:var(--white)}
.type-card--dark .funnel li{background:#3a3a3a}
.type-card--dark .funnel li:last-child{background:var(--red)}
.type-card__list li{display:flex;align-items:center;gap:12px;padding:8px 0;font-weight:700;font-size:15px}
.type-card--dark .ico-x circle{fill:#8a8a8a}
.types__vs{position:absolute;left:50%;top:50%;z-index:2;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--black);color:var(--white);font-size:30px;font-weight:900;font-style:italic;display:flex;align-items:center;justify-content:center;border:4px solid var(--white);box-shadow:0 0 0 4px var(--red)}
.compare{margin-top:48px}
.compare__title{position:relative;font-size:22px;font-weight:900;padding-left:24px;margin-bottom:16px}
.compare__title::before{content:"";position:absolute;left:2px;top:.2em;bottom:.2em;width:6px;background:var(--red);transform:skewX(-20deg)}
.table-wrap{overflow-x:auto}
.compare table{width:100%;border-collapse:collapse;font-size:15px;background:var(--white)}
.compare th,.compare td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid #e3e3e3}
.compare thead th{background:var(--black);color:var(--white);font-weight:900}
.compare thead th:nth-child(2){background:var(--red)}
.compare tbody th{width:22%;font-weight:900;background:#f6f6f6}
.types__close{position:relative;margin-top:56px;padding:0 24px 88px;text-align:center}
.types__close span{display:inline-block;background:linear-gradient(180deg,#e8141f,var(--red) 55%,#b8000c);color:var(--white);font-size:17px;font-weight:700;line-height:1.8;letter-spacing:.04em;padding:22px 72px;clip-path:polygon(24px 0,100% 0,calc(100% - 24px) 100%,0 100%)}
.types__close b{font-size:20px;font-weight:900}

/* S04 ビフォーアフター */
.ba{display:grid;grid-template-columns:1fr 72px 1fr;align-items:stretch}
.ba__img{aspect-ratio:16/9;margin:-36px -48px 24px -40px}
.ba__col--before .ba__img img{filter:grayscale(1)}
.ba__col{background:var(--white);padding:36px 48px 32px 40px;clip-path:polygon(16px 0,100% 0,calc(100% - 16px) 100%,0 100%);box-shadow:0 6px 18px rgba(0,0,0,.05)}
.ba__col--after{border-top:5px solid var(--red)}
.ba__label{font-size:22px;font-weight:900;font-style:italic;letter-spacing:.12em;color:#8a8a8a;margin-bottom:12px}
.ba__col--after .ba__label{color:var(--red)}
.ba__col li{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #ececec;font-weight:700;font-size:18px;line-height:1.6}
.ba__col li .ico-check,.ba__col li .ico-x{width:28px;height:28px}
.ba__col--after li{font-weight:900}
.ba__col li:last-child{border-bottom:0}
.ba__arrow{position:relative}
.ba__arrow::before{content:"";position:absolute;top:50%;left:50%;width:26px;height:26px;margin:-13px 0 0 -18px;border:solid var(--red);border-width:0 7px 7px 0;transform:rotate(-45deg)}

/* S05 Bootcampとは */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.about__text p{color:var(--text)}
.about__text p+p{margin-top:16px}
.about__text strong{color:var(--black);background:linear-gradient(transparent 62%,rgba(215,12,24,.2) 62%)}
.about__photo{clip-path:polygon(28px 0,100% 0,calc(100% - 28px) 100%,0 100%)}
.about__photo img{width:100%;aspect-ratio:16/10;object-fit:cover}
.spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:48px}
.spec li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:16px;align-items:center;background:var(--white);border:1px solid #e3e3e3;border-top:4px solid var(--red);padding:20px 22px;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.spec__ico{grid-row:span 2;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#f4f4f4}
.spec__ico svg{width:24px;height:24px;fill:none;stroke:var(--red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.spec__k{display:block;font-size:13px;font-weight:900;color:var(--red);letter-spacing:.1em}
.spec__v{display:block;font-weight:900;font-size:16px;line-height:1.5;margin-top:2px}

/* S06 カリキュラム：STEP風カード */
.curri-bg{position:absolute;inset:0;pointer-events:none}
.curri-bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) blur(2px);opacity:.16}
.curri{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.curri li{position:relative;background:var(--white);padding:24px 28px 24px 24px;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%,0 0);box-shadow:0 6px 18px rgba(0,0,0,.05)}
.curri__no{display:block;font-size:12px;font-weight:900;font-style:italic;color:var(--red);letter-spacing:.08em}
.curri__no b{font-size:24px}
.curri h3{font-size:19px;font-weight:900;line-height:1.5;margin:6px 0 6px}
.curri p{font-size:14px;color:var(--text);line-height:1.7}
.curri .curri__work{background:var(--black);color:var(--white)}
.curri__work .curri__no{font-size:13px;padding-top:9px}
.curri__work p{color:#bbb}

/* S07 支援事例 */
.videos{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto;gap:16px}
.video-card{background:var(--white)}
.video-card--main{grid-row:span 2;position:relative}
.video-card__thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;cursor:pointer;background:#000;overflow:hidden}
.video-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.video-card__thumb:hover img{transform:scale(1.04)}
.play{position:absolute;z-index:2;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(215,12,24,.45);border:2px solid rgba(255,255,255,.85);transition:background .3s}
.video-card__thumb:hover .play{background:rgba(215,12,24,.8)}
.play::after{content:"";position:absolute;left:20px;top:15px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent var(--white)}
.video-card--main .play{width:80px;height:80px;margin:-40px 0 0 -40px}
.video-card--main .play::after{left:30px;top:23px;border-width:15px 0 15px 23px}
.video-card iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.video-card__tag{display:inline-block;background:var(--red);color:var(--white);font-size:12px;font-weight:700;padding:3px 14px;margin:14px 0 0 16px;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.video-card__co{font-size:12px;font-weight:700;color:var(--text);padding:10px 14px 0}
.video-card__text{font-size:14px;font-weight:900;line-height:1.6;padding:2px 14px 14px}
.video-card--main .video-card__co{padding:8px 20px 0;font-size:14px}
.video-card--main .video-card__text{font-size:20px;padding:4px 20px 20px}
.video-card--soon{display:flex;align-items:center;justify-content:center;background:#f4f4f4;border:2px dashed #c7c7c7;text-align:center;padding:16px;font-size:13px;font-weight:700;color:var(--text);line-height:1.7}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.case-card__btn{width:100%;border:0;padding:0;font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;height:100%;background:#f4f4f4;text-decoration:none;color:inherit;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:background .3s}
.case-card__btn:hover{background:#ececec}
.case-card__img{aspect-ratio:3/2;overflow:hidden}
.case-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.case-card__btn:hover .case-card__img img{transform:scale(1.04)}
.case-card__body{display:flex;flex-direction:column;padding:14px 26px 18px 16px}
.case-card__tag{font-size:11px;font-weight:900;color:var(--red);letter-spacing:.04em}
.case-card__co{font-size:11px;font-weight:700;color:var(--text);margin-top:2px;line-height:1.5}
.case-card__text{font-size:14px;font-weight:900;line-height:1.6;margin-top:4px}
.case-card__more{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:10px;font-size:12px;font-weight:900;color:var(--red)}
.case-card__more::after{content:"";width:6px;height:6px;border:solid currentColor;border-width:2px 2px 0 0;transform:rotate(45deg)}
.case-card__body{flex:1}
.case-modal{width:min(880px,calc(100% - 32px));max-height:calc(100% - 48px);margin:auto;padding:48px 48px 40px;border:0;border-top:6px solid var(--red);background:var(--white);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.case-modal::backdrop{background:rgba(0,0,0,.6)}
.case-modal__close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;background:none;cursor:pointer}
.case-modal__close::before,.case-modal__close::after{content:"";position:absolute;left:11px;top:21px;width:22px;height:2px;background:var(--ink);transform:rotate(45deg)}
.case-modal__close::after{transform:rotate(-45deg)}
.case-modal__meta{font-size:13px;font-weight:900;color:var(--red)}
.case-modal__title{font-size:24px;font-weight:900;line-height:1.5;margin-top:4px}
.case-modal__desc{margin-top:12px;font-size:14px;color:var(--text);line-height:1.8}
.case-modal__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}
.case-modal__col{background:#f4f4f4;padding:16px 18px}
.case-modal__col--2{background:var(--black);color:var(--white)}
.case-modal__label{font-size:13px;font-weight:900;letter-spacing:.06em;color:var(--red);margin-bottom:6px}
.case-modal__col li{position:relative;padding-left:14px;font-size:14px;font-weight:700;line-height:1.6;margin-top:6px}
.case-modal__col li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;background:var(--red)}
.case-modal__intro{margin-top:24px;font-size:15px;line-height:1.9}
.case-modal__label--story{margin-top:24px}
.case-modal__story{counter-reset:st}
.case-modal__story li{counter-increment:st;position:relative;padding:10px 0 10px 40px;border-bottom:1px solid #ececec;font-weight:700;font-size:15px;line-height:1.6}
.case-modal__story li::before{content:counter(st,decimal-leading-zero);position:absolute;left:0;top:10px;font-style:italic;font-weight:900;color:var(--red)}
.case-more{margin-top:28px;text-align:right}
.case-more a{font-weight:900;color:var(--red);text-decoration:none;border-bottom:2px solid var(--red)}

/* 特典：赤い番号タブ付きカード */
.bonus{display:grid;gap:16px}
.bonus--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bonus--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.bonus li{position:relative;display:flex;flex-direction:column;background:var(--white);clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);box-shadow:0 6px 18px rgba(0,0,0,.05)}
.bonus__img{aspect-ratio:16/10}
.bonus__no{position:absolute;z-index:2;top:0;left:0;display:flex;align-items:baseline;gap:6px;background:var(--red);color:var(--white);font-size:13px;font-weight:900;padding:6px 24px 6px 16px;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);line-height:1.2}
.bonus__no b{font-size:28px;font-style:italic}
.bonus__body{display:flex;flex-direction:column;padding:16px 28px 22px 20px}
.bonus__body h3{font-size:17px;font-weight:900;line-height:1.55}
.bonus__body p{font-size:13px;color:var(--text);margin-top:4px;line-height:1.6}
.bonus--5 li{clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.bonus--5 .bonus__no{padding:4px 18px 4px 12px;font-size:11px}
.bonus--5 .bonus__no b{font-size:20px}
.bonus--5 .bonus__body{padding:12px 20px 18px 14px}
.bonus--5 .bonus__body h3{font-size:14px}

/* S09 無料勉強会 */
.schedule{margin-bottom:32px}
.schedule__head{display:flex;align-items:baseline;gap:16px;font-size:20px;font-weight:900;margin-bottom:12px}
.schedule__head span{font-size:14px;font-weight:700;color:var(--text)}
.schedule__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.schedule__list li{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#f4f4f4;padding:20px 20px 18px;border-top:4px solid #c8c8c8;font-weight:900}
.schedule__list li.is-next{background:var(--white);border-top-color:var(--red);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.schedule__no{font-style:italic;font-size:15px;letter-spacing:.06em}
.schedule__place{font-size:13px}
.schedule__badge{position:absolute;right:12px;top:12px;background:var(--red);color:var(--white);font-size:12px;padding:2px 10px;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.seminar-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.seminar-info > div{display:flex;align-items:center;gap:18px;background:#f4f4f4;padding:16px 20px 16px 0}
.seminar-info dt{flex:0 0 96px;align-self:stretch;display:flex;align-items:center;justify-content:center;background:var(--black);color:var(--white);font-size:13px;font-weight:900;letter-spacing:.08em;margin:-16px 0}
.seminar-info dd{font-weight:900;font-size:15px;line-height:1.5}

/* S10 代表メッセージ */
.message__inner{display:grid;grid-template-columns:320px 1fr;gap:56px;align-items:center}
.message__photo{clip-path:polygon(24px 0,100% 0,calc(100% - 24px) 100%,0 100%);border-bottom:6px solid var(--red)}
.message__photo img{width:100%}
.message__title{font-size:34px;font-weight:900;margin:6px 0 24px;letter-spacing:.04em}
.message__body > p{color:#ddd}
.message__body > p+p{margin-top:14px}
.message .sec__en{color:#ff5a63}
.message__name{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px!important;font-size:13px;color:#bbb!important}
.message__name span{background:var(--white);color:var(--black);font-weight:900;font-size:12px;padding:2px 14px;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.message__name strong{font-size:24px;color:var(--white);letter-spacing:.1em;font-weight:900}

/* S11 FAQ */
.faq details{background:var(--white);margin-bottom:12px;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.faq summary{list-style:none;cursor:pointer;padding:22px 64px 22px 72px;font-weight:900;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:28px;top:16px;font-size:26px;font-weight:900;font-style:italic;color:var(--red)}
.faq summary::after{content:"+";position:absolute;right:32px;top:14px;font-size:30px;font-weight:400}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 32px 24px 72px;color:var(--text)}

/* S12 申込 */
.entry{background:#ececec;padding-bottom:96px}
.entry__band{position:relative;overflow:hidden;text-align:center;padding:72px 24px 120px;background:linear-gradient(110deg,#f4f4f4,#e6e6e4)}
.entry__deco{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 0 6%,#3a3a3a 6% 7%,transparent 7% 9%,var(--red) 9% 12%,transparent 12% 86%,var(--red) 86% 89%,transparent 89% 91%,#3a3a3a 91% 92%,transparent 92%)}
.entry__target{position:relative;font-weight:900;font-size:18px;letter-spacing:.06em}
.entry__title{position:relative;font-size:46px;font-weight:900;font-style:italic;letter-spacing:.03em;line-height:1.35;margin-top:4px}
.entry__title em{color:var(--red)}
.entry__info{position:relative;display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:16px;font-weight:900;font-size:16px}
.entry__info i{width:1px;height:20px;background:#9a9a9a;transform:skewX(-20deg)}
.entry__lead{position:relative;margin-top:12px;font-size:15px;font-weight:700;color:var(--text)}
.entry .container{position:relative;margin-top:-72px}
.form{background:var(--white);padding:44px 48px;box-shadow:0 16px 40px rgba(0,0,0,.08);border-top:6px solid var(--red)}
.form__notice{border:2px dashed var(--kari);background:var(--kari-bg);color:var(--kari);font-weight:700;font-size:14px;padding:10px 14px;margin-bottom:24px}
.form__row{margin-bottom:18px}
.form__row label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin-bottom:6px}
.req{font-size:11px;background:var(--red);color:var(--white);padding:1px 6px;border-radius:2px}
.form input,.form select{width:100%;height:52px;border:1px solid #bbb;border-radius:2px;padding:0 14px;font-size:16px;font-family:inherit;background:#fafafa}
.form input:focus,.form select:focus{outline:2px solid var(--red);outline-offset:1px;background:var(--white)}
.form__consent{font-size:13px;color:var(--text);line-height:1.7;margin-top:8px}
.form__consent a{color:var(--red)}
.form__submit{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;height:76px;margin-top:20px;border:0;cursor:pointer;background:linear-gradient(180deg,#e8141f,var(--red) 55%,#b8000c);color:var(--white);font-family:inherit;font-weight:900;font-style:italic;font-size:24px;letter-spacing:.08em;clip-path:polygon(22px 0,100% 0,calc(100% - 22px) 100%,0 100%)}
.form__submit b{font-weight:400;font-style:normal;font-size:28px}

/* footer */
.site-footer{background:#000;color:#aaa;text-align:center;padding:40px 16px 48px;font-size:13px}
.site-footer img{width:110px;margin:0 auto 16px}
.site-footer a{color:#ccc}
.site-footer__copy{margin-top:8px}

/* sticky CTA (mobile) */
.sticky-cta.is-show{transform:none}
.sticky-cta{display:none}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mid-cta{display:flex;justify-content:center;padding:56px 24px;background:var(--white)}
.mid-cta .fv__cta,.entry__cta .fv__cta{width:100%;max-width:660px;margin:0 auto}
.entry--cta{padding-bottom:0}
.entry--cta .entry__band{padding-bottom:88px}
.entry__cta{position:relative;margin-top:32px}
.entry--page{padding-top:0}
.form-back{text-align:center;margin-top:28px;font-size:14px;font-weight:700}
.form-back a{color:var(--text)}

/* ===== tablet ===== */
@media (max-width:1024px){
  .site-header__nav{display:none}
  .site-header__cta{margin-left:auto}
  .fv__inner{min-height:700px}
  .fv__copy{max-width:640px}
  .fv__photo{height:72%;right:-90px}
  .fv__bg{font-size:140px}
  .fv__title{font-size:46px}
  .fv__cta-main{font-size:24px}
  .bonus--5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .spec{grid-template-columns:repeat(2,minmax(0,1fr))}
  .curri{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .seminar-info{grid-template-columns:repeat(2,minmax(0,1fr))}
  .type-card{padding:36px 40px 32px 32px}
  .type-card--dark{padding:36px 32px 32px 48px}
}

/* ===== mobile ===== */
@media (max-width:767px){
  body{font-size:15px;padding-bottom:76px}
  .sp-only{display:inline}
  .pc-only{display:none}
  .fv__limit-sub,.fv__target{display:none}
  .site-header__inner{height:56px;padding-left:16px}
  .site-header__logo img{width:92px}
  .site-header__cta{display:none}
  .site-header__menu{display:flex;flex-direction:column;justify-content:center;gap:6px;margin-left:auto;width:56px;height:56px;padding:0 14px;background:none;border:0;cursor:pointer}
  .site-header__menu span{display:block;height:2px;background:var(--white);transition:transform .3s,opacity .3s}
  .menu-open .site-header__menu span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .menu-open .site-header__menu span:nth-child(2){opacity:0}
  .menu-open .site-header__menu span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .sp-nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:56px;background:var(--black);padding:8px 24px 28px;box-shadow:0 12px 24px rgba(0,0,0,.25)}
  .sp-nav[hidden]{display:none}
  .sp-nav a{color:var(--white);text-decoration:none;font-weight:700;padding:16px 4px;border-bottom:1px solid #333}
  .sp-nav .sp-nav__cta{margin-top:20px;border:0;background:var(--red);text-align:center;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
  .fv__inner{min-height:0;padding:0 16px}
  .fv__bg{font-size:66px;top:8px;left:-2px;color:rgba(255,255,255,.8)}
  .fv__copy{padding:58px 0 28px;max-width:none}
  .fv__limit{display:inline-block;padding-left:12px}
  .fv__limit::before{width:6px}
  .fv__limit-row{padding-right:18px;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%)}
  .fv__limit-k{font-size:12px;padding:5px 12px 5px 10px;margin-left:0;letter-spacing:.06em;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);white-space:nowrap}
  .fv__limit-main{font-size:12.5px;padding:5px 0 5px 8px;letter-spacing:.02em;white-space:nowrap}
  .fv__limit-sub{background:none;clip-path:none;font-size:12px;padding:6px 0 0 4px;letter-spacing:.04em;line-height:1.6}
  .fv__target{font-size:12px;margin-top:22px;gap:10px;max-width:68%}
  .fv__title{position:relative;z-index:2;font-size:31px;line-height:1.38;margin-top:26px;text-shadow:0 0 12px rgba(245,245,245,.9)}
  .fv__lead{flex-direction:column;gap:0;font-size:12px;margin-top:18px;padding-left:14px;max-width:52%;line-height:1.55;white-space:nowrap}
  .fv__lead strong{font-size:14px}
  .fv__photo{position:absolute;right:-56px;top:44px;bottom:auto;height:auto;width:68%;margin:0}
  .fv__photo img{width:100%;height:auto}
  .fv__photo figcaption{right:66px;left:auto;bottom:0;padding:6px 16px 6px 4px;gap:6px}
  .fv__photo-role{font-size:11px;padding:3px 10px;margin-left:6px}
  .fv__photo-name{padding-left:10px;border-left-width:3px}
  .fv__photo-name small{font-size:9.5px;line-height:1.3}
  .fv__photo-name strong{font-size:17px}
  .fv__info{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;margin-top:72px;padding:12px 28px;border:1.5px solid var(--black);background:var(--white);transform:skewX(-20deg);font-size:13px}
  .fv__info-item{transform:skewX(20deg);gap:6px;flex-wrap:wrap}
  .fv__info b{font-size:14px}
  .fv__info svg{width:18px;height:18px}
  .fv__info i{display:none}
  .fv__cta{position:relative;z-index:2;display:flex;max-width:none;height:64px;margin-top:20px;clip-path:polygon(16px 0,100% 0,calc(100% - 16px) 100%,0 100%)}
  .fv__cta-main{font-size:19px;gap:14px;font-style:italic}
  .fv__cta-main b{font-size:22px;font-style:normal}
  .fv__cta-sub{display:none}
  .fv__note-sp{display:flex;align-items:center;gap:14px;margin-top:14px;font-size:15px;font-weight:900;letter-spacing:.06em}
  .fv__note-sp b{font-size:22px;font-style:italic;margin:0 1px}
  .fv__note-sp::before,.fv__note-sp::after{content:"";flex:1;height:1px;background:var(--black)}
  .fv__bar--k,.fv__bar--w1{display:none}
  .fv__bar--1{left:auto;right:16%;top:0;width:22px;height:46%}
  .fv__bar--3{width:12px;height:40%;right:-4%}
  .fv__bar--2{width:22px;right:-3%;height:50%}
  .container{padding:0 16px}
  .sec{padding:64px 0}
  .sec__deco{width:110px;opacity:.6}
  .sec__head{margin-bottom:28px}
  .sec__head--sub{margin:48px 0 20px}
  .sec__title{font-size:25px;padding-left:28px}
  .sec__title::before{width:6px}
  .sec__title--sm{font-size:21px}
  .sec__side{border-left:0;padding:0;font-size:13px}
  .sec__lead{margin:-8px 0 24px;font-size:14px}
  .problem-list{grid-template-columns:1fr;gap:10px}
  .problem-list li{padding:14px 24px 14px 18px;min-height:0;font-size:15.5px;gap:12px}
  .problem-list .ico-check{width:24px;height:24px}
  .problem-list li br{display:none}
  .problem-close{font-size:17px;margin-top:32px}
  .types__band{padding:56px 16px 64px}
  .types__art{width:46%;opacity:.55}
  .types__band::before,.types__band::after{width:6%}
  .types__label span{font-size:13px;padding:6px 18px}
  .types__title span{font-size:24px;padding:12px 28px}
  .types__grid{grid-template-columns:1fr;margin-top:-28px}
  .type-card,.type-card--dark{padding:28px 32px 24px 22px;clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%)}
  .type-card__title{font-size:24px}
  .type-card__list li{font-size:14px}
  .types__vs{top:auto;bottom:auto;position:relative;left:auto;margin:-22px auto;width:60px;height:60px;font-size:22px;grid-row:2}
  .types__grid{gap:0}
  .compare table{font-size:13px}
  .compare th,.compare td{padding:10px}
  .types__close{padding:0 12px 64px;margin-top:36px}
  .types__close span{font-size:13px;padding:16px 26px;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
  .types__close b{font-size:15px}
  .ba{grid-template-columns:1fr;grid-template-rows:auto 48px auto}
  .ba__arrow::before{transform:rotate(45deg);margin:-20px 0 0 -13px}
  .ba__col{padding:24px 26px 20px 20px}
  .ba__img{margin:-24px -26px 18px -20px}
  .ba__col li{font-size:15px;padding:12px 0}
  .ba__col li .ico-check,.ba__col li .ico-x{width:24px;height:24px}
  .about{grid-template-columns:1fr;gap:28px}
  .spec{grid-template-columns:1fr 1fr;gap:8px;margin-top:28px}
  .spec li{padding:14px 12px;column-gap:10px}
  .spec__ico{width:36px;height:36px}
  .spec__ico svg{width:18px;height:18px}
  .spec__v{font-size:14px}
  .curri{grid-template-columns:1fr;gap:10px}
  .curri li{padding:18px 32px 18px 18px}
  .videos{grid-template-columns:1fr 1fr;gap:10px}
  .video-card--main{grid-column:1 / -1;grid-row:auto}
  .video-card--main .video-card__text{font-size:16px}
  .video-card__text{font-size:12px}
  .case-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
  .case-card__body{padding:10px 16px 14px 10px}
  .case-card__co{display:none}
  .case-card__text{font-size:12px}
  .case-card__more{font-size:11px;padding-top:6px}
  .case-modal{padding:40px 18px 28px}
  .case-modal__title{font-size:19px}
  .case-modal__cols{grid-template-columns:1fr}
  .case-modal__intro,.case-modal__story li{font-size:14px}
  .bonus--3{grid-template-columns:1fr;gap:10px}
  .bonus__no b{font-size:22px}
  .bonus__body h3{font-size:15px}
  .bonus--5{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .bonus--5 li:last-child{grid-column:1 / -1}
  .bonus--5 .bonus__body h3{font-size:13px}
  .seminar-info{grid-template-columns:1fr;gap:8px}
  .schedule__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .schedule__list li{padding:14px 12px 12px}
  .schedule__head{flex-direction:column;gap:0;font-size:17px}
  .types__ask{font-size:15px;margin-top:8px}
  .types__bridge{font-size:16px;margin-top:32px}
  .types__bridge br{display:none}
  .types__grid{gap:16px}
  .seminar-info dt{flex-basis:84px}
  .seminar-info dd{font-size:14px}
  .message__inner{grid-template-columns:1fr;gap:28px}
  .message__photo{max-width:220px}
  .message__title{font-size:25px}
  .faq summary{padding:18px 48px 18px 52px;font-size:14px}
  .faq summary::before{left:18px;top:12px;font-size:22px}
  .faq summary::after{right:20px;top:10px}
  .faq details p{padding:0 20px 20px 52px;font-size:14px}
  .entry{padding-bottom:64px}
  .entry__band{padding:48px 16px 96px}
  .entry__target{font-size:13px}
  .entry__title{font-size:26px}
  .entry__info{flex-direction:column;gap:4px;font-size:14px}
  .entry__info i{display:none}
  .entry__lead{font-size:13px}
  .form{padding:24px 18px}
  .form__submit{height:64px;font-size:18px}
  .mid-cta{display:none}
  .entry--cta .entry__band{padding-bottom:56px}
  .sticky-cta{display:block;transform:translateY(110%);transition:transform .3s;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(25,25,25,.95)}
  .sticky-cta .btn{height:56px;font-size:16px}
}

/* SP: 事例・特典を横スワイプのカルーセルに */
@media (max-width:767px){
  .videos,.case-grid,.bonus{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;margin-left:-16px;margin-right:-16px;padding:0 16px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .videos::-webkit-scrollbar,.case-grid::-webkit-scrollbar,.bonus::-webkit-scrollbar{display:none}
  .videos > li,.case-grid > li,.bonus > li{flex:0 0 80%;scroll-snap-align:start}
  .video-card__text,.video-card--main .video-card__text{font-size:14px;padding:2px 14px 14px}
  .video-card--main .video-card__co{font-size:12px;padding:10px 14px 0}
  .case-card__co{display:block}
  .case-card__text{font-size:14px}
  .case-grid .case-card__img{aspect-ratio:16/9}
}

/* 2タイプ: 受注までの人数を横棒で（両タイプ同じ目盛り＝最大80人） */
.funnel2{margin:20px 0 16px}
.funnel2 li{display:grid;grid-template-columns:4em 1fr;align-items:center;gap:10px;padding:3px 0;font-size:13px;font-weight:700}
.funnel2__k{text-align:right;color:var(--text)}
.type-card--dark .funnel2__k{color:#bbb}
.funnel2__bar{display:flex;align-items:center;gap:8px}
.funnel2__bar i{display:block;height:16px;width:max(4px,calc(var(--n) / 80 * 78%));background:#bdbdbd}
.type-card--dark .funnel2__bar i{background:#6a6a6a}
.funnel2__bar b{font-size:15px;font-weight:900}
.funnel2 li:last-child .funnel2__bar i{background:var(--red)}
.funnel2 li:last-child .funnel2__bar b,.funnel2 li:last-child .funnel2__k{color:var(--red)}
.type-card--dark .funnel2 li:last-child .funnel2__bar b,.type-card--dark .funnel2 li:last-child .funnel2__k{color:#ff5a63}
.types__lead{position:relative;z-index:2;text-align:center;font-size:22px;font-weight:900;margin:48px 0 28px}
.types__lead b{color:var(--red)}
.types__lead + .types__grid{margin-top:0}

/* SP: 縦に間延びするセクションを詰める */
@media (max-width:767px){
  .sec{padding:48px 0}
  .sec__head{margin-bottom:20px}
  .problem-list{gap:6px}
  .problem-list li{padding:10px 18px 10px 14px;font-size:14.5px;line-height:1.5;gap:10px}
  .problem-list .ico-check{width:20px;height:20px}
  .problem-close{margin-top:24px;font-size:16px}
  /* 2タイプ: 2枚を横並びにして1画面に */
  .types__band{padding:36px 12px 40px}
  .types__title span{font-size:20px;padding:10px 20px}
  .types__lead{font-size:14px;margin:18px 0 12px}
  .types__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0}
  .type-card,.type-card--dark{padding:14px 12px 12px;clip-path:none}
  .type-card__icon{display:none}
  .type-card__title{font-size:16px;letter-spacing:.02em;margin-top:0}
  .type-card__sub{font-size:11px;line-height:1.5}
  .funnel2{margin:10px 0 8px}
  .funnel2 li{grid-template-columns:3.3em 1fr;gap:5px;padding:2px 0;font-size:10px;white-space:nowrap}
  .funnel2__bar{gap:4px}
  .funnel2__bar i{height:10px;width:max(3px,calc(var(--n) / 80 * 70%))}
  .funnel2__bar b{font-size:11px}
  .type-card__list li{font-size:11.5px;line-height:1.45;gap:5px;padding:4px 0;align-items:flex-start}
  .type-card__list .ico-check,.type-card__list .ico-x{width:14px;height:14px;margin-top:2px}
  .types .note{font-size:10px;margin-top:8px}
  .types__bridge{margin-top:20px;font-size:14.5px}
  /* BEFORE/AFTER */
  .ba{grid-template-rows:auto 36px auto}
  .ba__col{padding:16px 18px 10px 14px}
  .ba__img{aspect-ratio:21/9;margin:-16px -18px 10px -14px}
  .ba__label{font-size:17px;margin-bottom:2px}
  .ba__col li{font-size:14px;padding:7px 0;gap:10px}
  .ba__col li .ico-check,.ba__col li .ico-x{width:20px;height:20px}
  /* Bootcampとは */
  .about{gap:16px}
  .about__text p{font-size:14.5px;line-height:1.8}
  .spec{margin-top:16px;gap:6px}
  .spec li{padding:10px}
  .spec__ico{display:none}
  /* カリキュラム: 章番号を左に寄せた行にする */
  .curri{gap:6px}
  .curri li{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center;padding:10px 14px 10px 10px;clip-path:none}
  .curri__no{grid-row:span 2;text-align:center;font-size:9px;line-height:1.1}
  .curri__no b{display:block;font-size:20px}
  .curri h3{font-size:15px;margin:0}
  .curri h3 br{display:none}
  .curri p{font-size:12px;line-height:1.55}
  .curri__work .curri__no{padding-top:0;font-size:8px}
}

/* SP: カリキュラムを縦のフローに（章番号を縦線でつなぐ） */
@media (max-width:767px){
  .curri{position:relative;gap:0}
  .curri li{grid-template-columns:48px 1fr;column-gap:14px;align-items:start;background:none;box-shadow:none;padding:0 0 18px}
  .curri li:not(.curri__work)::before{content:"";position:absolute;left:23px;top:0;bottom:0;width:2px;background:var(--red);opacity:.35}
  .curri li:first-child::before{top:24px}
  .curri__no{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--white);border:2px solid var(--red);font-size:7px;line-height:1;letter-spacing:.04em}
  .curri__no b{font-size:17px;margin-top:2px}
  .curri h3{padding-top:4px}
  .curri li:nth-child(7)::after{content:"";position:absolute;left:16px;bottom:-2px;width:16px;height:16px;border:solid var(--red);border-width:0 3px 3px 0;transform:rotate(45deg)}
  .curri li:nth-child(7){padding-bottom:30px}
  .curri .curri__work{grid-template-columns:48px 1fr;padding:14px 14px 14px 0;background:var(--black)}
  .curri__work .curri__no{border:0;background:none;color:var(--red);width:48px;height:auto;font-size:8px;line-height:1.3}
}

/* BEFORE/AFTER: 写真を背景に敷く */
.ba__col{position:relative;overflow:hidden;color:var(--white);background:#111;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end}
.ba__col .ba__img{position:absolute;inset:0;margin:0;aspect-ratio:auto;z-index:0}
.ba__col .ba__img img{width:100%;height:100%;object-fit:cover}
.ba__col::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.55) 40%,rgba(0,0,0,.85) 100%)}
.ba__col--after::after{background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(15,15,15,.6) 40%,rgba(15,15,15,.88) 100%)}
.ba__col > *:not(.ba__img){position:relative;z-index:1}
.ba__label{color:#cfcfcf}
.ba__col--after .ba__label{color:#ff4a54}
.ba__col li{border-bottom-color:rgba(255,255,255,.2)}
.ba__col--before .ico-x circle{fill:#8a8a8a}
@media (max-width:767px){.ba__col{min-height:300px}.ba__col .ba__img{margin:0}}

@media (max-width:767px){.curri li:not(.curri__work) .curri__no{font-size:0}.curri li:not(.curri__work) .curri__no b{font-size:18px;margin:0}}

/* カリキュラム: 最後のマスをGOALに */
.curri .curri__work{background:var(--white);color:var(--ink);border:2px solid var(--red);clip-path:none}
.curri__work .curri__no{font-size:22px;padding-top:0;color:var(--red)}
.curri__work h3{font-size:17px}
.curri__work p{color:var(--text)}
@media (max-width:767px){
  .curri .curri__work{background:var(--white);padding:14px 14px 14px 10px}
  .curri__work .curri__no{width:48px;height:48px;border-radius:50%;background:var(--red);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}
  .curri__work h3{font-size:15px}
}

/* カリキュラム: スクロールで上から順に出す（JSがあるときだけ） */
.js-anim .curri li{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.js-anim .curri.is-in li{opacity:1;transform:none}
.js-anim .curri li:nth-child(2){transition-delay:.12s}
.js-anim .curri li:nth-child(3){transition-delay:.24s}
.js-anim .curri li:nth-child(4){transition-delay:.36s}
.js-anim .curri li:nth-child(5){transition-delay:.48s}
.js-anim .curri li:nth-child(6){transition-delay:.6s}
.js-anim .curri li:nth-child(7){transition-delay:.72s}
.js-anim .curri li:nth-child(8){transition-delay:.9s}
@media (max-width:767px){
  .js-anim .curri li::before{transform:scaleY(0);transform-origin:top;transition:transform .35s ease;transition-delay:inherit}
  .js-anim .curri.is-in li::before{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .js-anim .curri li,.js-anim .curri li::before{opacity:1;transform:none;transition:none}
}

/* SP: 章番号を丸から斜めのタグに */
@media (max-width:767px){
  .curri li:not(.curri__work) .curri__no,.curri__work .curri__no{width:48px;height:32px;border:0;border-radius:0;background:var(--black);color:var(--white);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
  .curri li:not(.curri__work) .curri__no b{font-size:17px}
  .curri__work .curri__no{background:var(--red);font-size:11px}
  .curri li:first-child::before{top:16px}
  .curri h3{padding-top:2px}
}

@media (max-width:767px){.curri-bg{display:none}}

/* SP: カリキュラムをシェブロン型に（カードの下辺が次の章を指す。矢印・縦線なし） */
@media (max-width:767px){
  .curri{gap:4px}
  .curri li{background:var(--white);box-shadow:none;padding:14px 14px 26px 12px;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),50% 100%,0 calc(100% - 12px))}
  .curri li:not(.curri__work)::before,.curri li:nth-child(7)::after{display:none}
  .curri li:nth-child(7){padding-bottom:26px}
  .curri li:nth-child(even):not(.curri__work){background:#f7f7f7}
  .curri .curri__work{clip-path:none;padding:14px 14px 14px 12px;margin-top:2px}
  .curri__no{align-self:start}
}

/* フォームページ: PCは左に勉強会の内容と特典、右にフォーム。SPはフォームの下に特典 */
.contact-grid{display:grid;grid-template-columns:380px minmax(0,1fr);gap:32px;align-items:start;max-width:1120px}
.contact-grid .form{grid-column:2;grid-row:1}
.contact-aside{grid-column:1;grid-row:1;position:sticky;top:24px;background:var(--white);padding:32px 28px;border-top:6px solid var(--black);box-shadow:0 16px 40px rgba(0,0,0,.08)}
.contact-grid .form-back{grid-column:1 / -1}
.contact-aside__title{font-size:18px;font-weight:900}
.contact-aside__info{margin-top:12px}
.contact-aside__info div{display:grid;grid-template-columns:5.5em 1fr;gap:8px;padding:8px 0;border-bottom:1px solid #ececec;font-size:14px}
.contact-aside__info dt{font-weight:900;color:var(--text)}
.contact-aside__info dd{font-weight:700}
.contact-aside__sub{margin-top:24px;font-size:18px;font-weight:900}
.contact-aside__sub em{font-style:italic;color:var(--red);font-size:1.3em;margin:0 2px}
.contact-aside__bonus li{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #ececec;font-size:13px;font-weight:700;line-height:1.5}
.contact-aside__bonus img,.contact-aside__noimg{width:96px;height:60px;object-fit:cover;background:repeating-linear-gradient(45deg,#eee 0 6px,#f6f6f6 6px 12px)}
.contact-aside__bonus b{display:block;font-size:11px;font-style:italic;color:var(--red)}
.contact-aside__note{margin-top:12px;font-size:12px;color:var(--text)}
@media (max-width:1024px){.contact-grid{grid-template-columns:320px minmax(0,1fr);gap:20px}}
@media (max-width:767px){
  .contact-grid{display:block}
  .contact-aside{position:static;margin-top:24px;padding:24px 18px}
}

/* SP: 代表メッセージは写真を小さく右に置き、本文を回り込ませる */
@media (max-width:767px){
  .message__inner{display:flow-root}
  .message__photo{float:right;width:118px;max-width:none;margin:0 0 10px 14px;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);border-bottom-width:4px}
  .message__title{font-size:22px;margin:4px 0 16px}
  .message__body > p{font-size:14.5px}
  .message__name{margin-top:20px!important}
}

/* サンクスページ */
.thanks .entry__band{padding-bottom:110px}
.thanks__box{background:var(--white);padding:40px 48px;border-top:6px solid var(--red);box-shadow:0 16px 40px rgba(0,0,0,.08)}
.thanks__head{font-size:20px;font-weight:900}
.thanks__steps{margin-top:16px}
.thanks__steps li{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #ececec;font-weight:700;font-size:15px;line-height:1.6}
.thanks__steps b{display:flex;align-items:center;justify-content:center;height:30px;background:var(--black);color:var(--white);font-style:italic;font-size:15px;clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%)}
.thanks__note{margin-top:20px;font-size:13px;color:var(--text)}
@media (max-width:767px){
  .thanks .entry__band{padding-bottom:88px}
  .thanks__box{padding:24px 18px}
  .thanks__head{font-size:17px}
  .thanks__steps li{grid-template-columns:44px 1fr;font-size:14px}
}

/* 2タイプ: 写真を帯からカードの下まで背景に敷き、縦を詰める */
@media (min-width:768px){.types__band{padding:64px 16px 56px}.types__title span{font-size:38px;padding:14px 56px}}
.types__body{position:relative;z-index:2;max-width:1120px;margin:0 auto;text-align:left}
.types__body .types__lead{color:var(--white);margin:28px 0 20px}
.types__body .types__lead b{color:#ff4a54}
.types__body .note{color:#9a9a9a}
.types__art{width:42%}
.types .type-card--light{background:rgba(255,255,255,.96)}
.types .type-card--dark{background:rgba(24,24,24,.82);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.types__bridge{margin-top:48px}
@media (min-width:768px){
  .types .type-card,.types .type-card--dark{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;align-items:center;padding:28px 44px 28px 36px}
  .types .type-card--dark{padding:28px 36px 28px 52px}
  .types .type-card__icon{display:none}
  .types .type-card__title,.types .type-card__sub{grid-column:1 / -1}
  .types .type-card__title{font-size:26px;margin-top:0}
  .types .funnel2{margin:14px 0 0}
  .types .type-card__list{margin-top:14px}
  .types .type-card__list li{font-size:14px;padding:6px 0;align-items:flex-start;line-height:1.5}
  .types .type-card__list .ico-check,.types .type-card__list .ico-x{width:20px;height:20px;margin-top:1px}
}
/* 2タイプの締め: 説明とCTAボタンを1つに */
.types__close{margin-top:48px;padding:0 24px 80px;text-align:center}
.types__close-text{font-size:17px;font-weight:700;line-height:1.9}
.types__close-text b{display:block;margin-top:4px;font-size:22px;font-weight:900}
.types__close-text em{font-style:normal;color:var(--red)}
.types__close .fv__cta{width:100%;max-width:660px;margin:28px auto 0}
/* 差別化の流れ: 原因 → 3つ → 1人では難しい → Bootcampで一緒に */
.diff__cause{font-size:30px;font-weight:900;line-height:1.6;letter-spacing:.03em}
.diff__cause em{font-style:normal;color:var(--red);border-bottom:4px solid var(--red)}
.diff{margin:40px auto 0;max-width:1000px}
.diff__lead{font-size:20px;font-weight:900}
.diff__lead em{font-style:italic;color:var(--red);font-size:1.4em;margin:0 2px}
.diff__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.diff__list li{background:var(--white);padding:22px 20px 20px;box-shadow:0 8px 24px rgba(0,0,0,.07);border-top:4px solid var(--red)}
.diff__list b{display:block;font-size:30px;font-weight:900;font-style:italic;color:var(--red);line-height:1}
.diff__k{margin-top:10px;font-size:19px;font-weight:900;line-height:1.5}
.diff__k em{font-style:normal;color:var(--red)}
.diff__s{margin-top:6px;font-size:12px;font-weight:700;letter-spacing:.08em;color:#8a8a8a}
.diff__hard{margin-top:40px;font-size:18px;font-weight:700;color:var(--text)}
.diff__answer{margin-top:14px;font-size:26px;font-weight:900;line-height:1.6}
.diff__answer em{font-style:normal;color:var(--red)}
.diff__note{margin-top:12px;font-size:15px;font-weight:700;line-height:1.8;color:var(--text)}
@media (max-width:767px){
  .diff__cause{font-size:19px}
  .diff{margin-top:28px}
  .diff__lead{font-size:16px}
  .diff__list{grid-template-columns:1fr;gap:8px}
  .diff__list li{display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:center;padding:14px 16px;text-align:left}
  .diff__list b{grid-row:span 2;font-size:24px}
  .diff__k{margin:0;font-size:16px}
  .diff__s{margin-top:2px;font-size:11px}
  .diff__hard{margin-top:28px;font-size:14.5px}
  .diff__answer{font-size:18px}
  .diff__note{font-size:13px}
}
@media (max-width:767px){
  .types__body .types__lead{margin:18px 0 12px;text-align:center}
  .types__art{width:50%;opacity:.45}
  .types__close{margin-top:32px;padding:0 16px 56px}
  .types__close-text{font-size:13px;text-align:left}
  .types__close-text br{display:none}
  .types__close-text b{font-size:16px;margin-top:8px}
  .types__close .fv__cta{margin-top:20px}
}
.types__close .fv__cta .fv__cta-main,.types__close .fv__cta .fv__cta-sub{background:none;padding:0;clip-path:none;line-height:1.3}
.types__close .fv__cta .fv__cta-main{display:flex;font-size:30px;letter-spacing:.08em}
.types__close .fv__cta .fv__cta-sub{display:flex;font-size:15px;letter-spacing:.1em}
@media (max-width:767px){
  .types__close .fv__cta .fv__cta-main{font-size:19px;font-style:italic}
  .types__close .fv__cta .fv__cta-sub{display:none}
}

/* 支援事例: PC・SPとも横に流れるカルーセル（自動で送る。触ると止まる） */
.slider{position:relative}
.videos,.case-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.videos::-webkit-scrollbar,.case-grid::-webkit-scrollbar{display:none}
.videos > li,.case-grid > li{flex:0 0 calc((100% - 32px) / 3);scroll-snap-align:start}
.case-grid{margin-top:0}
.slider + .slider{margin-top:32px}
.video-card--main{grid-row:auto}
.video-card--main .video-card__co{padding:10px 14px 0;font-size:12px}
.video-card--main .video-card__text{font-size:14px;padding:2px 14px 14px}
.video-card--main .play{width:56px;height:56px;margin:-28px 0 0 -28px}
.video-card--main .play::after{left:22px;top:17px;border-width:11px 0 11px 16px}
.video-card__tag{display:none}
.slider__nav{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.slider__btn{position:relative;width:44px;height:44px;border:0;background:var(--black);cursor:pointer;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.slider__btn::before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border:solid var(--white);border-width:2px 2px 0 0;transform:translate(-70%,-50%) rotate(45deg)}
.slider__btn--prev::before{transform:translate(-30%,-50%) rotate(-135deg)}
.slider__btn:hover{background:var(--red)}
@media (max-width:1024px){.videos > li,.case-grid > li{flex-basis:calc((100% - 16px) / 2)}}
@media (max-width:767px){
  .slider__nav{display:none}
  .videos > li,.case-grid > li{flex:0 0 80%}
  .slider + .slider{margin-top:16px}
}

/* 見出しの斜線は行数に関係なく1行目の高さに固定 */
.sec__title::before{top:.22em;bottom:auto;height:1em}

/* PCの余白: セクション間CTAは前のセクションの中に入れ、上下の余白を詰める */
.mid-cta{position:relative;z-index:1;padding:48px 24px 0;background:none}
@media (min-width:768px){
  .sec{padding:80px 0}
  .types__close{padding-bottom:64px}
}

/* コピーの流れの調整 */
.fv__try{position:relative;z-index:2;margin-top:20px;font-size:14px;font-weight:700}
.fv__try + .fv__cta{margin-top:10px}
.problem-bridge{margin-top:28px;text-align:center;font-size:22px;font-weight:900}
.problem-bridge em{font-style:italic;color:var(--red);font-size:1.3em;margin:0 2px}
.types__band .types__ask{margin:28px 0 0;text-align:center;font-size:24px}
@media (min-width:768px){.types__title span{font-size:34px}}
@media (max-width:767px){
  .fv__try{margin-top:14px;font-size:12px}
  .problem-bridge{font-size:16px;margin-top:20px}
  .types__band .types__ask{margin-top:18px;font-size:16px}
}
.types__body .types__grid{margin-top:36px}
@media (max-width:767px){.types__body .types__grid{margin-top:20px}}

/* BEFORE/AFTER: AFTERを主役に（大きく・赤の縁取り・見出しつき） */
.ba__head{font-size:22px;font-weight:900;line-height:1.4;margin:-4px 0 8px}
.ba__col--before .ba__head{color:#bbb}
.ba__col--after{box-shadow:0 0 0 3px var(--red),0 18px 40px rgba(215,12,24,.25)}
.ba__col--after .ba__head{font-size:28px;color:var(--white)}
.ba__col--after li{font-size:19px}
@media (min-width:768px){
  .ba{grid-template-columns:.85fr 64px 1.15fr;align-items:end}
  .ba__col--before{min-height:340px;opacity:.85}
  .ba__col--after{min-height:440px}
}
@media (max-width:767px){
  .ba__head{font-size:17px}
  .ba__col--after .ba__head{font-size:21px}
  .ba__col--after li{font-size:15px}
  .ba__col--before{min-height:250px}
  .ba__col--after{min-height:330px}
}

/* カリキュラム: 3つのPARTにまとめる */
.curri-groups{display:flex;flex-direction:column;gap:16px}
.curri-group__label{display:flex;align-items:baseline;gap:12px;font-size:20px;font-weight:900;margin-bottom:10px}
.curri-group__label b{font-size:13px;font-style:italic;color:var(--white);background:var(--red);padding:2px 12px;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);letter-spacing:.06em}
@media (min-width:768px){
  .curri-group{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:center}
  .curri-group__label{flex-direction:column;align-items:flex-start;gap:6px;margin:0;font-size:19px;line-height:1.4}
  .curri-groups .curri{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  .curri-groups{gap:20px}
  .curri-group__label{font-size:16px;margin-bottom:8px}
}

/* 支援事例カード: 課題→効果を2行で一目に */
.case-card__pe{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.case-card__p,.case-card__e{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;font-size:13px;line-height:1.5;font-weight:700}
.case-card__e{font-size:15px;font-weight:900}
.case-card__pe i{font-style:normal;font-size:11px;font-weight:900;padding:1px 7px;margin-top:2px;background:#d6d6d6;color:var(--ink)}
.case-card__e i{background:var(--red);color:var(--white)}
.case-card__p{color:var(--text)}
.case-grid .case-card__img{aspect-ratio:2/1}
.case-card__body{padding:12px 20px 14px 14px}
.case-card__more{padding-top:8px}
@media (max-width:767px){.case-card__e{font-size:14px}}

/* セクション間CTAの上の一言 */
.mid-cta{flex-direction:column;align-items:center}
.cta-note{margin-bottom:12px;font-size:15px;font-weight:700;text-align:center}

/* BEFORE/AFTER(PC): 1枚のパネルを斜めに区切り、境目に赤い斜線 */
@media (min-width:768px){
  .ba{display:grid;grid-template-columns:42fr 58fr;gap:0;position:relative;align-items:stretch;min-height:480px;box-shadow:0 24px 48px rgba(0,0,0,.18)}
  .ba__arrow{position:absolute;left:42%;top:50%;z-index:3;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:var(--red);box-shadow:0 0 0 6px #fff}
  .ba__arrow::before{width:18px;height:18px;margin:-9px 0 0 -14px;border-color:#fff;border-width:0 5px 5px 0}
  .ba__col{min-height:480px!important;clip-path:none;box-shadow:none;opacity:1!important;padding:48px 64px 44px 48px}
  .ba__col--before{clip-path:polygon(0 0,100% 0,calc(100% - 40px) 100%,0 100%);margin-right:-40px}
  .ba__col--after{clip-path:polygon(40px 0,100% 0,100% 100%,0 100%);padding-left:88px;border-top:0}
  .ba__col--after::after{background:linear-gradient(90deg,rgba(10,10,10,.82) 0%,rgba(10,10,10,.6) 55%,rgba(10,10,10,.25) 100%)}
  .ba__col--before::after{background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.7))}
  .ba__col{justify-content:center}
  .ba__label{font-size:20px}
  .ba__col--after .ba__label{color:#fff;display:inline-block;align-self:flex-start;background:var(--red);padding:2px 16px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
  .ba__col--before .ba__head{font-size:22px;color:#9a9a9a}
  .ba__col--after .ba__head{font-size:34px;margin:10px 0 14px}
  .ba__col--before li{font-size:15px;color:#bbb}
  .ba__col--after li{font-size:19px}
}
@media (min-width:768px){
  .ba__arrow{position:absolute;left:42%;top:0;bottom:0;z-index:3;width:14px;height:auto;margin:0 0 0 33px;border-radius:0;box-shadow:none;background:var(--red);transform:skewX(-4.75deg);transform-origin:top}
  .ba__arrow::before{display:none}
}

/* お悩み: 見出しをやめ、問いかけ → 悩み6つ → 次へのつなぎ */
.problem-q{text-align:center;font-size:32px;font-weight:900;line-height:1.6;letter-spacing:.04em;margin-bottom:40px;word-break:auto-phrase}
.problem-q em{font-style:normal;color:var(--red);border-bottom:4px solid var(--red)}
.problem-bridge{margin-top:48px;font-size:26px}
@media (max-width:767px){
  .problem-q{font-size:20px;margin-bottom:24px;text-align:left}
  .problem-bridge{margin-top:28px;font-size:18px}
}
.problem-bridge{word-break:auto-phrase}
.problem-bridge::after{content:"";display:block;width:2px;height:48px;margin:20px auto 0;background:linear-gradient(var(--red),transparent)}
#problem{padding-bottom:96px}
@media (max-width:767px){#problem{padding-bottom:56px}}
@media (max-width:767px){.problem-bridge::after{height:36px;margin-top:14px}}

/* 見出しラベルをやめ、文章で始めるセクション */
.lead-q{font-size:32px;font-weight:900;line-height:1.55;letter-spacing:.04em;margin-bottom:28px;word-break:auto-phrase}
.lead-q em{font-style:normal;color:var(--red)}
.lead-q--center{text-align:center;margin-bottom:40px}
@media (max-width:767px){
  .lead-q{font-size:21px;margin-bottom:18px}
  .lead-q--center{margin-bottom:24px}
  .lead-q br{display:none}
}
@media (min-width:768px){.lead-q--about{font-size:30px}}

/* お悩み: 「越えるなら、今。」の押し出し */
.problem-push{margin-top:64px;text-align:center}
.problem-push__big{display:inline-block;position:relative;font-size:56px;font-weight:900;letter-spacing:.06em;line-height:1.3;padding:0 8px 10px}
.problem-push__big em{font-style:italic;color:var(--red);font-size:1.25em;margin:0 2px}
.problem-push__big::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--red);transform:skewX(-20deg)}
.problem-push__sub{margin-top:24px;font-size:18px;font-weight:700;line-height:1.9;word-break:auto-phrase}
.problem-push__sub b{color:var(--red);font-weight:900}
.problem-push + .problem-bridge{margin-top:56px}
@media (max-width:767px){
  .problem-push{margin-top:40px}
  .problem-push__big{font-size:38px}
  .problem-push__sub{font-size:14.5px;margin-top:18px;text-align:left}
  .problem-push__sub br{display:none}
  .problem-push + .problem-bridge{margin-top:36px}
}
@media (max-width:767px){.problem-push__sub{text-align:center}.problem-bridge{font-size:16px}}

/* お悩み: 3つに絞り、悩む人の写真を背景に */
.problem-bg{position:absolute;left:0;right:0;top:0;height:78%;pointer-events:none;overflow:hidden}
.problem-bg img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:grayscale(1) contrast(1.05);opacity:.32;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 25%,#000 60%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 25%,#000 60%,transparent 100%)}
#problem .container{position:relative;z-index:1}
.problem-list--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.problem-list--3 li{flex-direction:column;justify-content:center;text-align:center;gap:14px;min-height:180px;padding:28px 32px;font-size:20px;line-height:1.55;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.problem-list--3 li br{display:none}
.problem-list--3 .ico-check{width:36px;height:36px}
@media (max-width:767px){
  .problem-bg{height:70%}
  .problem-bg img{opacity:.28}
  .problem-list--3{grid-template-columns:1fr;gap:8px}
  .problem-list--3 li{flex-direction:row;justify-content:flex-start;text-align:left;min-height:0;padding:14px 22px 14px 16px;font-size:16px;gap:12px}
  .problem-list--3 .ico-check{width:24px;height:24px}
}

/* Bootcampとは: 「それを実現するのが」＋有料/無料の説明 */
.about__catch{font-size:18px;font-weight:900;line-height:1.8;margin-bottom:16px;word-break:auto-phrase}
.about__free{margin-top:28px;padding:18px 24px;background:#f4f4f4;border-left:6px solid var(--red);font-size:16px;font-weight:700;line-height:1.8}
.about__free a{color:var(--red)}
@media (max-width:767px){
  .about__catch{font-size:15.5px}
  .about__free{margin-top:20px;padding:14px 16px;font-size:14px}
}
.problem-push__cta .fv__cta{width:100%;max-width:660px;margin:28px auto 0}
@media (max-width:767px){.problem-push__cta .fv__cta{margin-top:20px}}
@media (max-width:767px){
  .mid-cta.mid-cta--sp{display:flex;padding:28px 0 0}
  .mid-cta--sp .cta-note{font-size:13px}
  .mid-cta--sp .fv__cta{margin-top:0}
}

/* Bootcampとは: 図（3枚の絵を矢印でつなぐ）＋3ステップ＋札 */
.about2__head{text-align:center;margin-bottom:28px}
.about2__pre{font-size:18px;font-weight:700;color:var(--text)}
.about2__title{font-size:40px;font-weight:900;letter-spacing:.04em;line-height:1.4}
.about2__title em{font-style:italic;color:var(--red)}
.about2__flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;padding:32px 40px 28px;background:#f2f2f2;clip-path:polygon(0 0,100% 0,calc(100% - 24px) 100%,0 100%)}
.about2__flow li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.about2__flow li:not(:last-child)::after{content:"";position:absolute;right:-38px;top:38%;width:0;height:0;border-style:solid;border-width:18px 0 18px 20px;border-color:transparent transparent transparent var(--red)}
.about2__img{width:100%;aspect-ratio:1/1;background:#e9e9e9}
.about2__img img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.about2__k{margin-top:10px;font-size:13px;font-weight:700;color:var(--text)}
.about2__tag{margin-top:4px;padding:6px 18px;font-weight:900;font-size:15px;color:var(--white);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.about2__tag--black{background:var(--black)}
.about2__tag--red{background:var(--red)}
.about2__lead{margin:28px 0 24px;text-align:center;font-size:20px;font-weight:900;word-break:auto-phrase}
.about2__lead em{font-style:normal;color:var(--red)}
.about2__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.about2__steps li{background:var(--white);padding:22px 26px;box-shadow:0 8px 24px rgba(0,0,0,.07);border-top:4px solid var(--red)}
.about2__steps b{font-size:34px;font-weight:900;font-style:italic;color:var(--red);line-height:1}
.about2__steps h3{margin-top:8px;font-size:20px;font-weight:900}
.about2__steps p{margin-top:4px;font-size:14px;color:var(--text);line-height:1.7}
.about2__badges{display:flex;justify-content:center;gap:10px;margin-top:24px}
.about2__badges li{display:flex;flex-direction:column;align-items:center;min-width:200px;padding:10px 24px;background:linear-gradient(180deg,#2a2a2a,#151515);color:#bbb;font-size:12px;font-weight:700;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.about2__badges b{color:var(--white);font-size:16px;font-weight:900}
@media (max-width:767px){
  .about2__pre{font-size:14px}
  .about2__title{font-size:26px}
  .about2__flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:16px 10px 14px;clip-path:none}
  .about2__flow li:not(:last-child)::after{right:-14px;border-width:8px 0 8px 9px}
  .about2__k{font-size:10px;margin-top:6px}
  .about2__tag{font-size:10px;padding:4px 6px;line-height:1.3}
  .about2__lead{font-size:16px;margin:20px 0 16px}
  .about2__steps{grid-template-columns:1fr;gap:8px}
  .about2__steps li{display:grid;grid-template-columns:44px 1fr;column-gap:12px;padding:14px 16px;align-items:center}
  .about2__steps b{grid-row:span 2;font-size:26px}
  .about2__steps h3{margin:0;font-size:16px}
  .about2__steps p{font-size:12.5px}
  .about2__badges{flex-direction:column;align-items:stretch;gap:6px;margin-top:16px}
  .about2__badges li{flex-direction:row;justify-content:space-between;min-width:0;padding:10px 18px}
}
@media (max-width:767px){.about2__badges li{padding:8px 18px}.about2__badges b{font-size:14px}.about__free{font-size:13px}}
.ph:has(img)::before{display:none}
.about2__img:has(img){background:none}
.about2__img img{mix-blend-mode:normal}


/* 斜めの角度を20°に統一（小さい札・ボタンは高さから幅を計算。大きい箱は四角） */
.site-header__cta{clip-path:polygon(26px 0px, 100% 0px, 100% 100%, 0px 100%)}
.fv__limit-row{clip-path:polygon(0px 0px, 100% 0px, calc(100% - 21px) 100%, 0px 100%)}
.fv__limit-k{clip-path:polygon(21px 0px, 100% 0px, calc(100% - 21px) 100%, 0px 100%)}
.fv__cta{clip-path:polygon(39px 0px, 100% 0px, calc(100% - 39px) 100%, 0px 100%);padding-right:47px;padding-left:47px}
.fv__photo figcaption{clip-path:polygon(33px 0px, 100% 0px, calc(100% - 33px) 100%, 0px 100%);padding-right:41px;padding-left:41px}
.fv__photo-role{clip-path:polygon(15px 0px, 100% 0px, calc(100% - 15px) 100%, 0px 100%);padding-right:23px;padding-left:23px}
.problem-list li{clip-path:none}
.types__label span{clip-path:polygon(18px 0px, 100% 0px, calc(100% - 18px) 100%, 0px 100%)}
.types__title span{clip-path:polygon(28px 0px, 100% 0px, calc(100% - 28px) 100%, 0px 100%)}
.type-card{clip-path:none}
.ba__label{clip-path:polygon(15px 0px, 100% 0px, calc(100% - 15px) 100%, 0px 100%);padding-right:23px;padding-left:23px}
.about2__flow{clip-path:none}
.about2__tag{clip-path:polygon(15px 0px, 100% 0px, calc(100% - 15px) 100%, 0px 100%);padding-right:23px;padding-left:23px}
.about2__badges li{clip-path:polygon(27px 0px, 100% 0px, calc(100% - 27px) 100%, 0px 100%);padding-right:35px;padding-left:35px}
.curri-group__label b{clip-path:polygon(8px 0px, 100% 0px, calc(100% - 8px) 100%, 0px 100%);padding-right:16px;padding-left:16px}
.slider__btn{clip-path:polygon(16px 0px, 100% 0px, calc(100% - 16px) 100%, 0px 100%)}
.bonus li{clip-path:none}
.bonus__no{clip-path:polygon(0px 0px, 100% 0px, calc(100% - 12px) 100%, 0px 100%);padding-right:20px}
.schedule__badge{clip-path:polygon(10px 0px, 100% 0px, calc(100% - 10px) 100%, 0px 100%);padding-right:18px;padding-left:18px}
.message__photo{clip-path:none}
.message__name span{clip-path:polygon(10px 0px, 100% 0px, calc(100% - 10px) 100%, 0px 100%);padding-right:18px;padding-left:18px}
.faq details{clip-path:none}
.form__submit{clip-path:polygon(28px 0px, 100% 0px, calc(100% - 28px) 100%, 0px 100%);padding-right:36px;padding-left:36px}
.thanks__steps b{clip-path:polygon(11px 0px, 100% 0px, calc(100% - 11px) 100%, 0px 100%)}
@media (max-width:767px){
  .fv__limit-row{clip-path:polygon(0px 0px, 100% 0px, calc(100% - 12px) 100%, 0px 100%);padding-right:20px}
  .fv__limit-k{clip-path:polygon(12px 0px, 100% 0px, calc(100% - 12px) 100%, 0px 100%)}
  .fv__cta{clip-path:polygon(23px 0px, 100% 0px, calc(100% - 23px) 100%, 0px 100%);padding-right:31px;padding-left:31px}
  .fv__photo figcaption{clip-path:polygon(22px 0px, 100% 0px, calc(100% - 22px) 100%, 0px 100%);padding-right:30px;padding-left:30px}
  .fv__photo-role{clip-path:polygon(10px 0px, 100% 0px, calc(100% - 10px) 100%, 0px 100%);padding-right:18px;padding-left:18px}
  .problem-list li{clip-path:none}
  .types__label span{clip-path:polygon(13px 0px, 100% 0px, calc(100% - 13px) 100%, 0px 100%);padding-right:21px;padding-left:21px}
  .types__title span{clip-path:polygon(28px 0px, 100% 0px, calc(100% - 28px) 100%, 0px 100%);padding-right:36px;padding-left:36px}
  .about2__tag{clip-path:polygon(12px 0px, 100% 0px, calc(100% - 12px) 100%, 0px 100%);padding-right:20px;padding-left:20px}
  .about2__badges li{clip-path:polygon(16px 0px, 100% 0px, calc(100% - 16px) 100%, 0px 100%);padding-right:24px;padding-left:24px}
  .curri-group__label b{clip-path:polygon(10px 0px, 100% 0px, calc(100% - 10px) 100%, 0px 100%);padding-right:18px;padding-left:18px}
  .curri__no{clip-path:polygon(12px 0px, 100% 0px, calc(100% - 12px) 100%, 0px 100%)}
  .bonus li{clip-path:none}
  .bonus__no{clip-path:polygon(0px 0px, 100% 0px, calc(100% - 12px) 100%, 0px 100%);padding-right:20px}
  .schedule__badge{clip-path:polygon(10px 0px, 100% 0px, calc(100% - 10px) 100%, 0px 100%);padding-right:18px;padding-left:18px}
  .message__photo{clip-path:none}
  .message__name span{clip-path:polygon(10px 0px, 100% 0px, calc(100% - 10px) 100%, 0px 100%);padding-right:18px;padding-left:18px}
  .faq details{clip-path:none}
  .form__submit{clip-path:polygon(23px 0px, 100% 0px, calc(100% - 23px) 100%, 0px 100%);padding-right:31px;padding-left:31px}
  .thanks__steps b{clip-path:polygon(11px 0px, 100% 0px, calc(100% - 11px) 100%, 0px 100%)}
}
.btn--primary{clip-path:polygon(16px 0,100% 0,calc(100% - 16px) 100%,0 100%)}

/* 20°統一の個別調整 */
.case-card__btn{clip-path:none}
.bonus--3 .bonus__no{clip-path:polygon(0 0,100% 0,calc(100% - 17px) 100%,0 100%);padding-right:26px}
@media (max-width:767px){
  .bonus--3 .bonus__no{clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);padding-right:22px}
  .ba__label{clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
  .curri li:not(.curri__work) .curri__no,.curri__work .curri__no{clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
  .btn--primary{clip-path:polygon(20px 0,100% 0,calc(100% - 20px) 100%,0 100%)}
  .fv__photo-role{white-space:nowrap}
}

/* BEFORE/AFTER(PC): 境目も20° */
@media (min-width:768px){
  .ba__col--before{clip-path:polygon(0 0,100% 0,calc(100% - 175px) 100%,0 100%);margin-right:-175px;padding-right:200px}
  .ba__col--after{clip-path:polygon(175px 0,100% 0,100% 100%,0 100%);padding-left:150px}
  .ba__col--after .ba__col-inner{margin-left:0}
  .ba__arrow{margin:0 0 0 0;transform:skewX(-20deg)}
}
/* BEFORE/AFTER(SP): 斜めの枠をやめ、間は下向きの三角 */
@media (max-width:767px){
  .ba__col,.ba__col--before,.ba__col--after{clip-path:none!important}
  .ba{grid-template-rows:auto 40px auto}
  .ba__arrow::before{top:50%;left:50%;width:0;height:0;margin:-9px 0 0 -16px;border-style:solid;border-width:18px 16px 0 16px;border-color:var(--red) transparent transparent transparent;transform:none}
}

/* FV講師名: 縦線を20°の斜め線に */
.fv__photo-name{position:relative;border-left:0;padding-left:26px}
.fv__photo-name::before{content:"";position:absolute;left:4px;top:2px;bottom:2px;width:5px;background:var(--red);transform:skewX(-20deg)}
@media (max-width:767px){
  .fv__photo-name{padding-left:14px}
  .fv__photo-name::before{left:2px;width:3px}
}

/* CTA: 光が流れるエフェクト（univisと同じshine） */
.fv__cta,.form__submit,.site-header__cta,.sticky-cta .btn,.sp-nav__cta{position:relative;overflow:hidden}
.fv__cta::after,.form__submit::after,.site-header__cta::after,.sticky-cta .btn::after{content:"";position:absolute;top:-10%;left:-75%;width:45%;height:120%;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.45) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);animation:cta-shine 3.2s ease-in-out infinite;pointer-events:none}
@keyframes cta-shine{0%{left:-75%}45%,100%{left:130%}}
.fv__cta:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.fv__cta::after,.form__submit::after,.site-header__cta::after,.sticky-cta .btn::after{animation:none;display:none}}

/* 改行: BudouXで文節ごとに区切り位置を入れてあるので、文節の途中では折り返さない */
body{word-break:keep-all;overflow-wrap:anywhere}
@media (max-width:767px){
  .fv__cta{padding-left:20px;padding-right:20px}
  .fv__cta-main{white-space:nowrap;font-size:18px}
  .fv__photo figcaption{padding:6px 18px 6px 6px}
  .fv__photo-name small,.fv__photo-name strong{white-space:nowrap}
}
@media (min-width:768px){
  .ba__arrow{display:none}
  .ba__col--before{padding-right:230px}
  .ba__col--after{padding-left:170px}
  .ba__col--after::before{content:"";position:absolute;z-index:2;left:-2px;top:0;bottom:0;width:14px;background:var(--red);transform:skewX(-20deg);transform-origin:bottom left}
}
/* 改行の仕上げ: 最後の行に1〜2文字だけ残るのを防ぐ */
h1,h2,h3,.lead-q,.problem-q,.problem-push__sub,.types__bridge,.about2__lead{text-wrap:balance}
p,li,dd,summary,td,.case-card__p,.case-card__e{text-wrap:pretty}
@media (max-width:767px){
  .problem-push__big{font-size:min(38px,9.6vw);white-space:nowrap}
  .about2__tag{padding-left:10px;padding-right:10px;font-size:9.5px;white-space:nowrap}
  .about2__tag br{display:inline}
}

/* FV: 対象限定を外し「売上1億円の壁…」を先頭に。実績の札を追加 */
.fv__copy{padding-top:112px}
.fv__target{margin-top:0;font-size:24px}
.fv__proof{display:flex;gap:8px;margin-top:22px;position:relative;z-index:2}
.fv__proof li{padding:8px 18px;background:var(--black);color:#ddd;font-size:13px;font-weight:700;line-height:1.4;clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%)}
.fv__proof b{color:var(--white);font-size:16px;font-weight:900;margin:0 2px}
.fv__proof li:first-child b{color:#ff4a54}
@media (max-width:767px){
  .fv__copy{padding-top:36px}
  .fv__target{font-size:13.5px;max-width:72%}
  .fv__title{margin-top:18px}
  .fv__proof{flex-direction:column;align-items:flex-start;gap:4px;margin-top:14px;max-width:52%}
  .fv__proof li{padding:4px 12px;font-size:10px;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}
  .fv__proof li br{display:none}
  .fv__proof b{font-size:12px}
}
@media (max-width:767px){
  .fv__target{display:flex!important;font-size:14px;max-width:none;margin-top:0;position:relative;z-index:2}
  .fv__target::after{max-width:60px}
  .fv__info{margin-top:28px}
}

/* SP FV: 日程の枠を外し、実績は写真の下に横幅いっぱいで2つ並べる */
.fv__proof li span{display:inline}
@media (max-width:767px){
  .fv__info{display:none}
  .fv__copy{display:flex;flex-direction:column}
  .fv__proof{order:10;flex-direction:row;align-items:stretch;gap:8px;max-width:none;margin-top:0;padding-top:170px}
  .fv__proof li{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px 14px;font-size:11px;line-height:1.45;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
  .fv__proof li span{display:block}
  .fv__proof b{font-size:15px}
  .fv__proof li:first-child b{font-size:19px}
  .fv__try,.fv__cta,.fv__note-sp{order:11}
  .fv__try{margin-top:18px}
}
@media (max-width:767px){
  .fv__proof{padding-top:0;margin-top:calc(var(--fvp,0px))}
  .fv__proof b{font-size:19px;line-height:1.3}
  .fv__proof li{padding:10px 12px}
}
@media (max-width:767px){.fv__proof{margin-top:102px}}
@media (max-width:767px){.fv__proof{margin-top:max(60px,calc(91vw - 254px))}}
/* PCもFVの日程枠を外す（日程は無料勉強会セクションとフォームで出す） */
.fv__info{display:none}
@media (min-width:768px){
  .fv__proof{margin-top:26px}
  .fv__proof li{padding:10px 22px;font-size:14px}
  .fv__proof b{font-size:18px}
  .fv__try{margin-top:30px}
}
/* PC: 見出し「ら、」と装飾線が重ならないよう、線を見出しの右へ */
@media (min-width:768px){
  .fv__bar--k{left:max(calc(50% + 300px), 940px)}
  .fv__bar--1{left:max(calc(50% + 340px), 980px)}
  .fv__bar--w1{left:max(calc(50% + 400px), 1040px)}
  .fv__title{position:relative;z-index:2}
}
/* 選ばれる理由 */
.reasons{display:flex;flex-direction:column;gap:28px}
.reason{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);background:var(--white);box-shadow:0 10px 30px rgba(0,0,0,.07)}
.reason:nth-child(even){grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.reason:nth-child(even) .reason__img{order:2}
.reason__img{aspect-ratio:16/10;margin:0}
.reason__body{padding:36px 44px;display:flex;flex-direction:column;justify-content:center}
.reason__no{display:flex;align-items:baseline;gap:8px;font-size:14px;font-weight:900;font-style:italic;color:var(--red);letter-spacing:.08em}
.reason__no b{font-size:44px;line-height:1}
.reason__title{margin-top:10px;font-size:24px;font-weight:900;line-height:1.5;padding-bottom:14px;border-bottom:2px solid var(--black)}
.reason__text{margin-top:14px;font-size:15px;line-height:1.9;color:var(--text)}
.reason__text .kari{margin-left:6px}
@media (max-width:767px){
  .reasons{gap:16px}
  .reason,.reason:nth-child(even){grid-template-columns:1fr}
  .reason:nth-child(even) .reason__img{order:0}
  .reason__img{aspect-ratio:16/9}
  .reason__body{padding:18px 18px 20px}
  .reason__no b{font-size:32px}
  .reason__title{font-size:18px;padding-bottom:10px}
  .reason__text{font-size:14px;line-height:1.8}
}
@media (min-width:768px){.reason__img{aspect-ratio:auto;height:100%;min-height:300px}}

/* FV実績: 金の月桂樹バッジ（Codex生成） */
.fv__proof--badge{display:flex;gap:8px;margin-top:18px}
.fv__proof--badge li{padding:0;background:none;clip-path:none;width:150px}
.fv__proof--badge img{display:block;width:100%;height:auto}
@media (max-width:767px){
  .fv__proof--badge{justify-content:center;gap:12px;margin-top:max(40px,calc(91vw - 274px))}
  .fv__proof--badge li{flex:0 0 auto;width:42%;max-width:170px;padding:0;clip-path:none;background:none}
}
.fv__proof--badge li{width:170px}
@media (max-width:767px){.fv__proof--badge{margin-top:max(60px,calc(91vw - 250px))}.fv__proof--badge li{width:40%}}


/* FV実績: 平らな線画の月桂樹バッジ（文字はHTML）。CTAの下に置く */
.fv__awards{position:relative;z-index:2;display:flex;gap:32px;margin-top:22px}
.fv__awards .award{display:flex;align-items:center;gap:6px;color:#9b8136}
.award .laurel{width:30px;height:auto;flex:0 0 auto}
.award .laurel--r{transform:scaleX(-1)}
.award__body{display:flex;flex-direction:column;align-items:center;line-height:1.1}
.award__label{padding:2px 10px;border:1.5px solid currentColor;font-size:12px;font-weight:800;letter-spacing:.08em}
.award__num{margin-top:4px;font-size:40px;font-weight:900;color:var(--black)}
.award__num small{margin-left:2px;font-size:15px;font-weight:900}
.award__sub{margin-top:3px;font-size:10.5px;font-weight:700;color:var(--text)}
@media (max-width:767px){
  .fv__awards{order:12;justify-content:space-around;gap:4px;margin-top:18px}
  .fv__awards .award{gap:3px}
  .award .laurel{width:20px}
  .award__label{font-size:10px;padding:1px 7px}
  .award__num{font-size:30px}
  .award__num small{font-size:12px}
  .award__sub{font-size:8.5px;white-space:nowrap}
}
.award .laurel{width:36px}
@media (max-width:767px){
  .fv__try{margin-top:max(60px,calc(91vw - 230px))}
  .award .laurel{width:26px}
}

/* 社員が同じやり方で売れない理由: ○×の2列で一目に */
.cmp{display:flex;flex-direction:column;gap:8px}
.cmp__head,.cmp__row{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);gap:8px}
.cmp__who{padding:10px;text-align:center;font-size:18px;font-weight:900;letter-spacing:.1em;color:var(--white);background:#6b6b6b}
.cmp__who--boss{background:var(--red)}
.cmp__k{display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;background:var(--black);color:var(--white);font-size:16px;font-weight:900}
.cmp__cell{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--white)}
.cmp__cell p{display:flex;flex-direction:column;line-height:1.45}
.cmp__cell b{font-size:19px;font-weight:900}
.cmp__cell small{margin-top:2px;font-size:12.5px;font-weight:700;color:var(--text)}
.cmp-ico{flex:0 0 auto;width:34px;height:34px}
.cmp-ico--ok circle{fill:var(--red)}
.cmp-ico--ok path{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.cmp-ico--ng circle{fill:#9a9a9a}
.cmp-ico--ng path{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round}
.cmp__row .cmp__cell:nth-child(3){background:#f1f1f1}
.cmp__row .cmp__cell:nth-child(3) b{color:#6b6b6b}
@media (max-width:767px){
  .cmp{gap:6px}
  .cmp__head,.cmp__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
  .cmp__head span{display:none}
  .cmp__k{grid-column:1 / -1;padding:6px;font-size:13px}
  .cmp__who{padding:6px;font-size:14px}
  .cmp__cell{flex-direction:column;gap:6px;padding:12px 8px;text-align:center}
  .cmp__cell p{align-items:center}
  .cmp__cell b{font-size:15px}
  .cmp__cell small{font-size:10.5px}
  .cmp-ico{width:26px;height:26px}
}

/* 代表メッセージ: 講師の札・肩書・名前を左揃えで整える */
.message__name{display:flex;align-items:center;gap:16px}
.message__role{flex:0 0 auto}
.message__who{display:flex;flex-direction:column;line-height:1.3}
.message__who small{font-size:12px;font-weight:700;color:#bbb;letter-spacing:.06em}
.message__who strong{margin-top:2px;font-size:26px;color:var(--white);letter-spacing:.12em;font-weight:900}
.message__name span.message__who{background:none;padding:0;clip-path:none;color:inherit;font-size:inherit}

/* SP: 特典はカルーセルをやめ、1画面に全部見える縦の一覧に */
@media (max-width:767px){
  .bonus{display:flex!important;flex-direction:column;gap:6px;overflow:visible;margin:0;padding:0;scroll-snap-type:none}
  .bonus > li{flex:none!important;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;min-height:0;box-shadow:0 4px 12px rgba(0,0,0,.05)}
  .bonus .bonus__img{grid-row:1 / span 2;aspect-ratio:auto;width:96px;height:100%;min-height:64px}
  .bonus .bonus__no{position:static;grid-column:2;justify-self:start;margin:8px 0 0 12px;padding:1px 14px 1px 8px;font-size:9px}
  .bonus .bonus__no b{font-size:14px}
  .bonus .bonus__body{grid-column:2;padding:4px 12px 9px 12px}
  .bonus .bonus__body h3,.bonus--5 .bonus__body h3{font-size:13px;line-height:1.45}
  .bonus .bonus__body p{font-size:11px;margin-top:2px;line-height:1.45}
  .bonus--5 li:last-child{grid-column:auto}
}

/* SP FV: 見出しを少し大きくし、「Marketing Bootcamp」を写真の下端（講師の札の横）にそろえて空白をなくす */
@media (max-width:767px){
  .fv__title{font-size:32px;line-height:1.5}
  .fv__lead{margin-top:max(18px,calc(90.6vw - 268px))}
  .fv__try{margin-top:30px}
}

/* SP FV 組み直し: ①Marketing Bootcamp（何のLPか）→②誰向け→③約束＋講師の写真（小）→④CTA→⑤実績 */
@media (max-width:767px){
  .fv__bg{display:none}
  .fv__copy{padding-top:22px}
  .fv .fv__lead{order:-2;margin:0;max-width:none;padding:0 0 12px;flex-direction:column;align-items:flex-start;white-space:normal;border-bottom:2px solid var(--black)}
  .fv .fv__lead::before{display:none}
  .fv .fv__lead > span{font-size:13px;font-weight:800;font-style:normal;letter-spacing:.08em;color:var(--text)}
  .fv .fv__lead strong{display:block;margin-top:2px;font-size:min(42px,11vw);font-weight:900;font-style:italic;line-height:1.1;letter-spacing:-.005em;color:var(--red)}
  .fv .fv__target{order:-1;margin-top:12px;font-size:13.5px}
  .fv .fv__target::after{display:none}
  .fv .fv__title{margin-top:14px;max-width:62%;font-size:min(27px,7vw);line-height:1.45;text-shadow:none}
  .fv .fv__photo{top:calc(22px + min(42px,11vw)*1.1 + 92px);right:-14px;width:42%;max-width:200px}
  .fv .fv__photo img{-webkit-mask-image:linear-gradient(180deg,#000 75%,transparent 100%);mask-image:linear-gradient(180deg,#000 75%,transparent 100%)}
  .fv .fv__photo figcaption{right:14px;bottom:4px;padding:3px 10px 3px 2px;gap:5px}
  .fv .fv__photo-role{font-size:9px;padding:1px 8px;margin-left:4px}
  .fv .fv__photo-name{padding-left:8px}
  .fv .fv__photo-name small{display:none}
  .fv .fv__photo-name strong{font-size:13px;letter-spacing:.08em}
  .fv .fv__photo-name::before{width:2px}
  .fv .fv__try{margin-top:22px}
  .fv__bar--1{height:24%}
  .fv__bar--2,.fv__bar--3{opacity:.5}
}
@media (max-width:767px){
  .fv .fv__title{max-width:none;font-size:min(26px,6.7vw)}
  .fv .fv__title .nw{white-space:nowrap}
  .fv .fv__photo img{-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%),linear-gradient(90deg,transparent 0,#000 22%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,#000 72%,transparent 100%),linear-gradient(90deg,transparent 0,#000 22%);mask-composite:intersect}
  .fv .fv__photo figcaption{right:22px}
  .fv .fv__title{position:relative;z-index:3}
}
@media (max-width:767px){
  .fv .fv__title > .nw{display:block}
  .fv .fv__title > br{display:none}
  .fv .fv__try{margin-top:max(22px,calc(16px + (100vw * .42 * 1.333) - 210px))}
}
@media (max-width:767px){
  .fv .fv__photo img{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 72%,transparent 100%),linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 72%,transparent 100%),linear-gradient(90deg,transparent 0,#000 22%)}
}
/* SP FV: 講師の札をシンプルな黒い帯に（斜めカット・白い札・赤線をやめる） */
@media (max-width:767px){
  .fv .fv__photo figcaption{right:14px;bottom:10px;gap:8px;padding:5px 12px;clip-path:none;background:rgba(25,25,25,.92)}
  .fv .fv__photo-role{margin:0;padding:0;background:none;clip-path:none;color:#ff4a54;font-size:10px;letter-spacing:.1em}
  .fv .fv__photo-name{padding-left:0}
  .fv .fv__photo-name::before{display:none}
  .fv .fv__photo-name strong{font-size:13px;letter-spacing:.1em}
}
@media (max-width:767px){.fv .fv__photo figcaption{right:30px}}

/* FV 案A: 見出しが主役。「Marketing Bootcamp」は見出しの上に中くらいで（PC・SP共通の並び） */
.fv__copy{display:flex;flex-direction:column}
.fv .fv__lead{order:-2;margin:0;padding:0;flex-direction:row;align-items:baseline;gap:14px;max-width:none}
.fv .fv__lead::before{display:none}
.fv .fv__lead > span{font-size:15px;font-weight:800;font-style:normal;letter-spacing:.08em;color:var(--text)}
.fv .fv__lead strong{font-size:34px;font-weight:900;font-style:italic;line-height:1.1;color:var(--red);letter-spacing:0}
.fv .fv__target{order:-1;margin-top:18px}
.fv .fv__title{margin-top:14px}
.fv__try{margin-top:30px}
@media (max-width:767px){
  .fv .fv__lead{flex-direction:column;gap:0;padding:0;border-bottom:0}
  .fv .fv__lead > span{font-size:12px}
  .fv .fv__lead strong{margin-top:0;font-size:min(28px,7.4vw)}
  .fv .fv__target{margin-top:10px;font-size:13px}
  .fv .fv__title{margin-top:12px;font-size:min(31px,8vw);line-height:1.42}
  .fv .fv__photo{top:calc(22px + 112px)}
}
@media (max-width:767px){
  .fv .fv__photo{top:calc(22px + 150px)}
  .fv .fv__try{margin-top:max(24px,calc(150px + (100vw * .42 * 1.333) - 334px + 24px))}
  .fv__bar--1{height:20%}
}
@media (max-width:767px){
  .fv .fv__photo{top:calc(22px + 130px)}
  .fv .fv__try{margin-top:calc(56vw - 132px)}
}
@media (max-width:767px){.fv .fv__lead strong{font-size:min(27px,6.9vw)}}
/* SP FV: 講師の写真を最初の大きさ（幅68%）に戻す */
@media (max-width:767px){
  .fv .fv__photo{top:118px;right:-56px;width:68%;max-width:none}
  .fv .fv__photo img{-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 82%,transparent 100%)}
  .fv .fv__title{position:relative;z-index:3;text-shadow:0 0 12px rgba(245,245,245,.95),0 0 4px rgba(245,245,245,.9)}
  .fv .fv__photo figcaption{right:66px;bottom:14px}
  .fv .fv__try{margin-top:calc(90.7vw - 210px)}
}
@media (max-width:767px){.fv .fv__photo{top:84px}.fv .fv__try{margin-top:calc(90.7vw - 214px)}}
@media (max-width:767px){.fv .fv__try{margin-top:calc(90.7vw - 200px)}.fv .fv__photo img{-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%),linear-gradient(90deg,transparent 0,#000 18%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,#000 82%,transparent 100%),linear-gradient(90deg,transparent 0,#000 18%);mask-composite:intersect}}
/* SP FV: 実績バッジを見出しの下（写真の左の空き）に置く */
@media (max-width:767px){
  .fv .fv__awards{order:1;position:relative;z-index:3;justify-content:flex-start;gap:6px;margin-top:16px;max-width:58%}
  .fv .fv__awards .award{flex:0 0 auto;gap:2px}
  .fv .award .laurel{width:15px}
  .fv .award__label{font-size:8.5px;padding:1px 5px}
  .fv .award__num{font-size:23px}
  .fv .award__num small{font-size:9.5px}
  .fv .award__sub{font-size:6.5px}
  .fv .fv__try{margin-top:calc(90.7vw - 270px)}
}
@media (max-width:767px){
  .fv .fv__awards{flex-direction:column;align-items:flex-start;gap:8px;margin-top:18px}
  .fv .award .laurel{width:17px}
  .fv .award__num{font-size:26px}
  .fv .award__num small{font-size:10.5px}
  .fv .award__label{font-size:9px}
  .fv .award__sub{font-size:7.5px}
  .fv .fv__try{margin-top:calc(90.7vw - 330px)}
}
@media (max-width:767px){.fv .fv__try{margin-top:max(22px,calc(90.7vw - 330px))}}
/* SP FV: 実績バッジ2つを見出しの下に横並び */
@media (max-width:767px){
  .fv .fv__awards{flex-direction:row;align-items:flex-end;gap:4px;margin-top:16px;max-width:none}
  .fv .fv__awards .award{gap:1px}
  .fv .award .laurel{width:13px}
  .fv .award__label{font-size:8px;padding:1px 4px;letter-spacing:.04em}
  .fv .award__num{font-size:24px;margin-top:2px}
  .fv .award__num small{font-size:9.5px;margin-left:1px}
  .fv .award__sub{font-size:6.5px;margin-top:1px}
  .fv .fv__try{margin-top:max(22px,calc(90.7vw - 270px))}
}
/* SP FV: 実績バッジを講師の札と同じ高さに */
@media (max-width:767px){
  .fv .fv__awards{margin-top:calc(90vw - 259px)}
  .fv .fv__try{margin-top:22px}
}
@media (max-width:379px){
  .fv .fv__awards{margin-top:calc(90vw - 244px)}
}
/* SP FV: バッジのラベルと数字の高さをそろえる／「売上1億円の壁…」を目立たせ前後に余白 */
@media (max-width:767px){
  .fv .fv__awards{align-items:flex-start}
  .fv .fv__awards .award{align-items:flex-start}
  .fv .award .laurel{align-self:center}
  .fv .award__body{justify-content:flex-start}
  .fv .fv__target{margin-top:18px;font-size:15.5px;font-weight:900;padding:4px 10px;background:var(--black);color:var(--white);align-self:flex-start}
  .fv .fv__title{margin-top:20px}
}
@media (max-width:767px){.fv .fv__awards{margin-top:calc(90vw - 288px)}}
@media (max-width:379px){.fv .fv__awards{margin-top:calc(90vw - 273px)}}
/* SP FV: 講師の写真を下げて「売上1億円の壁…」の帯と重ならないように */
@media (max-width:767px){
  .fv .fv__photo{top:122px}
  .fv .fv__awards{margin-top:calc(90vw - 250px)}
}
@media (max-width:379px){.fv .fv__awards{margin-top:calc(90vw - 235px)}}
/* 実績バッジ: 2つの高さをそろえ、葉・ラベル・数字の位置を合わせる（PC・SP） */
.fv__awards,.fv .fv__awards{align-items:stretch}
.fv__awards .award,.fv .fv__awards .award{align-items:center}
.award__body,.fv .award__body{align-self:stretch;justify-content:flex-start}
.award .laurel,.fv .award .laurel{align-self:center}
@media (min-width:768px){.fv .fv__lead > span{font-size:20px;color:var(--black)}}
/* FV: 「3ヶ月の経営者勉強会」を大きく（黒）、「Marketing Bootcamp」は名前として小さく（赤） */
.fv .fv__lead{flex-direction:column;align-items:flex-start;gap:4px}
.fv .fv__lead > span{font-size:36px;font-weight:900;font-style:normal;line-height:1.2;letter-spacing:.04em;color:var(--black)}
.fv .fv__lead strong{font-size:20px;font-weight:900;font-style:italic;letter-spacing:.02em;color:var(--red)}
@media (max-width:767px){
  .fv .fv__lead{gap:2px}
  .fv .fv__lead > span{font-size:min(28px,7.4vw);color:var(--black)}
  .fv .fv__lead strong{font-size:min(17px,4.5vw)}
}
@media (max-width:767px){.fv .fv__awards{margin-top:calc(90vw - 256px)}}
@media (max-width:379px){.fv .fv__awards{margin-top:calc(90vw - 241px)}}
/* FV 案A: 上は小さなラベル2行だけ（何の会か／誰向け）。大きい文字は見出しだけ */
.fv .fv__lead{flex-direction:row;align-items:center;gap:0;padding:0}
.fv .fv__lead > span,.fv .fv__lead strong{display:inline-block;padding:6px 14px;font-size:16px;font-weight:900;line-height:1.3;letter-spacing:.06em}
.fv .fv__lead > span{background:var(--black);color:var(--white);font-style:normal}
.fv .fv__lead strong{background:var(--red);color:var(--white);font-style:italic}
.fv .fv__target{margin-top:16px;padding:0;background:none;color:var(--black);font-size:20px;font-weight:800}
.fv .fv__target::after{display:block}
@media (max-width:767px){
  .fv .fv__lead{flex-direction:row;flex-wrap:nowrap}
  .fv .fv__lead > span,.fv .fv__lead strong{padding:5px 10px;font-size:min(14px,3.7vw)}
  .fv .fv__target{margin-top:14px;font-size:min(15px,3.9vw);padding:0;background:none;color:var(--black)}
  .fv .fv__target::after{display:block;flex:1;max-width:none}
  .fv .fv__title{margin-top:16px}
}
@media (max-width:767px){
  .fv .fv__awards{margin-top:calc(90vw - 213px)}
  .fv__bar--1{right:3%;top:14%;height:18%}
}
@media (max-width:379px){.fv .fv__awards{margin-top:calc(90vw - 216px)}}
@media (max-width:767px){
  .fv__bar--1{display:none}
  .fv .fv__photo{top:100px}
  .fv .fv__awards{margin-top:calc(90vw - 235px)}
}
@media (max-width:379px){.fv .fv__awards{margin-top:calc(90vw - 238px)}}

/* FV: 見出しを1つの文に（…仕組みで売れる会社にする／3ヶ月の経営者勉強会 Marketing Bootcamp） */
.fv__title .m1,.fv__title .m2,.fv__title .m3{display:block}
.fv__title .m3{margin-top:12px;font-size:.6em;line-height:1.3}
.fv__title .m3 em{display:block;font-style:italic;color:var(--red);font-size:1.3em;line-height:1.1;letter-spacing:0}
.fv .fv__target{margin-top:0}
@media (max-width:767px){
  .fv .fv__title{font-size:min(27px,7vw);max-width:none;line-height:1.42}
  .fv__title .nwp{display:block;white-space:nowrap}
  .fv__title .m2 .fv__title-red .nwp:last-child{display:inline}
  .fv__title .m3{font-size:.72em;margin-top:10px}
  .fv__title .m3 em{font-size:1.25em}
  .fv .fv__photo{top:70px}
  .fv .fv__awards{margin-top:18px}
  .fv .fv__try{margin-top:max(22px,calc(90.7vw - 290px))}
}
@media (max-width:767px){.fv .fv__try{margin-top:max(22px,calc(90.7vw - 278px))}}

/* FV: 「売上1億円の壁を越えられない社長へ」を目立たせる（赤い下地の帯） */
.fv .fv__target{display:inline-flex;align-self:flex-start;margin-top:0;padding:6px 16px;background:var(--red);color:var(--white);font-size:22px;font-weight:900;letter-spacing:.06em;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);padding-right:30px}
.fv .fv__target::after{display:none}
.fv .fv__title{margin-top:18px}
@media (max-width:767px){
  .fv .fv__target{display:inline-flex!important;padding:5px 22px 5px 10px;font-size:min(16px,4.2vw);clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%);background:var(--red);color:var(--white)}
  .fv .fv__title{margin-top:14px}
}
@media (max-width:767px){
  .fv .fv__photo{top:90px}
  .fv .fv__awards{margin-top:calc(90vw - 274px)}
  .fv .fv__try{margin-top:22px}
}
@media (max-width:379px){.fv .fv__awards{margin-top:calc(90vw - 274px)}}
@media (max-width:767px){.fv .fv__awards{margin-top:calc(90vw - 252px)}}
@media (max-width:379px){.fv .fv__awards{margin-top:calc(90vw - 237px)}}

/* FV: 齋藤さんの写真（背景つき）を左と下でなじませる */
.fv__photo img[src*="saito"]{object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%),linear-gradient(180deg,#000 80%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 18%),linear-gradient(180deg,#000 80%,transparent 100%);mask-composite:intersect}

/* Bootcampとは（定義＋概要表） */
.ab3{display:grid;grid-template-columns:minmax(0,510px) minmax(0,1fr);gap:56px;align-items:center}
@media (min-width:768px){.ab3__title{white-space:nowrap}}
.ab3__pre{font-size:14px;font-weight:900;letter-spacing:.2em;color:var(--red);margin:0 0 8px}
.ab3__title{font-size:40px;font-weight:900;margin:0 0 28px;line-height:1.3}
.ab3__title em{color:var(--red)}
.ab3__def{font-size:24px;font-weight:700;line-height:1.7;margin:0 0 20px}
.ab3__def b{color:var(--red);font-weight:900}
.ab3__desc{font-size:16px;line-height:2;color:#444;margin:0}
.ab3__img{margin:0}
.ab3__img img{width:100%;display:block;aspect-ratio:1.9/1;object-fit:cover;object-position:52% 50%}
.ab3__spec{margin:56px 0 0;border-top:2px solid var(--black)}
.ab3__spec>div{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid #d6d6d6}
.ab3__spec dt{padding:20px 24px;font-weight:900;background:#f3f3f3;font-size:15px}
.ab3__spec dd{margin:0;padding:20px 24px;font-size:16px;font-weight:700}
.ab3__free{margin:28px 0 0;font-size:15px;color:#444}
.ab3__free a{color:var(--red);font-weight:900}
@media (max-width:767px){
  .ab3{grid-template-columns:1fr;gap:24px}
  .ab3__img{margin-top:4px;margin-inline:-20px}
  .ab3__img img{aspect-ratio:1196/518}
  .ab3__title{font-size:28px;margin-bottom:18px}
  .ab3__def{font-size:19px}
  .ab3__desc{font-size:14.5px}
  .ab3__spec{margin-top:32px}
  .ab3__spec>div{grid-template-columns:76px 1fr}
  .ab3__spec dt{padding:14px 12px;font-size:13px}
  .ab3__spec dd{padding:14px;font-size:14px}
}

/* 開催日程：チケット風（ミラーサイト kessansho-kouryukai の .kk-tk と同じ値。ちぎれるホバー付き） */
.kk-tickets{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:20px}
.kk-tk{display:grid;grid-template-columns:1fr 150px;color:#191919;position:relative;cursor:pointer}
.kk-tk::before,.kk-tk::after{content:"";position:absolute;z-index:1;right:139px;width:22px;height:22px;border-radius:50%;background:#fff}
.kk-tk::before{top:-11px}
.kk-tk::after{bottom:-11px}
.kk-tk__main,.kk-tk__stub{background:#f1f1f1;transition:transform .4s cubic-bezier(.3,1.5,.5,1),clip-path .25s ease}
.kk-tk__main{padding:24px 26px}
.kk-tk__main small{font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--red)}
.kk-tk__d{margin:6px 0 0;font-size:40px;font-weight:900;line-height:1.1}
.kk-tk__d em{font-style:normal;font-size:16px;margin-left:8px}
.kk-tk__main p:not(.kk-tk__d){margin:8px 0 0;font-size:14px;line-height:1.7;color:#444}
.kk-tk__stub{border-left:2px dashed #ccc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;transform-origin:0 100%;clip-path:polygon(100% 0,100% 100%,0 100%,0 95.83%,0 91.67%,0 87.5%,0 83.33%,0 79.17%,0 75%,0 70.83%,0 66.67%,0 62.5%,0 58.33%,0 54.17%,0 50%,0 45.83%,0 41.67%,0 37.5%,0 33.33%,0 29.17%,0 25%,0 20.83%,0 16.67%,0 12.5%,0 8.33%,0 4.17%,0 0)}
.kk-tk__stub span{font-size:11px;font-weight:700;color:#666;letter-spacing:.1em;writing-mode:vertical-rl}
.kk-tk.is-next .kk-tk__main{box-shadow:inset 3px 0 0 var(--red),inset 0 3px 0 var(--red),inset 0 -3px 0 var(--red)}
.kk-tk.is-next .kk-tk__stub{box-shadow:inset -3px 0 0 var(--red),inset 0 3px 0 var(--red),inset 0 -3px 0 var(--red)}
.kk-tk:hover .kk-tk__stub{transform:translate(12px,6px) rotate(6deg);clip-path:polygon(100% 0,100% 100%,0 100%,6px 95.83%,0 91.67%,6px 87.5%,0 83.33%,6px 79.17%,0 75%,6px 70.83%,0 66.67%,6px 62.5%,0 58.33%,6px 54.17%,0 50%,6px 45.83%,0 41.67%,6px 37.5%,0 33.33%,6px 29.17%,0 25%,6px 20.83%,0 16.67%,6px 12.5%,0 8.33%,6px 4.17%,0 0)}
.kk-tk__btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;font-size:12px;font-weight:800;white-space:nowrap;text-decoration:none;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);background:var(--red);color:#fff}
.kk-tk__btn.is-ghost{background:#191919}
.kk-tk-foot{margin:20px 0 0;font-size:13px;line-height:1.9;color:#444}
@media (max-width:767px){
  .kk-tickets{grid-template-columns:1fr;gap:16px}
  .kk-tk{grid-template-columns:1fr 110px}
  .kk-tk::before,.kk-tk::after{right:99px}
  .kk-tk__main{padding:18px 20px}
  .kk-tk__d{font-size:32px}
}
.kk-tk-foot b{color:var(--red);font-size:15px}
.tk-panel{margin-bottom:56px}
@media (max-width:767px){.tk-panel{margin-bottom:40px}}

/* 無料勉強会：セクションごと黒。チケットは白 */
.seminar .sec__lead,.seminar .sec__side,.seminar .cta-note{color:#ccc}
.seminar .schedule__head{color:var(--white)}
.seminar .schedule__head span{color:rgba(255,255,255,.7)}
.seminar .kk-tk__main,.seminar .kk-tk__stub{background:#fff}
.seminar .kk-tk::before,.seminar .kk-tk::after{background:var(--black)}
.seminar .kk-tk-foot{color:rgba(255,255,255,.75)}
.seminar .kk-tk-foot b{color:#ff4a54}
.seminar .bonus h3{color:var(--black)}

/* メッセージ：薄いグレーに */
.message .sec__en{color:var(--red)}
.message__body > p{color:#333}
.message__name{color:#666!important}
.message__name span.message__role{background:var(--black);color:var(--white)}
.message__who small{color:#666}
.message__who strong{color:var(--black)}

/* 最後のCTA：黒に（上のメッセージが薄いグレーのため） */
.entry--cta .entry__band{background:linear-gradient(110deg,#222 0%,var(--black) 60%,#141414 100%);color:var(--white)}
.entry--cta .entry__deco{background:linear-gradient(110deg,transparent 0 6%,#4a4a4a 6% 7%,transparent 7% 9%,var(--red) 9% 12%,transparent 12% 86%,var(--red) 86% 89%,transparent 89% 91%,#4a4a4a 91% 92%,transparent 92%)}
.entry--cta .entry__info i{background:#777}
.entry--cta .entry__lead{color:#ccc}
.entry--cta .entry__title em{color:#ff3b46}
.entry--cta{background:var(--black)}

/* FV：齋藤さんの資格 */
.fv__photo-cred{display:block;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.04em;color:#ff4a54;margin-top:2px;white-space:nowrap}
@media (max-width:767px){.fv .fv__photo-cred{font-size:8.5px;margin-top:0}}

.award__num .award__pre{margin:0 2px 0 0}
.reason__fact{display:block;margin-top:10px;font-weight:900;color:var(--red)}
.form__name{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* 日程：同じ内容を4日程・全部無料と分かるように */
.tk-lead{margin-bottom:6px}
.tk-lead__main{font-size:24px;font-weight:900;color:var(--white);line-height:1.5}
.tk-lead__main em{font-style:normal;color:#ff4a54;font-size:1.25em}
.tk-lead__sub{margin-top:6px;font-size:15px;font-weight:700;color:rgba(255,255,255,.8)}
.tk-lead__sub b{color:var(--white);font-size:1.15em}
.tk-lead__free{display:inline-block;margin-left:10px;background:var(--red);color:var(--white);font-weight:900;padding:3px 14px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.kk-tk__stub .kk-tk__free{font-size:20px;font-weight:900;letter-spacing:.14em;color:var(--red)}
.kk-tk__btn{padding:0 12px}
@media (max-width:767px){
  .tk-lead__main{font-size:19px}
  .tk-lead__sub{font-size:13.5px}
  .tk-lead__free{display:table;margin:8px 0 0}
  .kk-tk__stub .kk-tk__free{font-size:16px}
  .kk-tk__btn{font-size:12px;padding:6px 14px;height:auto;line-height:1.35;text-align:center}
}

/* 当日の流れ（タイムライン） */
.tl{margin-top:32px}
.tl__head{display:flex;align-items:baseline;gap:14px;font-size:18px;font-weight:900;color:var(--white)}
.tl__head span{font-size:13px;font-weight:700;color:rgba(255,255,255,.65)}
.tl__list{display:grid;grid-template-columns:1fr 1fr;margin-top:14px;position:relative}
.tl__item{position:relative;padding:22px 26px 22px;border-top:4px solid var(--red);background:rgba(255,255,255,.06)}
.tl__item--meet{border-top-color:#8a8a8a;background:rgba(255,255,255,.03)}
.tl__item::before{content:"";position:absolute;left:20px;top:-11px;width:14px;height:14px;border-radius:50%;background:var(--black);border:4px solid var(--red)}
.tl__item--meet::before{border-color:#8a8a8a}
.tl__item:last-child::after{content:"21:00 終了";position:absolute;right:0;top:-30px;font-size:12px;font-weight:700;color:rgba(255,255,255,.6)}
.tl__time{font-size:30px;font-weight:900;color:var(--white);line-height:1.1;margin-top:6px}
.tl__time span{font-size:15px;margin-left:4px;color:rgba(255,255,255,.75)}
.tl__part{display:inline-block;margin-top:12px;font-size:12px;font-weight:900;letter-spacing:.1em;color:#ff4a54}
.tl__item--meet .tl__part{color:#bbb}
.tl__name{font-size:22px;font-weight:900;color:var(--white);margin-top:2px}
.tl__desc{font-size:14px;color:rgba(255,255,255,.8);margin-top:6px;line-height:1.7}
@media (max-width:767px){
  .tl__list{grid-template-columns:1fr;gap:0;border-left:4px solid var(--red);margin-left:8px}
  .tl__item,.tl__item--meet{border-top:0;background:none;padding:6px 0 22px 22px}
  .tl__item--meet{border-left:4px solid #8a8a8a;margin-left:-4px}
  .tl__item::before{left:-13px;top:10px}
  .tl__item:last-child::after{position:static;display:block;margin-top:14px;content:"21:00 終了"}
  .tl__head{flex-direction:column;gap:0}
  .tl__time{font-size:24px;margin-top:0}
  .tl__name{font-size:19px}
}

/* ヘッダーの申込ボタンは光らせない */
.site-header__cta::after{display:none}
.form__error{margin:0 0 12px;padding:12px 14px;background:#fdecee;color:var(--red);font-size:14px;font-weight:700}
.form__submit:disabled{opacity:.6;cursor:wait}

/* 支援先ロゴの帯（ミラーサイト lp-toplogos.css と同じ値: タイル200px・間隔32px・2段目は半タイルずらし） */
@keyframes logos-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.logos{--tile-w:200px;--tile-gap:32px;position:relative;overflow:hidden;background:var(--black);padding:24px 0}
.logos__row{display:flex;width:max-content;margin:0;padding:0 16px;list-style:none;animation:logos-scroll 28.5s linear infinite;will-change:transform}
.logos__row--b{animation-duration:27s;margin-top:16px;margin-left:calc((var(--tile-w) + var(--tile-gap)) / -2)}
.logos__row li{flex:0 0 var(--tile-w);height:64px;margin-right:var(--tile-gap);display:flex;align-items:center;justify-content:center;background:#fff;border-radius:4px}
.logos__row img{width:auto;height:auto;max-width:120px;max-height:44px}
@media (max-width:767px){
  .logos{--tile-w:136px;--tile-gap:12px;padding:14px 0}
  .logos__row li{height:46px}
  .logos__row img{max-width:96px;max-height:30px}
  .logos__row--b{margin-top:10px}
}
@media (prefers-reduced-motion:reduce){.logos__row{animation:none}}
.logos__row img[src*="jimbocho"]{filter:brightness(0) opacity(.75)}

/* よくある間違い／正解（ミラーサイト /beginner/ の .bg-mis と同じ値） */
.bg-mis__head{display:grid;grid-template-columns:minmax(0,5fr) 64px minmax(0,8fr);margin-top:32px}
.bg-mis__head span{padding:14px;text-align:center;font-size:17px;font-weight:800;color:#fff}
.bg-mis__head .is-ng{background:#000}
.bg-mis__head .is-ok{background:var(--red)}
.bg-mis{list-style:none;margin:12px 0 0;padding:0}
.bg-mis__row{display:grid;grid-template-columns:minmax(0,5fr) 64px minmax(0,8fr);align-items:stretch;margin-top:12px}
.bg-mis__ng{display:flex;align-items:center;gap:16px;padding:20px 22px;background:#f4f5f7;font-size:16px;color:#666}
.bg-mis__x{flex:none;position:relative;width:30px;height:30px;border-radius:50%;background:#111}
.bg-mis__x::before,.bg-mis__x::after{content:"";position:absolute;left:8px;top:14px;width:14px;height:2px;background:#fff;transform:rotate(45deg)}
.bg-mis__x::after{transform:rotate(-45deg)}
.bg-mis__arrow{position:relative;align-self:center;justify-self:center;width:40px;height:14px;background:var(--red)}
.bg-mis__arrow::after{content:"";position:absolute;right:-14px;top:-9px;border-left:16px solid var(--red);border-top:16px solid transparent;border-bottom:16px solid transparent}
.bg-mis__ok{display:flex;align-items:center;padding:20px 26px;border:1px solid #e3e3e3;border-left:5px solid var(--red);background:#fff;font-size:16px;font-weight:800;line-height:1.7;color:#191919}
@media (max-width:767px){
  .bg-mis__head{display:none}
  .bg-mis__row{grid-template-columns:1fr;margin-top:18px}
  .bg-mis__arrow{width:14px;height:16px;margin:8px 0 16px}
  .bg-mis__arrow::after{right:auto;left:-9px;top:auto;bottom:-14px;border-top:16px solid var(--red);border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:0}
  .bg-mis__ng,.bg-mis__ok{font-size:15px;padding:16px}
}

/* FV 齋藤さん：背景を切り抜いた写真なので、左のぼかしは外して下だけフェード */
.fv .fv__photo img{-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 82%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
@media (max-width:767px){.fv .fv__photo img{-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 72%,transparent 100%)}}

/* =========================================================
   落ち着かせる（11/4 MTG「ギラギラを下げてホームページに近づける」）
   コーポレートサイトに合わせる: 斜体をやめる／飾りの斜線・背景の大文字を消す／見出しの印を「短い横線＋英字」に
   申込ボタンの斜めは残す（コーポレートサイトの問い合わせボタンと同じ）
   ========================================================= */
body *{font-style:normal!important}
.fv__deco,.sec__deco,.entry__deco{display:none!important}
.sec__en{display:flex;align-items:center;gap:10px;letter-spacing:.14em}
.sec__en::before{content:"";width:22px;height:2px;background:var(--red)}
.sec__title{padding-left:0!important}
.sec__title::before{display:none!important}
.sec__title em,.problem-push__big em,.tk-lead__main em{font-size:1em!important;margin:0!important}
.fv__target{clip-path:none!important}
.bonus__no,.schedule__badge,.curri-group__label b,.tk-lead__free,.fv__photo-role,.message__role,.thanks__steps b{clip-path:none!important}
.fv__photo figcaption{clip-path:none!important}

/* CTAの光るエフェクトをすべて外す */
.fv__cta::after,.form__submit::after,.site-header__cta::after,.sticky-cta .btn::after{display:none!important;animation:none!important}

/* 申込ボタン: コーポレートサイトのLP（/lp/general/ad-consulting/ の .lp-cta__button）と同じ形と動き
   10度の平行四辺形・赤ベタ。カーソルを合わせると少し浮いて、ずらした影が出る（明るい背景は黒、暗い背景は白） */
.fv__cta,.form__submit,.sticky-cta .btn{clip-path:none!important;transform:skewX(-10deg);background:var(--red)!important;transition:transform .3s,box-shadow .3s}
.fv__cta > *,.form__submit > *,.sticky-cta .btn > *{transform:skewX(10deg)}
.fv__cta:hover,.form__submit:hover{transform:skewX(-10deg) translate(-3px,-3px) scale(1.02);box-shadow:6px 6px 0 var(--black);filter:none}
.seminar .fv__cta:hover,.entry--cta .fv__cta:hover{box-shadow:6px 6px 0 #fff}
.fv__cta{padding-left:28px!important;padding-right:28px!important}
.form__submit{padding-left:28px!important;padding-right:28px!important}
@media (max-width:767px){
  .fv__cta,.form__submit{width:calc(100% - 20px)!important;margin-left:auto!important;margin-right:auto!important}
  .sticky-cta .btn{margin:0 10px}
}

/* 残っていた斜めの飾りをまっすぐに（ボタン四角化に合わせて） */
.fv__photo-name::before,.problem-push__big::after,.entry__info i{transform:none!important}
.ba__label,.slider__btn,.curri__no{clip-path:none!important}
/* ビフォーアフター（PC）の斜めの区切りは残す */
.ab3__pre{display:flex;align-items:center;gap:10px;letter-spacing:.14em}
.ab3__pre::before{content:"";width:22px;height:2px;background:var(--red)}
.sticky-cta .btn > span{display:inline-block}
.sticky-cta .btn{border-radius:0}
@media (min-width:1024px){.fv__photo-role,.fv__photo-name small{white-space:nowrap}}


/* PC: ロゴの帯までファーストビュー（1画面目）に入れる
   FVの高さ = 画面の高さ − ヘッダー72px − ロゴ帯142px。FVの中身は少し詰めて上下中央に置く */
@media (min-width:1024px){
  .logos{padding:14px 0}
  .logos__row li{height:52px}
  .logos__row img{max-height:36px}
  .logos__row--b{margin-top:10px}
  .fv{min-height:calc(100vh - 72px - 142px)}
  .fv__inner,.fv__copy{min-height:inherit}
  .fv__copy{padding-top:48px;padding-bottom:44px;justify-content:center}
  .fv__target{font-size:20px}
  .fv__title{font-size:54px;margin-top:14px}
  .fv__try{margin-top:20px}
  .fv__cta{height:88px}
  .fv__cta-main{font-size:26px}
  .fv__awards{margin-top:14px}
}
/* 画面の高さが低いPC（ノートPCなど）はさらに詰める */
@media (min-width:1024px) and (max-height:880px){
  .fv__copy{padding-top:24px;padding-bottom:22px}
  .fv__target{font-size:17px}
  .fv__title{font-size:44px;margin-top:10px}
  .fv__try{margin-top:14px}
  .fv__cta{height:72px;margin-top:6px}
  .fv__cta-main{font-size:22px}
  .fv__cta-sub{font-size:13px}
  .fv__awards{margin-top:8px;transform:scale(.86);transform-origin:left top;margin-bottom:-12px}
  .fv__photo figcaption{padding:10px 26px;gap:14px;bottom:40px}
  .fv__photo-role{font-size:13px;padding:4px 14px}
  .fv__photo-name small{font-size:12px}
  .fv__photo-name strong{font-size:24px}
}
/* 齋藤さんの写真はFVを詰める前の大きさを保つ（FVより少し大きくして、上の透明な余白をはみ出させる）。
   写真の上14%は透明なので、頭が切れない範囲で FVの高さ×1.1 まで */
@media (min-width:1024px){
  .fv__photo{height:min(783px,calc((100vh - 214px) * 1.1))!important}
}

/* メッセージの写真: 下の赤い線をやめる */
.message__photo{border-bottom:0!important}

/* スマホ: よくある間違い／正解を1項目1枚のカードに（矢印をやめて縦の長さを半分に） */
@media (max-width:767px){
  .bg-mis__row{display:block;margin-top:10px;background:#fff;border:1px solid #e3e3e3;border-left:4px solid var(--red)}
  .bg-mis__ng{background:none;padding:12px 14px 0;gap:8px;font-size:13px;color:#888}
  .bg-mis__x{width:18px;height:18px}
  .bg-mis__x::before,.bg-mis__x::after{left:4px;top:8px;width:10px}
  .bg-mis__arrow{display:none}
  .bg-mis__ok{border:0;padding:4px 14px 12px 40px;font-size:15px;line-height:1.6;position:relative}
  .bg-mis__ok::before{content:"→";position:absolute;left:16px;top:4px;color:var(--red);font-weight:900}
}
@media (max-width:767px){html{scroll-padding-top:64px}}
/* 完了ページ: 中身が短いのでフッターを画面の下に置く */
body:has(.thanks){min-height:100vh;display:flex;flex-direction:column}
body:has(.thanks){padding-bottom:0!important}
body:has(.thanks) main{flex:1;background:linear-gradient(110deg,#f4f4f4,#e6e6e4)}
.thanks,.thanks .entry__band{background:none!important}
/* 完了ページ: 受け付けた内容とカレンダー追加 */
.thanks__entry{margin-top:8px}
.thanks__list{margin:0;border-top:1px solid #e3e3e3}
.thanks__list div{display:grid;grid-template-columns:128px 1fr;border-bottom:1px solid #e3e3e3}
.thanks__list dt{padding:12px 0;font-size:13px;font-weight:700;color:#666}
.thanks__list dd{margin:0;padding:12px 0;font-weight:700;word-break:break-all}
#es-date{color:var(--red);font-size:17px}
.thanks__cal{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.thanks__cal a{flex:1 1 220px;display:flex;align-items:center;justify-content:center;height:52px;border:2px solid var(--black);color:var(--black);font-weight:800;font-size:14px;text-decoration:none}
.thanks__cal a:first-child{background:var(--black);color:#fff}
@media (max-width:767px){.thanks__list div{grid-template-columns:112px 1fr}.thanks__list dd{font-size:14px}}
.thanks__entry .thanks__head{margin-bottom:16px}
.thanks__map{display:inline-block;margin-top:4px;font-size:13px;color:var(--red);font-weight:800}
#es-venue{font-weight:700}
.thanks__tl{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--red)}
.thanks__tl li{position:relative;padding:0 0 12px;font-weight:800}
.thanks__tl li:last-child{padding-bottom:0}
.thanks__tl li::before{content:"";position:absolute;left:-24px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--red)}
.thanks__tl li:last-child::before{background:#bbb}
.thanks__tl b{display:inline-block;width:52px;color:var(--red)}
.thanks__tl span{display:block;margin-left:52px;font-size:13px;font-weight:500;color:#666}
.tl__note{margin-top:10px;font-size:12px;color:rgba(255,255,255,.6)}
/* スマホのロゴ帯はコーポレートサイトと同じ: 1段だけ・タイル200×72・間隔26px・40秒で一周（2段目は出さず読み込みもしない） */
@media (max-width:767px){
  .logos{--tile-w:200px;--tile-gap:26px;padding:24px 0}
  .logos__row{animation-duration:40s}
  .logos__row--b{display:none}
  .logos__row li{height:72px}
  .logos__row img{max-width:120px;max-height:60px}
}
/* 悩みの見出し（スマホ）: 中央寄せ・意味の切れ目で改行し、「売上1億円の壁の前で止まっていませんか。」は1行に収める */
.pq-l{display:inline}
@media (max-width:767px){
  .problem-q{text-align:center;font-size:20px;line-height:1.7}
  .problem-q .pq-l{display:block;white-space:nowrap}
  .problem-q br{display:none}
  .problem-q .pq-l:nth-child(4){margin-top:.4em}
}
/* お客様の声：真ん中の1本を大きく、左右は小さく */
.videos{gap:0;align-items:center;padding:16px 20% 40px;scroll-snap-type:x mandatory}
.videos > li{flex:0 0 100%;scroll-snap-align:center;margin:0 -4%;transform:scale(.8);opacity:.5;transition:transform .4s,opacity .4s,box-shadow .4s}
.videos > li.is-active{transform:none;opacity:1;position:relative;z-index:1;box-shadow:0 14px 36px rgba(0,0,0,.16)}
.videos > li:not(.is-active) .video-card__thumb{cursor:pointer}
.videos > li:not(.is-active) .play{opacity:0}
.videos > li.is-active .video-card__text{font-size:18px;padding:4px 20px 20px}
.videos > li.is-active .video-card__co{font-size:13px;padding:12px 20px 0}
.slider__nav{justify-content:center}
@media (max-width:767px){
  .videos{padding:10px 9% 30px;margin-left:-16px;margin-right:-16px;scroll-padding:0}
  .videos > li{flex:0 0 100%;margin:0 -4%;transform:scale(.86)}
  .videos > li.is-active .video-card__text{font-size:15px;padding:2px 14px 14px}
  .videos > li.is-active .video-card__co{font-size:12px;padding:10px 14px 0}
}
@media (prefers-reduced-motion:reduce){.videos > li{transition:none}}
