@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Oswald:wght@500;600;700&display=swap");

/* ============================================================
   共通設定（root）
============================================================ */
:root{
  --sks-c-red:#D70035;
  --sks-c-red-dark:#A80029;
  --sks-c-black:#111111;
  --sks-c-ink:#1c1c1c;
  --sks-c-gray:#5c5754;
  --sks-c-white:#FFFFFF;
  --sks-c-beige:#EEE9E6;
  --sks-c-line:rgba(17,17,17,.12);
  --sks-c-line-light:rgba(255,255,255,.22);

  --sks-f-base:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --sks-f-num:"Oswald","Noto Sans JP",sans-serif;

  --sks-fs-h2:clamp(30px,4.6vw,62px);
  --sks-fs-h3:clamp(17px,1.6vw,22px);
  --sks-fs-h4:clamp(16px,1.4vw,20px);
  --sks-fs-body:clamp(14px,1.05vw,16px);
  --sks-fs-small:13px;

  --sks-w-max:1180px;
  --sks-pad-x:clamp(20px,5vw,64px);
  --sks-sec-y:clamp(64px,8vw,132px);
  --sks-radius:4px;
  --sks-ease:cubic-bezier(.22,.68,.28,1);
}

/* ============================================================
   ベース
============================================================ */
.sks-purpose,.sks-hours,.sks-change,.sks-homework,.sks-weak,.sks-voice,.sks-safety,
.sks-course,.sks-entry,.sks-faq,.sks-links,.sks-cta,.sks-fixed{
  box-sizing:border-box;
  font-family:var(--sks-f-base);
  color:var(--sks-c-ink);
  line-height:1.9;
  letter-spacing:.02em;
  text-wrap:pretty;
}
.sks-purpose *,.sks-hours *,.sks-change *,.sks-homework *,.sks-weak *,.sks-voice *,
.sks-safety *,.sks-entry *,.sks-faq *,.sks-links *,.sks-cta *,.sks-fixed *{
  box-sizing:border-box;
}
.sks-purpose h2,.sks-hours h2,.sks-change h2,.sks-homework h2,.sks-weak h2,.sks-voice h2,
.sks-safety h2,.sks-entry h2,.sks-faq h2,.sks-links h2,.sks-cta h2{
  margin:0 0 .5em;font-size:var(--sks-fs-h2);font-weight:900;line-height:1.2;letter-spacing:-.01em;
}
section h4{margin:0 0 .4em;font-size:var(--sks-fs-h4);font-weight:700;line-height:1.5;}
section p,section li,section dd,section dt{font-size:var(--sks-fs-body);}
section ul,section ol,section dl{list-style:none;margin:0;padding:0;}
section a{color:var(--sks-c-red);text-decoration:none;transition:color .3s var(--sks-ease),opacity .3s var(--sks-ease);}
section a:hover{color:var(--sks-c-red-dark);}

/* 共通パーツ */
.sks-h3{
  width:100%;margin:56px 0 24px;padding:0 0 12px;
  font-size:var(--sks-fs-h3);font-weight:700;line-height:1.6;
  border-bottom:2px solid var(--sks-c-black);position:relative;
}
.sks-h3::after{content:"";position:absolute;left:0;bottom:-2px;width:64px;height:2px;background:var(--sks-c-red);}
.sks-h3--light{color:var(--sks-c-white);border-bottom-color:var(--sks-c-line-light);}
.sks-h3--inbox{margin-top:0;}
.sks-chip{
  display:inline-block;margin-left:8px;padding:2px 8px;border:1px solid var(--sks-c-red);
  border-radius:999px;font-size:11px;font-weight:700;line-height:1.6;color:var(--sks-c-red);
  vertical-align:middle;white-space:nowrap;
}
.sks-spOnly{display:none;}

