/* テーマの微調整（course.css 本体は触らず、ここで上書き）
 * course.css の読み込み後に適用される。 */

/* Kindleガイドのボタン：
 * .course-original-content a { color:var(--course-blue) } が効いて
 * 「青背景に濃い青文字」で読めなくなるため、白文字・下線なしに上書き。 */
.course-original-content a.kindle-guide__button,
.course-original-content a.kindle-guide__button:hover,
.course-original-content a.kindle-guide__button:focus {
    color: #fff;
    text-decoration: none;
}

/* UTAGE動画（HLSプレーヤー） */
.course-video { margin: 18px 0; }
.course-video video { width: 100%; max-width: 800px; aspect-ratio: 16 / 9; background: #000; border-radius: 8px; display: block; }
.course-video--empty { padding: 16px; border: 1px dashed #aab5ff; border-radius: 8px; color: #556; background: #f6f8ff; }

/* ================= グローバルメニュー ================= */
.global-nav{background:#11134f;}
.global-nav .menu{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;max-width:1100px;}
.global-nav .menu>li{position:relative;}
.global-nav .menu>li>a{display:block;padding:14px 22px;color:#fff;text-decoration:none;font-weight:700;font-size:15px;}
.global-nav .menu>li:hover>a,.global-nav .menu>li:focus-within>a{background:rgba(255,255,255,.12);}
.global-nav .menu-item-has-children>a::after{content:"▾";margin-left:6px;font-size:.8em;opacity:.85;}
.global-nav .sub-menu{list-style:none;margin:0;padding:6px 0;position:absolute;top:100%;left:0;min-width:220px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.18);border-radius:0 0 10px 10px;display:none;z-index:100;}
.global-nav .menu>li:hover>.sub-menu,.global-nav .menu>li:focus-within>.sub-menu{display:block;}
.global-nav .sub-menu li a{display:block;padding:11px 18px;color:#242633;text-decoration:none;font-size:14px;}
.global-nav .sub-menu li a:hover{background:#eef1ff;color:#0000cd;}
/* 3階層目（大カテゴリ → 講座 → レッスン）：2段目にマウスを乗せると横に開く */
.global-nav .sub-menu li{position:relative;}
.global-nav .sub-menu .sub-menu{top:-6px;left:100%;border-radius:0 10px 10px 10px;}
.global-nav .sub-menu li:hover>.sub-menu,.global-nav .sub-menu li:focus-within>.sub-menu{display:block;}
.global-nav .sub-menu .menu-item-has-children>a{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.global-nav .sub-menu .menu-item-has-children>a::after{content:"\25B8";margin-left:0;font-size:.9em;opacity:.7;}

/* ================= フッターメニュー ================= */
.site-footer{background:#11134f;color:#fff;padding:44px 24px 28px;margin-top:60px;}
.site-footer .footer-inner{max-width:1100px;margin:0 auto;}
.site-footer nav>.menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:36px;}
.site-footer nav>.menu>li{min-width:180px;}
.site-footer nav>.menu>li>a{display:block;font-weight:700;font-size:16px;color:#fff;text-decoration:none;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.25);}
.site-footer .sub-menu{list-style:none;margin:0;padding:0;}
.site-footer .sub-menu li{margin:8px 0;}
.site-footer .sub-menu a{color:rgba(255,255,255,.88);text-decoration:none;font-size:14px;}
.site-footer .sub-menu a:hover{color:#fff;text-decoration:underline;}
.site-footer .sub-menu .menu-item-has-children>a{font-weight:600;color:#fff;}
.site-footer .sub-menu .sub-menu{margin:4px 0 10px 10px;padding-left:12px;border-left:1px solid rgba(255,255,255,.3);}
.site-footer .sub-menu .sub-menu a{font-size:13px;color:rgba(255,255,255,.78);}
.site-footer .footer-copy{margin-top:30px;font-size:13px;color:rgba(255,255,255,.7);}

/* ================= 表（テーブルブロック） ================= */
.course-original-content .wp-block-table{margin:18px 0;overflow-x:auto;display:flex;flex-direction:column}
.course-original-content .wp-block-table table,.course-original-content table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7}
.course-original-content th,.course-original-content td{border:1px solid #dfe2ec;padding:8px 12px;text-align:left;vertical-align:top}
.course-original-content thead th{background:#eef1ff;font-weight:700;color:#11134f}
.course-original-content .wp-block-table__caption{order:-1;margin:0 0 8px;font-size:14px;font-weight:700;color:#11134f;text-align:left}

/* ================= 参考ボックス（course-refs） ================= */
.course-original-content .course-refs{background:#f6f8ff;border:1px solid #dfe2ec;border-left:4px solid #11134f;border-radius:8px;padding:16px 20px;margin:22px 0}
.course-original-content .course-refs h2,.course-original-content .course-refs .course-refs__title{margin:0 0 10px;font-size:14px;font-weight:700;color:#11134f;letter-spacing:.04em;display:block}
.course-original-content .course-refs ul{margin:0;padding:0;list-style:none}
.course-original-content .course-refs li{margin:0;padding:7px 0 7px 20px;position:relative;line-height:1.6}
.course-original-content .course-refs li+li{border-top:1px solid #e6e9f2}
.course-original-content .course-refs li::before{content:"\203a";position:absolute;left:4px;color:#0000cd;font-weight:700}
.course-original-content .course-refs a{color:#0000cd;overflow-wrap:anywhere}

/* ================= レッスン前後ページ：次のみのとき右寄せ ================= */
.course-lesson-pager__next:only-child{grid-column:2}
@media (width<=700px){.course-lesson-pager__next:only-child{grid-column:auto}}

/* ================= 本文見出しの装飾（案4：濃紺の帯＋チップ／2026-07-19） ================= */
.course-original-content h2.wp-block-heading:not(.course-refs__title){font-size:21px;color:#fff;background:linear-gradient(135deg,#11134f 0%,#232a7a 100%);border-radius:8px;padding:12px 18px;margin:2.2em 0 1em;line-height:1.5;box-shadow:0 3px 10px rgba(17,19,79,.18)}
.course-original-content h3.wp-block-heading{font-size:17px;color:#11134f;background:#eef1ff;border:1px solid #d6dcff;border-radius:999px;display:inline-block;padding:6px 18px;margin:1.8em 0 .9em;line-height:1.4}

/* ================= 初期設定講座：手順ステップ・画像・注意枠 ================= */
/* スクリーンショット画像：枠線＋影で本文から浮かせ、クリック拡大前提で幅を抑える */
.course-original-content .wp-block-image{margin:14px 0;}
.course-original-content .wp-block-image img{border:1px solid #d7dce6;border-radius:8px;box-shadow:0 3px 14px rgba(17,19,79,.08);height:auto;cursor:zoom-in;}
.course-original-content .wp-block-image figcaption{color:#5c6472;font-size:13.5px;line-height:1.6;margin:7px 2px 0;}
.course-original-content .course-step .wp-block-image{max-width:640px;}

/* 手順ステップ：番号チップ＋広い間隔＋区切り線 */
.course-original-content .course-step{margin:0;padding:34px 0 30px;}
.course-original-content .course-step + .course-step{border-top:1px dashed #dde2ec;}
.course-original-content p.course-step__label{display:flex;align-items:center;gap:12px;font-weight:700;font-size:17px;margin:0 0 4px;}
.course-original-content .course-step__num{background:linear-gradient(135deg,#11134f,#2b3ba8);color:#fff;border-radius:999px;padding:3px 14px;font-size:12.5px;font-weight:700;letter-spacing:.08em;white-space:nowrap;}

/* 2枚並べ：対になるキャプチャを横に並べる（狭い画面では自動で縦積み） */
.course-original-content .course-pair{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;margin:14px 0;}
.course-original-content .course-pair .wp-block-image{flex:1 1 260px;min-width:230px;max-width:none;margin:0;}

/* ================= サイドバー目次を通常表示に ================= */
/* 画面固定（sticky）と内部スクロールをやめ、目次を普通の縦一列で全部表示する。フッターは目次の下に来る。 */
.course-platform__sidebar{position:static;height:auto;max-height:none;overflow-y:visible;}
.course-platform__sidebar .course-contents{max-height:none;overflow-y:visible;}


/* ===== コードボックス（course-code）：コピーできるコード枠 ===== */
.course-code{position:relative;background:#282c34;border-radius:8px;margin:1.6em 0;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.course-code__bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px}
.course-code__dots{display:inline-flex;gap:8px}
.course-code__dots i{width:12px;height:12px;border-radius:50%;display:inline-block}
.course-code__dots i:nth-child(1){background:#ff5f56}
.course-code__dots i:nth-child(2){background:#ffbd2e}
.course-code__dots i:nth-child(3){background:#27c93f}
.course-code__copy{background:#e8ebf0;color:#333;border:0;border-radius:6px;padding:4px 16px;font-size:13px;line-height:1.6;cursor:pointer;font-family:inherit}
.course-code__copy:hover{background:#dfe3ea}
.course-code__copy.is-copied{background:#27c93f;color:#fff}
.course-code__pre{margin:0;padding:6px 16px 18px;overflow-x:auto;background:transparent}
.course-code__pre code{display:block;color:#e6e6e6;background:transparent;font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:14px;line-height:1.75;white-space:pre;tab-size:4}
/* エディタ内の入力欄 */
.course-code--edit .course-code__input,.course-code--edit textarea.course-code__input{width:100%;box-sizing:border-box;background:transparent;color:#e6e6e6;border:0;padding:6px 16px 18px;font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:14px;line-height:1.75;resize:vertical;min-height:90px}
.course-code--edit .course-code__input:focus{outline:none;box-shadow:none}
.course-code--edit .course-code__copy{cursor:default}

/* ------------------------------------------------------------------ *
 * フッター2カラム（フッター（左）／フッター（右））
 *  ss_render_site_footer() が footer-left / footer-right を割り当て時に出力。
 *  未割り当てのあいだは従来の単一フッターメニュー表示のまま影響しない。
 * ------------------------------------------------------------------ */
.site-footer .footer-cols{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start;text-align:left;}
.site-footer .footer-cols>.footer-col{flex:1 1 320px;min-width:0;justify-content:flex-start;}
.site-footer .footer-cols>.footer-col>.menu{justify-content:flex-start;gap:16px;}
.site-footer .footer-cols>.footer-col>.menu>li>a{border-bottom:0;padding-bottom:0;margin-bottom:0;}
@media (max-width:640px){.site-footer .footer-cols{gap:28px;}.site-footer .footer-cols>.footer-col{flex:1 1 100%;}}

/* ------------------------------------------------------------------ *
 * トップの講座カード：説明文の長さが違っても「詳しく見る」を下端でそろえる
 * ------------------------------------------------------------------ */
.curriculum-card{display:flex;flex-direction:column;}
.curriculum-card__body{display:flex;flex-direction:column;flex:1 1 auto;}
.curriculum-card__body>a{margin-top:auto;}


/* ============================================================ *
 * 新デザイン：1本ページ（縦長＋PDF）  .ss-onepager
 * 既存レッスンに影響しないよう、すべて .ss-onepager 配下に限定
 * ============================================================ */
/* レイアウト：この型のページだけ サイドバー目次・前後リンク・スマホ目次を消し全幅に */
.course-platform:has(.ss-onepager) .course-mobile-contents{display:none;}
.course-platform__layout:has(.ss-onepager){display:block;}
.course-platform__layout:has(.ss-onepager) .course-platform__sidebar{display:none;}
.course-lesson-page:has(.ss-onepager) .course-lesson-pager{display:none;}

/* 見出し（講座タイトル）を紺バンドに */
.course-lesson-page:has(.ss-onepager) .course-lesson-heading{background:linear-gradient(135deg,#1b3a5b,#264d75);color:#fff;border-radius:10px;padding:26px 30px;margin-bottom:26px;}
.course-lesson-page:has(.ss-onepager) .course-lesson-heading p{color:#d8e4f1;font-weight:700;letter-spacing:.08em;margin:0 0 8px;font-size:13px;}
.course-lesson-page:has(.ss-onepager) .course-lesson-heading h1{color:#fff;margin:0;font-size:26px;line-height:1.45;}

/* 本文枠 */
.ss-onepager{max-width:700px;margin:0 auto;font-size:16px;line-height:1.95;counter-reset:ssw;}
.ss-onepager .ss-lead{font-size:16.5px;line-height:2.05;margin:0 0 26px;}

/* 今回の内容 */
.ss-onepager .ss-goals{background:#e6f1f0;border:1px solid #cfe4e2;border-radius:10px;padding:20px 24px;margin:0 0 22px;}
.ss-onepager .ss-goals__ttl{font-weight:700;color:#2f7d7d;font-size:15px;margin:0 0 10px;letter-spacing:.04em;}
.ss-onepager .ss-goals__ttl::before{content:"\25AE  ";}
.ss-onepager .ss-goals ol{margin:0;padding-left:22px;}
.ss-onepager .ss-goals li{padding:3px 0;}

/* PDFバー */
.ss-onepager .ss-pdfbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fff;border:1px dashed #c9c3b5;border-radius:10px;padding:13px 16px;margin:0 0 32px;font-size:13.5px;color:#6b6455;}
.ss-onepager .ss-pdfbar__pill{background:#faf3e7;color:#c0873f;font-weight:700;border-radius:6px;padding:3px 10px;font-size:12px;white-space:nowrap;}
.ss-onepager .ss-pdfbar__txt{flex:1 1 220px;}
.ss-onepager .ss-pdfbar__btn{background:#1b3a5b;color:#fff;border:0;border-radius:8px;padding:9px 18px;font-size:13.5px;font-weight:700;cursor:pointer;}

/* 作業のまとまり */
.ss-onepager .ss-work{margin:0 0 8px;}
.ss-onepager .ss-work__head{display:flex;align-items:center;gap:14px;margin:40px 0 16px;font-size:22px;font-weight:900;color:#1b3a5b;border:0;padding:0;}
.ss-onepager .ss-work__head::before{counter-increment:ssw;content:counter(ssw);flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#11134f,#2b3ba8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;}
.ss-onepager .ss-work__intro{margin:0 0 6px;}

/* 手順STEP（chip は course-step__label 内の strong） */
.ss-onepager .course-step{margin:0;padding:24px 0 22px;}
.ss-onepager .course-step + .course-step{border-top:1px dashed #dde2ec;}
.ss-onepager .course-step__label{display:flex;align-items:center;gap:12px;font-weight:700;font-size:17px;margin:0 0 12px;line-height:1.6;}
.ss-onepager .course-step__label strong{background:linear-gradient(135deg,#11134f,#2b3ba8);color:#fff;border-radius:999px;padding:3px 14px;font-size:12.5px;font-weight:700;letter-spacing:.08em;white-space:nowrap;}

/* 画像 */
.ss-onepager .wp-block-image{max-width:none;margin:14px 0;}
.ss-onepager .shot img{width:100%;border:1px solid #d7dce6;border-radius:8px;box-shadow:0 3px 14px rgba(17,19,79,.08);}
.ss-onepager .shot figcaption{color:#5c6472;font-size:13.5px;margin-top:7px;}
.ss-onepager .course-pair{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;}
.ss-onepager .course-pair .wp-block-image{flex:1 1 300px;min-width:240px;margin:0;}

/* 注意枠 */
.ss-onepager .course-warn{background:#fff7e0;border:1px solid #eccf7a;border-left:6px solid #b8860b;border-radius:8px;padding:14px 20px;margin:18px 0;}
.ss-onepager .course-warn__title{font-weight:700;color:#b8860b;font-size:14.5px;margin:0 0 6px;}
.ss-onepager .course-warn ul{margin:0;padding-left:20px;}
.ss-onepager .course-warn li{font-size:14.5px;padding:2px 0;}

/* まとめ・続き */
.ss-onepager .ss-summary{background:#e6f1f0;border:1px solid #cfe4e2;border-radius:10px;padding:22px 26px;margin:34px 0 8px;}
.ss-onepager .ss-summary__ttl{font-weight:900;color:#2f7d7d;font-size:16px;margin:0 0 10px;}
.ss-onepager .ss-summary__ttl::before{content:"\25C6  ";}
.ss-onepager .ss-continues{text-align:center;color:#9a927f;font-size:14px;border:1px dashed #d8d2c4;border-radius:10px;padding:16px;margin:32px 0 0;}

/* ===== 印刷（PDF） ===== */
@media print{
  .course-topbar,.global-nav,.site-footer,.ss-onepager .ss-pdfbar{display:none !important;}
  .course-lesson-page:has(.ss-onepager) .course-lesson-heading{border-radius:0;}
  .ss-onepager{max-width:none;}
  .ss-onepager .ss-work{break-before:page;}
  .ss-onepager .ss-work:first-of-type{break-before:auto;}
  .ss-onepager .shot img{max-height:238mm;width:auto;max-width:100%;}
  .ss-onepager .course-step,.ss-onepager .course-warn,.ss-onepager .course-pair,.ss-onepager .shot,.ss-onepager .ss-summary,.ss-onepager .ss-goals{break-inside:avoid;}
  .ss-onepager .ss-work__head,.ss-onepager .course-step__label{break-after:avoid;}
}

/* 今回の内容：番号を表示（テーマのlist-style:noneを上書き） */
.ss-onepager .ss-goals ol{list-style:decimal outside;}
.ss-onepager .ss-goals ol li{display:list-item;}

/* 1本ページ：ヘッダーのグローバルメニュー（基礎知識/導入編）を非表示 */
.course-platform:has(.ss-onepager) .global-nav{display:none;}

/* 1本ページ：トップバーを軽く・スッキリさせる */
.course-platform:has(.ss-onepager) .course-topbar{background:#fff;border-bottom:1px solid #e7e4dc;padding:11px 26px;gap:12px;box-shadow:none;}
.course-platform:has(.ss-onepager) .course-topbar__back{color:#5a6472;font-size:13.5px;font-weight:600;text-decoration:none;border:0;}
.course-platform:has(.ss-onepager) .course-topbar__back:hover{color:#1b3a5b;}
.course-platform:has(.ss-onepager) .course-topbar__title{display:none;}

/* ============ 浮く「目次」（開閉するオーバーレイ・全幅で同じ動き） ============ */
.ss-onepager .ss-work__head{scroll-margin-top:24px;}
.ss-toc-btn{position:fixed;top:16px;right:18px;z-index:1000;display:inline-flex;align-items:center;gap:7px;
  background:#1b3a5b;color:#fff;border:0;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:700;
  cursor:pointer;box-shadow:0 4px 16px rgba(17,19,79,.22);font-family:inherit;line-height:1;}
.ss-toc-btn:hover{background:#264d75;}
.ss-toc-btn__icon{font-size:15px;}
.ss-toc-backdrop{position:fixed;inset:0;z-index:1001;background:rgba(18,22,38,.40);opacity:0;visibility:hidden;transition:opacity .2s ease;}
.ss-toc-panel{position:fixed;top:0;left:0;z-index:1002;width:min(330px,86vw);height:100%;background:#fff;
  box-shadow:6px 0 40px rgba(0,0,0,.22);transform:translateX(-103%);transition:transform .25s ease;
  display:flex;flex-direction:column;}
.ss-toc.is-open .ss-toc-backdrop{opacity:1;visibility:visible;}
.ss-toc.is-open .ss-toc-panel{transform:none;}
.ss-toc-panel__head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #ece9e1;flex:0 0 auto;}
.ss-toc-panel__head strong{font-size:15px;color:#1b3a5b;letter-spacing:.04em;}
.ss-toc-close{background:none;border:0;font-size:24px;line-height:1;color:#9a93857;color:#999;cursor:pointer;padding:0 4px;}
.ss-toc-close:hover{color:#1b3a5b;}
.ss-toc-list{list-style:none;margin:0;padding:8px 0;overflow-y:auto;}
.ss-toc-list a{display:block;padding:12px 22px;color:#33404f;text-decoration:none;font-size:14.5px;border-left:3px solid transparent;line-height:1.5;}
.ss-toc-list a:hover{background:#f4f6f9;border-left-color:#1b3a5b;color:#1b3a5b;}
@media print{.ss-toc-btn,.ss-toc{display:none !important;}}

/* トップバーを透過に（白い帯を消す／戻る導線は目次内へ集約） */
.course-platform:has(.ss-onepager) .course-topbar{background:transparent;border-bottom:0;box-shadow:none;}
.course-platform:has(.ss-onepager) .course-topbar__back{display:none;}
/* 目次パネル内「トップページへ戻る」 */
.ss-toc-list{flex:1 1 auto;}
.ss-toc-home{flex:0 0 auto;display:block;padding:16px 22px;border-top:1px solid #ece9e1;color:#1b3a5b;font-weight:700;font-size:14px;text-decoration:none;}
.ss-toc-home:hover{background:#f4f6f9;color:#264d75;}

/* ヒーロー：上の余白を詰めて最上部へ＋縦に大きく */
.course-platform:has(.ss-onepager) .course-topbar{padding:0;min-height:0;border-bottom:0;}
.course-platform__layout:has(.ss-onepager){padding-top:0;}
.course-platform:has(.ss-onepager) .course-platform__main{padding-top:0;}
.course-lesson-page:has(.ss-onepager){padding-top:0;margin-top:0;}
.course-lesson-page:has(.ss-onepager) .course-lesson-heading{padding:66px 46px 60px;margin-bottom:36px;border-radius:0;}
.course-lesson-page:has(.ss-onepager) .course-lesson-heading p{font-size:14px;margin-bottom:14px;letter-spacing:.1em;}
.course-lesson-page:has(.ss-onepager) .course-lesson-heading h1{font-size:34px;line-height:1.42;}
/* 目次ボタン：紺ヒーロー上でも見えるよう薄い縁 */
.ss-toc-btn{border:1px solid rgba(255,255,255,.42);}

/* 目次ボタン：薄い緑＋濃い文字（アクセント緑に統一。紺ヒーロー上でも白背景でも目立つ） */
.ss-toc-btn{background:#cdeade;color:#17513f;border:1px solid #a6d4c4;box-shadow:0 4px 14px rgba(17,60,45,.18);}
.ss-toc-btn:hover{background:#bde3d3;color:#123f31;}

/* ================= ヒーロー（白ベース・和文ゴシック・洗練） ================= */
.course-lesson-page:has(.ss-onepager) .course-lesson-heading{display:none;}   /* テーマ標準見出しは隠す */
.course-platform:has(.ss-onepager) .course-platform__main{padding-top:26px;}
.ss-onepager .ss-hero{position:relative;overflow:hidden;background:#fff;border:1px solid #ecefec;border-radius:20px;
  padding:62px 56px 58px;margin:0 0 40px;box-shadow:0 10px 34px rgba(30,60,45,.05);}
.ss-onepager .ss-hero::after{content:"";position:absolute;top:-130px;right:-100px;width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle at 32% 32%, #e7f4ec 0%, #eef8f1 60%, #f4faf6 100%);z-index:0;}
.ss-onepager .ss-hero > *{position:relative;z-index:1;}
.ss-onepager .ss-hero__badge{display:inline-flex;align-items:center;gap:9px;background:#edf6f0;color:#1f7355;
  font-weight:700;font-size:12.5px;letter-spacing:.12em;padding:8px 17px;border-radius:999px;margin:0 0 24px;}
.ss-onepager .ss-hero__badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#2f9e6f;}
.ss-onepager .ss-hero__title{font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;font-weight:900;
  font-size:42px;line-height:1.36;color:#17231e;margin:0 0 20px;letter-spacing:.01em;border:0;padding:0;}
.ss-onepager .ss-hero__sub{color:#6b7280;font-size:16px;line-height:1.9;max-width:620px;margin:0 0 28px;}
.ss-onepager .ss-hero__tags{display:flex;flex-wrap:wrap;gap:10px;}
.ss-onepager .ss-hero__tags span{background:#fff;border:1px solid #dbe8df;color:#2f7d7d;font-weight:700;font-size:13px;padding:8px 16px;border-radius:999px;}
/* 見出しにも和文ゴシックを効かせる */
.ss-onepager .ss-work__head,.ss-onepager .ss-goals__ttl,.ss-onepager .ss-summary__ttl{font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;}
@media (max-width:600px){.ss-onepager .ss-hero{padding:42px 26px 38px;} .ss-onepager .ss-hero__title{font-size:29px;}}

/* ヒーロー：浮きカードをやめ、カラム幅・列の最上部に隙間なく収める（外周余白・角丸・影を除去、上を詰める） */
.course-platform:has(.ss-onepager) .course-platform__main{padding-top:4px;}
.ss-onepager .ss-hero{border:0;border-radius:0;box-shadow:none;margin:0 0 36px;padding:6px 0 44px;}

/* ヒーロー：白いカードの端まで背景・丸をブリード（外周の白余白ゼロ、タイトル位置は据え置き） */
.course-lesson-page:has(.ss-onepager){overflow:hidden;}
.ss-onepager .ss-hero{--b:calc(clamp(28px,4vw,46px) + clamp(24px,4vw,38px));
  margin:calc(-1 * var(--b)) calc(-1 * var(--b)) 36px;
  padding:var(--b) var(--b) 44px;border-radius:0;}

/* 作業見出しの帯も、白カードの端までブリードさせてヒーローと揃える（中身は本文左端に整列） */
.ss-onepager .ss-work__head{--b:calc(clamp(28px,4vw,46px) + clamp(24px,4vw,38px));
  margin-left:calc(-1 * var(--b));margin-right:calc(-1 * var(--b));
  padding-left:var(--b);padding-right:var(--b);}

/* ①チップ：A（白チップ＋紺の数字） */
.ss-onepager .ss-work__head::before{background:#fff;color:#232a66;}

/* 見出しを新スタイルに：帯をやめ、緑の番号チップ＋大きい黒タイトル（サブ文なし・導入は普通の本文） */
.ss-onepager .ss-work .ss-work__head{background:none !important;border:0;box-shadow:none;border-radius:0;
  margin:46px 0 14px !important;padding:0 !important;color:#17231e;font-size:27px;font-weight:900;line-height:1.4;
  display:flex;align-items:center;gap:16px;}
.ss-onepager .ss-work .ss-work__head::before{background:#1e5033;color:#fff;width:50px;height:50px;border-radius:14px;font-size:22px;}

/* 見出しタイトルの文字色を強制（帯の白文字が残っていたため） */
.ss-onepager .ss-work .ss-work__head{color:#17231e !important;border:0 !important;background:none !important;background-color:transparent !important;}

/* 見出し：帯の名残（薄い枠・影）を完全に消す */
.ss-onepager .ss-work .ss-work__head{box-shadow:none !important;outline:0 !important;border-radius:0 !important;background-image:none !important;}

/* PDFボタン：案B（白地・緑枠・緑文字＋プリンタアイコン） */
.ss-onepager .ss-pdfbar__btn{background:#fff !important;color:#1e5033 !important;border:2px solid #cfe3d5 !important;
  display:inline-flex;align-items:center;gap:9px;}
.ss-onepager .ss-pdfbar__btn:hover{background:#e9f2ec !important;}
.ss-onepager .ss-pdfbar__btn svg{width:17px;height:17px;}

/* ヒーロー内のPDFボタン（左下） */
.ss-onepager .ss-hero__actions{margin-top:26px;}

/* ヒーロー下の余白を詰める（ボタン〜本文の間） */
.ss-onepager .ss-hero{padding-bottom:22px;margin-bottom:16px;}

/* STEPラベル：案A（薄緑チップ＋濃緑文字） */
.ss-onepager .course-step__label strong{background:#e9f2ec;background-image:none;color:#17402a;}

/* STEPラベル：案B（深緑ソリッド＋白文字）に変更 */
.ss-onepager .course-step__label strong{background:#1e5033;background-image:none;color:#fff;}

/* この1本ページだけ、フッターメニューをいったん非表示 */
.course-platform:has(.ss-onepager) ~ .site-footer{display:none !important;}
.course-platform:has(.ss-onepager) ~ footer{display:none !important;}
body:has(.ss-onepager) .site-footer{display:none !important;}

/* 番号なし見出し（帯なし・緑の左アクセント） */
.ss-onepager .ss-subhead{background:none !important;background-color:transparent !important;border:0 !important;box-shadow:none !important;
  color:#17231e;font-size:22px;font-weight:900;line-height:1.5;margin:38px 0 12px;padding:2px 0 2px 15px;
  border-left:5px solid #1e5033 !important;border-radius:0 !important;
  font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;}

/* ================= 既存レッスン互換＋分割PDF（初期設定講座 1本化） ================= */
/* STEPチップ：既存は span.course-step__num（深緑ソリッド＋白＝Bに統一） */
.ss-onepager .course-step__num{display:inline-block;background:#1e5033;color:#fff;border-radius:999px;padding:3px 14px;font-size:12.5px;font-weight:700;letter-spacing:.08em;white-space:nowrap;margin-right:6px;}
/* 画像：全部に枠・影（既存 size-full / 新規 shot 両対応） */
.ss-onepager .wp-block-image{margin:14px 0;}
.ss-onepager .wp-block-image img{border:1px solid #d7dce6;border-radius:8px;box-shadow:0 3px 14px rgba(17,19,79,.08);height:auto;}
.ss-onepager .wp-block-image figcaption{color:#5c6472;font-size:13.5px;line-height:1.6;margin-top:7px;}
/* 内部見出し（レッスン内の h2/h3：帯を消して緑アクセントの小見出しに） */
.ss-onepager .ss-work h2.wp-block-heading:not(.ss-work__head){background:none !important;background-color:transparent !important;border:0 !important;box-shadow:none !important;border-radius:0 !important;color:#17402a;font-size:19px;font-weight:900;line-height:1.5;margin:30px 0 10px;padding:2px 0 2px 13px;border-left:4px solid #1e5033 !important;font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;}
.ss-onepager .ss-work h3.wp-block-heading{color:#1e3a2b;font-size:16px;font-weight:700;margin:20px 0 8px;font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;}
/* 既存の注意枠タイトル（.course-callout__title） */
.ss-onepager .course-callout__title{display:block;font-weight:700;color:#b8860b;margin-bottom:6px;}

/* パート見出し（区切り） */
.ss-onepager .ss-part__label{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:900;color:#1e5033;letter-spacing:.06em;margin:52px 0 0;}
.ss-onepager .ss-part__label::before{content:"";width:28px;height:3px;background:#1e5033;border-radius:2px;}
.ss-onepager .ss-part-1 .ss-part__label,.ss-onepager .ss-part:first-of-type .ss-part__label{margin-top:8px;}

/* ヒーローの2ボタン＋分割メニュー */
.ss-onepager .ss-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;}
.ss-onepager .ss-pdfbtn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14px;border-radius:10px;padding:11px 20px;background:#fff;color:#1e5033;border:2px solid #cfe3d5;cursor:pointer;font-family:inherit;line-height:1;}
.ss-onepager .ss-pdfbtn:hover{background:#e9f2ec;}
.ss-onepager .ss-pdfbtn svg{width:17px;height:17px;display:block;flex:0 0 auto;}
.ss-onepager .ss-splitwrap{position:relative;}
.ss-onepager .ss-splitmenu{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid #cfe3d5;border-radius:10px;box-shadow:0 10px 28px rgba(20,50,35,.16);padding:6px;z-index:50;min-width:240px;}
.ss-onepager .ss-splitmenu[hidden]{display:none;}
.ss-onepager .ss-splitmenu button{display:block;width:100%;text-align:left;background:none;border:0;padding:11px 14px;font-size:14px;font-weight:700;color:#1e3a2b;cursor:pointer;border-radius:7px;font-family:inherit;}
.ss-onepager .ss-splitmenu button:hover{background:#e9f2ec;color:#1e5033;}

/* ===== 印刷：分割（選んだパートだけ） ===== */
@media print{
  .ss-onepager .ss-hero__actions,.ss-onepager .ss-splitmenu,.ss-onepager .ss-part__label{}
  body[data-ss-print] .ss-part{display:none !important;}
  body[data-ss-print="1"] .ss-part-1,body[data-ss-print="2"] .ss-part-2,body[data-ss-print="3"] .ss-part-3{display:block !important;}
  body[data-ss-print] .ss-goals,body[data-ss-print] .ss-lead{display:none !important;}
  .ss-onepager .ss-hero__actions{display:none !important;}
}

/* ヒーローの緑丸を背景方式に変更し、overflowを解除（分割メニューが見切れる問題の解消） */
.ss-onepager .ss-hero{overflow:visible !important;background-color:#fff;background-image:radial-gradient(210px at calc(100% + 60px) -80px, #e7f4ec 0%, #eef8f1 60%, rgba(255,255,255,0) 76%);background-repeat:no-repeat;}
.ss-onepager .ss-hero::after{content:none !important;display:none !important;}

/* ヘッダーの緑丸：濃く・大きく戻す（背景方式のまま） */
.ss-onepager .ss-hero{background-image:radial-gradient(250px at calc(100% + 30px) -60px, #e4f2e9 0%, #e9f5ed 60%, #eff8f2 71%, rgba(255,255,255,0) 73%) !important;background-repeat:no-repeat !important;}

/* ヘッダーの緑丸をしっかり大きく */
.ss-onepager .ss-hero{background-image:radial-gradient(440px at calc(100% + 20px) -120px, #e2f0e7 0%, #e8f4ec 64%, #eef7f1 75%, rgba(255,255,255,0) 77%) !important;background-repeat:no-repeat !important;}

/* ヒーロー：見本に寄せて、全体にうっすら緑グラデ＋大きめの丸 */
.ss-onepager .ss-hero{background-color:#f2f9f5 !important;background-image:radial-gradient(470px at calc(100% + 10px) -110px, #d7ebe0 0%, #e3f1e9 58%, rgba(242,249,245,0) 74%), linear-gradient(155deg, #f5faf7 0%, #e9f4ed 100%) !important;background-repeat:no-repeat !important;}

/* 右上の丸をもう少し濃い緑に */
.ss-onepager .ss-hero{background-image:radial-gradient(470px at calc(100% + 10px) -110px, #bfddce 0%, #cfe6da 56%, rgba(242,249,245,0) 74%), linear-gradient(155deg, #f5faf7 0%, #e9f4ed 100%) !important;background-repeat:no-repeat !important;}

/* ヒーロー：見本の実測色で正確に再現（背景#f3f9f5 ／ 丸#e5f1e8） */
.ss-onepager .ss-hero{background-color:#f3f9f5 !important;background-image:radial-gradient(480px at calc(100% + 10px) -110px, #e5f1e8 0%, #e8f3eb 52%, rgba(243,249,245,0) 73%) !important;background-repeat:no-repeat !important;}

/* ===== ヒーロー：見本の実測色で全面一致 ===== */
.ss-onepager .ss-hero{background-color:#f8fdf9 !important;background-image:radial-gradient(490px at calc(100% + 10px) -110px, #e4f1e8 0%, #e9f4ec 52%, rgba(248,253,249,0) 73%) !important;background-repeat:no-repeat !important;}
.ss-onepager .ss-hero__badge{background:#ffffff !important;color:#1b5d37 !important;box-shadow:0 2px 9px rgba(20,60,40,.09);}
.ss-onepager .ss-hero__badge::before{background:#1b5d37 !important;}
.ss-onepager .ss-hero__title{color:#0a1f16 !important;}
.ss-onepager .ss-hero__sub{color:#566953 !important;}

/* 右上の丸：輪郭のあるちゃんとした円に（solidを高%まで保って端でスッと落とす） */
.ss-onepager .ss-hero{background-image:radial-gradient(circle 330px at calc(100% + 30px) -30px, #e4f1e8 0%, #e4f1e8 80%, rgba(228,241,232,0.45) 89%, rgba(248,253,249,0) 96%) !important;background-repeat:no-repeat !important;background-color:#f8fdf9 !important;}

/* 右上の丸：縁のハッキリした大きい円（ぼやけ解消） */
.ss-onepager .ss-hero{background-image:radial-gradient(circle 430px at 90% -8%, #e4f1e8 0%, #e4f1e8 96%, rgba(228,241,232,0.4) 98.5%, rgba(228,241,232,0) 99.5%) !important;background-repeat:no-repeat !important;background-color:#f8fdf9 !important;}

/* 2026-07-22 ヒーロー丸：見本実測（誤差0.2px）で再現。輪郭くっきり・右上小さめ */
.ss-onepager .ss-hero{background-image:radial-gradient(circle 143px at 95.9% 7.8%, #e4f1e8 0%, #e4f1e8 98.6%, rgba(228,241,232,0) 100%) !important;background-repeat:no-repeat !important;background-color:#f8fdf9 !important;}

/* 2026-07-22 印刷（PDF）はインク節約のため背景を白に強制 */
@media print{
  html,body,.course-platform,.learning-course-platform,.course-platform__layout,.course-platform__main,.course-lesson-page,.course-original-content,.ss-onepager,.ss-onepager .ss-hero,.ss-onepager .ss-goals,.ss-onepager .ss-summary{background:#fff !important;background-image:none !important;}
}

/* 2026-07-22 PDF：外枠(カード)を全部外し、本文だけ白・全幅で出す */
@media print{
  html,body{background:#fff !important;margin:0 !important;}
  .course-topbar,.global-nav,.site-footer,.ss-toc-btn,.ss-toc,.course-lesson-pager,.course-platform__sidebar,.course-mobile-contents,.ss-onepager .ss-hero__actions,.ss-onepager .ss-pdfbar{display:none !important;}
  .course-platform,.learning-course-platform,.course-platform__layout,.course-platform__main,.learning-course-main,.course-lesson-page,.learning-course-lesson-page,.course-original-content{
    background:#fff !important;background-image:none !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;outline:0 !important;margin:0 !important;padding:0 !important;max-width:none !important;width:auto !important;}
  .ss-onepager{max-width:none !important;margin:0 !important;padding:0 !important;}
  .ss-onepager .ss-hero{background:#fff !important;background-image:none !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;margin:0 0 14px !important;padding:0 0 10px !important;}
  .ss-onepager .ss-goals,.ss-onepager .ss-summary{background:#fff !important;}
}

/* 2026-07-22 PDF：ページ余白を確保（本文が紙の端に張り付くのを防ぐ） */
@media print{@page{margin:15mm 14mm;}}

/* 2026-07-22 PDF：印刷ダイアログの余白設定に左右されないよう、本文自体に内側余白を付ける */
@media print{
  @page{margin:14mm 0;}
  .course-original-content{padding-left:12mm !important;padding-right:12mm !important;padding-top:0 !important;padding-bottom:0 !important;}
}


/* ============================================================
   印刷/PDF レイアウト調整（2026-07-22 クロちゃん）
   対象：一括PDF（.ss-onepager）。余白・改ページ・画像・色の最適化。
   ============================================================ */
@media print{
  /* --- ページ余白（上部をしっかり取る） --- */
  @page{margin:20mm 0 16mm 0;}
  /* コンテンツの左右余白（@pageの左右は0にして、ここで確保）＋上部にも少し余白 */
  .ss-onepager{padding-left:14mm !important;padding-right:14mm !important;padding-top:4mm !important;}

  /* --- 改ページ制御 --- */
  .ss-onepager .ss-work{break-before:auto !important;}
  .ss-onepager .ss-part{break-before:auto !important;}
  .ss-onepager .ss-part-2,
  .ss-onepager .ss-part-3{break-before:page !important;}
  .ss-onepager .ss-part__label,
  .ss-onepager .ss-work__head,
  .ss-onepager .course-step__label{break-after:avoid !important;break-inside:avoid !important;}
  .ss-onepager .course-step{break-inside:avoid !important;}
  .ss-onepager .course-step figcaption,
  .ss-onepager .wp-element-caption{break-before:avoid !important;text-align:left !important;}

  /* --- 画像：幅80%・左寄せ＋高さ上限（縦長1枚でも1ページに収める＝孤立防止） --- */
  .ss-onepager .course-step figure,
  .ss-onepager .course-step .wp-block-image,
  .ss-onepager .shot{text-align:left !important;margin-left:0 !important;margin-right:auto !important;}
  .ss-onepager .course-step figure img,
  .ss-onepager .course-step .wp-block-image img,
  .ss-onepager .shot img{max-width:80% !important;max-height:170mm !important;width:auto !important;height:auto !important;margin-left:0 !important;margin-right:auto !important;display:block !important;}

  /* --- 色飛び対策：背景OFFでも色を出す --- */
  .ss-onepager,
  .ss-onepager *{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important;}
}

/* ============================================================
   PDFボタン ブロック（study-set/pdf-buttons）単独用スタイル（2026-07-23）
   .ss-onepager 外（通常投稿）でも同じ見た目になるよう .ss-pdfbar-block に付与。
   ============================================================ */
.ss-pdfbar-block{ position:relative; display:flex; gap:12px; flex-wrap:wrap; margin:22px 0; }
.ss-pdfbar-block .ss-pdfbtn{ display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14px;border-radius:10px;padding:11px 20px;background:#fff;color:#1e5033;border:2px solid #cfe3d5;cursor:pointer;font-family:inherit;line-height:1; }
.ss-pdfbar-block .ss-pdfbtn:hover{ background:#e9f2ec; }
.ss-pdfbar-block .ss-pdfbtn svg{ width:17px;height:17px;display:block;flex:0 0 auto; }
.ss-pdfbar-block .ss-splitmenu{ position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid #cfe3d5;border-radius:10px;box-shadow:0 10px 28px rgba(20,50,35,.16);padding:6px;z-index:50;min-width:240px; }
.ss-pdfbar-block .ss-splitmenu[hidden]{ display:none; }
.ss-pdfbar-block .ss-splitmenu button{ display:block;width:100%;text-align:left;background:none;border:0;padding:11px 14px;font-size:14px;font-weight:700;color:#1e3a2b;cursor:pointer;border-radius:7px;font-family:inherit; }
.ss-pdfbar-block .ss-splitmenu button:hover{ background:#e9f2ec;color:#1e5033; }
/* 印刷/PDF出力時はボタン自体を消す */
@media print{ .ss-pdfbar-block{ display:none !important; } }

/* ============================================================
   通常投稿の本文見出しを新デザインの緑に（2026-07-23 / セレクタ修正版）
   構造は .course-original-content > .ss-onepager > h2 なので .ss-onepager 直下で狙う。
   .ss-work__head（onepagerのセクション見出し）は除外。
   ============================================================ */
.ss-onepager h2.wp-block-heading:not(.ss-work__head){
  background:linear-gradient(135deg,#1e5033 0%,#2f7d5a 100%) !important;
  color:#fff !important;
}
.ss-onepager h3.wp-block-heading{
  color:#1e5033 !important;
  background:#eaf5ee !important;
  border:1px solid #cfe6da !important;
}


/* ============================================================
   外枠(course-lesson-page)を980px→860pxへ（2026-07-23）
   ヒーロー(緑 約865px)の外側にできる白い余白を解消。本文は700pxのまま。
   画面のみ（PDF不変）。
   ============================================================ */
@media screen {
  .course-lesson-page:has(.ss-onepager){ width:min(100%,860px); }
}


/* ============================================================
   レッスン内(.ss-work)の小見出しh2が白文字になり消える不具合の修正（2026-07-23）
   「通常投稿の緑帯」ルールが color:#fff を上書きした一方、内部見出しルールが
   背景なしで勝つため白地に白で不可視化。内部見出し本来の濃い緑文字に戻す。
   （帯なし＝内部見出しの意図を維持。プレーン投稿の緑帯h2には不干渉）
   ============================================================ */
.ss-onepager .ss-work h2.wp-block-heading:not(.ss-work__head){ color:#17402a !important; }


/* ============================================================
   「参考」ボックス 洗練（案A：グリーンカード）2026-07-23
   紺(#11134f)＋青紫地＋青リンクの混在を、サイトの白×緑に統一。
   ============================================================ */
.ss-onepager .course-refs{
  background:#f4faf6 !important; border:1px solid #dcebe1 !important;
  border-left:4px solid #2f7d5a !important; border-radius:14px !important;
  padding:22px 26px !important; margin:26px 0 !important;
  box-shadow:0 4px 16px rgba(30,80,51,.05) !important;
}
.ss-onepager .course-refs h2.course-refs__title,
.ss-onepager .ss-work .course-refs h2.course-refs__title{
  border:0 !important; background:none !important; box-shadow:none !important;
  color:#1e5033 !important; font-size:12px !important; font-weight:700 !important;
  letter-spacing:.14em !important; padding:0 !important; margin:0 0 14px !important;
  display:inline-flex !important; align-items:center; gap:8px; line-height:1.4 !important;
}
.ss-onepager .course-refs h2.course-refs__title::before{
  content:""; width:15px; height:15px; flex:0 0 auto; display:inline-block;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%232f7d5a%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2019.5A2.5%202.5%200%200%201%206.5%2017H20%27%2F%3E%3Cpath%20d%3D%27M6.5%202H20v20H6.5A2.5%202.5%200%200%201%204%2019.5v-15A2.5%202.5%200%200%201%206.5%202z%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;
}
.ss-onepager .course-refs ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.ss-onepager .course-refs li{ padding:0 !important; margin:8px 0 0 !important; border:0 !important; position:static !important; line-height:1.6; }
.ss-onepager .course-refs li:first-child{ margin-top:0 !important; }
.ss-onepager .course-refs li::before{ content:none !important; }
.ss-onepager .course-refs a{
  display:inline-flex; align-items:center; gap:9px;
  color:#1f6d4a !important; font-weight:600; font-size:15.5px;
  text-decoration:none !important; border-bottom:1px solid rgba(31,109,74,.28);
  padding-bottom:1px; overflow-wrap:anywhere;
}
.ss-onepager .course-refs a:hover{ border-bottom-color:#1f6d4a; }
.ss-onepager .course-refs a::before{
  content:""; width:7px; height:7px; flex:0 0 auto; display:inline-block;
  border-right:2px solid #2f9e6f; border-top:2px solid #2f9e6f; transform:rotate(45deg);
}


/* ヒーローのサブタイトルを本文幅(700px)いっぱいに（620px制限を解除）2026-07-23 */
.ss-onepager .ss-hero__sub{ max-width:none !important; }


/* ============================================================
   目次ボタンのアイコン修正（2026-07-23）
   一部ページで、本文に埋め込まれたインラインTOCのアイコン文字(☰)が
   「?」に化けている。中身を隠し、CSSでハンバーガーSVGを描画して統一。
   ============================================================ */
.ss-toc-btn__icon{
  font-size:0 !important; line-height:0 !important;
  width:16px !important; height:16px !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  vertical-align:-3px;
}
.ss-toc-btn__icon > *{ display:none !important; }
.ss-toc-btn__icon::before{
  content:""; display:block; width:15px; height:15px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%232f7d5a%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%3E%3Cline%20x1%3D%274%27%20y1%3D%277%27%20x2%3D%2720%27%20y2%3D%277%27%2F%3E%3Cline%20x1%3D%274%27%20y1%3D%2712%27%20x2%3D%2720%27%20y2%3D%2712%27%2F%3E%3Cline%20x1%3D%274%27%20y1%3D%2717%27%20x2%3D%2720%27%20y2%3D%2717%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;
}


/* ============================================================
   ページ先頭へ戻るボタン（全ページ）2026-07-23
   ============================================================ */
.ss-totop-btn{
  position:fixed; right:24px; bottom:24px; z-index:1000;
  width:48px; height:48px; padding:0; border:0; border-radius:50%; cursor:pointer;
  background:linear-gradient(135deg,#1e5033 0%,#2f7d5a 100%); color:#fff;
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 6px 18px rgba(30,80,51,.28);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease, background .2s ease;
}
.ss-totop-btn.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.ss-totop-btn:hover{ background:linear-gradient(135deg,#17402a 0%,#276b4c 100%); box-shadow:0 8px 24px rgba(30,80,51,.34); }
.ss-totop-btn:active{ transform:translateY(1px); }
@media print{ .ss-totop-btn{ display:none !important; } }

/* ============================================================
   フッター刷新（案A：白いカード）2026-07-23
   旧・紺フッターの非表示解除（画面のみ）＋白カード化。印刷では非表示のまま。
   ============================================================ */
@media screen {
  /* onepagerページで .site-footer を隠していたルールを解除（新フッターを表示） */
  body:has(.ss-onepager) .site-footer.ss-footer { display:block !important; }
}
.site-footer.ss-footer{
  background:transparent !important; color:inherit !important;
  margin-top:48px !important; padding:0 clamp(16px,4vw,40px) 52px !important;
}
.ss-footer__card{
  max-width:1180px; margin:0 auto; background:#fff;
  border:1px solid #e6efe9; border-radius:22px;
  box-shadow:0 10px 30px rgba(30,80,51,.06);
  position:relative; overflow:hidden;
  padding:44px clamp(24px,4vw,52px) 30px; text-align:left;
}
.ss-footer__card::after{
  content:""; position:absolute; right:-70px; top:-70px; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle at 40% 40%,#eaf5ee 0%,#f2f9f5 60%,rgba(255,255,255,0) 74%); pointer-events:none;
}
.ss-footer__top{ display:flex; justify-content:space-between; gap:48px; flex-wrap:wrap; position:relative; z-index:1; }
.ss-footer__brand{ max-width:320px; }
.ss-footer__eb{ display:inline-flex; align-items:center; gap:8px; color:#1e7355; font-size:12px; font-weight:700; letter-spacing:.12em; margin:0 0 12px; }
.ss-footer__eb::before{ content:""; width:8px; height:8px; border-radius:50%; background:#2f9e6f; }
.ss-footer__catch{ margin:0 0 10px; font-size:22px; font-weight:900; letter-spacing:.02em; color:#17231e; line-height:1.5; }
.ss-footer__desc{ margin:0; color:#6b7a72; font-size:13.5px; line-height:1.9; }
.ss-footer__links{ display:grid; grid-template-columns:1fr 1fr; gap:4px 44px; align-content:start; }
.ss-footer__col{ min-width:0; }
.ss-footer__menu{ list-style:none; margin:0; padding:0; }
.ss-footer__menu li{ margin:0; }
.ss-footer__menu a{ color:#2f4a3d; font-size:14.5px; font-weight:500; padding:7px 0; display:inline-flex; align-items:center; gap:9px; transition:color .15s; text-decoration:none; }
.ss-footer__menu a::before{ content:""; width:6px; height:6px; border-right:2px solid #7bb79a; border-top:2px solid #7bb79a; transform:rotate(45deg); flex:0 0 auto; }
.ss-footer__menu a:hover{ color:#1e5033; }
.ss-footer__widgets{ margin-top:24px; padding-top:22px; border-top:1px solid #eef2ee; position:relative; z-index:1; display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:24px; }
.ss-footer__widget-title{ margin:0 0 10px; font-size:13px; font-weight:700; color:#1e5033; letter-spacing:.06em; }
.ss-footer__bottom{ margin-top:26px; padding-top:20px; border-top:1px solid #eef2ee; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; position:relative; z-index:1; }
.ss-footer__cp{ color:#8a978f; font-size:12.5px; }
@media (max-width:640px){ .ss-footer__links{ grid-template-columns:1fr; } .ss-footer__top{ gap:26px; } }
@media print{ .site-footer.ss-footer{ display:none !important; } }


/* フッター幅を本文メインカード(860px)に合わせ、カードのすぐ下に詰める 2026-07-23 */
.site-footer.ss-footer{
  width:min(1480px,100%) !important; margin:8px auto 0 !important;
  padding:0 clamp(24px,4vw,64px) 52px !important;
}
.ss-footer__card{ max-width:860px !important; }
body:has(.ss-onepager) .course-platform__main{ padding-bottom:20px !important; }


/* 案C：ページシェル(.site-shell)で下地を一元化。背景の段差を構造から解消 2026-07-23 */
.site-shell{ background:#f5f6fa; min-height:100vh; }
.course-platform, .course-platform__main{ background:transparent !important; }
@media print{ .site-shell{ background:#fff !important; } }

/* ============================================================
   ヘッダー白帯（案A）全幅・sticky・高さ46px・メニュー左＝外カード(860px)基準 2026-07-23
   ============================================================ */
.ss-headbar{ position:sticky; top:0; z-index:900; width:100%; background:#fff; height:46px;
  display:flex; align-items:center; box-shadow:0 2px 12px rgba(30,60,45,.07); border-bottom:1px solid #eef2ee; }
body.admin-bar .ss-headbar{ top:32px; }
@media (max-width:782px){ body.admin-bar .ss-headbar{ top:46px; } }
.ss-headbar__inner{ width:100%; max-width:860px; margin:0 auto; padding:0; }
.ss-headbar__menu{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:28px; }
.ss-headbar__menu > li{ position:relative; }
.ss-headbar__menu > li > a{ display:inline-flex; align-items:center; gap:6px; height:46px;
  font-size:14px; font-weight:600; color:#2f4a3d; text-decoration:none; }
.ss-headbar__menu > li > a:hover{ color:#1e5033; }
.ss-headbar__menu > li.menu-item-has-children > a::after{ content:""; width:7px; height:7px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px); opacity:.55; }
.ss-headbar__menu .sub-menu{ list-style:none; margin:0; padding:8px; position:absolute; top:100%; left:0;
  min-width:240px; background:#fff; border:1px solid #e6efe9; border-radius:12px;
  box-shadow:0 12px 30px rgba(30,60,45,.12); opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease; z-index:901; }
.ss-headbar__menu > li:hover > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.ss-headbar__menu .sub-menu li{ margin:0; }
.ss-headbar__menu .sub-menu a{ display:block; padding:9px 12px; border-radius:8px;
  font-size:13.5px; font-weight:500; color:#2f4a3d; text-decoration:none; }
.ss-headbar__menu .sub-menu a:hover{ background:#eef7f1; color:#1e5033; }
/* 旧・インラインのグローバルメニューは重複するため非表示 */
.global-nav{ display:none !important; }
@media print{ .ss-headbar{ display:none !important; } }


/* 目次ボタンをヘッダー帯(46px)に合わせて上へ・縦センター 2026-07-23 */
.ss-toc-btn{ top:5px !important; }
body.admin-bar .ss-toc-btn{ top:37px !important; }


/* ============================================================
   本文h3を「▶」付き小見出しに変更（2026-07-27）
   チップ型（薄緑地の丸枠）をやめ、▶マーカー＋太字の小見出しへ。
   h2（緑帯）は不変。テーマ共有4サイト共通。
   レッスンページ（.ss-onepagerなし）のチップ型h3は従来どおり。
   ============================================================ */
.ss-onepager h3.wp-block-heading{
  background:none !important;
  border:none !important;
  border-radius:0 !important;
  display:block !important;
  padding:0 !important;
  color:#1e5033 !important;
  font-size:17px !important;
  font-weight:700;
  margin:1.9em 0 .8em;
}
.ss-onepager h3.wp-block-heading::before{
  content:"▶";
  margin-right:.5em;
  font-size:.8em;
  color:#2f7d5a;
  position:relative;
  top:-1px;
}
/* =========================================================
 * トップカードの段ごとの記事送り（2026-07-28）
 * ======================================================= */
.ss-section-pager{
  max-width:700px;margin:52px auto 8px;padding-top:24px;border-top:1px solid #dce8e0;
  display:flex;gap:16px;font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
}
.ss-section-pager__link{
  box-sizing:border-box;width:calc(50% - 8px);max-width:calc(50% - 8px);min-width:0;
  display:flex;flex-direction:column;gap:5px;padding:17px 19px;background:#f8fdf9;
  border:1px solid #dbe9df;border-radius:13px;color:#17231e;text-decoration:none !important;
  box-shadow:0 3px 12px rgba(20,50,35,.05);transition:transform .18s,border-color .18s,box-shadow .18s;
}
.ss-section-pager__link:hover{
  transform:translateY(-2px);border-color:#b9d7c5;box-shadow:0 10px 24px rgba(20,50,35,.10);color:#17231e;
}
.ss-section-pager__link--next{margin-left:auto;text-align:right;align-items:flex-end;}
.ss-section-pager__label{color:#1e5033;font-size:12.5px;font-weight:700;letter-spacing:.05em;}
.ss-section-pager__link strong{font-size:15px;line-height:1.55;font-weight:900;overflow-wrap:anywhere;}
@media(max-width:600px){
  .ss-section-pager{flex-direction:column;gap:12px;margin-top:38px;}
  .ss-section-pager__link{width:100%;max-width:none;}
}
@media print{.ss-section-pager{display:none !important;}}