  :root{
    --cream:#fffaf0; --paper:#ffffff; --ink:#3b3a36; --sub:#6f6a60;
    --orange:#f08a24; --orange-soft:#fde9d3; --green:#3fa66b; --green-soft:#e2f3e8;
    --blue:#3d8bd4; --orange-text:#b85a0c; --green-text:#2c7d4f; --blue-soft:#e3effa; --line:#efe4d2;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;color:var(--ink);background:var(--cream);line-height:1.85;font-weight:500}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1080px;margin:0 auto;padding:0 20px}
  /* 黄色の「確認」マーク：中身が決まったら、このマークごと消す */
  .tag{display:inline-block;font-size:11px;background:#fff3c4;color:#8a6a00;border-radius:4px;padding:0 6px;margin-left:4px;vertical-align:middle;font-weight:700;line-height:1.8}
  [id]{scroll-margin-top:80px}

  header{background:var(--paper);border-bottom:3px solid var(--orange-soft);position:sticky;top:0;z-index:10}
  header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
  .logo{display:flex;align-items:center;gap:10px;font-weight:900}
  .logo small{display:block;font-size:11px;color:var(--sub);font-weight:700;line-height:1.2}
  .logo b{font-size:24px;color:var(--orange);letter-spacing:.04em;line-height:1}
  nav{display:flex;gap:20px;font-size:14px;font-weight:700}
  nav a:hover{color:var(--orange)}
  .btn{display:inline-block;border-radius:999px;font-weight:900;padding:13px 28px;transition:transform .15s;border:none;font-family:inherit;font-size:16px;cursor:pointer}
  .btn:hover{transform:translateY(-2px)}
  .btn-o{background:var(--orange-text);color:#fff;box-shadow:0 4px 0 #8a4209}
  .btn-g{background:var(--green-text);color:#fff;box-shadow:0 4px 0 #1f5c3a}
  .btn-w{background:#fff;color:var(--orange-text);border:2px solid var(--orange-text)}
  header .btn{padding:8px 18px;font-size:14px}

  /* ファーストビュー */
  .hero{position:relative;background:var(--cream);height:600px}
  .hero-photo{position:absolute;right:0;top:0;bottom:0;width:62%;overflow:hidden;border-radius:0 0 0 80px}
  .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:45% 40%}
  .hero-copy{position:absolute;left:max(20px,calc((100% - 1080px)/2 + 20px));top:50%;transform:translateY(-50%);background:var(--cream);border-radius:28px;padding:30px 32px 30px 0;max-width:430px}
  .hero-copy .lead{display:inline-block;background:var(--green-soft);color:var(--green-text);font-weight:900;border-radius:999px;padding:3px 14px;font-size:13px;margin-bottom:14px}
  .hero-copy h1{font-size:38px;line-height:1.45;font-weight:900;margin-bottom:12px}
  .hero-copy h1 em{font-style:normal;color:var(--orange)}
  .hero-copy p{color:var(--sub);font-size:15px;margin-bottom:20px}
  .hero-copy .btn{width:100%;text-align:center}
  .hero-copy .limit{display:block;text-align:center;font-size:13px;color:var(--orange-text);font-weight:700;margin-top:10px}

  section{padding:72px 0}
  .sec-title{text-align:center;margin-bottom:40px}
  .sec-title span{display:block;color:var(--orange-text);font-size:14px;font-weight:900;letter-spacing:.15em}
  .sec-title h2{font-size:30px;font-weight:900;line-height:1.5}

  .worries{background:var(--paper)}
  .bubbles{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:860px;margin:0 auto}
  .bubble{background:var(--cream);border:2px solid var(--line);border-radius:24px;padding:12px 20px;font-weight:700}
  .answer{text-align:center;margin-top:40px;font-size:22px;font-weight:900}
  .answer em{font-style:normal;color:var(--green)}

  .about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
  .photo{border-radius:28px;overflow:hidden}
  .photo img{width:100%;height:100%;object-fit:cover}
  .about h2{font-size:27px;font-weight:900;line-height:1.55;margin-bottom:14px}
  .about p{color:var(--sub);margin-bottom:12px}
  .points{display:grid;gap:12px;margin-top:18px}
  .point{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border-radius:18px;padding:14px 18px}
  .point i{flex:0 0 36px;height:36px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:900;color:#fff}
  .point:nth-child(1) i{background:var(--orange)} .point:nth-child(2) i{background:var(--green)} .point:nth-child(3) i{background:var(--blue)}
  .point b{display:block;font-size:16px}
  .point small{color:var(--sub);font-size:14px}

  /* プラン */
  .plans{background:var(--orange-soft);border-radius:48px 48px 0 0}
  .plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
  .plan{background:var(--paper);border-radius:28px;overflow:hidden;display:flex;flex-direction:column}
  .plan.tutor{outline:3px solid var(--orange);outline-offset:-3px}
  .plan .ph{height:220px}
  .plan .ph img{width:100%;height:100%;object-fit:cover}
  .plan .body{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}
  .plan .kind{font-size:13px;font-weight:900;letter-spacing:.05em}
  .plan.text .kind{color:var(--green-text)} .plan.tutor .kind{color:var(--orange-text)}
  .plan h3{font-size:24px;font-weight:900;margin-bottom:2px}
  .plan .product{font-size:14px;font-weight:700;margin-bottom:4px}
  .plan.text .product{color:var(--green-text)} .plan.tutor .product{color:var(--orange-text)}
  .plan .for{color:var(--sub);font-size:14px;margin-bottom:16px}
  .recruit{border-radius:16px;padding:14px 16px;display:flex;gap:14px;align-items:center}
  .plan.text .recruit{background:var(--green-soft)} .plan.tutor .recruit{background:var(--orange-soft)}
  .recruit .big{font-weight:900;font-size:26px;line-height:1.2;white-space:nowrap}
  .plan.text .recruit .big{color:var(--green)} .plan.tutor .recruit .big{color:var(--orange)}
  .recruit .big small{font-size:13px}
  .recruit p{font-size:13px;line-height:1.6}
  .plan ul{list-style:none;margin:18px 0 22px;display:grid;gap:9px;flex:1}
  .plan li{padding-left:26px;position:relative;font-size:15px}
  .plan li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%}
  .plan.text li::before{box-shadow:inset 0 0 0 5px var(--green)}
  .plan.tutor li::before{box-shadow:inset 0 0 0 5px var(--orange)}
  .plan .btn{text-align:center}
  .plan .note{font-size:12px;color:var(--sub);text-align:center;margin-top:10px}

  .compare{background:var(--orange-soft);padding-top:0}
  .table-box{background:var(--paper);border-radius:24px;padding:10px;overflow-x:auto}
  table{width:100%;border-collapse:collapse;min-width:560px;font-size:15px}
  th,td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:center}
  th:first-child,td:first-child{text-align:left;color:var(--sub);font-weight:700;width:28%}
  thead th{font-weight:900;font-size:16px}
  thead th:nth-child(2){color:var(--green)} thead th:nth-child(3){color:var(--orange)}
  tr:last-child td{border-bottom:none}

  /* りのママについて */
  .profile{background:var(--cream)}
  .prof-box{display:grid;grid-template-columns:200px 1fr;gap:36px;align-items:center;background:var(--paper);border-radius:28px;padding:36px;max-width:860px;margin:0 auto}
  .prof-photo{width:200px;height:200px;border-radius:50%;background:var(--orange-soft);display:grid;place-items:center;text-align:center;color:var(--orange-text);font-weight:900;line-height:1.5;overflow:hidden}
  .prof-photo img{width:100%;height:100%;object-fit:cover}
  .prof-name{font-size:24px;font-weight:900;margin-bottom:8px}
  .prof-name small{display:block;font-size:14px;color:var(--sub);font-weight:700}
  .prof-box p{color:var(--sub)}
  .prof-box .prof-name{color:var(--ink)}
  .prof-facts{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
  .prof-facts li{background:var(--cream);border-radius:14px;padding:12px;text-align:center}
  .prof-facts b{display:block;font-size:22px;color:var(--orange-text);font-weight:900;line-height:1.3}
  .prof-facts small{font-size:12px;color:var(--sub)}
  .media{margin-top:16px;font-size:14px;color:var(--sub)}
  .media a{color:var(--blue);text-decoration:underline}
  .sns{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
  .sns a{font-size:13px;font-weight:700;border:2px solid var(--line);border-radius:999px;padding:4px 14px;background:var(--cream)}
  .sns a:hover{border-color:var(--orange);color:var(--orange)}

  /* 対談動画 */
  .talks{background:var(--paper)}
  .talk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .thumb{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#eee}
  .thumb img{width:100%;height:100%;object-fit:cover}
  .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:40px;border-radius:12px;background:#e62117;opacity:.92}
  .play::before{content:"";position:absolute;left:23px;top:11px;border-left:16px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent}
  .talk b{display:block;margin-top:10px;font-size:15px;line-height:1.6}
  .more{text-align:center;margin-top:30px}

  .flow-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
  .step{background:var(--paper);border-radius:22px;padding:24px 18px;text-align:center}
  .step::before{counter-increment:s;content:"STEP " counter(s);display:block;color:var(--orange-text);font-weight:900;font-size:13px;letter-spacing:.1em;margin-bottom:6px}
  .step b{display:block;font-size:17px;margin-bottom:6px}
  .step small{color:var(--sub);font-size:13px;line-height:1.7;display:block}

  /* ウェイティングリスト */
  .wait{background:var(--green-soft)}
  .form-box{background:var(--paper);border-radius:28px;padding:36px;max-width:680px;margin:0 auto}
  .form-box .intro{text-align:center;color:var(--sub);margin-bottom:24px;font-size:15px}
  .field{margin-bottom:18px;border:none;padding:0;min-width:0}
  legend.t{padding:0}
  .field .t{display:block;font-weight:900;margin-bottom:6px}
  .field .t em{font-style:normal;background:var(--orange-text);color:#fff;font-size:11px;border-radius:4px;padding:1px 6px;margin-left:6px}
  .field input[type=text],.field input[type=email],.field select{width:100%;border:2px solid var(--line);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:16px;background:var(--cream);color:var(--ink)}
  .checks{display:grid;gap:10px}
  .checks label{display:flex;gap:10px;align-items:center;border:2px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;background:var(--cream);font-weight:700}
  .checks input{width:20px;height:20px;accent-color:var(--orange);flex:0 0 20px}
  .checks small{display:block;color:var(--sub);font-weight:500;font-size:12px}
  .form-box .btn{width:100%;margin-top:6px}
  .form-box .after{font-size:13px;color:var(--sub);text-align:center;margin-top:12px}

  .faq-list{max-width:820px;margin:0 auto;display:grid;gap:12px}
  details{background:var(--paper);border-radius:18px;padding:18px 22px}
  summary{font-weight:900;cursor:pointer;list-style:none;display:flex;gap:10px}
  summary::-webkit-details-marker{display:none}
  summary::before{content:"Q";color:var(--orange-text)}
  details p{margin-top:10px;color:var(--sub);padding-left:22px}

  footer{text-align:center;color:var(--sub);font-size:13px;padding:30px 0 40px}

  @media (max-width:820px){
    nav{display:none}
    header .btn{font-size:13px;padding:7px 14px}
    .hero{height:auto;padding-bottom:24px}
    .hero-photo{position:relative;width:auto;height:300px;border-radius:0}
    .hero-photo img{object-position:35% 40%}
    .hero-copy{position:relative;left:auto;top:auto;transform:none;max-width:none;margin:-40px 16px 0;padding:24px 20px}
    .hero-copy h1{font-size:28px}
    .about .wrap,.plan-grid{grid-template-columns:1fr}
    .sec-title h2{font-size:23px}
    .about h2{font-size:22px}
    .flow-list,.talk-grid{grid-template-columns:1fr}
    .form-box{padding:24px 18px}
    section{padding:56px 0}
    .plan .ph{height:190px}
    .prof-box{grid-template-columns:1fr;padding:24px 18px;justify-items:center}
    .prof-photo{width:140px;height:140px}
    .prof-facts b{font-size:18px}
    .answer{font-size:19px}
  }

  /* ===== ここから追加分 ===== */
  .logo .kana{display:block;font-size:10px;color:var(--sub);letter-spacing:.2em;font-weight:700;margin-top:2px}

  /* 掲載・実績の帯 */
  .proof{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}
  .proof-title{text-align:center;font-size:13px;font-weight:900;color:var(--orange-text);letter-spacing:.1em;margin-bottom:12px}
  .proof-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
  .proof-list li,.proof-list li a{display:block;text-align:center;background:var(--cream);border-radius:14px;padding:12px 8px}
  .proof-list li a{padding:0;background:none}
  .proof-list li a b{text-decoration:underline;text-decoration-color:var(--line)}
  .proof-list small{display:block;font-size:12px;color:var(--sub)}
  .proof-list b{display:block;font-size:19px;font-weight:900;color:var(--orange-text);line-height:1.4}

  /* 口コミ記事への入口 */
  .blogs{background:var(--cream)}
  .blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .blog-card{display:block;background:var(--paper);border-radius:20px;padding:22px 24px;border:2px solid var(--line)}
  .blog-card:hover{border-color:var(--orange)}
  .blog-kind{display:inline-block;font-size:12px;font-weight:900;color:var(--green-text);background:var(--green-soft);border-radius:999px;padding:1px 10px;margin-bottom:8px}
  .blog-card b{display:block;font-size:17px;line-height:1.6;margin-bottom:6px}
  .blog-card small{color:var(--sub);font-size:13px}

  /* 詳細リンク */
  .plan .detail{display:block;text-align:center;margin-top:12px;font-weight:900;font-size:15px;text-decoration:underline;text-underline-offset:4px}
  .plan.text .detail{color:var(--green-text)} .plan.tutor .detail{color:var(--orange-text)}

  /* フォーム共通 */
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  textarea{width:100%;border:2px solid var(--line);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:16px;background:var(--cream);color:var(--ink);min-height:140px;resize:vertical}
  .form-msg{margin-top:14px;text-align:center;font-weight:700;min-height:1.5em}
  .form-msg.ok{color:var(--green-text)} .form-msg.ng{color:#b3261e}
  .contact{background:var(--paper)}

  /* 下の階層のページ */
  .page-hero{background:var(--paper);padding:40px 0 48px;border-bottom:1px solid var(--line)}
  .crumb{font-size:13px;color:var(--sub);margin-bottom:14px}
  .crumb a{text-decoration:underline}
  .page-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
  .page-hero .kind{font-size:14px;font-weight:900}
  .page-hero h1{font-size:34px;font-weight:900;line-height:1.45;margin:4px 0 12px}
  .page-hero p{color:var(--sub)}
  .page-hero .photo{border-radius:24px;overflow:hidden;aspect-ratio:4/3}
  .page-hero.text .kind{color:var(--green-text)} .page-hero.tutor .kind{color:var(--orange-text)}
  .chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px}
  .chips span{font-size:13px;font-weight:700;background:var(--cream);border:2px solid var(--line);border-radius:999px;padding:3px 12px}
  .note-img{font-size:12px;color:var(--sub);text-align:center;margin-top:10px}

  /* 会員サイトの画面イメージ */
  .mock{background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(60,40,10,.12);overflow:hidden;border:1px solid var(--line)}
  .mock-bar{background:#f3eee6;padding:10px 14px;display:flex;align-items:center;gap:6px}
  .mock-bar i{width:10px;height:10px;border-radius:50%;background:#e2d6c4;display:block}
  .mock-bar span{margin-left:10px;font-size:12px;color:var(--sub);background:#fff;border-radius:6px;padding:1px 12px;flex:1;max-width:320px}
  .mock-body{display:grid;grid-template-columns:200px 1fr}
  .mock-side{background:#faf6ef;padding:16px 12px;border-right:1px solid var(--line);font-size:13px}
  .mock-side b{display:block;font-size:12px;color:var(--sub);margin:10px 0 6px}
  .mock-side b:first-child{margin-top:0}
  .mock-side span{display:block;padding:6px 10px;border-radius:8px;margin-bottom:4px}
  .mock-side span.on{background:var(--green-soft);color:var(--green-text);font-weight:900}
  .mock-main{padding:18px}
  .mock-main h3{font-size:16px;font-weight:900;margin-bottom:4px}
  .mock-main .prog{height:8px;background:#eee;border-radius:99px;margin:6px 0 16px;overflow:hidden}
  .mock-main .prog i{display:block;height:100%;width:40%;background:var(--green)}
  .slide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
  .slide{aspect-ratio:16/9;border-radius:8px;border:1px solid var(--line);background:#fff;padding:8px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
  .slide::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px}
  .slide.c1::before{background:var(--orange)} .slide.c2::before{background:var(--green)} .slide.c3::before{background:var(--blue)} .slide.c4::before{background:#e8b730}
  .slide em{font-style:normal;font-size:9px;color:var(--sub)}
  .slide b{font-size:11px;line-height:1.4}
  .slide .dots{display:flex;gap:3px}
  .slide .dots i{width:8px;height:8px;border-radius:50%;background:var(--orange-soft)}

  /* 中身の一覧（カリキュラム） */
  .curr{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
  .curr-item{background:var(--paper);border-radius:20px;padding:20px 22px}
  .curr-item h3{font-size:18px;font-weight:900;margin-bottom:6px}
  .curr-item p{color:var(--sub);font-size:14px}

  /* 6か月の流れ */
  .timeline{max-width:820px;margin:0 auto;display:grid;gap:14px}
  .tl{display:grid;grid-template-columns:120px 1fr;gap:18px;background:var(--paper);border-radius:20px;padding:18px 22px;align-items:start}
  .tl b{color:var(--orange-text);font-weight:900}
  .tl h3{font-size:17px;font-weight:900;margin-bottom:4px}
  .tl p{color:var(--sub);font-size:14px}

  /* セッションの画面イメージ */
  .chat{max-width:420px;margin:0 auto;background:#eef3f8;border-radius:22px;padding:18px;display:grid;gap:10px}
  .msg{max-width:82%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.7;background:#fff}
  .msg.me{justify-self:end;background:#d9f2df}
  .msg small{display:block;font-size:11px;color:var(--sub);margin-bottom:2px;font-weight:700}

  .cta-band{background:var(--orange-soft);text-align:center;border-radius:32px;padding:40px 20px;margin:0 20px 56px}
  .cta-band h2{font-size:24px;font-weight:900;margin-bottom:8px}
  .cta-band p{color:var(--sub);margin-bottom:18px}

  /* ブログ記事 */
  .article{max-width:760px;margin:0 auto;background:var(--paper);border-radius:28px;padding:40px 44px}
  .article h1{font-size:28px;font-weight:900;line-height:1.5;margin-bottom:10px}
  .article .meta{font-size:13px;color:var(--sub);margin-bottom:24px}
  .article h2{font-size:22px;font-weight:900;margin:36px 0 12px;padding-left:12px;border-left:6px solid var(--orange)}
  .article h3{font-size:18px;font-weight:900;margin:24px 0 8px}
  .article p{margin-bottom:14px}
  .article ul{margin:0 0 14px 1.4em}
  .article blockquote{background:var(--cream);border-radius:14px;padding:14px 18px;margin:0 0 14px;font-weight:700}
  .article blockquote cite{display:block;font-size:12px;font-style:normal;color:var(--sub);font-weight:500;margin-top:4px}
  .article .src{font-size:13px;color:var(--sub)}
  .article .src a,.article p a{color:var(--blue);text-decoration:underline}
  .voice-card{border:2px solid var(--line);border-radius:18px;padding:18px 20px;margin-bottom:16px}
  .voice-card h3{margin-top:0}
  .post-list{max-width:760px;margin:0 auto;display:grid;gap:14px}

  @media (max-width:820px){
    .proof-list{grid-template-columns:repeat(2,1fr)}
    .proof-list b{font-size:16px}
    .blog-grid,.curr{grid-template-columns:1fr}
    .page-hero .wrap{grid-template-columns:1fr}
    .page-hero h1{font-size:26px}
    .mock-body{grid-template-columns:1fr}
    .mock-side{display:none}
    .slide-grid{grid-template-columns:repeat(2,1fr)}
    .tl{grid-template-columns:1fr;gap:4px}
    .article{padding:24px 18px;border-radius:20px}
    .article h1{font-size:23px}
  }

  /* メディア掲載（HugKum） */
  .media-sec{background:var(--paper)}
  .media-box{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;max-width:960px;margin:0 auto}
  .media-shot{display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 10px 30px rgba(60,40,10,.10)}
  .media-date{font-size:13px;color:var(--orange-text);font-weight:900;margin-bottom:6px}
  .media-box h3{font-size:19px;font-weight:900;line-height:1.6;margin-bottom:12px}
  .media-box p{color:var(--sub);margin-bottom:18px}
  .stat{margin:44px auto 0;max-width:620px;text-align:center;background:var(--cream);border-radius:24px;padding:24px}
  .stat p{color:var(--sub);font-weight:700}
  .stat b{display:block;font-size:30px;font-weight:900;line-height:1.4}
  .stat em{font-style:normal;color:var(--orange-text);font-size:52px;margin:0 4px}
  @media (max-width:820px){
    .media-box{grid-template-columns:1fr;gap:20px}
    .stat em{font-size:42px}
  }

  /* LINEの入口（見込みのお客さまを集める主なボタン） */
  .btn-line{background:#047d35;color:#fff;box-shadow:0 4px 0 #03551f}
  .btn-line::before{content:"LINE";display:inline-block;font-size:11px;font-weight:900;background:#fff;color:#047d35;border-radius:6px;padding:0 6px;margin-right:8px;vertical-align:2px;letter-spacing:.02em}
  header .btn-line::before{display:none}
  .cta-line{text-align:center}
  .cta-line .btn{width:100%;max-width:440px;font-size:17px;padding:15px 20px;line-height:1.5}
  .cta-line .sub-top{font-size:14px;font-weight:900;color:var(--ink);margin-bottom:8px}
  .cta-line .sub-bottom{font-size:12px;color:var(--sub);margin-top:10px;line-height:1.6}
  .hero-copy .cta-line{margin-bottom:4px}
  .plan .cta-line{margin-top:auto}
  .wait-line{background:var(--paper);border-radius:28px;padding:30px 24px;max-width:680px;margin:0 auto}
  .wait-or{text-align:center;color:var(--sub);font-size:14px;font-weight:700;margin:28px 0 14px}

  /* スマホの画面下に固定のLINEボタン */
  .sticky-line{display:none}
  @media (max-width:820px){
    .sticky-line{display:block;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(255,250,240,.96);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .25s}
    .sticky-line.show{transform:none}
    .sticky-line a{display:block;text-align:center;background:#047d35;color:#fff;font-weight:900;border-radius:999px;padding:9px 12px;font-size:15px;line-height:1.4}
    .sticky-line small{display:block;font-size:11px;font-weight:700;opacity:.9}
    body.has-sticky footer{padding-bottom:96px}
    .cta-line .btn{font-size:16px}
  }

  /* 幅1023以下ではメニューの文字が折れるので隠す（ロゴとLINEボタンだけにする） */
  @media (max-width:1023px){
    nav{display:none}
    nav a{white-space:nowrap}
  }
  nav a{white-space:nowrap}

  /* とても狭いスマホ（幅360以下）で見出しが変な所で折れないように */
  @media (max-width:360px){
    .hero-copy h1{font-size:24px}
    .sec-title h2{font-size:21px}
    .page-hero h1{font-size:23px}
    .article h1{font-size:21px}
    .stat b{font-size:24px}
    .stat em{font-size:36px}
    .cta-line .btn{font-size:15px;padding:14px 12px}
    header .btn{font-size:12px;padding:6px 10px}
  }
  @media (max-width:360px){
    .cta-line .sub-top{font-size:12px;letter-spacing:-.02em}
    .sec-title h2{font-size:20px}
  }
  @media (max-width:480px){
    .recruit{flex-direction:column;align-items:flex-start;gap:4px}
    .plan .body{padding:22px 18px 26px}
  }