.sks-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:60px;padding:16px 38px;border-radius:999px;
  font-size:clamp(14px,1.15vw,17px);font-weight:700;text-align:center;
  transition:transform .3s var(--sks-ease),background-color .3s var(--sks-ease),color .3s var(--sks-ease),box-shadow .3s var(--sks-ease);
  position:relative;overflow:hidden;
}
.sks-btn::after{
  content:"";width:18px;height:8px;flex:none;background:currentColor;
  clip-path:polygon(0 3px,12px 3px,12px 0,18px 4px,12px 8px,12px 5px,0 5px);
  transition:transform .3s var(--sks-ease);
}
.sks-btn:hover::after{transform:translateX(5px);}
.sks-btn--primary{background:var(--sks-c-red);color:var(--sks-c-white);box-shadow:0 10px 26px rgba(215,0,53,.26);}
.sks-btn--primary:hover{background:var(--sks-c-black);color:var(--sks-c-white);transform:translateY(-3px);}
.sks-btn--white{background:var(--sks-c-white);color:var(--sks-c-red);}
.sks-btn--white:hover{background:var(--sks-c-black);color:var(--sks-c-white);transform:translateY(-3px);}
.sks-btn--outline{border:2px solid rgba(255,255,255,.55);color:var(--sks-c-white);}
.sks-btn--outline:hover{background:var(--sks-c-white);color:var(--sks-c-black);transform:translateY(-3px);}

/* ============================================================
   アニメーション
============================================================ */
@keyframes sks-a-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes sks-a-faq{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

.sks-js .sks-reveal{opacity:0;transform:translateY(34px);}
.sks-js .sks-reveal[data-anim="left"]{transform:translateX(-40px);}
.sks-js .sks-reveal[data-anim="scale"]{transform:scale(.94);}
.sks-js .sks-reveal.sks-shown{
  opacity:1;transform:none;
  transition:opacity .8s var(--sks-ease),transform .8s var(--sks-ease);
  transition-delay:calc(var(--sks-d,0) * .09s);
}
@media (prefers-reduced-motion:reduce){
  .sks-js .sks-reveal{opacity:1!important;transform:none!important;}
}

/* ============================================================
   01 講習の目的 sks-purpose
============================================================ */
.sks-purpose{background:var(--sks-c-beige);position:relative;overflow:hidden;}
.sks-purpose::before{
  content:"";position:absolute;top:-16%;right:-8%;width:44vw;height:44vw;
  border-radius:50%;background:rgba(215,0,53,.06);
}
.sks-purpose__inner{position:relative;max-width:var(--sks-w-max);margin:0 auto;padding:var(--sks-sec-y) var(--sks-pad-x);}
.sks-purpose__eyebrow{margin:0 0 18px;font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--sks-c-red);}
.sks-purpose__title{max-width:16em;font-size:clamp(34px,5.6vw,76px)!important;line-height:1.14!important;}
.sks-purpose__lead{max-width:44em;margin:0 0 18px;font-size:clamp(15px,1.2vw,18px);}
.sks-purpose__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);}
.sks-purpose__card{
  position:relative;padding:34px 28px 30px;background:var(--sks-c-white);border-radius:var(--sks-radius);
  border-top:4px solid var(--sks-c-black);
  transition:transform .4s var(--sks-ease),box-shadow .4s var(--sks-ease),border-color .4s var(--sks-ease);
}
.sks-purpose__card:nth-child(2){margin-top:26px;}
.sks-purpose__card:nth-child(3){margin-top:52px;}
.sks-purpose__card:hover{transform:translateY(-8px);border-top-color:var(--sks-c-red);box-shadow:0 18px 40px rgba(17,17,17,.1);}
.sks-purpose__cardNum{
  display:block;font-family:var(--sks-f-num);font-size:44px;font-weight:700;line-height:1;
  color:var(--sks-c-red);margin-bottom:12px;
}
.sks-purpose__cardTitle{margin-bottom:12px;}
.sks-purpose__cardText{margin:0;font-size:14px;color:var(--sks-c-gray);}
.sks-purpose__note{
  margin:36px 0 0;padding:20px 24px;background:var(--sks-c-white);border:1px dashed var(--sks-c-red);
  border-radius:var(--sks-radius);font-size:14px;
}
.sks-purpose__cta{margin-top:36px;}

