 @charset "UTF-8";
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* 横揺れ防止 */
html, body {
  overflow-x: hidden;
  width: 100%;
}

:root{
    --teal:#00E1DA; --teal-deep:#1C8FA0; --teal-text:#189E86; --teal-text-hover:#084F49;
    --teal-bg:#EAF8F6; --card-border:#D8EEEC;
    --ink:#17242A; --ink-soft:#22383D; --ink-mute:#4C5C60; --ink-faint:#7C8C8F; --ink-faintest:#AEB8B9;
    --red:#E23B2E; --red-hover:#C42B1F; --blue:#1E5FA8; --blue-bg:#EAF1FB;
  }
  *{box-sizing:border-box}
  body{margin:0;background:#fff;color:var(--ink);font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}
  a{color:var(--teal-text);text-decoration:none}
  a:hover{color:var(--teal-text-hover)}
  img{max-width:100%}


  .camp{font-family:'Noto Sans JP',sans-serif;color:var(--ink)}
  .camp-inner{max-width:1080px;margin:0 auto}
  .camp h2{text-align:center;margin:0 0 28px;font-family:'Shippori Mincho',serif;font-weight:700;color:var(--ink);font-size:22px}
  .camp-hero{position:relative;overflow:hidden;padding:48px 40px 12px;background:linear-gradient(180deg,rgba(255,255,255,0.35) 0%,rgba(255,255,255,0.85) 75%,#fff 100%)}
  .camp-hero::before{content:"";position:absolute;inset:0;background:url('assets/hero-bg.jpg') left 70%/160% auto no-repeat;opacity:0.45;pointer-events:none}
  .camp-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 0%,rgba(255,246,214,0.35) 0%,rgba(255,246,214,0) 45%);pointer-events:none}
  .camp-ray{position:absolute;top:-20%;right:2%;width:28px;height:195%;background:linear-gradient(180deg,rgba(255,255,255,0.95) 0%,rgba(255,255,255,0.45) 50%,rgba(255,255,255,0) 90%);transform-origin:top center;filter:blur(1.5px);pointer-events:none;z-index:0}
  .camp-ray-1{transform:rotate(28deg)}
  .camp-ray-2{transform:rotate(12deg);width:22px;opacity:0.75}
  .camp-ray-3{transform:rotate(42deg);width:22px;opacity:0.7}
  .camp-hero-row{position:relative;z-index:1;display:flex;align-items:flex-start;gap:28px;flex-wrap:wrap;max-width:1080px;margin:0 auto}
  .camp-eyebrow{color:var(--red);font-weight:700;font-size:23px;margin:0 0 14px;letter-spacing:0.04em;white-space:nowrap}
  .camp-hero h1{margin:0;font-family:'Shippori Mincho',serif;font-weight:900;color:var(--blue);font-size:36px;line-height:1.6;white-space:nowrap}
  .camp-hero h1 span{color:var(--blue)}
  .camp-price-row{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}
  .camp-price-normal{text-align:center}
  .camp-price-normal small{display:block;font-size:12px;color:var(--ink-faint)}
  .camp-price-normal strong{font-size:24px;text-decoration:line-through;color:var(--ink-faint);font-weight:500}
  .camp-price-special{background:var(--teal-bg);border-radius:6px;padding:8px 18px;text-align:center;border:1px solid var(--card-border)}
  .camp-price-special small{display:block;font-size:11px;font-weight:700;color:var(--teal-text)}
  .camp-price-special strong{font-size:28px;font-weight:700;color:var(--teal-text)}
  .camp-cta{display:inline-block;background:var(--red);color:#fff;font-weight:600;font-size:15px;padding:15px 30px;border-radius:999px;margin-top:22px;letter-spacing:0.02em;transition:background .15s ease,transform .15s ease}
  .camp-cta:hover{background:var(--red-hover);color:#fff;transform:translateY(-2px)}
  .camp-cta-hero{font-size:17px;padding:19px 42px;box-shadow:0 8px 22px rgba(226,59,46,0.3)}
  .camp-cta-wide{display:inline-block;text-align:center;margin-top:0}
  .camp-offer-cta-wrap{text-align:center}
  .camp-hero-photo{flex:0 0 280px;width:280px;height:280px;border-radius:6px;overflow:hidden}
  .camp-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
  .camp-badge-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 0 14px}
  .camp-badge-chip{background:#fff;border:1px solid var(--card-border);color:var(--teal-text);font-size:11.5px;font-weight:700;padding:6px 13px 6px 10px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 6px rgba(23,36,42,0.05);display:inline-flex;align-items:center;gap:5px}
  .camp-badge-chip::before{content:'\2713';color:var(--teal-text);font-weight:700}
  .camp-reassure-mini{margin:14px 0 0;font-size:12px;color:var(--ink-mute);display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
  .camp-reassure-mini span{background:var(--teal-bg);border-radius:999px;padding:6px 14px}
  .camp-price-special{position:relative}
  .camp-campaign-tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;font-size:10px;font-weight:700;padding:4px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 3px 8px rgba(226,59,46,0.35)}
  .camp-big-price{position:relative}
  .camp-quickcta{background:#fff;padding:40px 40px;text-align:center;border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border);margin:56px 0}
  .camp-quickcta p{margin:0 0 16px;font-size:15px;font-weight:700;color:var(--ink);line-height:1.6}

  .camp-symptoms{background:var(--teal-bg);padding:48px 40px}
  .camp-symptom-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:32px}
  .camp-symptom-card{background:#fff;border:1px solid var(--card-border);border-radius:8px;padding:8px 8px 4px;text-align:center;display:flex;flex-direction:column}
  .camp-symptom-card .check{display:block;color:var(--red);font-weight:700;font-size:16px;margin-bottom:8px}
  .camp-symptom-card b{display:block;font-size:12.5px;line-height:1.5;font-weight:500;color:var(--ink-soft)}
  .camp-symptom-card img{margin:10px auto 0;display:block;width:128px;height:128px;object-fit:contain}
  .camp-two-col{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}
  .camp-two-col p{font-size:16px;line-height:1.95;margin:0 0 16px;color:var(--ink-soft)}
  .camp-sky-photo{flex:0 0 300px;width:300px;height:240px;border-radius:6px;overflow:hidden}
  .camp-sky-photo img{width:100%;height:100%;object-fit:cover;display:block}

  .camp-beginner{padding:44px 40px 8px}
  .camp-beginner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
  .camp-beginner-card{background:var(--teal-bg);border-radius:8px;padding:20px;font-size:13px;line-height:1.8;color:var(--ink-soft)}
  .camp-beginner-card b{display:block;font-size:14px;color:var(--ink);margin-bottom:6px}
  .camp-about{padding:52px 40px}
  .camp-about .lead{font-weight:700;color:var(--teal-text);font-size:15px;margin:0 0 18px}
  .day-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:20px}
  .day-flow-step{background:var(--teal-bg);border-radius:8px;padding:16px 10px;text-align:center}
  .day-flow-step .num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--teal-deep);color:#fff;font-size:12px;font-weight:700;margin-bottom:8px}
  .day-flow-step p{margin:0;font-size:12px;line-height:1.6;color:var(--ink-soft)}
  .camp-tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
  .camp-tags span{background:#fff;border:1px solid var(--card-border);color:var(--ink-soft);font-size:12.5px;font-weight:500;padding:8px 16px;border-radius:999px;white-space:nowrap}
  .camp-lookup-photo{flex:0 0 300px;width:300px;border-radius:6px;align-self:center}
  .camp-lookup-photo img{width:100%;height:240px;border-radius:6px;overflow:hidden;object-fit:cover;object-position:65% center;display:block}

  .camp-testimonial{background:var(--teal-bg);padding:52px 40px}
  .camp-testimonial-row{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
  .camp-badge{flex:0 0 140px;height:140px;border-radius:50%;background:#fff;border:1px solid var(--card-border);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px}
  .camp-badge strong{color:var(--teal-text);font-size:13px;line-height:1.4;font-family:'Noto Sans JP',sans-serif;font-weight:700}
  .camp-badge span{font-size:12px;color:var(--ink-faint);margin-top:6px}
  .camp-testimonial blockquote{flex:1;min-width:280px;font-size:13.5px;line-height:1.9;margin:0;color:var(--ink-soft)}
  .camp-testimonial blockquote p{margin:0 0 10px}
  .camp-stretch-photo{flex:0 0 200px;width:200px;height:140px;border-radius:6px;overflow:hidden}
  .camp-stretch-photo img{width:100%;height:100%;object-fit:cover;display:block}

  .camp-closing{padding:52px 40px 20px}
  .camp-closing-copy{display:flex;gap:32px;flex-wrap:wrap;font-size:13.5px;line-height:1.9;margin-bottom:36px;color:var(--ink-soft)}
  .camp-closing-copy p{flex:1;min-width:260px;margin:0}
  .camp-offer{border:1.5px solid var(--card-border);border-radius:8px;padding:30px 32px;background:var(--teal-bg)}
  .camp-offer h3{font-weight:600;color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:17px;margin:0 0 18px}
  .camp-offer-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:22px}
  .camp-offer-copy{flex:1;min-width:220px;font-size:13.5px;line-height:1.85;margin:0;color:var(--ink-soft)}
  .camp-offer-prices{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}
  .camp-mini-price{text-align:center}
  .camp-mini-price div:first-child{font-size:12px;color:var(--ink-faint)}
  .camp-mini-price div:last-child{font-size:17px;font-weight:500;text-decoration:line-through;color:var(--ink-faint)}
  .camp-big-price{background:#fff;border:1px solid var(--card-border);border-radius:6px;padding:10px 18px;text-align:center}
  .camp-big-price div:first-child{font-size:12px;font-weight:700;color:var(--teal-text)}
  .camp-big-price div:last-child{font-size:23px;font-weight:700;color:var(--teal-text)}
  .camp-big-price span{font-size:13px;font-weight:500}
  .camp-deadline{flex:0 0 72px;height:72px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11.5px;font-weight:700;line-height:1.4}
  .camp-offer-note{text-align:center;font-size:12px;color:var(--ink-faint);margin:10px 0 0}
  .camp-reassurance{margin:30px 0 44px;border:1px solid var(--card-border);border-radius:8px;padding:18px 24px;display:flex;align-items:center;gap:18px;background:#fff}
  .camp-reassurance p{flex:1;font-size:13px;line-height:1.8;margin:0;color:var(--ink-soft)}

  .common-section{max-width:1080px;margin:0 auto;padding:64px 40px 80px}
  .common-section h2.h2-blue{text-align:center;font-family:'Shippori Mincho',serif;font-weight:700;font-size:22px;color:var(--ink);padding:20px 0;background:var(--teal-bg);border-radius:6px;margin:0 0 32px}
  .common-block{margin-bottom:64px}
  .common-block h3{font-family:'Shippori Mincho',serif;font-weight:700;font-size:17px;color:var(--teal-text);border-bottom:2px solid var(--teal);padding-bottom:10px;margin:0 0 18px}
  .common-block p{font-size:15px;line-height:1.9;color:var(--ink-soft);margin:0 0 12px}
  .common-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .common-flow-card{background:var(--teal-bg);border-radius:8px;padding:20px}
  .common-flow-card .n{font-size:11px;font-weight:700;color:var(--teal-text);letter-spacing:0.1em;margin-bottom:6px}
  .common-flow-card b{display:block;font-size:14px;color:var(--ink);margin-bottom:8px}
  .common-flow-card p{font-size:12.5px;margin:0;color:var(--ink-mute)}
  .info-table{width:100%;border-collapse:collapse;font-size:15px}
  .info-table th,.info-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--card-border);vertical-align:top}
  .info-table th{width:150px;color:var(--teal-text);font-weight:600;background:var(--teal-bg)}
  .info-table td{color:var(--ink-soft)}
  .gift-box{display:flex;gap:24px;align-items:center;flex-wrap:wrap;background:var(--teal-bg);border-radius:8px;padding:24px 28px}
  .gift-box .icon{flex:0 0 56px;height:56px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:26px}
  .gift-box p{flex:1;min-width:220px;margin:0;font-size:15px;line-height:1.9;color:var(--ink-soft)}
  .voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .voice-card{background:#fff;border:1px solid var(--card-border);border-radius:8px;padding:24px}
  .voice-meta{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
  .voice-stars{color:var(--red);font-size:13px}
  .voice-age{background:var(--teal-bg);color:var(--teal-text);font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:999px;white-space:nowrap}
  .voice-issue{color:var(--ink-faint);font-size:11.5px}
  .voice-change{color:var(--teal-text);font-size:11.5px;font-weight:700}
  .voice-card p{font-size:15px;line-height:1.9;color:var(--ink-soft);margin:0}
  .faq-list{display:flex;flex-direction:column;gap:12px}
  .faq-item{border:1px solid var(--card-border);border-radius:8px;padding:16px 20px;background:#fff}
  .faq-item summary{cursor:pointer;font-weight:700;color:var(--ink);font-size:15px;list-style:none;display:flex;justify-content:space-between;gap:12px}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary::after{content:'+';color:var(--teal-text);font-weight:700;flex-shrink:0}
  .faq-item[open] summary::after{content:'\2212'}
  .faq-item p{margin:12px 0 0;font-size:15px;line-height:1.9;color:var(--ink-soft)}

  .cta-banner{padding:72px 56px;background:linear-gradient(135deg,var(--teal),var(--teal-deep));text-align:center}
  .cta-banner h2{margin:0 0 14px;font-family:'Shippori Mincho',serif;font-weight:700;font-size:22px;color:#fff}
  .cta-banner p{margin:0 0 32px;font-size:14.5px;color:rgba(255,255,255,0.95)}
  .cta-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .cta-button{display:inline-block;box-sizing:border-box;text-align:center;font-size:15.5px;padding:18px 32px;min-width:230px;background:var(--red);color:#fff;border-radius:999px;transition:background .15s ease,transform .15s ease;font-weight:600}
  .cta-button:hover{background:var(--red-hover);color:#fff;transform:translateY(-2px)}
  .cta-button-outline{transition:background 0.2s,color 0.2s,transform 0.2s;display:inline-block;box-sizing:border-box;text-align:center;font-size:15.5px;padding:16.5px 32px;min-width:230px;border:1.5px solid #fff;color:#fff;border-radius:999px;font-weight:600}
  .cta-button-outline:hover{background:#fff;color:var(--ink);transform:translateY(-2px)}
  .cta-line-button{transition:background 0.2s,transform 0.2s}
  .cta-line-button:hover{background:#05b34c;transform:translateY(-2px)}
  .cta-course-button{transition:background 0.2s,transform 0.2s}
  .cta-course-button:hover{background:var(--teal-deep);color:#fff;transform:translateY(-2px)}
  .cta-trial-button{transition:background 0.2s,transform 0.2s}
  .cta-trial-button:hover{background:var(--red-hover);transform:translateY(-2px)}


  @media (max-width:979px){
    .camp-symptom-grid{grid-template-columns:repeat(3,1fr)}
    .common-flow{grid-template-columns:1fr}
    .voice-grid{grid-template-columns:1fr}
    .symptom-grid,.step-grid{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:42%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-bottom:24px!important}
    .symptom-grid > div,.step-grid > div{scroll-snap-align:start;min-width:0}
    .symptom-grid > div{min-height:250px!important}
    .camp-beginner-grid{grid-template-columns:1fr}
    .day-flow{grid-template-columns:repeat(3,1fr)}
  }
  @media (max-width:719px){
    .camp-hero-row{justify-content:center;text-align:center}
    .camp-hero-row > div:first-child{flex-direction:column!important;gap:6px!important;width:100%!important}
    .camp-hero-row > div:first-child > div:first-child{margin-top:0!important}
    .camp-hero-row > div:first-child > div:last-child{margin-top:0!important}
    .camp-hero-row > div:first-child img[src*="hot-woman"]{width:96px!important;margin-top:4px!important}
    .camp-eyebrow{font-size:15px}
    .camp-hero h1{font-size:22px;white-space:nowrap}
    .camp-hero-row div[style*="margin-left:-90px"]{margin-left:0!important}
    .camp-hero-row > div[style*="flex:0 0 350px"]{width:240px;flex:0 0 240px;margin:0 auto}
    .breadcrumb{padding:14px 20px}
    .camp-hero,.camp-symptoms,.camp-about,.camp-testimonial,.camp-closing,.camp-beginner,.camp-quickcta{padding:36px 20px}
    .day-flow{grid-template-columns:1fr 1fr}
    .hero-photo-block{display:none}
    .testimonial-grid-2{grid-template-columns:1fr!important}
    .camp-symptom-grid{grid-template-columns:repeat(2,1fr)}
    .camp-hero-photo,.camp-sky-photo,.camp-lookup-photo,.camp-stretch-photo{flex:1 1 100%;width:100%}
    .camp-hero-photo-wrap{margin:0 auto}
    .camp-hero-row{justify-content:center;text-align:center}
    .camp-hero-row > div:first-child{text-align:center!important}
    .common-section{padding:0 20px 48px}
    .info-table th{width:110px}
    .cta-banner{padding:48px 20px}
    .cta-banner p span {
      display: inline-block;
    }
    .mobile-sticky-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;padding:10px 16px;box-shadow:0 -4px 16px rgba(23,36,42,0.12);border-top:1px solid var(--card-border)}
    .mobile-sticky-cta a{flex:1;text-align:center;background:var(--red);color:#fff;font-weight:700;font-size:14.5px;padding:14px;border-radius:999px}
    body{padding-bottom:70px}
  }

/* ========================================
   秋の体験レッスン
======================================== */

.season-trial {
  background: #eaefac;
  overflow: hidden;
}


/* 背景 */

.season-trial-bg {
  position: relative;
  padding: 28px 0 16px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.35) 0%,
      rgba(255,255,255,0.85) 75%,
      transparent 100%
    ),
    url('assets/hero-bg.jpg')
    calc(50% + 320px) 70% / 1760px auto
    no-repeat;
}


/* 最大幅 */

.season-trial-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}


/* 左右レイアウト */

.season-trial-layout {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  padding-right: 60px;
}
@media (max-width:719px){
.season-trial-layout {
  padding-right: 0px;
}
}

/* ========================================
   左側
======================================== */

.season-trial-content {
  flex: 1 1 380px;
  min-width: 280px;
  max-width: 480px;
  text-align: left;
}


/* キャッチコピー */

.season-trial-lead {
  display: flex;
  align-items: center;
  gap: 8px;

  color: var(--red);
  font-weight: 700;
  font-size: 19px;

  margin: 0 0 10px;
}


/* タイトル */

.season-trial-title {
  margin: 0;

  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  color: var(--blue);

font-size: clamp(16px, 6vw, 32px);
  line-height: 1.45;
}


/* ========================================
   料金
======================================== */

.season-trial-price {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
}


/* 通常価格 */

.season-trial-normal-price {
  text-align: center;
}

.season-trial-normal-price small {
  display: block;
  font-size: 12px;
  color: var(--ink-faint);
}

.season-trial-normal-price strong {
  font-size: 20px;
  text-decoration: line-through;
  color: var(--ink-faint);
  font-weight: 500;
}

.season-trial-normal-price span {
  font-size: 12px;
  color: var(--ink-faint);
}


/* 矢印 */

.season-trial-arrow {
  font-size: 18px;
  color: var(--red);
}


/* 特別価格 */

.season-trial-special-price {
  background: var(--teal-bg);
  border-radius: 8px;

  padding: 8px 16px;

  text-align: center;
}

.season-trial-special-price small {
  display: block;

  font-size: 11px;
  font-weight: 700;
  color: var(--red);
}

.season-trial-special-price strong {
  font-size: 22px;
  font-weight: 900;
  color: var(--red);
}

.season-trial-special-price span {
  font-size: 12px;
  color: var(--red);
}


/* ========================================
   CTAボタン
======================================== */

.cta-trial-button {
  display: inline-block;

  margin-top: 24px;

  background: var(--red);
  color: #fff;

  font-weight: 700;
  font-size: 16px;

  padding: 14px 26px;

  border-radius: 999px;

  text-decoration: none;
}


/* ========================================
   右側写真
======================================== */

.hero-photo-block {
  flex: 0 0 300px;
  width: 300px;
  position: relative;
}


/* メイン写真 */

.hero-model {
  width: 100%;
  height: 310px;

  object-fit: contain;
  display: block;
}


/* 足の写真 */

.hero-foot-accent {
  position: absolute;

  width: 115px;
  height: 115px;

  left: -5%;
  top: 31%;

  border-radius: 50%;

  object-fit: cover;

  box-shadow:
    0 6px 18px rgba(23,36,42,0.15);
}

 /* ========================================
    秋のメッセージ
 ======================================== */

.season-message {
  max-width: 1280px;
  margin: 0 auto;

  background: #fff;

  overflow: hidden;
}


/* 内側の余白 */

.season-message__inner {
  padding: 64px 40px 24px;
}


/* 本文の最大幅 */

.season-message__content {
  max-width: 640px;
  margin: 0 auto;
}


/* ========================================
   導入
======================================== */

.season-message__intro {
  font-size: 16px;
  line-height: 2;
  margin: 0 0 28px;
  color: var(--ink-soft);
}
@media (max-width:719px){
  .season-message__intro span {
    display: inline-block;

}
}
/* ========================================
   悩み・変化
======================================== */

.season-message__points {
  border-left: 2px solid var(--red);

  padding-left: 20px;
  margin: 0 0 32px;

  display: flex;
  flex-direction: column;
  gap: 14px;
}


.season-message__points p {
  margin: 0;

  font-size: 17px;
  color: var(--ink);
  font-weight: 500;
}


/* ========================================
   質問
======================================== */

.season-message__question {
  font-size: 16px;
  line-height: 2;

  margin: 0 0 16px;

  color: var(--ink-soft);
}


/* ========================================
   説明文
======================================== */

.season-message__description {
  font-size: 16px;
  line-height: 2;

  margin: 0 0 32px;

  color: var(--ink-soft);
}


/* ========================================
   締めのメッセージ
======================================== */

.season-message__closing {
  font-family: 'Shippori Mincho', serif;

  font-size: 19px;
  line-height: 1.9;

  margin: 0;

  color: var(--blue);
  font-weight: 600;
}


/* ========================================
   症状セクション
======================================== */

.symptom-section {
  background: var(--teal-bg);
  padding: 72px 40px 68px;
  margin-top: 56px;
}


/* ========================================
   見出し
======================================== */

.symptom-section__title {
  text-align: center;
  margin: 0 0 12px;
  font-family: 'Shippori Mincho', serif;
  font-weight: 700;
  color: var(--blue);
  font-size: 22px;
}
@media (max-width:719px){
  .symptom-section__title span {
    display: inline-block;

  }
}

/* 見出し下の赤いライン */

.section-heading-line {
  width: 36px;
  height: 3px;

  background: var(--red);

  margin: 0 auto 28px;

  border-radius: 2px;
}


/* ========================================
   症状カード
======================================== */

.symptom-grid {
  display: grid;

  grid-template-columns: repeat(5, 1fr);

  gap: 12px;

  margin-bottom: 44px;
}


.symptom-card {
  background: #fff;

  border-radius: 8px;

  padding: 18px 10px;

  text-align: center;

  box-shadow:
    0 2px 8px rgba(23,36,42,0.06);

  display: flex;
  flex-direction: column;

  min-height: 270px;
}


/* チェックマーク */

.symptom-card__check {
  display: block;

  color: var(--red);

  font-weight: 900;
  font-size: 16px;

  margin-bottom: 8px;
}


/* カード文章 */

.symptom-card__text {
  display: block;

  font-size: 14px;
  line-height: 1.6;

  color: var(--ink-soft);

  margin-bottom: 10px;
}


/* カード画像 */

.symptom-card__image {
  width: 140px;
  height: 140px;

  object-fit: contain;

  margin: auto auto 0;

  display: block;
}


/* ========================================
   下部見出し
======================================== */

.symptom-section__sub-title {
  text-align: center;
  margin: 56px 0 12px;
  font-family: 'Shippori Mincho', serif;
  font-weight: 700;
  color: var(--blue);
  font-size: 22px;
}
@media (max-width:719px){
.symptom-section__sub-title span {
  display: inline-block;
}
}


/* 下部見出しのライン */

.section-heading-line--sub {
  margin-bottom: 24px;
}


/* ========================================
   下部テキスト＋画像
======================================== */

.symptom-message {
  display: flex;

  gap: 28px;

  align-items: center;

  flex-wrap: wrap;
}


/* テキスト側 */

.symptom-message__text {
  flex: 1;
  min-width: 260px;
}


/* 本文 */

.symptom-message__text p {
  font-size: 16px;
  line-height: 1.95;

  margin: 0 0 16px;
}


/* 最後の段落 */

.symptom-message__text p:last-child {
  margin-bottom: 0;
}


/* 強調部分 */

.symptom-message__emphasis {
  font-weight: 700;

  color: var(--red);
}


/* ========================================
   下部画像
======================================== */

.symptom-message__image {
  flex: 0 0 320px;

  height: 220px;

  border-radius: 8px;

  overflow: hidden;
}


.symptom-message__image img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  display: block;
}


/* ========================================
   気の導引術セクション
======================================== */

.doin-section {
  padding: 76px 40px 72px;
}


/* ========================================
   セクション見出し
======================================== */

.doin-section__title {
  text-align: center;
  margin: 0 0 32px;
  font-family: 'Shippori Mincho', serif;
  font-weight: 700;
  color: var(--blue);
  font-size: 22px;
}


/* ========================================
   導入部分
======================================== */

.doin-intro {
  display: flex;

  gap: 32px;

  flex-wrap: wrap;
  align-items: center;
}


.doin-intro__text {
  flex: 1;
  min-width: 280px;
}


.doin-intro__text p {
  font-size: 16px;
  line-height: 1.95;

  margin: 0 0 16px;
}


.doin-intro__text p:last-child {
  margin-bottom: 0;
}


/* 導入画像 */

.doin-intro__image {
  flex: 0 0 320px;

  height: 220px;

  border-radius: 8px;

  overflow: hidden;
}


.doin-intro__image img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  display: block;
}


/* ========================================
   気の導引術 特徴ボックス
======================================== */

.doin-feature {
  background: var(--teal-bg);

  border-radius: 12px;

  padding: 44px 48px;

  margin-top: 56px;

  max-width: 760px;

  margin-left: auto;
  margin-right: auto;
}


.doin-feature__title {
  font-family: 'Shippori Mincho', serif;

  font-weight: 700;

  color: var(--blue);

  font-size: 22px;

  margin: 0 0 24px;

  text-align: center;
}


.doin-feature p:not(.doin-feature__title) {
  font-size: 16px;
  line-height: 1.95;

  margin: 0 0 16px;
}


.doin-feature p:last-child {
  margin-bottom: 0;
}


/* ========================================
   初めての方へ
======================================== */

.doin-section__sub-title {
  text-align: center;

  margin: 64px 0 12px;

  font-family: 'Shippori Mincho', serif;

  font-weight: 700;

  color: var(--blue);

  font-size: 22px;
}


/* 見出し下の赤ライン */

.section-heading-line {
  width: 36px;
  height: 3px;

  background: var(--red);

  margin: 0 auto 28px;

  border-radius: 2px;
}


/* ========================================
   初めての方へ カード
======================================== */

.beginner-grid {
  display: flex;

  gap: 20px;

  flex-wrap: wrap;
}


.beginner-card {
  flex: 1;

  min-width: 220px;

  background: var(--teal-bg);

  border-radius: 8px;

  padding: 24px;
}


.beginner-card__title {
  margin: 0 0 10px;

  font-weight: 700;

  font-size: 15px;

  color: var(--blue);
}


.beginner-card__text {
  margin: 0;

  font-size: 14px;

  line-height: 1.8;
}


/* ========================================
   体験レッスンの流れ
======================================== */

.step-grid {
  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 12px;

  margin-top: 48px;
}


.step-card {
  background: var(--teal-bg);

  border-radius: 8px;

  padding: 16px 10px;

  text-align: center;
}


/* 番号 */

.step-card__number {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  width: 26px;
  height: 26px;

  border-radius: 50%;

  background: var(--teal-deep);

  color: #fff;

  font-size: 12px;

  font-weight: 700;

  margin-bottom: 10px;
}


.step-card p {
  margin: 0;

  font-size: 12px;

  line-height: 1.6;

  color: var(--ink-soft);
}


/* ========================================
   CTA
======================================== */

.doin-cta {
  text-align: center;

  margin-top: 56px;
}


.doin-cta .cta-trial-button {
  display: inline-block;

  background: var(--red);

  color: #fff;

  font-weight: 700;

  font-size: 16px;

  padding: 14px 30px;

  border-radius: 999px;

  text-decoration: none;
}


/* ========================================
   「気の導引術とは？」見出し
======================================== */

.doin-title2 {
  text-align: center;
  margin: 0 0 32px;
  font-family: 'Shippori Mincho', serif;
  font-weight: 700;
  color: var(--blue);
  font-size: 22px;

}


/* ========================================
   気の導引術とは？ 本文
======================================== */

.doin-about {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  align-items: flex-start;
  max-width: 80%;
  margin: 0 auto;
}


.doin-about__text {
  flex: 1;

  min-width: 280px;
}

@media (max-width:719px){
.doin-about {
  max-width: 100%;
}
.voice-tags__caption span {
  display: inline-block;
}
}

/* リード文 */

.doin-about__lead {
  font-weight: 700;

  color: var(--blue);

  font-size: 16px;

  margin: 0 0 20px;
}


/* 本文 */

.doin-about__text > p:not(.doin-about__lead):not(.voice-tags__caption) {
  font-size: 16px;

  line-height: 1.95;

  margin: 0 0 16px;
}


/* ========================================
   受講者の声 タグ
======================================== */

.voice-tags {
  display: flex;

  gap: 10px;

  flex-wrap: wrap;

  margin-bottom: 16px;
}


.voice-tags span {
  background: var(--teal-bg);

  color: var(--blue);

  font-size: 13px;

  font-weight: 500;

  padding: 8px 16px;

  border-radius: 20px;

  white-space: nowrap;
}


.voice-tags__caption {
  font-size: 14px;

  color: var(--ink-faint);

  margin: 0;
}


/* ========================================
   体験レッスン写真
======================================== */

.doin-about__image {
  flex: 0 0 320px;
}


.doin-about__image-box {
  height: 280px;
  border-radius: 8px;
  overflow: hidden;
}


.doin-about__image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.doin-about__image > p {
  text-align: center;
  font-size: 12px;
  color: var(--ink-faint);
  margin: 8px 0 0;
}



/* ========================================
    体験レッスンの流れ
 ======================================== */

.step-grid {
  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 12px;

  margin-top: 48px;
}


/* 各ステップ */

.step-card {
  background: var(--teal-bg);

  border-radius: 8px;

  padding: 16px 10px;

  text-align: center;
}


/* 丸い番号 */

.step-card__number {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  width: 26px;
  height: 26px;

  border-radius: 50%;

  background: var(--teal-deep);

  color: #fff;

  font-size: 12px;

  font-weight: 700;

  margin-bottom: 10px;
}


/* ステップ説明 */

.step-card p {
  margin: 0;

  font-size: 12px;

  line-height: 1.6;

  color: var(--ink-soft);
}


/* ========================================
   CTA
======================================== */

.doin-cta {
  text-align: center;
  margin-top: 56px;
  margin-bottom: 70px;
}


.doin-cta .cta-trial-button {
  display: inline-block;

  background: var(--red);

  color: #fff;

  font-weight: 700;

  font-size: 16px;

  padding: 14px 30px;

  border-radius: 999px;

  text-decoration: none;
}

/* ========================================
   体験者の声
======================================== */

.testimonial-section {
  background: var(--teal-bg);

  padding: 80px 40px 76px;

  margin-top: 56px;
}


/* ========================================
   見出し
======================================== */

.testimonial-section__title {
  text-align: center;

  margin: 0 0 12px;

  font-family: 'Shippori Mincho', serif;

  font-weight: 700;

  color: var(--ink);

  font-size: 22px;
}


/* 見出し下のライン */

.testimonial-section__line {
  width: 36px;
  height: 3px;

  background: var(--teal-deep);

  margin: 0 auto 36px;

  border-radius: 2px;
}


/* ========================================
   メイン体験談
======================================== */

.testimonial-main {
  display: flex;

  gap: 28px;

  align-items: flex-start;

  flex-wrap: wrap;
}


/* ========================================
   プロフィール
======================================== */

.testimonial-profile {
  flex: 0 0 150px;

  width: 150px;
  height: 150px;

  border-radius: 50%;

  margin: 0 auto;

  background: #fff;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  text-align: center;

  box-shadow:
    0 2px 8px rgba(23,36,42,0.06);

  padding: 10px;

  box-sizing: border-box;
}


.testimonial-profile strong {
  color: var(--red);

  font-size: 14px;

  line-height: 1.4;
}


.testimonial-profile > span:not(.testimonial-stars) {
  font-size: 11px;

  color: var(--ink-faint);

  margin-top: 6px;
}


/* ========================================
   星
======================================== */

.testimonial-stars {
  color: #f0b429;

  font-size: 13px;

  letter-spacing: 1px;

  margin-top: 2px;
}


/* ========================================
   メイン本文
======================================== */

.testimonial-main__text {
  flex: 1;

  min-width: 280px;

  font-size: 15px;

  line-height: 1.9;

  margin: 0;
}


.testimonial-main__text p {
  margin: 0 0 16px;
}


.testimonial-main__text p:last-child {
  margin-bottom: 0;
}


/* メイン体験談の見出し */

.testimonial-main__lead {
  margin: 0 0 12px !important;

  font-size: 15px;

  font-weight: 700;

  color: var(--blue);
}


/* 注記 */

.testimonial-note {
  font-size: 12px;

  color: var(--ink-faint);
}


/* ========================================
   メイン画像
======================================== */

.testimonial-main__image {
  flex: 0 0 220px;
}


.testimonial-main__image-box {
  height: 150px;

  border-radius: 8px;

  overflow: hidden;
}


.testimonial-main__image img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  object-position: 32% 35%;

  transform: scale(1.35);

  display: block;
}


.testimonial-main__image > p {
  text-align: center;

  font-size: 10px;

  color: var(--ink-faint);

  margin: 4px 0 0;
}


/* ========================================
   2つの体験談
======================================== */

.testimonial-grid-2 {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 20px;

  margin-top: 48px;
}


/* ========================================
   体験談カード
======================================== */

.testimonial-card {
  background: #fff;

  border-radius: 8px;

  padding: 24px;

  box-shadow:
    0 2px 8px rgba(23,36,42,0.06);
}


/* ========================================
   カード上部情報
======================================== */

.testimonial-card__meta {
  display: flex;

  flex-wrap: wrap;

  gap: 8px;

  align-items: center;

  margin-bottom: 14px;
}


/* 年齢・性別など */

.testimonial-card__person {
  background: var(--teal-bg);

  color: var(--teal-text);

  font-size: 11.5px;

  font-weight: 700;

  padding: 4px 11px;

  border-radius: 999px;

  white-space: nowrap;
}


/* 悩み */

.testimonial-card__condition {
  font-size: 11.5px;

  color: var(--ink-faint);
}


/* 結果 */

.testimonial-card__result {
  font-size: 11.5px;

  font-weight: 700;

  color: var(--red);
}


/* ========================================
   カード本文
======================================== */

.testimonial-card__lead {
  margin: 0 0 10px;

  font-size: 15px;

  font-weight: 700;

  color: var(--blue);

  line-height: 1.7;
}


.testimonial-card__text {
  margin: 0;

  font-size: 15px;

  line-height: 1.9;

  color: var(--ink-soft);
}

/* ========================================
   クロージング・CTA
======================================== */

.closing-section {
  background: #fff;

  padding: 80px 40px 40px;

  margin-top: 8px;
}


/* ========================================
   見出し
======================================== */

.closing-section__title {
  text-align: center;
  margin: 0 0 32px;
  font-family: 'Shippori Mincho', serif;
  font-weight: 700;
  color: var(--ink);
  font-size: 22px;
}
@media (max-width:719px){
  .closing-section__title span {
    display: inline-block;
  }
}

/* ========================================
   クロージング文章
======================================== */

.closing-section__text {
  max-width: 600px;

  margin: 0 auto 48px;

  font-size: 16px;

  line-height: 2;

  color: var(--ink-soft);

  text-align: left;
}


.closing-section__text p {
  margin: 0 0 20px;
}


.closing-section__text p:last-child {
  margin-bottom: 0;
}


/* ========================================
   体験レッスン案内ボックス
======================================== */

.closing-offer {
  border: 2px solid rgba(226, 59, 46, 0.4);

  border-radius: 12px;

  padding: 28px 30px;

  background: oklch(0.99 0.01 20);

  max-width: 820px;

  margin: 0 auto;
}


/* タイトル */

.closing-offer__title {
  font-weight: 700;

  color: var(--red);

  font-size: 17px;

  margin: 0 0 16px;
}


/* ========================================
   説明文＋料金
======================================== */

.closing-offer__content {
  display: flex;

  align-items: center;

  gap: 20px;

  flex-wrap: wrap;

  margin-bottom: 22px;
}


/* 説明 */

.closing-offer__description {
  flex: 1;

  min-width: 220px;

  font-size: 14px;

  line-height: 1.8;

  margin: 0;
}


/* ========================================
   料金表示
======================================== */

.closing-price {
  display: flex;

  align-items: center;

  gap: 14px;
}


/* 通常価格 */

.closing-price__normal {
  text-align: center;
}


.closing-price__normal div:first-child {
  font-size: 12px;

  color: var(--ink-faint);
}


.closing-price__normal div:last-child {
  font-size: 18px;

  font-weight: 700;

  text-decoration: line-through;

  color: var(--ink-faint);
}


/* 矢印 */

.closing-price__arrow {
  font-size: 20px;

  color: var(--red);
}


/* 特別価格 */

.closing-price__special {
  background: var(--teal-bg);

  border-radius: 8px;

  padding: 10px 18px;

  text-align: center;
}


.closing-price__special > div:first-child {
  font-size: 12px;

  font-weight: 700;

  color: var(--red);
}


.closing-price__special > div:last-child {
  font-size: 24px;

  font-weight: 900;

  color: var(--red);
}


.closing-price__special span {
  font-size: 13px;

  font-weight: 500;
}


/* ========================================
   CTA
======================================== */

.closing-offer__cta {
  text-align: center;

  margin-bottom: 10px;
}


.closing-offer__cta .cta-trial-button {
  display: inline-block;
  background: var(--red);
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  padding: 14px 26px;
  border-radius: 999px;
  text-decoration: none;
}


/* ========================================
   CTA下の注記
======================================== */

.closing-offer__note {
  text-align: center;

  font-size: 12px;

  color: var(--ink-faint);

  margin: 0;
}


/* ========================================
   初めての方への安心メッセージ
======================================== */

.closing-reassurance {
  margin: 36px auto 56px;

  max-width: 820px;

  border: 1px solid rgba(30, 95, 168, 0.3);

  border-radius: 10px;

  padding: 18px 24px;

  display: flex;

  align-items: center;

  gap: 18px;

  background: var(--blue-bg);
}


/* アイコン */

.closing-reassurance__icon {
  font-size: 26px;

  flex-shrink: 0;
}


/* 文章 */

.closing-reassurance p {
  flex: 1;

  font-size: 13px;

  line-height: 1.8;

  color: var(--ink-soft);

  margin: 0;
}


.closing-reassurance strong {
  font-weight: 700;
}

/* ========================================
   共通セクション
======================================== */

.common-section {
  width: 100%;
}


/* ========================================
   セクション見出し
======================================== */

.h2-blue {
  color: var(--blue);
}


/* ========================================
   共通ブロック
======================================== */

.common-block {
  margin-bottom: 48px;
}


.common-block > h3 {
  margin-bottom: 24px;
}


/* ========================================
   体験レッスンの流れ
======================================== */

.common-flow {
  display: flex;
  gap: 16px;
}


.common-flow-card {
  background: var(--teal-bg);
  border-radius: 8px;
  padding: 24px;
  box-sizing: border-box;
}

.common-flow-card .n {
  color: var(--red);
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 10px;
}


.common-flow-card b {
  display: block;
  color: var(--blue);
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 10px;
}


.common-flow-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: var(--ink-soft);
}
@media (max-width:719px){
  .common-flow {
  flex-direction: column;
}

}

/* ========================================
   クイックCTA
======================================== */

.camp-quickcta {
  border-radius: 8px;

  border: 1px solid var(--card-border);

  padding: 24px;

  margin: 0 0 48px;

  text-align: center;
}


.camp-quickcta p {
  margin: 0 0 18px;

  font-size: 15px;

  line-height: 1.8;

  color: var(--ink-soft);
}


.camp-cta {
  display: inline-block;

  background: var(--red);

  color: #fff;

  font-weight: 700;

  font-size: 15px;

  padding: 13px 26px;

  border-radius: 999px;

  text-decoration: none;

  transition:
    transform 0.2s ease,
    opacity 0.2s ease;
}


.camp-cta:hover {
  opacity: 0.9;

  transform: translateY(-2px);
}


/* ========================================
   プレゼント
======================================== */

.gift-box {
  display: flex;

  align-items: center;

  gap: 24px;

  padding: 24px;

  background: var(--teal-bg);

  border-radius: 8px;
}


.gift-box img {
  flex: 0 0 120px;

  width: 120px;

  height: auto;

  display: block;
}


.gift-box p {
  flex: 1;

  margin: 0;

  font-size: 14px;

  line-height: 1.9;

  color: var(--ink-soft);
}


/* ========================================
   情報テーブル
======================================== */

.info-table {
  width: 100%;

  border-collapse: collapse;

  font-size: 14px;

  line-height: 1.8;
}


.info-table th,
.info-table td {
  border: 1px solid var(--card-border);

  padding: 14px 16px;

  vertical-align: top;
}


.info-table th {
  width: 150px;

  background: var(--teal-bg);

  color: var(--blue);

  font-weight: 700;

  text-align: left;

  white-space: nowrap;
}


.info-table td {
  background: #fff;

  color: var(--ink-soft);
}


/* ========================================
   FAQ
======================================== */

.faq-list {
  display: flex;

  flex-direction: column;

  gap: 10px;
}


.faq-item {
  border: 1px solid var(--card-border);

  border-radius: 8px;

  background: #fff;

  overflow: hidden;
}


.faq-item summary {
  position: relative;

  cursor: pointer;

  padding: 18px 48px 18px 20px;

  font-size: 15px;

  font-weight: 700;

  color: var(--blue);

  list-style: none;
}


.faq-item summary::-webkit-details-marker {
  display: none;
}


/* ＋アイコン */

.faq-item summary::after {
  content: '+';

  position: absolute;

  right: 20px;

  top: 50%;

  transform: translateY(-50%);

  font-size: 22px;

  font-weight: 400;

  color: var(--red);
}


.faq-item[open] summary::after {
  content: '−';
}


.faq-item p {
  margin: 0;

  padding: 0 20px 20px;

  font-size: 14px;

  line-height: 1.9;

  color: var(--ink-soft);
}


/* ========================================
   LINEボタン
======================================== */

.cta-line-wrap {
  margin-top: 18px;
}

.cta-line-button {
  display: inline-block;
  box-sizing: border-box;
  text-align: center;
  font-size: 15.5px;
  padding: 16px 32px;
  min-width: 230px;
  background: #06C755;
  color: #fff;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  transition:
    transform 0.2s ease,
    opacity 0.2s ease,
    box-shadow 0.2s ease;
}

.cta-line-button:hover {
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
  opacity: 0.9;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.12);
}


/* ========================================
   コース案内ボックス
======================================== */

.cta-course-box {
  margin-top: 32px;
  background: #fff;
  border: 1px solid var(--card-border);
  border-radius: 12px;
  padding: 36px 40px;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  box-sizing: border-box;
}


/* コース案内タイトル */



.cta-course-box .cta-course-lead {
  margin: 0 0 18px;
  font-size: 16px;
  font-weight: 700;
  color: #333 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* コース一覧ボタン */

.cta-course-button {
  display: inline-block;
  background: transparent;
  border: 1.5px solid var(--teal-deep);
  color: var(--teal-deep);
  font-weight: 700;
  font-size: 16px;
  padding: 12.5px 30px;
  border-radius: 999px;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.cta-course-button:hover {
  background: var(--teal-deep);
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
}


/* 補足テキスト */

.cta-course-note {
  margin: 16px 0 0 !important;
  font-size: 13px !important;
  color: var(--ink-faint) !important;
}

.cta-course-note a {
  color: inherit;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.cta-course-note a:hover {
  color: var(--teal-deep);
}


/* ========================================
   モバイル
======================================== */

@media (max-width: 600px) {

  .cta-line-button {
    width: 100%;
    max-width: 300px;
    min-width: 0;
    padding: 14px 20px;
    font-size: 15px;
  }

  .cta-course-box {
    padding: 28px 20px;
    margin-top: 28px;
  }

  .cta-course-lead {
    font-size: 15px;
  }

  .cta-course-button {
    font-size: 15px;
    padding: 11px 24px;
  }

  .cta-course-note {
    font-size: 12.5px;
  }
}