/* ============================================================
   02 3時間の学習 sks-hours
============================================================ */
.sks-hours{background:var(--sks-c-red);color:var(--sks-c-white);}
.sks-hours__inner{max-width:var(--sks-w-max);margin:0 auto;padding:var(--sks-sec-y) var(--sks-pad-x);}
.sks-hours__title{color:var(--sks-c-white);}
.sks-hours__body{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,64px);align-items:center;}
.sks-hours__num{margin:0;display:flex;align-items:baseline;gap:8px;}
.sks-hours__count{font-family:var(--sks-f-num);font-size:clamp(120px,17vw,260px);font-weight:700;line-height:.82;}
.sks-hours__unit{font-size:clamp(22px,2.4vw,34px);font-weight:900;}
.sks-hours__lead{margin:0 0 20px;font-size:clamp(15px,1.2vw,18px);color:rgba(255,255,255,.92);}
.sks-hours__points{display:flex;flex-direction:column;gap:10px;}
.sks-hours__point{
  position:relative;padding:14px 18px 14px 46px;background:rgba(255,255,255,.1);
  border-radius:var(--sks-radius);font-weight:700;transition:background-color .35s var(--sks-ease);
}
.sks-hours__point:hover{background:rgba(255,255,255,.2);}
.sks-hours__point::before{
  content:"";position:absolute;left:18px;top:50%;transform:translateY(-50%) rotate(-45deg);
  width:12px;height:6px;border-left:3px solid var(--sks-c-white);border-bottom:3px solid var(--sks-c-white);
}

/* ============================================================
   03 変化 sks-change
============================================================ */
.sks-change{background:var(--sks-c-white);}
.sks-change__inner{max-width:var(--sks-w-max);margin:0 auto;padding:var(--sks-sec-y) var(--sks-pad-x);}
.sks-change__list{display:flex;flex-direction:column;gap:16px;}
.sks-change__row{
  display:grid;grid-template-columns:1fr 64px 1fr;grid-template-areas:"before arrow after" "note note note";
  gap:12px 18px;align-items:center;padding:24px 26px;background:var(--sks-c-beige);border-radius:var(--sks-radius);
}
.sks-change__before{grid-area:before;margin:0;font-weight:700;color:var(--sks-c-gray);}
.sks-change__after{grid-area:after;margin:0;font-weight:900;color:var(--sks-c-black);font-size:clamp(15px,1.3vw,19px);}
.sks-change__tag{display:block;font-family:var(--sks-f-num);font-size:11px;letter-spacing:.2em;color:var(--sks-c-gray);margin-bottom:2px;}
.sks-change__tag--after{color:var(--sks-c-red);}
.sks-change__arrow{grid-area:arrow;margin:0;height:2px;background:var(--sks-c-line);position:relative;}
.sks-change__arrow::after{
  content:"";position:absolute;right:0;top:-4px;border-left:10px solid var(--sks-c-red);
  border-top:5px solid transparent;border-bottom:5px solid transparent;
}
.sks-change__arrow::before{
  content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--sks-c-red);
  transform-origin:left;animation:sks-a-grow 1.4s var(--sks-ease) infinite;
}
.sks-change__note{grid-area:note;margin:0;font-size:13px;color:var(--sks-c-gray);border-top:1px dashed var(--sks-c-line);padding-top:10px;}
.sks-change__quote{
  margin:0;padding:clamp(26px,3vw,44px);background:var(--sks-c-black);color:var(--sks-c-white);
  border-radius:var(--sks-radius);position:relative;
}
.sks-change__quote::before{content:"";position:absolute;left:0;top:0;width:6px;height:100%;background:var(--sks-c-red);}
.sks-change__quoteText{margin:0 0 14px;font-size:clamp(15px,1.25vw,18px);}
.sks-change__quoteFoot cite{font-style:normal;}
.sks-change__quoteFoot{font-size:13px;color:rgba(255,255,255,.65);}

/* ============================================================
   04 宿題サポート sks-homework
============================================================ */
.sks-homework{background:var(--sks-c-beige);}
.sks-homework__inner{max-width:var(--sks-w-max);margin:0 auto;padding:var(--sks-sec-y) var(--sks-pad-x);}
.sks-homework__lead{max-width:100%;font-size:clamp(15px,1.2vw,18px);}
.sks-homework__list{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--sks-c-line);border:1px solid var(--sks-c-line);}
.sks-homework__item{background:var(--sks-c-white);padding:28px 26px;transition:background-color .35s var(--sks-ease),color .35s var(--sks-ease);}
.sks-homework__item:hover{background:var(--sks-c-black);color:var(--sks-c-white);}
.sks-homework__item:hover .sks-homework__itemText{color:rgba(255,255,255,.75);}
.sks-homework__itemTitle{position:relative;padding-left:22px;}
.sks-homework__itemTitle::before{
  content:"";position:absolute;left:0;top:.55em;width:12px;height:6px;
  border-left:3px solid var(--sks-c-red);border-bottom:3px solid var(--sks-c-red);transform:rotate(-45deg);
}
.sks-homework__itemText{margin:0;font-size:14px;color:var(--sks-c-gray);}
.sks-homework__parent{
  margin-top:36px;padding:clamp(24px,3vw,38px);background:var(--sks-c-white);
  border-left:6px solid var(--sks-c-red);border-radius:var(--sks-radius);
}
.sks-homework__parentText{margin:0;font-size:15px;}
.sks-homework__list li{margin-top:0;margin-bottom:0;}

/* ============================================================
   05 苦手克服 sks-weak
============================================================ */
.sks-weak{background:var(--sks-c-white);}
.sks-weak__inner{max-width:var(--sks-w-max);margin:0 auto;padding:var(--sks-sec-y) var(--sks-pad-x);}
.sks-weak__lead{max-width:100%;min-height:101px;font-size:clamp(15px,1.2vw,18px);}
.sks-weak__steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.sks-weak__step{
  padding:26px 20px 24px;background:var(--sks-c-beige);border-radius:var(--sks-radius);position:relative;
  transition:transform .35s var(--sks-ease),background-color .35s var(--sks-ease);
}
.sks-weak__step:hover{transform:translateY(-6px);background:var(--sks-c-black);}
.sks-weak__step:hover .sks-weak__stepTitle{color:var(--sks-c-white);}
.sks-weak__step:hover .sks-weak__stepText{color:rgba(255,255,255,.75);}
.sks-weak__stepNum{
  display:flex;align-items:baseline;gap:6px;font-family:var(--sks-f-num);font-size:11px;
  letter-spacing:.16em;color:var(--sks-c-red);margin-bottom:10px;
}
.sks-weak__stepNum em{font-style:normal;font-size:38px;font-weight:700;line-height:.9;}
.sks-weak__stepText{margin:0;font-size:13px;color:var(--sks-c-gray);}

/* ============================================================
   06 講座一覧 sks-course
============================================================ */
.sks-course{background:var(--sks-c-white);}
.sks-course *{box-sizing:border-box;}
.sks-course__inner{max-width:var(--sks-w-max);margin:0 auto;padding:var(--sks-sec-y) var(--sks-pad-x);}
.sks-course__title{margin:0 0 .5em;font-size:var(--sks-fs-h2);font-weight:900;line-height:1.2;letter-spacing:-.01em;}
.sks-course__lead{max-width:100%;font-size:clamp(15px,1.2vw,18px);}
.sks-course__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);}
.sks-course__card{
  display:flex;flex-direction:column;padding:20px 22px 26px;background:var(--sks-c-beige);
  border-radius:var(--sks-radius);border-bottom:4px solid var(--sks-c-black);scroll-margin-top:90px;padding-top:26px;
  transition:transform .4s var(--sks-ease),box-shadow .4s var(--sks-ease),border-color .4s var(--sks-ease);
}
.sks-course__card:hover{transform:translateY(-8px);border-bottom-color:var(--sks-c-red);box-shadow:0 20px 46px rgba(17,17,17,.12);}
.sks-ph{
  margin:0 0 18px;display:flex;align-items:flex-end;aspect-ratio:4/3;overflow:hidden;
  background:
    repeating-linear-gradient(135deg,rgba(17,17,17,.05) 0 10px,rgba(17,17,17,0) 10px 20px),
    var(--sks-c-beige);
  border:1px solid var(--sks-c-line);border-radius:var(--sks-radius);
}
.sks-ph__note{
  margin:0;padding:10px 14px;width:100%;background:rgba(255,255,255,.72);
  font-family:var(--sks-f-num);font-size:11px;letter-spacing:.08em;color:var(--sks-c-gray);
}
.sks-course__brand{
  margin:0 0 8px;align-self:flex-start;padding:3px 12px;border-radius:999px;
  font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--sks-c-white);background:var(--sks-c-black);
}
.sks-course__brand--sk{background:var(--sks-c-red);}
.sks-course__brand--ss{background:var(--sks-c-black);}
.sks-course__brand--hm{background:var(--sks-c-gray);}
.sks-course__name{
  width:100%;margin:0 0 14px;padding-bottom:10px;font-size:clamp(17px,1.5vw,21px);font-weight:900;
  line-height:1.5;border-bottom:2px solid var(--sks-c-black);position:relative;
}
.sks-course__name::after{content:"";position:absolute;left:0;bottom:-2px;width:52px;height:2px;background:var(--sks-c-red);}
.sks-course__text{margin:0;font-size:14px;color:var(--sks-c-gray);}
.sks-course__subList{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.sks-course__sub{font-size:13px;color:var(--sks-c-gray);padding-left:14px;border-left:2px solid var(--sks-c-red);}
.sks-course__subLabel{display:block;font-weight:700;color:var(--sks-c-black);}
.sks-course__spec{margin:0 0 20px;border-top:1px solid var(--sks-c-line);}
.sks-course__specRow{display:grid;grid-template-columns:6.5em 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--sks-c-line);}
.sks-course__specRow dt{margin:0;font-size:12px;font-weight:700;color:var(--sks-c-gray);}
.sks-course__specRow dd{margin:0;font-size:13px;font-weight:700;}
.sks-btn--small{
  min-height:50px;padding:12px 24px;font-size:14px;border:2px solid var(--sks-c-black);
  color:var(--sks-c-black);align-self:flex-start;margin-top:auto;
}
.sks-btn--small:hover{background:var(--sks-c-red);border-color:var(--sks-c-red);color:var(--sks-c-white);transform:translateY(-3px);}

/* ============================================================
   07 声 sks-voice
============================================================ */
.sks-voice{background:var(--sks-c-beige);}
.sks-voice__inner{max-width:var(--sks-w-max);margin:0 auto;padding:var(--sks-sec-y) var(--sks-pad-x);}
.sks-voice__list{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,24px);}
.sks-voice__item{
  padding:32px 30px;background:var(--sks-c-white);border-radius:var(--sks-radius);position:relative;
  transition:transform .35s var(--sks-ease),box-shadow .35s var(--sks-ease);
}
.sks-voice__item:nth-child(even){margin-top:24px;}
.sks-voice__item:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(17,17,17,.1);}
.sks-voice__item::before{
  content:"“";position:absolute;top:6px;right:22px;font-family:var(--sks-f-num);font-size:76px;
  line-height:1;color:rgba(215,0,53,.16);
}
.sks-voice__quote{margin:0;}
.sks-voice__text{margin:0 0 14px;font-size:15px;font-weight:500;}
.sks-voice__meta cite{font-style:normal;}
.sks-voice__meta{margin:0;font-size:12px;letter-spacing:.06em;color:var(--sks-c-gray);border-top:1px solid var(--sks-c-line);padding-top:12px;}

/* ============================================================
   07 安心・安全 sks-safety
============================================================ */
.sks-safety{background:var(--sks-c-white);}
.sks-safety__inner{max-width:var(--sks-w-max);margin:0 auto;padding:var(--sks-sec-y) var(--sks-pad-x);}
.sks-safety__list{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);}
.sks-safety__item{padding:30px 26px;border:1px solid var(--sks-c-line);border-radius:var(--sks-radius);transition:border-color .35s var(--sks-ease),transform .35s var(--sks-ease);}
.sks-safety__item:hover{border-color:var(--sks-c-red);transform:translateY(-5px);}
.sks-safety__num{display:block;font-family:var(--sks-f-num);font-size:34px;font-weight:700;color:var(--sks-c-red);line-height:1;margin-bottom:12px;}
.sks-safety__itemText{margin:0;font-size:14px;color:var(--sks-c-gray);}

/* ============================================================
   08 申込みの流れ sks-entry
============================================================ */
.sks-entry{background:var(--sks-c-beige);scroll-margin-top:60px;}
.sks-entry__inner{max-width:var(--sks-w-max);margin:0 auto;padding:var(--sks-sec-y) var(--sks-pad-x);}
.sks-entry__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.sks-entry__step{position:relative;padding:30px 24px;background:var(--sks-c-white);border-radius:var(--sks-radius);transition:transform .35s var(--sks-ease);}
.sks-entry__step:hover{transform:translateY(-6px);}
.sks-entry__step:not(:last-child)::after{
  content:"";position:absolute;right:-12px;top:50%;transform:translateY(-50%);z-index:1;
  width:0;height:0;border-left:12px solid var(--sks-c-red);border-top:8px solid transparent;border-bottom:8px solid transparent;
}
.sks-entry__stepNum{display:block;font-family:var(--sks-f-num);font-size:34px;font-weight:700;line-height:1;color:var(--sks-c-red);margin-bottom:10px;}
.sks-entry__stepText{margin:0;font-size:13px;color:var(--sks-c-gray);}

/* ============================================================
   09 FAQ sks-faq
============================================================ */
.sks-faq{background:var(--sks-c-white);}
.sks-faq__inner{max-width:900px;margin:0 auto;padding:var(--sks-sec-y) var(--sks-pad-x);}
.sks-faq__list{display:flex;flex-direction:column;gap:10px;}
.sks-faq__item{border:1px solid var(--sks-c-line);border-radius:var(--sks-radius);background:var(--sks-c-white);overflow:hidden;transition:border-color .3s var(--sks-ease);}
.sks-faq__item[open]{border-color:var(--sks-c-red);}
.sks-faq__q{
  list-style:none;cursor:pointer;padding:22px 60px 22px 58px;position:relative;
  font-size:clamp(15px,1.2vw,17px);font-weight:700;transition:background-color .3s var(--sks-ease);
}
.sks-faq__q::-webkit-details-marker{display:none;}
.sks-faq__q:hover{background:var(--sks-c-beige);}
.sks-faq__q::before{
  content:"Q";position:absolute;left:22px;top:50%;transform:translateY(-50%);
  font-family:var(--sks-f-num);font-size:20px;font-weight:700;color:var(--sks-c-red);
}
.sks-faq__q::after{
  content:"";position:absolute;right:24px;top:50%;width:14px;height:14px;
  border-right:2px solid var(--sks-c-black);border-bottom:2px solid var(--sks-c-black);
  transform:translateY(-70%) rotate(45deg);transition:transform .35s var(--sks-ease);
}
.sks-faq__item[open] .sks-faq__q::after{transform:translateY(-30%) rotate(225deg);}
.sks-faq__a{padding:0 30px 24px 58px;position:relative;}
.sks-faq__a::before{content:"A";position:absolute;left:22px;top:0;font-family:var(--sks-f-num);font-size:20px;font-weight:700;color:var(--sks-c-gray);}
.sks-faq__a p{margin:0;color:var(--sks-c-gray);}
.sks-faq__item[open] .sks-faq__a{animation:sks-a-faq .4s var(--sks-ease);}
.sks-faq__cta{margin-top:40px;text-align:center;}

/* ============================================================
   10 関連ページ sks-links
============================================================ */
.sks-links{background:var(--sks-c-beige);}
.sks-links__inner{max-width:var(--sks-w-max);margin:0 auto;padding:var(--sks-sec-y) var(--sks-pad-x);}
.sks-links__list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.sks-links__link{
  display:flex;flex-direction:column;gap:6px;height:100%;padding:24px 26px;background:var(--sks-c-white);
  border-radius:var(--sks-radius);color:var(--sks-c-ink);position:relative;overflow:hidden;
  transition:transform .35s var(--sks-ease),color .35s var(--sks-ease);
}
.sks-links__link::before{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--sks-c-red);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--sks-ease);
}
.sks-links__link:hover{transform:translateY(-5px);color:var(--sks-c-ink);}
.sks-links__link:hover::before{transform:scaleX(1);}
.sks-links__name{font-size:17px;font-weight:900;}
.sks-links__desc{font-size:13px;color:var(--sks-c-gray);}
ul.sks-links__list {padding-left:0;}

/* ============================================================
   11 CTA sks-cta
============================================================ */
.sks-cta{background:var(--sks-c-red);color:var(--sks-c-white);scroll-margin-top:60px;}
.sks-cta__inner{max-width:var(--sks-w-max);margin:0 auto;padding:var(--sks-sec-y) var(--sks-pad-x) calc(var(--sks-sec-y) + 20px);}
.sks-cta__title{color:var(--sks-c-white);}
.sks-cta__lead{max-width:40em;margin:0 0 34px;color:rgba(255,255,255,.85);}
.sks-cta__actions{display:flex;flex-wrap:wrap;gap:14px;}

/* ============================================================
   12 追従CTA sks-fixed
============================================================ */
.sks-fixed{
  position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;
  grid-template-columns:repeat(3,1fr);gap:1px;background:var(--sks-c-black);
  transform:translateY(110%);transition:transform .4s var(--sks-ease);
}
.sks-fixed.sks-shown{transform:none;}
.sks-fixed__btn{
  min-height:56px;display:flex;align-items:center;justify-content:center;
  background:var(--sks-c-black);color:var(--sks-c-white);font-size:14px;font-weight:700;
}
.sks-fixed__btn--main{background:var(--sks-c-red);color:var(--sks-c-white);}
.sks-fixed__btn:hover{color:var(--sks-c-white);opacity:.85;}

/* ============================================================
   レスポンシブ
============================================================ */
@media (max-width:1024px){
  .sks-purpose__cards{grid-template-columns:1fr 1fr;}
  .sks-purpose__card:nth-child(3){margin-top:0;}
  .sks-safety__list,.sks-links__list,.sks-course__grid{grid-template-columns:1fr 1fr;}
  .sks-weak__steps{grid-template-columns:repeat(2,1fr);}
  .sks-entry__steps{grid-template-columns:repeat(2,1fr);}
  .sks-homework__list{grid-template-columns:1fr 1fr;}
  .sks-hours__body{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .sks-spOnly{display:inline;}
  .sks-purpose__cards,.sks-homework__list,.sks-weak__steps,.sks-safety__list,
  .sks-links__list,.sks-entry__steps,.sks-voice__list,.sks-course__grid{grid-template-columns:1fr;}
  .sks-purpose__card:nth-child(2),.sks-voice__item:nth-child(even){margin-top:0;}
  .sks-change__row{grid-template-columns:1fr;grid-template-areas:"before" "arrow" "after" "note";}
  .sks-change__arrow{width:2px;height:26px;margin:0 auto;}
  .sks-change__arrow::before{width:2px;height:100%;animation:none;}
  .sks-change__arrow::after{right:-4px;top:auto;bottom:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:10px solid var(--sks-c-red);border-bottom:0;}
  .sks-entry__step:not(:last-child)::after{right:50%;top:auto;bottom:-12px;transform:translateX(50%) rotate(90deg);}
  .sks-fixed{display:grid;}
  .sks-cta__inner{padding-bottom:calc(var(--sks-sec-y) + 70px);}
}
