@charset "UTF-8";
/*
Theme Name: 資格のミカタ
Theme URI: https://www.shikaku-mikata.site/
Description: 資格のミカタ専用テーマ（Cocoon子テーマ）。コンセプト「夜の勉強机」＝藍 × 琥珀。トップページは the_content フィルタで parts/front-top.php に差し替える。
Author: 資格のミカタ編集部
Template: cocoon-master
Version: 1.37.0
*/

/* --------------------------------------------------------------------------
   このファイルは旧 theme.css（カスタマイザーの「追加CSS」に入れていたもの）を
   そのまま取り込んだもの。子テーマ有効化後は追加CSS欄は空でよい。
   -------------------------------------------------------------------------- */

/* Google Fonts は functions.php から enqueue する（@import はレンダリングを止めるため使わない） */

/* --------------------------------------------------------------------------
   1. トークン
   -------------------------------------------------------------------------- */
:root{
  --sm-indigo:#1B3A6B;        /* 藍：ヘッダー・見出し・リンク */
  --sm-indigo-deep:#12294D;   /* 深藍：ヒーロー・収益ハブ */
  --sm-indigo-tint:#E9EFF8;   /* 藍の淡色：背景・タグ */
  --sm-amber:#D98A0B;         /* 琥珀：CTA専用 */
  --sm-amber-dark:#A76A08;    /* 琥珀の影（ボタンの立体感） */
  --sm-amber-tint:#FDF3DF;    /* 灯り：ポイント枠 */
  --sm-amber-line:#E8CC8A;
  --sm-paper:#FBFAF7;         /* 紙：ページ地色 */
  --sm-white:#FFFFFF;
  --sm-ink:#16202E;           /* 墨：本文 */
  --sm-ink-soft:#3C4553;
  --sm-slate:#77726A;         /* 補助テキスト */
  --sm-line:#E5E4DF;
  --sm-sunk:#F3F2ED;

  --sm-f-display:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Meiryo",sans-serif;
  --sm-f-body:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  --sm-f-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;

  --sm-radius:6px;
  --sm-wrap:1080px;
}

/* --------------------------------------------------------------------------
   2. ベース
   Cocoonの body.fz-18px / body.ff-hiragino を上書きするため、
   body に .fz-18px を重ねて詳細度を上げている。
   -------------------------------------------------------------------------- */
body.fz-18px,
body.ff-hiragino{
  font-family:var(--sm-f-body);
  font-size:16px;
  line-height:1.9;
  color:var(--sm-ink);
  background:var(--sm-paper);
  -webkit-font-smoothing:antialiased;
}
.main,.sidebar{ background:transparent; border:0; box-shadow:none; }
#container .wrap,
.content-in.wrap{ max-width:var(--sm-wrap); }

h1,h2,h3,h4,h5,
.entry-title,.archive-title,
.card-title,.e-card-title{
  font-family:var(--sm-f-display);
  text-wrap:balance;
}
a{ color:var(--sm-indigo); }
a:hover{ color:var(--sm-indigo-deep); }
:focus-visible{ outline:2px solid var(--sm-amber); outline-offset:2px; }
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* --------------------------------------------------------------------------
   3. ヘッダー・グローバルナビ
   -------------------------------------------------------------------------- */
.header-container{
  background:var(--sm-white);
  border-bottom:1px solid var(--sm-line);
  box-shadow:0 1px 0 rgba(22,32,46,.03);
}
.header-container-in.hlt-top-menu{ max-width:var(--sm-wrap); }
.header .site-name-text{
  font-family:var(--sm-f-display);
  font-weight:900;
  color:var(--sm-indigo);
  letter-spacing:-.01em;
}
.navi-in > ul > li > a{
  font-family:var(--sm-f-display);
  font-weight:500;
  font-size:14px;
  color:var(--sm-ink);
  height:auto;
  line-height:1.6;
  padding:14px 14px;
}
.navi-in > ul > li > a:hover{
  background:var(--sm-indigo-tint);
  color:var(--sm-indigo);
}
/* 現在地：琥珀は使わず藍の下線で示す（琥珀はCTA専用のため） */
.navi-in > ul > li.current-menu-item > a,
.navi-in > ul > li.current-post-parent > a{
  color:var(--sm-indigo);
  font-weight:700;
  box-shadow:inset 0 -3px 0 var(--sm-indigo);
}
.navi-in > ul > li ul.sub-menu li a{
  font-size:13px;
  background:var(--sm-white);
  border-bottom:1px solid var(--sm-line);
}

/* --------------------------------------------------------------------------
   4. パンくず
   -------------------------------------------------------------------------- */
.breadcrumb{
  font-family:var(--sm-f-mono);
  font-size:11px;
  letter-spacing:.02em;
  color:var(--sm-slate);
  padding:14px 0 6px;
}
.breadcrumb a{ color:var(--sm-slate); }
.breadcrumb a:hover{ color:var(--sm-indigo); }

/* --------------------------------------------------------------------------
   5. 記事本体
   -------------------------------------------------------------------------- */
.article{
  background:var(--sm-white);
  border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  padding:32px;
}
@media screen and (max-width:834px){ .article{ padding:20px 16px; } }

.entry-title{
  font-size:28px;
  font-weight:900;
  line-height:1.45;
  letter-spacing:-.012em;
  color:var(--sm-ink);
  margin-bottom:16px;
}
@media screen and (max-width:834px){ .entry-title{ font-size:21px; } }

/* 日付・カテゴリ */
.date-tags{
  font-family:var(--sm-f-mono);
  font-size:11px;
  color:var(--sm-slate);
}
.cat-label{
  background:var(--sm-indigo);
  border:0;
  border-radius:3px;
  font-family:var(--sm-f-display);
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
}
.entry-categories a,.entry-tags a{
  border-radius:3px;
  border-color:var(--sm-line);
  font-size:12px;
  color:var(--sm-slate);
}

/* 見出し */
.entry-content h2,
.article h2:not(.related-entry-heading):not(.comment-title){
  font-family:var(--sm-f-display);
  font-size:22px;
  font-weight:900;
  line-height:1.5;
  color:var(--sm-ink);
  background:none;
  border:0;
  border-left:5px solid var(--sm-indigo);
  border-radius:0;
  padding:4px 0 4px 14px;
  margin:44px 0 18px;
}
.entry-content h3{
  font-family:var(--sm-f-display);
  font-size:18px;
  font-weight:700;
  color:var(--sm-ink);
  border:0;
  border-bottom:2px solid var(--sm-indigo-tint);
  padding:0 0 8px;
  margin:32px 0 14px;
}
.entry-content h4{
  font-family:var(--sm-f-display);
  font-size:16px;
  font-weight:700;
  color:var(--sm-indigo);
  border:0;
  padding:0;
  margin:26px 0 10px;
}
@media screen and (max-width:834px){
  .entry-content h2,
  .article h2:not(.related-entry-heading):not(.comment-title){ font-size:18px; }
  .entry-content h3{ font-size:16px; }
}

/* 本文 */
.entry-content p{
  font-size:16px;
  line-height:1.95;
  color:var(--sm-ink-soft);
  margin:0 0 1.4em;
}
.entry-content strong{ font-weight:700; color:var(--sm-ink); }
.entry-content a{ text-decoration:underline; text-underline-offset:3px; }
.entry-content ul,.entry-content ol{ line-height:1.95; color:var(--sm-ink-soft); }
.entry-content ul li::marker,.entry-content ol li::marker{ color:var(--sm-indigo); }
.entry-content img{ border-radius:5px; }
.entry-content blockquote{
  background:var(--sm-sunk);
  border:0;
  border-left:4px solid var(--sm-line);
  border-radius:0 4px 4px 0;
  color:var(--sm-slate);
}
/* マーカーは藍の下線に統一（黄色マーカーはCTAと競合するため使わない） */
.entry-content .marker-under{
  background:linear-gradient(transparent 62%, var(--sm-indigo-tint) 62%);
}

/* アイキャッチ */
.eye-catch{ border-radius:var(--sm-radius); overflow:hidden; }
.eye-catch .eye-catch-image{ border-radius:var(--sm-radius); }

/* --------------------------------------------------------------------------
   6. 目次
   -------------------------------------------------------------------------- */
#toc.toc{
  width:100%;
  max-width:none;
  background:var(--sm-sunk);
  border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  padding:18px 20px;
  margin:28px 0;
}
#toc .toc-title{
  font-family:var(--sm-f-display);
  font-size:15px;
  font-weight:700;
  color:var(--sm-ink);
  text-align:left;
  display:block;
  margin-bottom:10px;
}
#toc .toc-list > li{ font-size:14px; line-height:1.9; }
#toc .toc-list > li > a{ font-weight:500; color:var(--sm-ink); }
#toc .toc-list ul li{ font-size:13px; }
#toc .toc-list ul li a{ color:var(--sm-slate); }
#toc .toc-list a:hover{ color:var(--sm-indigo); }

/* --------------------------------------------------------------------------
   7. 吹き出し（既存の会話パーツを整える）
   -------------------------------------------------------------------------- */
.speech-balloon{
  background:var(--sm-white);
  border:1px solid var(--sm-line);
  border-radius:10px;
  font-size:14px;
  line-height:1.8;
  color:var(--sm-ink-soft);
}
.speech-balloon::before{ border-right-color:var(--sm-line); }
.speech-balloon::after{ border-right-color:var(--sm-white); }
.speech-name{
  font-family:var(--sm-f-display);
  font-size:11px;
  color:var(--sm-slate);
}
.speech-icon-image{ border-color:var(--sm-line); }

/* --------------------------------------------------------------------------
   8. サイドバー
   Recent Posts / Archives / Categories はウィジェット画面から外す前提。
   残るウィジェットの見た目をここで整える。
   -------------------------------------------------------------------------- */
#sidebar .widget.widget-sidebar{
  background:var(--sm-white);
  border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  padding:16px 18px;
  margin-bottom:16px;
}
#sidebar .widget.widget-sidebar h2,
#sidebar .widget.widget-sidebar .widget-sidebar-title{
  font-family:var(--sm-f-display);
  font-size:15px;
  font-weight:700;
  color:var(--sm-ink);
  background:none;
  border:0;
  padding:0 0 0 12px;
  margin:0 0 14px;
  position:relative;
  text-align:left;
}
#sidebar .widget.widget-sidebar h2::before,
#sidebar .widget.widget-sidebar .widget-sidebar-title::before{
  content:"";
  position:absolute;
  left:0; top:.25em; bottom:.25em;
  width:4px;
  background:var(--sm-amber);
  border-radius:2px;
}
#sidebar .widget_search .wp-block-search__input{
  border:1px solid var(--sm-line);
  border-radius:4px 0 0 4px;
  font-size:14px;
  padding:9px 12px;
}
#sidebar .widget_search .wp-block-search__button{
  background:var(--sm-indigo);
  color:var(--sm-white);
  border:0;
  border-radius:0 4px 4px 0;
  font-family:var(--sm-f-display);
  font-weight:700;
  padding:9px 16px;
}
/* 追従（サイドバーCTAを画面内に留める） */
#sidebar .sm-sticky{ position:sticky; top:80px; }

/* --------------------------------------------------------------------------
   9. カード（新着・関連・一覧）
   -------------------------------------------------------------------------- */
.entry-card-wrap,.related-entry-card-wrap,.widget-entry-card-wrap,
.new-entry-card-link{
  background:var(--sm-white);
  border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  overflow:hidden;
}
.entry-card-wrap:hover,.related-entry-card-wrap:hover,.new-entry-card-link:hover{
  background:var(--sm-white);
  border-color:var(--sm-indigo);
  box-shadow:0 6px 18px -12px rgba(27,58,107,.5);
}
.card-title,.entry-card-title,.related-entry-card-title,.new-entry-card-title{
  font-family:var(--sm-f-display);
  font-weight:700;
  color:var(--sm-ink);
  line-height:1.6;
}
.card-snippet,.entry-card-snippet{ color:var(--sm-slate); font-size:13px; }
.card-thumb img,.entry-card-thumb img{ border-radius:4px; }
/* アイキャッチ未設定の「NO IMAGE」を灰色の空箱から、藍の紙質に置き換える */
.no-image{
  background:linear-gradient(135deg,#E3E9F4,#F5F1E8) !important;
  color:#9AA5B8 !important;
  font-family:var(--sm-f-mono);
  font-size:11px;
  letter-spacing:.08em;
  border:1px solid #DCDFE6;
  border-radius:4px;
}

/* 関連記事の見出し */
.related-entry-heading,.related-entry-main-heading{
  font-family:var(--sm-f-display);
  font-size:17px;
  font-weight:900;
  color:var(--sm-ink);
  border:0;
  border-top:2px solid var(--sm-ink);
  padding-top:16px;
}

/* 前後の記事 */
.pager-post-navi .prev-post,.pager-post-navi .next-post{
  border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  background:var(--sm-white);
}
.prev-post-title,.next-post-title{
  font-family:var(--sm-f-display);
  font-weight:500;
  font-size:13px;
}

/* --------------------------------------------------------------------------
   10. 著者表示を抑える
   運営者の個人名は「運営者情報」ページに集約し、記事面には出さない。
   WordPress側で「ブログ上の表示名」を “資格のミカタ編集部” に変更した上で使う。
   -------------------------------------------------------------------------- */
.author-box,
.article .sns-follow.sf-profile,
.article .post-author,
#sidebar .author-widget,
#sidebar .a-wrap .author-widget-name{
  display:none !important;
}
/* フッターのクレジット行はCSSで消し、自前フッターHTMLに差し替える */
.footer-bottom .source-org.copyright{ display:none; }

/* --------------------------------------------------------------------------
   11. フッター
   -------------------------------------------------------------------------- */
.footer{
  background:var(--sm-ink);
  color:#9FAABC;
  border-top:0;
  margin-top:48px;
}
.footer a{ color:#C6CFDC; }
.footer a:hover{ color:var(--sm-white); }
.footer .footer-in.wrap{ max-width:var(--sm-wrap); }
.navi-footer-in > .menu-footer li a{
  color:#9FAABC;
  font-size:13px;
  border:0;
}
.footer-bottom{ border-top:1px solid rgba(255,255,255,.08); }

/* ==========================================================================
   12. 追加コンポーネント（記事・固定ページで使う）
   クラス接頭辞は sm-（shikaku-mikata）。Cocoonのクラスとは衝突しない。
   ========================================================================== */

/* ---- 12-1. CTAカード（本文中／サイドバー） ------------------------------- */
.sm-cta{
  border:1px solid var(--sm-amber-line);
  border-radius:var(--sm-radius);
  overflow:hidden;
  background:var(--sm-amber-tint);
  margin:28px 0;
}
.sm-cta__label{
  background:var(--sm-amber);
  color:var(--sm-white);
  font-family:var(--sm-f-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:.04em;
  padding:7px 16px;
}
.sm-cta__body{
  padding:18px 20px;
  display:grid;
  grid-template-columns:1fr 200px;
  gap:18px;
  align-items:center;
}
.sm-cta__body h4{
  font-family:var(--sm-f-display);
  font-size:17px;
  font-weight:900;
  color:var(--sm-ink);
  margin:0 0 7px;
  line-height:1.5;
}
.sm-cta__body p{ margin:0 !important; font-size:13.5px; color:var(--sm-slate); line-height:1.75; }
@media screen and (max-width:600px){
  .sm-cta__body{ grid-template-columns:1fr; }
}

.sm-btn{
  display:block;
  text-align:center;
  background:var(--sm-amber);
  color:var(--sm-white) !important;
  font-family:var(--sm-f-display);
  font-weight:900;
  font-size:15px;
  line-height:1.4;
  padding:14px 16px;
  border-radius:5px;
  text-decoration:none !important;
  box-shadow:0 3px 0 var(--sm-amber-dark);
  transition:transform .12s ease, box-shadow .12s ease;
}
.sm-btn:hover{ transform:translateY(1px); box-shadow:0 2px 0 var(--sm-amber-dark); color:var(--sm-white) !important; }
.sm-btn small{ display:block; font-size:11px; font-weight:500; opacity:.92; margin-top:3px; }
.sm-btn--ghost{
  background:var(--sm-white);
  color:var(--sm-indigo) !important;
  border:1px solid #C3D0E4;
  box-shadow:none;
}
.sm-btn--ghost:hover{ background:var(--sm-indigo-tint); color:var(--sm-indigo) !important; }

/* ---- 12-2. この記事でわかること -------------------------------------- */
.sm-know{
  border:1px solid var(--sm-amber-line);
  background:#FFFCF3;
  border-radius:var(--sm-radius);
  padding:18px 22px;
  margin:24px 0;
}
.sm-know h4{
  font-family:var(--sm-f-display);
  font-size:15px;
  font-weight:700;
  color:#8A5A06;
  margin:0 0 10px;
}
.sm-know ul{ margin:0 !important; padding-left:20px; }
.sm-know li{ font-size:14.5px; line-height:1.9; color:var(--sm-ink-soft); }

/* ---- 12-3. 要点BOX（各H2の末尾） ------------------------------------- */
.sm-recap{
  border:1px dashed #A8BBD8;
  background:#F4F7FC;
  border-radius:var(--sm-radius);
  padding:16px 20px;
  margin:22px 0;
}
.sm-recap__label{
  display:block;
  font-family:var(--sm-f-mono);
  font-size:11px;
  letter-spacing:.14em;
  color:var(--sm-indigo);
  margin-bottom:8px;
}
.sm-recap p{ margin:0 !important; font-size:14px; line-height:1.85; color:var(--sm-ink-soft); }

/* ---- 12-4. 比較表 ------------------------------------------------------ */
.sm-tablewrap{ overflow-x:auto; margin:26px 0; -webkit-overflow-scrolling:touch; }
.sm-table{
  width:100%;
  min-width:560px;
  border-collapse:collapse;
  background:var(--sm-white);
  border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  overflow:hidden;
  font-size:14px;
}
.sm-table th,.sm-table td{
  padding:12px 14px;
  text-align:left;
  border-bottom:1px solid #EDECE7;
  vertical-align:middle;
}
.sm-table thead th{
  background:var(--sm-sunk);
  font-family:var(--sm-f-display);
  font-weight:700;
  font-size:13px;
  color:#4C5563;
  white-space:nowrap;
}
.sm-table tbody tr:last-child td{ border-bottom:0; }
.sm-table .sm-num{
  font-family:var(--sm-f-mono);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.sm-table tr.is-best td{ background:#FFFCF3; }
.sm-table .sm-btn{ font-size:13px; padding:9px 14px; white-space:nowrap; }
.sm-badge{
  display:inline-block;
  background:var(--sm-amber);
  color:var(--sm-white);
  font-size:11px;
  font-weight:700;
  padding:2px 8px;
  border-radius:3px;
  margin-left:6px;
  vertical-align:1px;
  font-family:var(--sm-f-display);
}

/* ---- 12-5. 難易度メーター --------------------------------------------- */
.sm-stat{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  color:var(--sm-slate);
  margin:0 0 7px;
}
.sm-stat__label{ width:5.5em; flex:none; }
.sm-meter{
  flex:1;
  min-width:44px;
  height:6px;
  background:#E9E7E1;
  border-radius:3px;
  overflow:hidden;
}
.sm-meter > i{ display:block; height:100%; background:var(--sm-indigo); border-radius:3px; }
.sm-meter--amber > i{ background:var(--sm-amber); }
.sm-stat__value{
  font-family:var(--sm-f-mono);
  font-variant-numeric:tabular-nums;
  font-size:13px;
  color:var(--sm-ink);
  white-space:nowrap;
}

/* ---- 12-6. 次に読む3本 -------------------------------------------------- */
.sm-next{ margin:36px 0 8px; padding-top:20px; border-top:2px solid var(--sm-ink); }
.sm-next > h4{
  font-family:var(--sm-f-display);
  font-size:17px;
  font-weight:900;
  color:var(--sm-ink);
  margin:0 0 14px;
}
.sm-next__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.sm-next__item{
  display:block;
  border:1px solid var(--sm-line);
  border-radius:5px;
  background:var(--sm-white);
  padding:13px 15px;
  text-decoration:none !important;
}
.sm-next__item:hover{ border-color:var(--sm-indigo); box-shadow:0 6px 18px -12px rgba(27,58,107,.5); }
.sm-next__kind{
  display:block;
  font-family:var(--sm-f-mono);
  font-size:10.5px;
  letter-spacing:.1em;
  color:var(--sm-amber);
  margin-bottom:6px;
}
.sm-next__title{
  display:block;
  font-family:var(--sm-f-display);
  font-size:14px;
  font-weight:500;
  line-height:1.6;
  color:var(--sm-ink);
}
@media screen and (max-width:600px){ .sm-next__grid{ grid-template-columns:1fr; } }

/* ---- 12-7. 目的から探す タイル ----------------------------------------- */
.sm-goals{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.sm-goal{
  display:block;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--sm-radius);
  padding:16px 16px;
  text-decoration:none !important;
  transition:background .15s ease;
}
.sm-goal:hover{ background:rgba(255,255,255,.13); }
.sm-goal__no{
  display:block;
  font-family:var(--sm-f-mono);
  font-size:10px;
  letter-spacing:.12em;
  color:#F4B740;
  margin-bottom:8px;
}
.sm-goal__name{
  display:block;
  font-family:var(--sm-f-display);
  font-size:15px;
  font-weight:700;
  color:var(--sm-white);
}
.sm-goal__desc{ display:block; font-size:12px; color:#A9BBD5; margin-top:5px; line-height:1.6; }
@media screen and (max-width:834px){ .sm-goals{ grid-template-columns:1fr 1fr; } }

/* ---- 12-8. ヒーロー（トップ固定ページ） -------------------------------- */
.sm-hero{
  background:
    radial-gradient(120% 130% at 88% -10%, rgba(217,138,11,.18) 0%, rgba(217,138,11,0) 52%),
    linear-gradient(168deg,#1B3A6B 0%,#12294D 100%);
  color:#F4F7FC;
  border-radius:var(--sm-radius);
  padding:40px 36px;
  margin:0 0 36px;
}
.sm-hero__in{ display:grid; grid-template-columns:1.1fr .9fr; gap:38px; align-items:center; }
.sm-hero h1{
  font-family:var(--sm-f-display);
  font-size:34px;
  font-weight:900;
  line-height:1.35;
  letter-spacing:-.015em;
  color:var(--sm-white);
  margin:0;
}
.sm-hero h1 em{ font-style:normal; color:#F4B740; }
.sm-hero__lede{ margin:14px 0 0 !important; font-size:14px; color:#BCCBE2; line-height:1.85; }
.sm-hero__search{
  margin-top:20px;
  display:flex;
  background:var(--sm-white);
  border-radius:6px;
  overflow:hidden;
  box-shadow:0 8px 24px -10px rgba(0,0,0,.55);
}
.sm-hero__search input[type="search"],
.sm-hero__search input[type="text"]{
  flex:1;
  border:0;
  padding:13px 16px;
  font-size:14px;
  font-family:var(--sm-f-body);
  color:var(--sm-ink);
  min-width:0;
}
.sm-hero__search button{
  background:var(--sm-amber);
  color:var(--sm-white);
  border:0;
  font-family:var(--sm-f-display);
  font-weight:700;
  font-size:14px;
  padding:13px 26px;
  cursor:pointer;
  white-space:nowrap;
}
.sm-hero__chips{ display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.sm-hero__chips a{
  font-size:12px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:20px;
  padding:4px 12px;
  color:#D5E0F0 !important;
  text-decoration:none !important;
}
.sm-hero__chips a:hover{ background:rgba(255,255,255,.12); }
@media screen and (max-width:834px){
  .sm-hero{ padding:28px 20px; }
  .sm-hero__in{ grid-template-columns:1fr; gap:26px; }
  .sm-hero h1{ font-size:24px; }
}

/* ---- 12-9. セクション見出し（固定ページ用） ---------------------------- */
.sm-sec{ margin:0 0 40px; }
.sm-sec__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.sm-sec__head h2{
  font-family:var(--sm-f-display);
  font-size:22px;
  font-weight:900;
  color:var(--sm-ink);
  margin:0;
  border:0;
  padding:0;
  background:none;
}
.sm-sec__head h2::before{
  content:"";
  display:inline-block;
  width:5px; height:20px;
  background:var(--sm-amber);
  border-radius:2px;
  margin-right:10px;
  vertical-align:-2px;
}
.sm-sec__note{ margin:6px 0 0 15px !important; font-size:13px; color:var(--sm-slate); }
.sm-sec__more{ font-size:13px; font-weight:700; white-space:nowrap; }

/* ---- 12-10. ランキング -------------------------------------------------- */
.sm-rank{ display:flex; flex-direction:column; gap:10px; }
.sm-rankcard{
  display:grid;
  /* 数値の列は 190px では足りない。ラベル72 + メーター60 + 数値70 + 余白20 で 222px 要る。
     メーターに min-width があるため縮まず、右へはみ出していた。 */
  grid-template-columns:44px 120px minmax(0,1fr) 224px;
  gap:16px;
  align-items:center;
  background:var(--sm-white);
  border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  padding:14px 18px;
  text-decoration:none !important;
}
.sm-rankcard:hover{ border-color:var(--sm-indigo); box-shadow:0 6px 18px -12px rgba(27,58,107,.5); }
.sm-rankcard__no{
  font-family:var(--sm-f-mono);
  font-size:24px;
  color:#C4C1B9;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.sm-rankcard.is-top .sm-rankcard__no{ color:var(--sm-amber); }
.sm-rankcard.is-top{ border-color:var(--sm-amber-line); background:linear-gradient(90deg,#FFFDF6,#fff 40%); }
/* サムネイルは元画像の比率がまちまち（正方形・横長が混在）。
   height:auto のままだと3枚の高さが揃わず、カードが不揃いに見えていた。
   比率を固定して切り抜き、読み込み前も場所を確保しておく。 */
.sm-rankcard__thumb{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  height:auto;
  object-fit:cover;
  border-radius:4px;
  background:var(--sm-line);
}
.sm-rankcard__name{
  font-family:var(--sm-f-display);
  font-size:17px;
  font-weight:700;
  color:var(--sm-ink);
  margin:0 0 8px;
}
.sm-tags{ display:flex; flex-wrap:wrap; gap:6px; }
.sm-tags span{
  font-size:11px;
  padding:3px 8px;
  border-radius:3px;
  background:var(--sm-sunk);
  color:#6E6960;
}
.sm-tags span.is-key{ background:var(--sm-indigo-tint); color:var(--sm-indigo); }
@media screen and (max-width:834px){
  .sm-rankcard{ grid-template-columns:34px 1fr; gap:12px; }
  .sm-rankcard__thumb,.sm-rankcard__stats{ display:none; }
}

/* ---- 12-11. 収益ハブ（比較への導線ブロック） --------------------------- */
.sm-hub{
  background:var(--sm-indigo-deep);
  border-radius:var(--sm-radius);
  padding:28px;
  color:#E8EEF7;
  margin:0 0 40px;
}
.sm-hub h2{
  font-family:var(--sm-f-display);
  font-size:21px;
  font-weight:900;
  color:var(--sm-white);
  margin:0 0 8px;
  border:0; padding:0; background:none;
}
.sm-hub > p{ margin:0 0 18px !important; font-size:13.5px; color:#A9BBD5; line-height:1.8; }
@media screen and (max-width:834px){ .sm-hub{ padding:20px 16px; } }

/* ---- 12-12. 記事カードのグリッド（固定ページ用） ----------------------- */
.sm-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media screen and (max-width:834px){ .sm-grid{ grid-template-columns:1fr 1fr; } }

/* ---- 12-13. コンセプト（短縮版） --------------------------------------- */
.sm-concept{
  background:var(--sm-white);
  border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  padding:26px 30px;
  margin:0 0 40px;
}
.sm-concept h2{
  font-family:var(--sm-f-display);
  font-size:19px;
  font-weight:900;
  color:var(--sm-ink);
  margin:0 0 10px;
  border:0; padding:0; background:none;
}
.sm-concept p{ margin:0 !important; font-size:14.5px; line-height:1.9; color:var(--sm-ink-soft); }

/* ==========================================================================
   13. モバイル追従バー（記事ページのみ）
   HTMLは footer.html の <!-- 追従バー --> をCocoonのフッター用コードに貼る。
   ========================================================================== */
.sm-fixbar{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:900;
  display:flex;
  gap:10px;
  align-items:center;
  padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  background:rgba(251,250,247,.97);
  border-top:1px solid #E0DED7;
  backdrop-filter:blur(8px);
  transform:translateY(0);
  transition:transform .22s ease;
}
.sm-fixbar.is-hidden{ transform:translateY(120%); }
.sm-fixbar__toc{
  font-family:var(--sm-f-display);
  font-weight:700;
  font-size:13px;
  color:var(--sm-indigo) !important;
  border:1px solid #C3D0E4;
  border-radius:5px;
  padding:11px 14px;
  background:var(--sm-white);
  white-space:nowrap;
  text-decoration:none !important;
}
.sm-fixbar__cta{
  flex:1;
  text-align:center;
  background:var(--sm-amber);
  color:var(--sm-white) !important;
  font-family:var(--sm-f-display);
  font-weight:900;
  font-size:14px;
  padding:12px 10px;
  border-radius:5px;
  box-shadow:0 2px 0 var(--sm-amber-dark);
  text-decoration:none !important;
}
/* 記事ページ以外・PCでは出さない */
body:not(.single) .sm-fixbar{ display:none; }
@media screen and (min-width:835px){ .sm-fixbar{ display:none; } }
/* 追従バーの高さぶん、フッターに余白を足す */
@media screen and (max-width:834px){
  body.single .footer{ padding-bottom:72px; }
  .go-to-top-button{ bottom:76px; }
}

/* ==========================================================================
   14. 印刷
   ========================================================================== */
@media print{
  .sm-fixbar,.sm-cta,.sm-hub,#sidebar,.navi,.footer{ display:none !important; }
  .article{ border:0; padding:0; }
}

/* ==========================================================================
   15. 固定ページ内での色の上書き対策（2026-08-25 追加）
   .entry-content p / .article h2:not(...) の方が詳細度が高く、
   トップページの白文字が本文色に上書きされていたため、セレクタを強める。
   ========================================================================== */
.entry-content .sm-hero h1{ color:var(--sm-white); }
.entry-content .sm-hero h1 em{ color:#F4B740; }
.entry-content .sm-hero__lede{ color:#BCCBE2; }
.entry-content .sm-hub h2{ color:var(--sm-white) !important; }
.entry-content .sm-sec__note{ color:var(--sm-slate); }
.entry-content .sm-goal__name{ color:var(--sm-white); }
.entry-content .sm-goal__desc{ color:#A9BBD5; }

/* 見出しの縦バーが2本並んでいた件。
   .article h2:not(...):not(...) は詳細度 (0,3,1) で .sm-sec__head h2 (0,2,1) に勝つため、
   記事用の藍のボーダーが消えず、::before の琥珀バーと二重に見えていた。 */
.entry-content .sm-sec__head h2{ border-left:0 !important; padding-left:0 !important; }

/* hub と concept の見出しには ::before がなく、記事用の藍のボーダーがそのまま残って
   いたため、他のセクション（琥珀のバー）と装飾が揃っていなかった。
   濃紺背景の hub では線が背景に沈んでほとんど見えない状態でもあった。色だけ揃える。 */
.entry-content .sm-hub h2,
.entry-content .sm-concept h2{ border-left-color:var(--sm-amber) !important; }

/* ==========================================================================
   16. 記事の信頼性まわり（2026-08-25 追加）
   「誰が・いつ・何をもとに書いたか」が読み手に見えるようにする。
   派手な装飾を足すのではなく、情報の輪郭をはっきりさせる方向で整える。
   ========================================================================== */

/* ---- 16-1. 記事ヘッダーのメタ情報 --------------------------------------
   日付が小さなアイコンの列になっていて読み取れないので、
   「最終更新／公開」を言葉で示す。 */
.article .date-tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin:0 0 20px;
  padding:11px 0;
  border-top:1px solid var(--sm-line);
  border-bottom:1px solid var(--sm-line);
  font-family:var(--sm-f-mono);
  font-size:11.5px;
  color:var(--sm-slate);
}
.article .date-tags .post-date,
.article .date-tags .post-update{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-variant-numeric:tabular-nums;
}
.article .date-tags .post-update{ color:var(--sm-indigo); font-weight:500; }
.article .date-tags .fa,
.article .date-tags .far,
.article .date-tags .fas{ opacity:.55; }

/* 編集部の署名。記事ごとに人が変わらないので、肩書きではなく責任の所在を出す。 */
.sm-byline{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 26px;
  font-size:12.5px;
  color:var(--sm-slate);
}
.sm-byline__mark{
  display:inline-grid;
  place-items:center;
  width:26px; height:26px;
  border-radius:50%;
  background:var(--sm-indigo);
  color:var(--sm-white);
  font-family:var(--sm-f-display);
  font-size:11px;
  font-weight:900;
  flex:none;
}
.sm-byline__name{ font-family:var(--sm-f-display); font-weight:700; color:var(--sm-ink); }

/* ---- 16-2. 本文の表 ------------------------------------------------------
   縦罫を落として横罫だけにすると、数字が並んだときに視線が横へ流れる。
   数値は等幅にして桁を揃える。 */
.entry-content table{
  width:100%;
  border-collapse:collapse;
  margin:22px 0;
  font-size:14.5px;
  background:var(--sm-white);
  border:0;
  border-top:2px solid var(--sm-indigo);
}
.entry-content table th,
.entry-content table td{
  padding:12px 14px;
  border:0;
  border-bottom:1px solid #E9E7E1;
  text-align:left;
  vertical-align:top;
  line-height:1.75;
}
.entry-content table thead th{
  background:var(--sm-indigo-tint);
  font-family:var(--sm-f-display);
  font-size:13px;
  font-weight:700;
  color:var(--sm-indigo);
  white-space:nowrap;
  border-bottom:1px solid #C9D6E9;
}
/* 1列目が項目名になっている表が多いので、そこだけ少し強くする */
.entry-content table tbody th,
.entry-content table tbody tr > td:first-child{
  font-weight:700;
  color:var(--sm-ink);
  white-space:nowrap;
}
.entry-content table tbody tr:hover td{ background:#FAFAF7; }
.entry-content table tbody tr:last-child td{ border-bottom:0; }
/* 数字・記号だけのセルは等幅で桁を揃える */
.entry-content table td{ font-variant-numeric:tabular-nums; }

.entry-content .scrollable-table,
.entry-content .wp-block-table{ margin:22px 0; }
.entry-content figure.wp-block-table table{ margin:0; }
.entry-content figure.wp-block-table figcaption{
  margin-top:9px;
  font-size:12px;
  color:var(--sm-slate);
  line-height:1.7;
}

@media screen and (max-width:834px){
  .entry-content table{ font-size:13.5px; }
  .entry-content table th,
  .entry-content table td{ padding:9px 10px; }
}

/* ---- 16-3. 出典・注記 ----------------------------------------------------
   数字を出したあとに、その出どころを添えるための書式。 */
.sm-source{
  margin:-12px 0 24px !important;
  font-size:12px !important;
  color:var(--sm-slate) !important;
  line-height:1.75;
  padding-left:1.1em;
  text-indent:-1.1em;
}
.sm-source::before{ content:"※ "; }
.sm-source a{ color:var(--sm-slate); }

/* ---- 16-4. 記事末尾「この記事について」 --------------------------------- */
.sm-about{
  margin:48px 0 8px;
  padding:22px 24px;
  background:var(--sm-white);
  border:1px solid var(--sm-line);
  border-left:4px solid var(--sm-indigo);
  border-radius:0 var(--sm-radius) var(--sm-radius) 0;
}
.sm-about__title{
  display:flex;
  align-items:center;
  gap:8px;
  font-family:var(--sm-f-display);
  font-size:14px;
  font-weight:700;
  color:var(--sm-ink);
  margin:0 0 12px;
}
.sm-about__title::before{
  content:"";
  width:15px; height:15px;
  border-radius:50%;
  border:2px solid var(--sm-indigo);
  flex:none;
}
.sm-about dl{ margin:0; }
.sm-about__row{
  display:grid;
  grid-template-columns:6.5em 1fr;
  gap:4px 14px;
  padding:7px 0;
  border-top:1px dotted #DEDCD5;
  font-size:13px;
  line-height:1.8;
}
.sm-about__row:first-of-type{ border-top:0; padding-top:0; }
.sm-about__row dt{
  font-family:var(--sm-f-display);
  font-weight:700;
  color:var(--sm-slate);
  font-size:12px;
  padding-top:2px;
}
.sm-about__row dd{ margin:0; color:var(--sm-ink-soft); }
.sm-about__row dd time{ font-family:var(--sm-f-mono); font-variant-numeric:tabular-nums; }
.sm-about__note{
  margin:14px 0 0 !important;
  padding-top:13px;
  border-top:1px dotted #DEDCD5;
  font-size:12px !important;
  color:var(--sm-slate) !important;
  line-height:1.85;
}

@media screen and (max-width:834px){
  .sm-about{ padding:18px 16px; }
  .sm-about__row{ grid-template-columns:1fr; gap:2px; }
}

/* ---- 16-5. 目次 ----------------------------------------------------------
   読み飛ばすためのものなので、本文より一段静かに置く。 */
#toc.toc{
  background:#FAFAF7;
  border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  padding:20px 24px;
  margin:28px 0 36px;
  width:100%;
}
#toc .toc-title{
  font-family:var(--sm-f-display);
  font-size:13px;
  font-weight:700;
  color:var(--sm-slate);
  letter-spacing:.04em;
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid var(--sm-line);
  text-align:left;
}
#toc .toc-list > li > a{ font-weight:700; }
#toc .toc-list a{ text-decoration:none; }
#toc .toc-list a:hover{ text-decoration:underline; }

/* ---- 16-6. 本文の読みやすさ ---------------------------------------------
   行間が広すぎると視線が迷うので、少しだけ詰める。 */
.entry-content p{ line-height:1.9; }
.entry-content h2,
.article h2:not(.related-entry-heading):not(.comment-title){ margin-top:52px; }
.entry-content h2 + p,
.entry-content h3 + p{ margin-top:0; }

/* =========================================================================
   17. 法務ページとフッターの導線
   プライバシーポリシー・免責事項・お問い合わせ・運営者情報。
   読み物ではないので、装飾より読みやすさと探しやすさを優先する。
   ========================================================================= */

/* ---- 17-1. 記事末尾から免責事項へ --------------------------------------- */
.sm-about__link{
  margin:10px 0 0 !important;
  font-size:12px !important;
  line-height:1.7;
}
.sm-about__link a{
  color:var(--sm-slate);
  text-decoration:underline;
  text-underline-offset:3px;
}
.sm-about__link a:hover{ color:var(--sm-indigo); }

/* ---- 17-2. 法務ページ本文 -------------------------------------------------
   条文が続くページなので、見出しの間隔を広めに取って区切りを見せる。 */
.page .entry-content h2{
  margin-top:48px;
  font-size:20px;
}
.page .entry-content h3{
  margin-top:32px;
  font-size:16.5px;
}
.page .entry-content li{ line-height:1.9; }

/* 運営者情報の概要テーブル。項目名の列を固定幅にして視線を揃える。 */
.page .entry-content table th{
  width:34%;
  white-space:nowrap;
  vertical-align:top;
}
@media screen and (max-width:560px){
  .page .entry-content table th{ width:38%; white-space:normal; }
}

/* ---- 17-3. フッターナビ ---------------------------------------------------
   Cocoon の navi-footer に法務ページを並べている。
   主役ではないので、色と大きさを一段落とす。 */
#navi-footer .menu-footer{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:4px 0;
  margin:0 0 10px;
  padding:0;
  list-style:none;
}
#navi-footer .menu-footer li{
  margin:0;
  padding:0 14px;
  border-left:0;
  border-right:1px solid rgba(255,255,255,.22);
  line-height:1.4;
}
#navi-footer .menu-footer li:last-child{ border-right:0; }
#navi-footer .menu-footer li a{
  padding:0;
  font-size:13px;
  text-decoration:none;
  opacity:.82;
  transition:opacity .2s ease;
}
#navi-footer .menu-footer li a:hover{
  opacity:1;
  text-decoration:underline;
  text-underline-offset:3px;
  background:transparent;
}
@media screen and (max-width:560px){
  #navi-footer .menu-footer li{
    padding:0 10px;
    font-size:12px;
  }
}

/* =========================================================================
   18. 記事どうしをつなぐ（2026-08-27 追加）
   資格は単体で選ばれるものではなく、隣の資格と比べて決まる。
   記事の終わりに、次に読むべきものを理由つきで並べる。
   ========================================================================= */
.sm-related{
  margin:44px 0 0;
  padding:22px 24px;
  background:var(--sm-indigo-tint, #F4F7FC);
  border-radius:var(--sm-radius, 8px);
}
.sm-related__title{
  margin:0 0 14px !important;
  font-family:var(--sm-f-display);
  font-size:15px;
  font-weight:900;
  color:var(--sm-indigo);
  letter-spacing:.02em;
}
.sm-related__title::before{
  content:"";
  display:inline-block;
  width:4px; height:15px;
  background:var(--sm-amber);
  border-radius:2px;
  margin-right:9px;
  vertical-align:-2px;
}
.sm-related ul{ margin:0 !important; padding:0 !important; list-style:none !important; }
.sm-related li{
  margin:0 !important;
  padding:12px 0;
  border-top:1px solid rgba(27,58,107,.12);
  line-height:1.6;
}
.sm-related li:first-child{ border-top:0; padding-top:0; }
.sm-related li:last-child{ padding-bottom:0; }
.sm-related li a{
  display:block;
  font-family:var(--sm-f-display);
  font-size:15px;
  font-weight:700;
  color:var(--sm-indigo);
  text-decoration:none;
}
.sm-related li a:hover{ text-decoration:underline; text-underline-offset:3px; }
.sm-related li span{
  display:block;
  margin-top:3px;
  font-size:12.5px;
  color:var(--sm-slate);
}
@media screen and (max-width:560px){
  .sm-related{ padding:18px 16px; }
  .sm-related li a{ font-size:14px; }
}

/* --------------------------------------------------------------------------
   市販テキスト（Amazon・楽天）
   トップの講座比較の下と、各資格の記事末尾の両方で使う。
   記事でも読ませたいので top.css ではなくここに置いている。
   CTAの琥珀は「公式サイト」ボタン専用にしてあるので、
   こちらは白地＋枠線にして、講座への導線と競合させない。
   -------------------------------------------------------------------------- */
.sm-books{
  margin-top:24px;
  padding-top:24px;
  border-top:1px solid var(--sm-line);
}
.sm-books__head b{
  display:block;
  font-family:var(--sm-f-display);
  font-size:15px;
  color:var(--sm-ink);
  margin-bottom:8px;
}
.sm-books__head p{
  margin:0 !important;
  font-size:13px;
  line-height:1.9;
  color:var(--sm-ink-soft) !important;
}

.sm-books__list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:18px;
}
.sm-book{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  background:#FAFAF7;
  border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  padding:15px 16px;
}
/* 書影を左、文字を右に置く。書影が無いときは文字だけが詰まる。 */
.sm-book__body{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.sm-book__thumb{
  flex:0 0 auto;
  width:80px;
  line-height:0;
}
.sm-book__thumb img{
  width:80px;
  height:auto;
  border:1px solid var(--sm-line);
  border-radius:3px;
  background:var(--sm-white);
}
.sm-book__text{ flex:1 1 auto; min-width:0; }

.sm-book__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 10px;
  margin-bottom:6px;
}
.sm-book__price{
  font-family:var(--sm-f-display);
  font-size:15px;
  color:var(--sm-ink);
}
.sm-book__review{
  font-size:12px;
  color:var(--sm-amber-dark);
  white-space:nowrap;
}
.sm-book__review i{
  font-style:normal;
  color:var(--sm-slate);
}
.sm-book__date{
  font-size:11.5px;
  color:var(--sm-slate);
  white-space:nowrap;
}

.sm-book__cert{
  display:inline-block;
  font-family:var(--sm-f-display);
  font-size:12px;
  font-weight:700;
  color:var(--sm-indigo);
  background:var(--sm-indigo-tint);
  border-radius:3px;
  padding:3px 8px;
  margin-bottom:9px;
}
.sm-book__pick{
  display:block;
  font-family:var(--sm-f-display);
  font-size:13px;
  line-height:1.6;
  color:var(--sm-ink);
  margin-bottom:6px;
}
.sm-book__note{
  display:block;
  font-size:12.5px;
  line-height:1.75;
  color:var(--sm-slate);
}

/* ショップボタン。2つ並べて、読者が普段使う店を選べるようにする。 */
.sm-book__shops{
  display:flex;
  gap:8px;
}
.sm-shop{
  flex:1 1 0;
  text-align:center;
  white-space:nowrap;
  font-family:var(--sm-f-display);
  font-weight:700;
  font-size:12.5px;
  padding:8px 10px;
  border-radius:5px;
  background:var(--sm-white);
  text-decoration:none !important;
  transition:background .18s ease, color .18s ease;
}
.sm-shop--amazon{
  border:1px solid #D89B4A;
  color:#8A5A12 !important;
}
.sm-shop--amazon:hover{
  background:#8A5A12;
  color:var(--sm-white) !important;
}
.sm-shop--rakuten{
  border:1px solid #D98A8A;
  color:#A61B1B !important;
}
.sm-shop--rakuten:hover{
  background:#A61B1B;
  color:var(--sm-white) !important;
}

/* 広告表記。アフィリエイトidが入っているときだけ出る（front-top.php 側で分岐）。 */
.sm-books__disc{
  margin:16px 0 0 !important;
  font-size:11.5px;
  line-height:1.8;
  color:var(--sm-slate) !important;
}

@media screen and (max-width:834px){
  .sm-books__list{ grid-template-columns:1fr; }
  .sm-book__thumb, .sm-book__thumb img{ width:64px; }
}


/* 記事の末尾に出るとき。本文との境目をはっきりさせる。 */
.sm-books--article{
  margin-top:32px;
  padding:22px 22px 20px;
  border:1px solid var(--sm-line);
  border-top:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  background:var(--sm-white);
}
/* 1冊だけのとき（記事側でよく起きる）。2列のままだと右が空くので1列にする。 */
.sm-books__list--single{ grid-template-columns:1fr; }

.sm-books__more{
  margin:8px 0 0 !important;
  font-size:12.5px;
  color:var(--sm-slate) !important;
}

@media screen and (max-width:834px){
  .sm-books--article{ padding:16px 14px 14px; }
}



/* --------------------------------------------------------------------------
   PR表記（記事・トップの冒頭）。sm_pr_notice() が出す。
   -------------------------------------------------------------------------- */
.sm-pr{
  margin:0 0 14px !important;
  font-size:11.5px !important;
  line-height:1.6 !important;
  color:var(--sm-slate) !important;
}


/* --------------------------------------------------------------------------
   通信講座（記事末尾）。sm_article_courses() が出す。
   市販テキストの枠（.sm-books--article）と並ぶので、枠の作りを揃えている。
   -------------------------------------------------------------------------- */
.sm-courses{
  margin-top:32px;
  padding:22px 22px 20px;
  border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  background:var(--sm-white);
}
.sm-courses__head b{
  display:block;
  font-family:var(--sm-f-display);
  font-weight:900;
  font-size:17px;
  color:var(--sm-indigo);
}
.sm-courses__head p{
  margin:6px 0 16px !important;
  font-size:13px !important;
  line-height:1.8 !important;
  color:var(--sm-ink-soft) !important;
}
.sm-courses__list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
.sm-courses__item{
  display:flex;
  flex-direction:column;
  padding:14px 14px 12px;
  border:1px solid var(--sm-line);
  border-radius:var(--sm-radius);
  background:var(--sm-paper);
}
.sm-courses__name{
  margin:0 0 6px !important;
  line-height:1.5 !important;
}
.sm-courses__name b{
  font-family:var(--sm-f-display);
  font-size:16px;
  color:var(--sm-ink);
}
.sm-courses__name span{
  display:inline-block;
  margin-left:8px;
  padding:1px 7px;
  font-size:11px;
  border-radius:3px;
  background:var(--sm-indigo-tint);
  color:var(--sm-indigo);
  vertical-align:2px;
}
.sm-courses__feature,
.sm-courses__fit{
  margin:0 0 6px !important;
  font-size:13px !important;
  line-height:1.7 !important;
  color:var(--sm-ink-soft) !important;
}
.sm-courses__fit span{
  display:inline-block;
  margin-right:6px;
  font-size:11px;
  font-weight:700;
  color:var(--sm-amber-dark);
}
.sm-courses__btn{
  display:block;
  margin-top:auto;
  text-align:center;
  background:var(--sm-amber);
  color:var(--sm-white) !important;
  font-family:var(--sm-f-display);
  font-weight:900;
  font-size:14px;
  line-height:1.4;
  padding:11px 12px;
  border-radius:5px;
  text-decoration:none !important;
  box-shadow:0 3px 0 var(--sm-amber-dark);
  transition:transform .12s ease, box-shadow .12s ease;
}
.sm-courses__btn:hover{
  transform:translateY(1px);
  box-shadow:0 2px 0 var(--sm-amber-dark);
  color:var(--sm-white) !important;
}
.sm-courses__disc{
  margin:14px 0 0 !important;
  font-size:11.5px !important;
  line-height:1.8 !important;
  color:var(--sm-slate) !important;
}
/* 講座が1つだけのときは1列にする（2列だと右が空く）。 */
.sm-courses__list:has(> .sm-courses__item:only-child){ grid-template-columns:1fr; }

@media screen and (max-width:834px){
  .sm-courses{ padding:16px 14px 14px; }
  .sm-courses__list{ grid-template-columns:1fr; }
}


/* --------------------------------------------------------------------------
   本文の表（講座比較記事など）。
   4社を並べた5列の表はスマホだと1列目が縦に潰れるので、
   1列目を折り返さず、表ごと横スクロールさせる。
   -------------------------------------------------------------------------- */
.entry-content .wp-block-table{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.entry-content .wp-block-table td:first-child,
.entry-content .wp-block-table th:first-child{
  white-space:nowrap;
}
@media screen and (max-width:834px){
  .entry-content .wp-block-table table:has(th:nth-child(5)){
    min-width:620px;
  }
}

/* 講座枠の下の「比較記事へ」リンク。 */
.sm-courses__more{
  margin:14px 0 0 !important;
  font-size:14px !important;
  font-weight:700;
}
.sm-courses__more a::before{ content:"→ "; }



/* ==========================================================================
   15. デザイン監査の修正（2026-09-24）
   ========================================================================== */

/* ---- 記事ページのPCで、サイドバーが本文の下に落ちていた ----
   #content-in は 1080px なのに #main 860px + #sidebar 376px で入りきらず折り返していた。 */
@media screen and (min-width:1024px){
  #content-in.content-in{ flex-wrap:nowrap; gap:24px; }
  #content-in > #main{ width:auto; flex:1 1 auto; min-width:0; }
  #content-in > #sidebar{ width:300px; flex:0 0 300px; }
}

/* ---- 表の1列目が改行禁止のため、長い文の1列目があると右の列が潰れていた
   （スマホでは1文字幅まで潰れていた）。折り返しを許し、最小幅だけ守る。 ---- */
.entry-content table tbody th,
.entry-content table tbody tr > td:first-child,
.entry-content .wp-block-table td:first-child,
.entry-content .wp-block-table th:first-child{
  white-space:normal !important;
  min-width:6.5em;
}
@media screen and (max-width:834px){
  .entry-content .wp-block-table table{ font-size:13px; }
}
/* 表は幅いっぱいにそろえる（中身の幅に縮む表が混ざっていた） */
.entry-content .wp-block-table table{ width:100%; }

/* ---- フッターのロゴ（黒インク）が濃紺の上で見えなかった ---- */
#footer .site-logo-image{ filter:brightness(0) invert(1); opacity:.92; }

/* ---- スマホでロゴが2つ並んでいた（上部バーとヘッダー） ---- */
@media screen and (max-width:1023px){
  #header .logo-header{ display:none; }
}

/* ---- 記事の見出し：トップと声をそろえる ----
   記事タイトルはトップのキャッチコピーと同じ明朝体、h2 の縦線はトップのセクション見出しと同じ琥珀に。 */
.article .entry-title{
  font-family:"Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:700;
  letter-spacing:.01em;
}
.entry-content h2,
.article h2:not(.related-entry-heading):not(.comment-title){
  border-left-color:var(--sm-amber);
}

/* ---- 記事末のカテゴリが背景に溶けていた（コントラスト 2.65） ---- */
.entry-categories .cat-link{
  background:var(--sm-indigo) !important;
  color:var(--sm-white) !important;
}

/* ---- 琥珀のボタンの白文字が読みにくかった（2.77）。白文字を載せるボタンだけ濃い琥珀に ---- */
.sm-btn,
.sm-courses__btn{
  background:#9C6207;
  box-shadow:0 3px 0 #6E4404;
}
.sm-btn:hover,
.sm-courses__btn:hover{ box-shadow:0 2px 0 #6E4404; }

/* ---- サイドバーの検索欄が高さ88pxで「検/索」が縦に折れていた ---- */
#sidebar .wp-block-search__inside-wrapper{ align-items:stretch; }
#sidebar .wp-block-search__input{ height:44px !important; min-height:0 !important; padding:0 12px !important; }
#sidebar .wp-block-search__button{
  height:44px !important;
  white-space:nowrap;
  padding:0 16px !important;
  width:auto !important;
  min-width:0 !important;
  writing-mode:horizontal-tb;
}

/* ---- 記事の日付が 8px しかなかった ---- */
.post-date .entry-date,
.post-update .entry-date,
.date-tags .entry-date{ font-size:12px !important; }

/* ---- 記事末に鉛筆アイコンだけが残っていた（著者名は「この記事について」に出している） ---- */
.footer-meta .author-info{ display:none !important; }

/* ---- ヘッダーの▼が項目の右上角に浮いていた ---- */
#navi .navi-in .top-has-sub{
  top:50% !important;
  transform:translateY(-50%);
}

/* ---- スマホのフッターメニュー：折り返した行の端に区切り線が余っていた ---- */
@media screen and (max-width:834px){
  #footer .menu-footer li,
  #footer .navi-footer-in .menu-item{ border-right:0 !important; }
}

/* ---- 補足文字が小さく薄かった（PR表記は景表法の表示なので特に） ---- */
.sm-pr{ font-size:12px !important; color:#6B6558 !important; }

/* ---- 検索結果の見出しが「"宅建"」だけだった ---- */
.search .archive-title::after{ content:" の検索結果"; }

/* ---- 使っていないコメント欄を出さない ---- */
.single #comment-area,
.single .comment-area{ display:none !important; }

/* === GOKAKU LP 1.26.0 === */

/* bodyクラスは is_front_page() のときだけ付与。記事ページに適用しない。 */
body.sm-gokaku-front{background:#fff;color-scheme:light}
.sm-gokaku-front #container .wrap,.sm-gokaku-front #content-in.content-in{width:100%;max-width:none;padding:0;gap:0}
.sm-gokaku-front #content{margin:0;padding:0}
.sm-gokaku-front #main.main{width:100%;max-width:none;margin:0;padding:0;min-width:0}
.sm-gokaku-front #main .article{margin:0;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none}
.sm-gokaku-front #main .entry-content{margin:0}
.sm-gokaku-front #main .entry-content>.sm-lp{margin:0}
.sm-gokaku-front #main .entry-title,.sm-gokaku-front #main .date-tags,.sm-gokaku-front #main .eye-catch,.sm-gokaku-front #main .sns-share,.sm-gokaku-front #main .sns-share-message,.sm-gokaku-front #main .sns-follow,.sm-gokaku-front #main .sns-follow-message,.sm-gokaku-front #main .author-info,.sm-gokaku-front #main .author-box,.sm-gokaku-front #main .entry-categories-tags,.sm-gokaku-front #main .footer-meta,.sm-gokaku-front #main .page-navi,.sm-gokaku-front #main .comment-area,.sm-gokaku-front #main .related-entries,.sm-gokaku-front #breadcrumb,.sm-gokaku-front #sidebar{display:none!important}
/* ごうかくっ！ LP / 全ルールを .sm-lp 内に限定。WordPress版にも同じCSSを収録。 */
.sm-lp{--g-teal:#13917f;--g-deep:#087465;--g-ink:#243c38;--g-muted:#60736e;--g-mint:#eff8f5;--g-line:#dceae4;--g-coral:#ef6f5e;--g-yellow:#f5b83d;color-scheme:light;font:400 16px/1.9 "Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--g-ink);background:#fff;isolation:isolate;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
.sm-lp *,.sm-lp *::before,.sm-lp *::after{box-sizing:border-box}
.sm-lp :is(h1,h2,h3,h4){font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif!important;color:var(--g-ink)!important;background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;line-height:1.5!important;font-weight:700!important;text-wrap:balance;letter-spacing:.035em}
.sm-lp :is(h1,h2,h3,h4)::before,.sm-lp :is(h1,h2,h3,h4)::after{display:none!important}
.sm-lp h2{font-size:clamp(27px,3vw,38px)!important}
.sm-lp h3{font-size:22px!important}
.sm-lp p{margin:0!important;line-height:inherit;color:inherit}
.sm-lp :is(ul,ol,figure,dl,dd){margin:0;padding:0}
.sm-lp li{list-style:none;margin:0}
.sm-lp img{display:block;max-width:100%;height:auto;vertical-align:middle;border:0;box-shadow:none}
.sm-lp a{color:inherit;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.sm-lp button{font:inherit;color:inherit;cursor:pointer;border:0}
.sm-lp :is(a,button,summary):focus-visible{outline:3px solid var(--g-deep);outline-offset:5px}
.sm-lp [hidden]{display:none!important}
.sm-lp svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sm-lp .g-wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}
.sm-lp .g-section{padding:100px 0}
.sm-lp .g-kicker{display:block;color:var(--g-deep);font-size:12px;font-weight:700;letter-spacing:.19em;line-height:1.6;margin-bottom:15px}
.sm-lp .g-heading{text-align:center;margin-bottom:52px}
.sm-lp .g-heading p{margin-top:18px!important;color:var(--g-muted);font-size:15px}
.sm-lp .g-heading em,.sm-lp .g-feature-copy em{font-style:normal;color:var(--g-deep)}
.sm-lp .g-btn{display:inline-flex;min-height:56px;padding:14px 28px;gap:20px;align-items:center;justify-content:center;border-radius:9px;background:var(--g-teal);color:#fff;font-size:15px;font-weight:700;line-height:1.6;box-shadow:0 6px 16px #13917f1c;white-space:normal}
.sm-lp .g-btn:hover{background:var(--g-deep);color:#fff;transform:translateY(-2px)}
.sm-lp .g-btn--outline{background:#ffffffb8;color:var(--g-deep);border:1px solid #95c5b9;box-shadow:none;gap:10px}
.sm-lp .g-btn--outline:hover{background:#fff;color:var(--g-deep)}
.sm-lp .g-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.sm-lp .g-small{font-size:12px;color:var(--g-muted)}
.sm-lp .g-header{background:#fff;border-bottom:1px solid #e9f1ed;position:sticky;top:0;z-index:20}
.sm-lp .g-header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:88px}
.sm-lp .g-brand{display:flex;align-items:center;gap:14px;min-height:44px}
.sm-lp .g-brand img{width:170px}
.sm-lp .g-brand small{font-size:10px;color:var(--g-muted);line-height:1.8;border-left:1px solid var(--g-line);padding-left:14px}
.sm-lp .g-nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:500}
.sm-lp .g-nav a{display:flex;align-items:center;min-height:44px}
.sm-lp .g-nav a:hover{color:var(--g-deep)}
.sm-lp .g-nav .g-btn{min-height:45px;padding:11px 22px;font-size:13px}
.sm-lp .g-skip{position:absolute;left:16px;top:10px;transform:translateY(-150%);z-index:50;padding:10px 16px;background:#fff}
.sm-lp .g-skip:focus{transform:none}
.sm-lp .g-hero{position:relative;background:#f0f9f6;overflow:hidden}
.sm-lp .g-hero-art{position:absolute;inset:0;margin:0!important;z-index:-1}
.sm-lp .g-hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}
.sm-lp .g-hero{isolation:isolate}
.sm-lp .g-hero-inner{min-height:655px;display:flex;align-items:center;padding-top:58px;padding-bottom:60px}
.sm-lp .g-hero-copy{width:52%;position:relative;z-index:1}
.sm-lp .g-eyebrow{font-size:12px;font-weight:700;color:var(--g-deep)!important;display:flex;align-items:center;gap:9px;margin-bottom:24px!important;letter-spacing:.08em}
.sm-lp .g-dot{height:7px;width:7px;display:inline-block;background:var(--g-coral);border-radius:50%}
.sm-lp .g-hero h1{font-size:clamp(38px,4.2vw,56px)!important;line-height:1.47!important;letter-spacing:.035em}
.sm-lp .g-hero h1 em{color:var(--g-deep);font-style:normal;position:relative}
.sm-lp .g-hero-lead{font-size:15px;line-height:2.05!important;margin:24px 0 28px!important;max-width:470px}
.sm-lp .g-hero .g-small{margin-top:15px!important}
.sm-lp .g-hero-tags{display:flex;gap:20px;font-size:12px;color:#45635b;margin-top:34px;padding-top:20px;border-top:1px solid #b8d8ce;max-width:445px}
.sm-lp .g-hero-tags span{display:flex;align-items:center;gap:6px}
.sm-lp .g-hero-tags svg{width:15px;height:15px;color:var(--g-teal)}
.sm-lp .g-hero-caption{position:absolute;right:30px;bottom:16px;font-size:10px;color:#647c73}
.sm-lp .g-intro{display:flex;align-items:center;justify-content:center;gap:28px;padding-block:32px;border-bottom:1px solid var(--g-line)}
.sm-lp .g-intro img{width:55px;height:74px;object-fit:contain}
.sm-lp .g-intro strong{font-family:"Zen Maru Gothic",sans-serif;font-size:20px;letter-spacing:.03em}
.sm-lp .g-intro p{font-size:13px;color:var(--g-muted)}
.sm-lp .g-intro-label{font-size:11px;font-weight:700;color:var(--g-deep);border:1px solid #bad7cd;border-radius:30px;padding:4px 15px;margin-left:15px}
.sm-lp .g-problem{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.sm-lp .g-problem-copy p{font-size:15px;color:var(--g-muted);margin-top:24px!important}
.sm-lp .g-problem-items li{display:flex;align-items:center;gap:18px;padding:19px 0;border-bottom:1px solid var(--g-line);font-size:15px}
.sm-lp .g-problem-items li span{display:grid;place-items:center;border-radius:50%;width:38px;height:38px;background:#fff4e4;color:#986b16;flex-shrink:0}
.sm-lp .g-problem-items li b{display:block;color:var(--g-deep);font-weight:500;font-size:12px;margin-top:3px}
.sm-lp .g-features{background:var(--g-mint)}
.sm-lp .g-feature-list{display:grid;gap:32px}
.sm-lp .g-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:540px;gap:56px;background:#fff;border:1px solid #e0ece6;border-radius:24px;padding:48px 64px;overflow:hidden}
.sm-lp .g-feature:nth-child(even) .g-feature-copy{order:2}
.sm-lp .g-feature:nth-child(even) .g-feature-visual{order:1}
.sm-lp .g-feature-no{font-family:"Zen Maru Gothic",sans-serif;font-weight:700;font-size:13px;color:var(--g-deep);letter-spacing:.14em;display:flex;align-items:center;gap:13px;margin-bottom:24px}
.sm-lp .g-feature-no::after{content:"";height:1px;width:50px;background:#a7cec0}
.sm-lp .g-feature-copy h3{font-size:31px!important;line-height:1.65!important}
.sm-lp .g-feature-copy>p{margin:20px 0!important;color:var(--g-muted);font-size:14px;line-height:2.1}
.sm-lp .g-feature-labels{display:flex;gap:8px;flex-wrap:wrap}
.sm-lp .g-feature-labels span{background:var(--g-mint);border-radius:4px;color:var(--g-deep);padding:3px 10px;font-size:11px}
.sm-lp .g-feature-visual{position:relative;min-width:0;display:flex;justify-content:center;align-items:center;padding:8px 0}
.sm-lp .g-feature-visual::before{content:"";position:absolute;width:340px;height:340px;background:#f1f7f2;border-radius:50%;z-index:0}
.sm-lp .g-feature:nth-child(2) .g-feature-visual::before{background:#fff7e8}
.sm-lp .g-feature:nth-child(3) .g-feature-visual::before{background:#fff0ed}
.sm-lp .g-phone{width:225px;position:relative;background:#fff;border:6px solid #fff;outline:1px solid #d4e1dc;border-radius:29px;padding:22px 0 0;box-shadow:8px 18px 40px #2e59461a;flex-shrink:0;overflow:hidden;z-index:1}
.sm-lp .g-phone::before{content:"";position:absolute;width:45px;height:5px;background:#d0dbd6;border-radius:10px;top:9px;left:calc(50% - 22px);z-index:2}
.sm-lp .g-phone img{width:100%;height:auto;border-radius:0 0 21px 21px}
.sm-lp .g-feature .g-phone{max-height:398px}
.sm-lp .g-feature-float{position:absolute;right:-12px;bottom:36px;width:126px;z-index:2;filter:drop-shadow(0 7px 12px #325c3c15)}
.sm-lp .g-feature-float img{width:100%;max-height:150px;object-fit:contain}
.sm-lp .g-feature-note{position:absolute;right:-20px;top:45px;z-index:3;font-size:11px;color:var(--g-deep);background:#fff;border:1px solid #d8e8df;border-radius:8px;padding:10px 14px;box-shadow:0 4px 12px #173a2810;transform:rotate(5deg)}
.sm-lp .g-video-section{background:#fff}
.sm-lp .g-video-layout{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:65px}
.sm-lp .g-video-copy p{color:var(--g-muted);font-size:14px;margin-top:20px!important}
.sm-lp .g-video{position:relative;overflow:hidden;border-radius:16px;background:#eaf4ef;border:1px solid var(--g-line);aspect-ratio:16/9}
.sm-lp .g-video>button{display:block;position:relative;padding:0;background:none;width:100%;height:100%;min-height:44px;text-align:center}
.sm-lp .g-video>button>img{width:100%;height:100%;object-fit:cover;filter:brightness(.77)}
.sm-lp .g-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#fff;font-weight:700;font-size:13px;text-shadow:0 1px 5px #163c30a0}
.sm-lp .g-play>span{display:grid;place-items:center;border-radius:50%;width:64px;height:64px;background:#fff;color:var(--g-deep);box-shadow:0 6px 30px #12382a33;transition:transform .2s}
.sm-lp .g-play svg{width:22px;height:22px;fill:currentColor;stroke:0;margin-left:3px}
.sm-lp .g-video button:hover .g-play>span{transform:scale(1.08)}
.sm-lp .g-video video{display:block;width:100%;height:100%;object-fit:contain;background:#192e29}
.sm-lp .g-video-error{position:absolute;bottom:40px;left:12px;right:12px;background:#fff;padding:10px;font-size:12px}
.sm-lp .g-video-error a{display:inline-flex;padding:5px;min-height:44px;align-items:center;text-decoration:underline}
.sm-lp .g-video-caption{font-size:11px;color:var(--g-muted);margin-top:12px!important}
.sm-lp .g-video-fallback{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;font-size:12px;color:var(--g-deep)}
.sm-lp .g-steps{display:flex;gap:20px;justify-content:center;margin:35px 0 0;counter-reset:steps}
.sm-lp .g-steps li{display:flex;align-items:center;gap:8px;font-size:12px}
.sm-lp .g-steps li::before{counter-increment:steps;content:counter(steps,decimal-leading-zero);font-weight:700;color:var(--g-deep);border:1px solid var(--g-line);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:10px}
.sm-lp .g-sample{margin-top:70px;display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center;background:#f8faf6;padding:34px;border-radius:20px}
.sm-lp .g-sample h3{font-size:24px!important}
.sm-lp .g-sample p{font-size:13px;color:var(--g-muted);margin-top:15px!important}
.sm-lp .g-sample .g-kicker{font-size:11px}
.sm-lp .g-teachers{background:#fffaf2;border-top:1px solid #f4eddf;border-bottom:1px solid #f4eddf}
.sm-lp .g-teacher-lead{display:grid;grid-template-columns:230px 1fr;gap:40px;align-items:center;max-width:760px;margin:0 auto 42px}
.sm-lp .g-teacher-portrait{position:relative;display:grid;place-items:center;min-height:245px}
.sm-lp .g-teacher-portrait::before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;background:#fde9dd}
.sm-lp .g-teacher-portrait img{height:225px;width:auto;position:relative;object-fit:contain;filter:drop-shadow(0 10px 8px #cba88c28)}
.sm-lp .g-status{font-size:11px;font-weight:700;padding:4px 12px;border-radius:30px;background:#e1f2e9;color:var(--g-deep);display:inline-block;margin-bottom:14px}
.sm-lp .g-teacher-lead h3{font-size:26px!important}
.sm-lp .g-teacher-lead p{color:var(--g-muted);font-size:14px;margin-top:16px!important}
.sm-lp .g-teacher-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.sm-lp .g-teacher{text-align:center;min-width:0}
.sm-lp .g-teacher img{width:148px;height:148px;object-fit:contain;margin:0 auto 8px}
.sm-lp .g-teacher strong{display:block;font-family:"Zen Maru Gothic",sans-serif;font-size:14px}
.sm-lp .g-teacher small{font-size:10px;color:#807b6c}
.sm-lp .g-teachers-note{text-align:center;font-size:11px;color:var(--g-muted);margin-top:26px!important}
.sm-lp .g-plans{background:#fff}
.sm-lp .g-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.sm-lp .g-plan{border:1px solid var(--g-line);padding:34px 28px 28px;border-radius:16px;background:#fff;position:relative;display:flex;flex-direction:column}
.sm-lp .g-plan--premium{border:2px solid var(--g-teal);background:#f5fcf8}
.sm-lp .g-plan-tag{font-size:10px;color:var(--g-deep);font-weight:700;letter-spacing:.06em;margin-bottom:8px;display:block}
.sm-lp .g-plan h3{font-size:23px!important}
.sm-lp .g-price{font-family:"Zen Maru Gothic",sans-serif;font-weight:700;font-size:40px;line-height:1.4;margin-top:21px;margin-bottom:24px;letter-spacing:-.03em;white-space:nowrap}
.sm-lp .g-price>span{font-family:"Noto Sans JP",sans-serif;font-size:12px;font-weight:500;letter-spacing:0;margin-right:5px}
.sm-lp .g-price>small{font-family:"Noto Sans JP",sans-serif;font-size:11px;font-weight:400;letter-spacing:0;margin-left:4px}
.sm-lp .g-plan ul{border-top:1px solid var(--g-line);padding-top:19px;margin-bottom:25px}
.sm-lp .g-plan li{font-size:12px;padding:6px 0;display:flex;gap:8px;align-items:start}
.sm-lp .g-plan li::before{content:"✓";color:var(--g-deep);font-weight:700}
.sm-lp .g-plan .g-btn{margin-top:auto;min-height:48px;padding:12px;font-size:13px;gap:8px;width:100%}
.sm-lp .g-plan-note{font-size:11px;color:var(--g-muted);margin-top:20px!important}
.sm-lp .g-compare{margin-top:44px}
.sm-lp .g-compare table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px;text-align:center;border:0;margin:0}
.sm-lp .g-compare th,.sm-lp .g-compare td{padding:17px 10px;border:0;border-bottom:1px solid var(--g-line);background:transparent;white-space:normal!important;min-width:0!important}
.sm-lp .g-compare th{font-weight:500}
.sm-lp .g-compare thead th{color:var(--g-deep);background:var(--g-mint);font-weight:700}
.sm-lp .g-compare th:first-child{width:27%;text-align:left}
.sm-lp .g-compare td:nth-child(3){background:#f6fbf8;color:var(--g-deep);font-weight:500}
.sm-lp .g-compare caption{text-align:left;font-size:17px;font-weight:700;padding-bottom:18px}
.sm-lp .g-plan-video{max-width:760px;margin:45px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.sm-lp .g-plan-video h3{font-size:19px!important}
.sm-lp .g-plan-video p{font-size:12px;color:var(--g-muted);margin-top:12px!important}
.sm-lp .g-points{background:var(--g-mint)}
.sm-lp .g-points-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.sm-lp .g-points-art{display:flex;align-items:center;justify-content:center;position:relative;min-height:310px}
.sm-lp .g-points-art::before{content:"";position:absolute;width:270px;height:270px;background:#fff6df;border-radius:50%}
.sm-lp .g-points-art img{width:250px;position:relative;transform:rotate(-6deg)}
.sm-lp .g-point-token{position:absolute;bottom:35px;right:20px;border:1px solid #e7ca7f;box-shadow:0 8px 20px #76672a12;padding:12px 25px;border-radius:12px;transform:rotate(6deg);background:#fff;color:#866322;font-size:13px;font-weight:700}
.sm-lp .g-points-copy>p{font-size:14px;color:var(--g-muted);margin-top:20px!important}
.sm-lp .g-points-copy .g-small{font-size:11px}
.sm-lp .g-faq{background:#fff}
.sm-lp .g-faq-inner{max-width:800px;margin:auto}
.sm-lp details{border-bottom:1px solid var(--g-line);margin:0}
.sm-lp details:first-of-type{border-top:1px solid var(--g-line)}
.sm-lp summary{display:flex;align-items:center;gap:17px;cursor:pointer;min-height:77px;padding:20px 4px;font-size:15px;font-weight:500;list-style:none}
.sm-lp summary::-webkit-details-marker{display:none}
.sm-lp summary::before{content:"Q";font-family:"Zen Maru Gothic",sans-serif;font-size:20px;color:var(--g-teal);flex-shrink:0;align-self:flex-start;line-height:1.5}
.sm-lp summary::after{content:"+";margin-left:auto;font-size:22px;color:var(--g-teal);font-weight:400}
.sm-lp details[open] summary::after{content:"−"}
.sm-lp .g-answer{padding:0 36px 24px;font-size:13px;color:var(--g-muted);line-height:2}
.sm-lp .g-final{padding:80px 0;background:#edf8f2;position:relative;overflow:hidden}
.sm-lp .g-final-inner{display:flex;align-items:center;justify-content:center;gap:65px}
.sm-lp .g-final-art{width:170px;flex-shrink:0;transform:rotate(-5deg)}
.sm-lp .g-final-art img{width:100%;max-height:230px;object-fit:contain}
.sm-lp .g-final-copy{max-width:620px}
.sm-lp .g-final-copy h2{font-size:34px!important}
.sm-lp .g-final-copy>p{font-size:14px;color:var(--g-muted);margin:16px 0 24px!important}
.sm-lp .g-final-copy .g-small{font-size:11px;margin:12px 0 0!important}
.sm-lp .g-articles{padding:45px 0;border-top:1px solid var(--g-line)}
.sm-lp .g-articles-head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.sm-lp .g-articles h2{font-size:20px!important}
.sm-lp .g-articles p{font-size:12px;color:var(--g-muted);margin-top:10px!important}
.sm-lp .g-article-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:20px}
.sm-lp .g-article-links a{font-size:12px;min-height:44px;display:flex;align-items:center;gap:20px;padding:9px 0;border-bottom:1px solid var(--g-line);margin-right:10px}
.sm-lp .g-article-links a:hover{color:var(--g-deep)}
.sm-lp .g-recent{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px}
.sm-lp .g-recent a{padding:14px 0;display:block;min-height:44px;border-top:1px solid var(--g-line);font-size:12px}
.sm-lp .g-recent time{display:block;font-size:10px;color:var(--g-muted);margin-bottom:6px}
.sm-lp .g-footer{padding:48px 0 28px;background:#f8faf8;border-top:1px solid var(--g-line)}
.sm-lp .g-footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:30px}
.sm-lp .g-footer-brand img{width:155px}
.sm-lp .g-footer-brand span{font-size:11px;color:var(--g-muted);display:block;margin-top:12px}
.sm-lp .g-footer-links{display:flex;flex-wrap:wrap;gap:4px 22px;justify-content:flex-end;max-width:610px}
.sm-lp .g-footer-links a{min-height:44px;display:flex;align-items:center;font-size:11px;color:var(--g-muted)}
.sm-lp .g-footer-links a:hover{text-decoration:underline}
.sm-lp .g-footer-bottom{padding-top:22px;border-top:1px solid var(--g-line);color:var(--g-muted);font-size:10px;line-height:1.9}
.sm-lp .g-footer-bottom p+p{margin-top:8px!important}
.sm-lp .g-footer-bottom small{display:block;margin-top:18px;font-size:10px;letter-spacing:.04em}
.sm-lp [id]{scroll-margin-top:108px}
.sm-lp [data-reveal]{transition:opacity .6s,transform .6s}
.sm-lp .g-pending{opacity:0;transform:translateY(20px)}
.sm-lp .g-mobile-cta{display:none}
/* 本体トップは、4つの機能をコンパクトに一覧表示する。 */
.sm-lp--top .g-header{position:relative}
.sm-lp--top .g-header-inner{min-height:76px}
.sm-lp--top .g-brand small{display:none}
.sm-lp--top .g-hero-inner{min-height:600px}
.sm-lp--top .g-section{padding:78px 0}
.sm-lp--top .g-feature-list{grid-template-columns:repeat(4,1fr);gap:18px}
.sm-lp--top .g-feature{display:flex;flex-direction:column;gap:24px;padding:27px 20px 0;min-height:0;border-radius:14px}
.sm-lp--top .g-feature-copy{order:0!important;width:100%}
.sm-lp--top .g-feature-no{font-size:11px;margin-bottom:16px}
.sm-lp--top .g-feature-copy h3{font-size:20px!important}
.sm-lp--top .g-feature-copy>p{font-size:12px;line-height:1.9;min-height:92px;margin:14px 0!important}
.sm-lp--top .g-feature-labels{display:none}
.sm-lp--top .g-feature-visual{order:1!important;align-items:flex-start;padding:0;width:100%;height:290px;margin-top:auto;overflow:hidden}
.sm-lp--top .g-feature-visual::before{width:210px;height:210px;top:10px}
.sm-lp--top .g-phone{width:177px;max-height:none;border-width:5px;border-radius:23px}
.sm-lp--top .g-feature-float,.sm-lp--top .g-feature-note{display:none}
.sm-lp--top .g-teacher-grid{max-width:1000px;margin:auto}
.sm-lp--top .g-footer{padding-top:30px}
.sm-lp--top .g-footer-top{display:none}
@media(min-width:1600px){.sm-lp .g-hero-art img{object-position:center 49%}.sm-lp .g-hero-inner{min-height:700px}}
@media(max-width:1100px){
  .sm-lp .g-brand small{display:none}.sm-lp .g-nav{gap:18px}.sm-lp .g-hero-copy{width:54%}.sm-lp .g-hero-art img{object-position:57% center}.sm-lp .g-hero h1{font-size:44px!important}.sm-lp .g-hero-lead{max-width:390px}.sm-lp .g-hero .g-actions{max-width:420px}.sm-lp .g-hero .g-btn{padding:13px 20px;font-size:13px}.sm-lp .g-feature{padding:40px;gap:30px}.sm-lp .g-feature-float{right:-20px}.sm-lp .g-feature-note{right:-20px}.sm-lp .g-video-layout{gap:35px}.sm-lp .g-plan{padding:28px 20px}.sm-lp .g-price{font-size:34px}.sm-lp--top .g-feature-list{grid-template-columns:repeat(2,1fr)}.sm-lp--top .g-feature-copy>p{min-height:0}.sm-lp--top .g-feature-visual{height:300px}.sm-lp--top .g-phone{width:200px}
}
@media(max-width:760px){
  .sm-lp{font-size:14px}.sm-lp .g-wrap{width:calc(100% - 40px)}.sm-lp .g-section,.sm-lp--top .g-section{padding:64px 0}.sm-lp .g-heading{margin-bottom:34px}.sm-lp .g-heading p{font-size:13px;margin-top:14px!important}.sm-lp h2{font-size:27px!important}.sm-lp .g-kicker{font-size:10px;margin-bottom:12px}.sm-lp .g-header-inner,.sm-lp--top .g-header-inner{min-height:70px;gap:14px}.sm-lp .g-brand img{width:135px}.sm-lp .g-nav>a:not(.g-btn){display:none}.sm-lp .g-nav .g-btn{font-size:11px;min-height:44px;padding:10px 14px;border-radius:7px}.sm-lp .g-nav .g-btn svg{display:none}
  .sm-lp .g-hero-inner,.sm-lp--top .g-hero-inner{min-height:0;display:block;padding-top:38px;padding-bottom:320px}.sm-lp .g-hero-copy{width:100%}.sm-lp .g-hero-art{top:auto;height:330px;bottom:0;width:100%;z-index:-1}.sm-lp .g-hero-art img{object-fit:cover;object-position:right center;width:100%;height:100%}.sm-lp .g-hero::after{content:"";position:absolute;left:0;right:0;bottom:290px;height:55px;background:linear-gradient(#f0f9f6,transparent);z-index:0;pointer-events:none}.sm-lp .g-eyebrow{font-size:10px;margin-bottom:18px!important}.sm-lp .g-hero h1{font-size:36px!important;line-height:1.52!important;letter-spacing:.025em}.sm-lp .g-hero-lead{font-size:13px;line-height:1.95!important;margin:18px 0 22px!important;max-width:none}.sm-lp .g-hero .g-actions{max-width:none;gap:9px;display:grid;grid-template-columns:1fr}.sm-lp .g-hero .g-btn{min-height:50px;width:100%;font-size:14px}.sm-lp .g-hero .g-btn--outline{font-size:12px;min-height:44px}.sm-lp .g-hero .g-small{font-size:10px;margin-top:11px!important;text-align:center}.sm-lp .g-hero-tags{margin-top:20px;padding-top:14px;gap:9px;justify-content:space-between;font-size:9px}.sm-lp .g-hero-tags span{gap:3px}.sm-lp .g-hero-tags svg{width:12px;height:12px}.sm-lp .g-hero-caption{font-size:8px;right:14px;bottom:8px}
  .sm-lp .g-intro{padding-block:25px;gap:16px;align-items:center}.sm-lp .g-intro img{width:42px;height:62px}.sm-lp .g-intro strong{font-size:15px}.sm-lp .g-intro p{font-size:11px;margin-top:5px!important}.sm-lp .g-intro-label{display:block;width:fit-content;margin:5px 0 0;font-size:9px;padding:1px 10px}
  .sm-lp .g-problem{grid-template-columns:1fr;gap:24px}.sm-lp .g-problem-copy p{font-size:13px;margin-top:18px!important}.sm-lp .g-problem-items li{font-size:13px;padding:16px 0;gap:14px}.sm-lp .g-problem-items li b{font-size:11px}
  .sm-lp .g-feature-list,.sm-lp--top .g-feature-list{grid-template-columns:1fr;gap:20px}.sm-lp .g-feature,.sm-lp--top .g-feature{display:flex;flex-direction:column;gap:27px;padding:29px 25px 0;border-radius:17px;min-height:0}.sm-lp .g-feature-copy,.sm-lp .g-feature:nth-child(even) .g-feature-copy{order:0;width:100%}.sm-lp .g-feature-copy h3{font-size:25px!important}.sm-lp .g-feature-no{font-size:10px;margin-bottom:16px}.sm-lp .g-feature-copy>p,.sm-lp--top .g-feature-copy>p{font-size:12px;min-height:0;margin:15px 0!important}.sm-lp .g-feature-labels span{font-size:9px}.sm-lp .g-feature-visual,.sm-lp .g-feature:nth-child(even) .g-feature-visual,.sm-lp--top .g-feature-visual{order:1;align-items:flex-start;height:360px;width:100%;padding:0;overflow:hidden}.sm-lp .g-phone,.sm-lp--top .g-phone{width:207px;border-radius:26px}.sm-lp .g-feature-visual::before{width:270px;height:270px;top:25px}.sm-lp .g-feature .g-phone{max-height:none}.sm-lp .g-feature-float{width:85px;right:-7px;bottom:25px}.sm-lp .g-feature-note{right:-7px;top:43px;font-size:9px;padding:8px 10px}.sm-lp--top .g-feature-copy h3{font-size:24px!important}.sm-lp--top .g-feature-visual{height:320px}
  .sm-lp .g-video-layout{grid-template-columns:1fr;gap:28px}.sm-lp .g-video-copy{text-align:center}.sm-lp .g-video-copy p{font-size:13px;margin-top:16px!important}.sm-lp .g-video{border-radius:12px}.sm-lp .g-play{font-size:11px;gap:7px}.sm-lp .g-play>span{width:48px;height:48px}.sm-lp .g-steps{gap:12px;margin-top:22px;flex-wrap:wrap;justify-content:start}.sm-lp .g-steps li{font-size:10px;gap:5px}.sm-lp .g-steps li::before{width:24px;height:24px;font-size:9px}.sm-lp .g-video-caption{font-size:10px}.sm-lp .g-sample{margin-top:44px;grid-template-columns:1fr;padding:23px;gap:23px}.sm-lp .g-sample .g-video{order:2}.sm-lp .g-sample h3{font-size:22px!important}.sm-lp .g-sample p{font-size:12px}
  .sm-lp .g-teacher-lead{grid-template-columns:110px 1fr;gap:15px;margin-bottom:30px}.sm-lp .g-teacher-portrait{min-height:175px}.sm-lp .g-teacher-portrait::before{width:130px;height:130px}.sm-lp .g-teacher-portrait img{height:154px;max-width:115px}.sm-lp .g-teacher-lead h3{font-size:20px!important}.sm-lp .g-teacher-lead p{font-size:11px;margin-top:10px!important}.sm-lp .g-status{font-size:9px;margin-bottom:9px;padding:2px 9px}.sm-lp .g-teacher-grid{grid-template-columns:repeat(3,1fr);gap:24px 10px}.sm-lp .g-teacher img{width:100%;height:auto;aspect-ratio:1}.sm-lp .g-teacher strong{font-size:12px}.sm-lp .g-teacher small{font-size:9px}.sm-lp .g-teachers-note{font-size:10px;margin-top:22px!important}
  .sm-lp .g-plan-grid{grid-template-columns:1fr;gap:18px}.sm-lp .g-plan{padding:27px}.sm-lp .g-plan h3{font-size:23px!important}.sm-lp .g-plan-tag{font-size:10px}.sm-lp .g-price{font-size:42px;margin-top:13px;margin-bottom:20px}.sm-lp .g-price>span{font-size:12px}.sm-lp .g-plan li{font-size:12px;padding:5px 0}.sm-lp .g-plan .g-btn{font-size:13px;min-height:48px}.sm-lp .g-plan-note{font-size:10px;line-height:1.9}.sm-lp .g-compare{margin-top:30px}.sm-lp .g-compare table{font-size:10px;line-height:1.8}.sm-lp .g-compare th,.sm-lp .g-compare td{padding:13px 5px}.sm-lp .g-compare th:first-child{width:29%}.sm-lp .g-compare caption{font-size:16px}.sm-lp .g-plan-video{grid-template-columns:1fr;gap:20px;margin-top:30px}.sm-lp .g-plan-video .g-video{max-width:100%}
  .sm-lp .g-points-inner{grid-template-columns:1fr;gap:25px}.sm-lp .g-points-art{min-height:235px;order:2}.sm-lp .g-points-art::before{width:210px;height:210px}.sm-lp .g-points-art img{width:210px}.sm-lp .g-point-token{right:12px;bottom:12px;font-size:11px;padding:10px 17px}.sm-lp .g-points-copy>p{font-size:13px;margin-top:18px!important}.sm-lp .g-points-copy .g-small{font-size:10px}.sm-lp summary{font-size:13px;gap:12px;min-height:75px;padding:20px 0;line-height:1.9}.sm-lp summary::before{font-size:17px}.sm-lp .g-answer{font-size:12px;padding:0 20px 22px 27px}
  .sm-lp .g-final{padding:56px 0}.sm-lp .g-final-inner{flex-direction:column;gap:20px;text-align:center}.sm-lp .g-final-art{width:105px}.sm-lp .g-final-art img{max-height:125px}.sm-lp .g-final-copy h2{font-size:27px!important}.sm-lp .g-final-copy>p{font-size:12px;margin:16px 0 22px!important}.sm-lp .g-final-copy .g-btn{width:100%;min-height:54px;font-size:14px}.sm-lp .g-final-copy .g-small{font-size:10px}.sm-lp .g-articles{padding:32px 0}.sm-lp .g-articles-head{display:block}.sm-lp .g-articles h2{font-size:18px!important}.sm-lp .g-articles p{font-size:11px}.sm-lp .g-article-links{gap:0 18px;margin-top:14px}.sm-lp .g-article-links a{font-size:11px;gap:8px;margin-right:0}.sm-lp .g-recent{grid-template-columns:1fr;gap:0;margin-top:15px}
  .sm-lp .g-footer{padding:32px 0 96px}.sm-lp .g-footer-top{align-items:start;flex-direction:column;gap:20px;margin-bottom:20px}.sm-lp .g-footer-brand img{width:140px}.sm-lp .g-footer-brand span{font-size:10px}.sm-lp .g-footer-links{justify-content:start;gap:0 18px}.sm-lp .g-footer-links a{font-size:10px;min-height:44px}.sm-lp .g-footer-bottom{font-size:9px}.sm-lp .g-footer-bottom small{font-size:9px}.sm-lp--top .g-footer{padding-bottom:30px}.sm-lp [id]{scroll-margin-top:88px}.sm-lp .g-mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:25;background:#fffffff5;backdrop-filter:blur(8px);border-top:1px solid var(--g-line);padding:9px 20px max(9px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;justify-content:space-between}.sm-lp .g-mobile-cta>span{font-size:10px;line-height:1.7}.sm-lp .g-mobile-cta>span b{color:var(--g-deep)}.sm-lp .g-mobile-cta .g-btn{min-height:44px;padding:10px 16px;font-size:12px;gap:12px}
}
@media(max-width:374px){.sm-lp .g-hero h1{font-size:33px!important}.sm-lp .g-wrap{width:calc(100% - 32px)}.sm-lp .g-feature,.sm-lp--top .g-feature{padding-inline:22px}.sm-lp .g-teacher-lead{grid-template-columns:100px 1fr}.sm-lp .g-nav .g-btn{font-size:10px;padding:10px 12px}.sm-lp .g-brand img{width:125px}}
@media(prefers-reduced-motion:reduce){.sm-lp *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.sm-lp .g-pending{opacity:1;transform:none}}

/* 重ねたヒーローと、表示時の軽い動き。 */
.sm-lp .g-hero-art{inset:0 0 0 48%;z-index:0;pointer-events:none}
.sm-lp .g-hero-scene{position:relative;width:min(100%,700px);height:100%;margin:auto}
.sm-lp .g-hero-halo{position:absolute;inset:10% 4% 8%;border-radius:50%;background:#def1e8}
.sm-lp .g-hero-art .g-hero-phone{position:absolute;z-index:2;width:32%;max-width:210px;max-height:72%;left:37%;top:12%;padding-top:19px;overflow:hidden}
.sm-lp .g-hero-art .g-hero-phone img{display:block;width:100%;height:auto;object-fit:contain}
.sm-lp .g-hero-kawase,.sm-lp .g-hero-hiraki,.sm-lp .g-hero-teacher{position:absolute;z-index:3}
.sm-lp .g-hero-art .g-hero-kawase img,.sm-lp .g-hero-art .g-hero-hiraki img,.sm-lp .g-hero-art .g-hero-teacher img{display:block;width:100%;height:auto;object-fit:contain}
.sm-lp .g-hero-kawase{width:31%;left:5%;top:35%}
.sm-lp .g-hero-speech{position:relative;animation:g-gentle 4s ease-in-out infinite}
.sm-lp .g-hero-art .g-mouth-open{position:absolute;inset:0;animation:g-mouth 1.3s steps(1,end) infinite}
.sm-lp .g-hero-hiraki{width:20%;right:4%;top:15%;animation:g-float 4s ease-in-out infinite}
.sm-lp .g-hero-teacher{width:22%;bottom:5%;transform-origin:center bottom}
.sm-lp .g-hero-teacher--one{left:24%}.sm-lp .g-hero-teacher--two{left:46%}.sm-lp .g-hero-teacher--three{left:68%}
.sm-lp--full .g-hero-teacher{animation:g-hop 4.8s ease-in-out infinite}
.sm-lp--full .g-hero-teacher--two{animation-delay:.65s}.sm-lp--full .g-hero-teacher--three{animation-delay:1.3s}
.sm-lp .g-hero-flower{position:absolute;top:8%;left:12%;width:12%;height:auto;fill:none;stroke:#ef8f7e;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.sm-lp--full .g-hero-flower path{stroke-dasharray:400;stroke-dashoffset:400;animation:g-draw 3s ease forwards .4s}
.sm-lp .g-confetti{position:absolute;width:8px;height:15px;border-radius:3px;background:#f5b83d;z-index:1}
.sm-lp .g-confetti--1{left:22%;top:18%}.sm-lp .g-confetti--2{left:78%;top:35%;background:#ef8f7e}.sm-lp .g-confetti--3{left:10%;top:65%;background:#86c8b5}.sm-lp .g-confetti--4{left:87%;top:64%}
.sm-lp--full .g-confetti{animation:g-confetti 5s ease-in-out infinite alternate}.sm-lp--full .g-confetti--2{animation-delay:-1s}.sm-lp--full .g-confetti--3{animation-delay:-2s}.sm-lp--full .g-confetti--4{animation-delay:-3s}
.sm-lp--top .g-hero-teacher,.sm-lp--top .g-hero-flower,.sm-lp--top .g-confetti{display:none}
.sm-lp--top .g-hero-art .g-mouth-open{animation:none;opacity:0}
.sm-lp [data-reveal],.sm-lp .g-motion-reveal{transition:opacity .65s ease,transform .65s ease;transition-delay:var(--g-delay,0ms)}
.sm-lp .g-pending{opacity:0;transform:translateY(24px)}
.sm-lp--full .g-teacher img,.sm-lp--full .g-teacher-portrait img{animation:g-breathe 3.5s ease-in-out infinite;transform-origin:center bottom}
.sm-lp--full .g-teacher:nth-child(2n) img{animation-delay:-1.2s}
.sm-lp--full .g-teacher:hover img,.sm-lp--full .g-teacher.g-bounce img,.sm-lp--full .g-teacher-portrait:hover img,.sm-lp--full .g-teacher-portrait.g-bounce img{animation:g-tap .5s ease}
.sm-lp--full .g-price{position:relative}
.sm-lp--full .g-price::after{content:"";display:block;width:70%;height:3px;margin-top:4px;background:#ef8f7e;transform:scaleX(1);transform-origin:left;transition:transform .7s ease .25s}
.sm-lp--full .g-pending .g-price::after,.sm-lp--full .g-plan.g-pending .g-price::after{transform:scaleX(0)}
@keyframes g-gentle{50%{transform:rotate(-3deg) translateY(-4px)}}
@keyframes g-mouth{0%,49%{opacity:0}50%,100%{opacity:1}}
@keyframes g-float{50%{transform:translateY(-10px)}}
@keyframes g-hop{0%,65%,100%{transform:translateY(0) rotate(0)}72%{transform:translateY(-12px) rotate(-5deg)}80%{transform:translateY(0) rotate(3deg)}85%{transform:rotate(0)}}
@keyframes g-confetti{to{transform:translateY(18px) rotate(100deg)}}
@keyframes g-draw{to{stroke-dashoffset:0}}
@keyframes g-breathe{50%{transform:translateY(-3px) rotate(2deg)}}
@keyframes g-tap{40%{transform:translateY(-14px) rotate(-5deg)}75%{transform:translateY(0) rotate(3deg)}}
@media(max-width:760px){
 .sm-lp .g-hero-art{inset:auto 0 0;height:320px;z-index:0}
 .sm-lp .g-hero-scene{max-width:440px}
 .sm-lp .g-hero::after{display:none}
 .sm-lp .g-hero-art .g-hero-phone{width:32%;max-height:76%;top:7%;padding-top:15px}
 .sm-lp .g-hero-kawase{left:3%;top:30%;width:33%}
 .sm-lp .g-hero-hiraki{right:3%;top:12%;width:22%}
 .sm-lp .g-hero-teacher{width:23%;bottom:3%}
 .sm-lp .g-hero-caption{z-index:4}
}
@media(prefers-reduced-motion:reduce){
 .sm-lp .g-hero-scene *,.sm-lp--full .g-teacher img,.sm-lp--full .g-teacher-portrait img{animation:none!important;transition:none!important}
 .sm-lp .g-hero-art .g-mouth-open{opacity:0}
 .sm-lp--full .g-hero-flower path{stroke-dashoffset:0}
 .sm-lp [data-reveal],.sm-lp .g-motion-reveal,.sm-lp .g-price::after{transition:none!important;opacity:1!important;transform:none!important}
}
/* 悩みから小さな一歩へ */
.sm-lp .g-problems{background:#f4faf7}
.sm-lp .g-empathy{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.sm-lp .g-empathy h2{font-size:clamp(25px,2.4vw,34px)!important}
.sm-lp .g-empathy p{margin:24px 0 0!important;color:var(--g-muted);line-height:2!important}
.sm-lp .g-checklist{list-style:none;margin:0!important;padding:25px 32px!important;background:#fff;border-radius:20px;box-shadow:0 12px 40px #245c4c0c}
.sm-lp .g-checklist li{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #e7efeb;font-size:14px;line-height:1.7}
.sm-lp .g-checklist li:last-child{border:0}
.sm-lp .g-check-mark{width:23px;height:23px;flex:none;border:1.5px solid #97c5b7;border-radius:6px;display:grid;place-items:center;color:#13917f}
.sm-lp .g-check-mark svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.sm-lp .g-checklist.g-check-wait .g-check-mark svg{opacity:0}
.sm-lp .g-checklist.g-check-play .g-check-mark svg{animation:g-check-in .3s ease backwards;animation-delay:var(--check-delay)}
@keyframes g-check-in{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}
.sm-lp .g-turn{text-align:center;padding:80px 0 45px}
.sm-lp .g-turn>span{font-size:13px;color:#13917f;font-weight:700}
.sm-lp .g-turn h2{font-size:clamp(30px,3.5vw,48px)!important;margin:12px 0 20px!important;color:#126c5e}
.sm-lp .g-turn p{line-height:1.9!important;color:var(--g-muted)}
.sm-lp .g-solutions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sm-lp .g-solution-card{background:#fff;border:1px solid #e0eee7;border-radius:18px;overflow:hidden;display:grid;grid-template-columns:36% 64%;min-height:150px}
.sm-lp .g-solution-worry{padding:22px 18px;background:#fdf6eb;display:flex;flex-direction:column;justify-content:center;gap:8px;color:#705c40}
.sm-lp .g-solution-worry span{font-size:10px;letter-spacing:.08em}
.sm-lp .g-solution-worry strong{font-size:14px;line-height:1.6}
.sm-lp .g-solution-answer{padding:22px 15px;display:flex;align-items:center;gap:12px;color:#244d42}
.sm-lp .g-solution-answer p{font-size:13px;line-height:1.8!important;flex:1;margin:0!important}
.sm-lp .g-solution-answer img{width:56px;height:70px;object-fit:contain;flex:none}
.sm-lp .g-solution-arrow{font-size:20px;color:#13917f;font-weight:700}
.sm-lp .g-problem-close{text-align:center;padding:55px 0 0}
.sm-lp .g-problem-close p{font-size:clamp(20px,2vw,27px);font-weight:700;line-height:1.7!important;margin:0 0 24px!important}
.sm-lp .g-hero-hiraki{width:23%}
.sm-lp .g-hero-teacher{width:27.5%;bottom:5%}
.sm-lp .g-hero-teacher--one{left:20%}.sm-lp .g-hero-teacher--two{left:42%}.sm-lp .g-hero-teacher--three{left:64%}
.sm-lp--top .g-hero-teacher{display:block}
@media(max-width:760px){
 .sm-lp .g-empathy{grid-template-columns:1fr;gap:25px}
 .sm-lp .g-empathy p{font-size:14px;margin-top:16px!important}
 .sm-lp .g-checklist{padding:16px 20px!important}
 .sm-lp .g-checklist li{font-size:13px;padding:11px 0}
 .sm-lp .g-turn{padding:55px 0 30px}
 .sm-lp .g-turn h2{font-size:28px!important}
 .sm-lp .g-turn p{font-size:13px}.sm-lp .g-desktop-break{display:none}
 .sm-lp .g-solutions{grid-template-columns:1fr;gap:12px}
 .sm-lp .g-solution-card{min-height:125px;grid-template-columns:36% 64%}
 .sm-lp .g-solution-worry{padding:15px 12px}.sm-lp .g-solution-worry strong{font-size:12px}
 .sm-lp .g-solution-answer{padding:14px 10px;gap:8px}.sm-lp .g-solution-answer p{font-size:12px}
 .sm-lp .g-solution-answer img{width:42px;height:55px}.sm-lp .g-solution-arrow{font-size:16px}
 .sm-lp .g-problem-close{padding-top:38px}
 .sm-lp .g-hero-hiraki{width:25.3%;right:1%;top:9%}
 .sm-lp .g-hero-kawase{width:30%;left:2%;top:30%}
 .sm-lp .g-hero-teacher{width:28.75%;bottom:1%}
 .sm-lp .g-hero-teacher--one{left:17%}.sm-lp .g-hero-teacher--two{left:39%}.sm-lp .g-hero-teacher--three{left:61%}
}
@media(prefers-reduced-motion:reduce){.sm-lp .g-checklist .g-check-mark svg{animation:none!important;opacity:1!important}}
.sm-lp .g-empathy{grid-template-columns:1fr 1.1fr;gap:50px}
.sm-lp .g-empathy h2{font-size:clamp(25px,2.1vw,31px)!important}
@media(min-width:761px){.sm-lp .g-hero-teacher{bottom:19%}}
@media(max-width:760px){.sm-lp .g-empathy{grid-template-columns:1fr;gap:25px}.sm-lp .g-solution-card{grid-template-columns:32% 68%}}
.sm-lp .g-mobile-break{display:none}
@media(max-width:760px){.sm-lp .g-mobile-break{display:block}}

/* 代表的な3つの悩み */
.sm-lp .g-empathy{display:block;max-width:760px;margin:0 auto;text-align:center}
.sm-lp .g-empathy h2{font-size:clamp(27px,2.7vw,38px)!important}
.sm-lp .g-empathy p{max-width:660px;margin:24px auto 0!important}
.sm-lp .g-turn{padding:90px 0 65px}
.sm-lp .g-turn h2{font-size:clamp(34px,4.5vw,60px)!important}
.sm-lp .g-stories{display:grid;gap:34px}
.sm-lp .g-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:38px;background:#fff;border:1px solid #e0eee7;border-radius:28px;padding:55px;overflow:hidden}
.sm-lp .g-story:nth-child(even) .g-story-copy{order:2}
.sm-lp .g-story-number{color:#13917f;font-size:12px;font-weight:700;letter-spacing:.15em}
.sm-lp .g-story-copy h3{font-size:clamp(24px,2.3vw,34px)!important;line-height:1.5!important;margin:14px 0 24px!important;color:#263e38}
.sm-lp .g-story-scene{color:#5c6e67;line-height:2!important;margin:0 0 24px!important}
.sm-lp .g-story-reason{border-left:3px solid #efb55e;padding-left:16px;margin-bottom:25px}
.sm-lp .g-story-reason span,.sm-lp .g-story-answer>span{font-size:12px;font-weight:700;letter-spacing:.04em;color:#a26a29}
.sm-lp .g-story-reason p,.sm-lp .g-story-answer p{line-height:1.95!important;margin:8px 0 0!important}
.sm-lp .g-story-answer{background:#eef8f3;border-radius:16px;padding:20px 22px}
.sm-lp .g-story-answer>span{color:#087465}
.sm-lp .g-story-answer .g-story-note{font-size:11px;color:#5c6e67;line-height:1.6!important;margin-top:12px!important}
.sm-lp .g-story-visual{position:relative;display:flex;justify-content:center;align-items:center;min-width:0;min-height:470px;padding:25px 45px}
.sm-lp .g-story-visual::before{content:"";position:absolute;width:90%;aspect-ratio:1;border-radius:50%;background:#edf8f1;max-width:440px}
.sm-lp .g-story-visual .g-story-main{width:245px;max-height:none;z-index:2}
.sm-lp .g-story-visual .g-story-sub{width:150px;max-height:none;position:absolute;right:0;bottom:28px;z-index:3}
.sm-lp .g-story-teacher{position:absolute;width:95px;left:0;bottom:10px;z-index:4}
.sm-lp .g-story-teacher img{display:block;width:100%;height:auto}
.sm-lp--top .g-story{padding:38px 55px}
.sm-lp--top .g-story-visual{min-height:360px}
.sm-lp--top .g-story-visual .g-story-main{width:210px}
.sm-lp .g-problem-close{padding:75px 0 0}
@media(max-width:760px){
 .sm-lp .g-empathy{text-align:left}
 .sm-lp .g-empathy h2{font-size:25px!important}
 .sm-lp .g-turn{padding:60px 0 38px}
 .sm-lp .g-turn h2{font-size:30px!important}
 .sm-lp .g-stories{gap:20px}
 .sm-lp .g-story,.sm-lp--top .g-story{grid-template-columns:1fr;gap:10px;padding:28px 22px 20px;border-radius:20px}
 .sm-lp .g-story:nth-child(even) .g-story-copy{order:0}
 .sm-lp .g-story-copy h3{font-size:23px!important;margin:10px 0 18px!important}
 .sm-lp .g-story-scene,.sm-lp .g-story-reason p,.sm-lp .g-story-answer p{font-size:14px}
 .sm-lp .g-story-visual,.sm-lp--top .g-story-visual{min-height:370px;padding:20px 25px}
 .sm-lp .g-story-visual .g-story-main{width:205px}
 .sm-lp .g-story-visual .g-story-sub{width:120px;right:-4px;bottom:20px}
 .sm-lp .g-story-teacher{width:70px;left:-5px;bottom:10px}
 .sm-lp--top .g-story-visual .g-story-main{width:190px}
 .sm-lp--top .g-story-visual{min-height:320px}
 .sm-lp .g-problem-close{padding-top:50px}
}

/* 「まるっと解決」: one clear promise before the three stories (v1.26.1) */
.sm-lp .g-solve{max-width:760px;margin:8px auto 40px;padding:28px 24px 26px;text-align:center;background:#ffffff;border:2px solid #cfe9e1;border-radius:28px;box-shadow:0 14px 34px rgba(19,145,127,.10)}
.sm-lp .g-solve-kicker{margin:0;color:#5d746f;font-size:15px;font-weight:700;letter-spacing:.06em}
.sm-lp .g-solve-title{margin:6px 0 18px;color:#15302c;font-size:clamp(24px,3.2vw,36px);font-weight:800;line-height:1.45;word-break:auto-phrase;text-wrap:balance}
.sm-lp .g-solve-title em{font-style:normal;color:#13917f;background:linear-gradient(transparent 62%,#fff1c7 62%)}
.sm-lp .g-solve-points{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none}
.sm-lp .g-solve-points li{display:flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:999px;background:#e9f6f2;color:#15302c;font-size:15px}
.sm-lp .g-solve-points b{color:#13917f;margin-right:2px}
@media (max-width:600px){.sm-lp .g-solve{margin:0 0 26px;padding:22px 16px}.sm-lp .g-solve-points{flex-direction:column;align-items:stretch}.sm-lp .g-solve-points li{justify-content:center}}
/* keep Japanese headlines from breaking mid-word */
.sm-lp .g-story-copy h3,.sm-lp h2{word-break:auto-phrase;text-wrap:balance}

/* まるっと解決: infographic (v1.26.2) */
.sm-lp .g-solve-info{max-width:1040px;padding:30px 28px 26px;text-align:center}
.sm-lp .gi-head{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:22px}
.sm-lp .gi-head .g-solve-title{margin:2px 0 0}
.sm-lp .gi-hiraki{width:96px;height:auto;animation:giFloat 3.2s ease-in-out infinite}
.sm-lp .gi-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0;padding:0;list-style:none}
.sm-lp .gi-col{display:flex;flex-direction:column;align-items:center;padding:18px 14px 20px;border-radius:22px;background:linear-gradient(#fff7ec 0 92px,#f1faf7 92px);transition-delay:var(--d,0ms)}
.sm-lp .gi-pain{margin:0;font-size:15px;font-weight:700;color:#8a5a1f;line-height:1.5}
.sm-lp .gi-pain span{display:block;font-size:11px;letter-spacing:.12em;color:#c08a43;margin-bottom:2px}
.sm-lp .gi-arrow{width:0;height:0;margin:10px 0 8px;border-left:12px solid transparent;border-right:12px solid transparent;border-top:14px solid #13917f}
.sm-lp .gi-circle{position:relative;width:150px;height:150px;border-radius:50%;background:#fff;border:4px solid #13917f;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(19,145,127,.16)}
.sm-lp .gi-circle b{font-size:46px;line-height:1;color:#13917f;font-weight:900;margin-top:-34px}
.sm-lp .gi-circle b small{font-size:18px;margin-left:2px}
.sm-lp .gi-teacher{position:absolute;right:-30px;bottom:-14px;width:86px;height:auto;filter:drop-shadow(0 6px 8px rgba(0,0,0,.12));animation:giHop 2.8s ease-in-out infinite}
.sm-lp .gi-col:nth-child(2) .gi-teacher{animation-delay:.4s}
.sm-lp .gi-col:nth-child(3) .gi-teacher{animation-delay:.8s}
.sm-lp .gi-label{margin:16px 0 4px;font-size:19px;font-weight:800;color:#15302c}
.sm-lp .gi-sub{margin:0 0 12px;font-size:13.5px;color:#5d746f;line-height:1.6}
.sm-lp .gi-extra{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:auto;min-height:30px;align-items:center;width:100%}
.sm-lp .gi-chip{padding:5px 11px;border-radius:999px;background:#fff;border:1px solid #cfe9e1;font-size:12px;font-weight:700;color:#13917f}
.sm-lp .gi-bubble{padding:5px 10px;border-radius:12px 12px 12px 3px;background:#fff;border:1px solid #e3e8e6;font-size:12px;color:#5d746f}
.sm-lp .gi-bubble-a{border-radius:12px 12px 3px 12px;background:#13917f;border-color:#13917f;color:#fff}
.sm-lp .gi-bar{display:block;width:80%;height:10px;border-radius:99px;background:#dcefe9;overflow:hidden}
.sm-lp .gi-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#13917f,#f08b6e)}
.sm-lp .gi-foot{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;margin-top:22px}
.sm-lp .gi-foot p{margin:0;font-size:14px;font-weight:700;color:#3c5752}
.sm-lp .gi-minis{display:flex}
.sm-lp .gi-mini{width:52px;height:52px;object-fit:contain;margin-left:-8px;border-radius:50%;background:#fff;border:2px solid #e9f6f2}
.sm-lp .gi-mini:first-child{margin-left:0}
@keyframes giFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes giHop{0%,70%,100%{transform:translateY(0) rotate(0)}80%{transform:translateY(-10px) rotate(-4deg)}90%{transform:translateY(0) rotate(2deg)}}
@media (prefers-reduced-motion:reduce){.sm-lp .gi-hiraki,.sm-lp .gi-teacher{animation:none}}
@media (max-width:760px){
 .sm-lp .g-solve-info{padding:22px 14px}
 .sm-lp .gi-head{flex-direction:column;gap:4px}
 .sm-lp .gi-hiraki{width:78px}
 .sm-lp .gi-cols{grid-template-columns:1fr;gap:14px}
 .sm-lp .gi-col{display:grid;grid-template-columns:120px 1fr;grid-template-areas:"pain pain" "circle label" "circle sub" "circle extra";column-gap:16px;text-align:left;align-items:center;background:linear-gradient(#fff7ec 0 54px,#f1faf7 54px);padding:14px 16px 16px}
 .sm-lp .gi-pain{grid-area:pain;text-align:center;margin-bottom:12px}
 .sm-lp .gi-pain span{display:inline;margin-right:6px}
 .sm-lp .gi-arrow{display:none}
 .sm-lp .gi-circle{grid-area:circle;width:108px;height:108px;border-width:3px}
 .sm-lp .gi-circle b{font-size:32px;margin-top:-26px}
 .sm-lp .gi-circle b small{font-size:14px}
 .sm-lp .gi-teacher{width:64px;right:-22px;bottom:-10px}
 .sm-lp .gi-label{grid-area:label;margin:0 0 2px;font-size:17px}
 .sm-lp .gi-sub{grid-area:sub;margin:0 0 8px}
 .sm-lp .gi-extra{grid-area:extra;justify-content:flex-start}
 .sm-lp .gi-bar{width:100%}
}

.sm-lp .gi-circle b.gi-big-long{font-size:34px}
@media (max-width:760px){.sm-lp .gi-circle b.gi-big-long{font-size:24px}}

/* まるっと解決 on phones: stack each card vertically (v1.26.3) */
@media (max-width:760px){
 .sm-lp .gi-col{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 16px 18px;background:#f1faf7;overflow:hidden}
 .sm-lp .gi-pain{width:calc(100% + 32px);margin:0;padding:10px 12px;background:#fff7ec;font-size:15px}
 .sm-lp .gi-pain span{display:inline;margin-right:6px}
 .sm-lp .gi-arrow{display:block;margin:0 0 10px}
 .sm-lp .gi-circle{width:116px;height:116px;border-width:3px}
 .sm-lp .gi-circle b{font-size:34px;margin-top:-24px}
 .sm-lp .gi-circle b.gi-big-long{font-size:26px}
 .sm-lp .gi-circle b small{font-size:14px}
 .sm-lp .gi-teacher{width:66px;right:-26px;bottom:-10px}
 .sm-lp .gi-label{margin:20px 0 2px;font-size:17px}
 .sm-lp .gi-sub{margin:0 0 10px;font-size:13.5px}
 .sm-lp .gi-extra{justify-content:center;min-height:0}
 .sm-lp .gi-bubble{white-space:nowrap}
 .sm-lp .gi-bar{width:80%}
 .sm-lp .gi-foot p{font-size:13px}
}

/* まるっと解決: roomier spacing on phones (v1.26.4) */
@media (max-width:760px){
 .sm-lp .g-solve-info{padding:30px 18px 28px;margin-bottom:36px}
 .sm-lp .gi-head{margin-bottom:26px;gap:8px}
 .sm-lp .gi-cols{gap:22px}
 .sm-lp .gi-col{padding:0 22px 26px;border-radius:24px}
 .sm-lp .gi-pain{width:calc(100% + 44px);padding:14px 14px}
 .sm-lp .gi-arrow{margin:0 0 16px}
 .sm-lp .gi-label{margin:24px 0 6px}
 .sm-lp .gi-sub{margin:0 0 14px;line-height:1.75}
 .sm-lp .gi-extra{gap:8px}
 .sm-lp .gi-foot{margin-top:30px;gap:12px}
}
.sm-lp .gi-label{margin:18px 0 4px!important}
.sm-lp .gi-sub{margin:0 0 12px!important}
.sm-lp .gi-pain{margin:0!important}
@media (max-width:760px){
 .sm-lp .gi-label{margin:26px 0 6px!important}
 .sm-lp .gi-sub{margin:0 0 16px!important;line-height:1.75}
}

/* ===== Spacing pass (v1.27.0): the base rule `.sm-lp p{margin:0!important}` left text blocks touching.
   Give stacked text a consistent rhythm, and open up sections and grids. ===== */
.sm-lp :is(.g-hero-copy,.g-story-copy,.g-story-answer,.g-story-reason,.g-feature-copy,.g-video-copy,.g-points-copy,.g-final-copy,.g-empathy,.g-plan,.g-faq-inner details,.g-teacher,.g-heading)>*+*{margin-top:16px!important}
.sm-lp :is(.g-story-copy,.g-feature-copy,.g-video-copy,.g-points-copy,.g-final-copy)>*+:is(div,ul,ol,.g-actions,.g-btn){margin-top:24px!important}
.sm-lp .g-hero-copy>.g-actions{margin-top:30px!important}
.sm-lp .g-hero-copy>*+.g-hero-tags,.sm-lp .g-hero-copy>.g-actions+*{margin-top:22px!important}
.sm-lp .g-heading{margin-bottom:56px}
.sm-lp .g-section{padding:120px 0}
.sm-lp--top .g-section{padding:96px 0}
.sm-lp .g-stories{gap:44px}
.sm-lp .g-story{padding:52px 48px}
.sm-lp .g-story-answer,.sm-lp .g-story-reason{line-height:1.85}
.sm-lp :is(.g-feature-list,.g-plan-grid,.g-teacher-grid,.g-steps){gap:28px}
.sm-lp .g-feature+.g-feature{margin-top:24px}
.sm-lp .g-plan ul li+li{margin-top:10px}
.sm-lp .g-plan>.g-btn{margin-top:28px!important}
.sm-lp .g-compare{margin-top:56px!important}
.sm-lp .g-faq-inner details+details{margin-top:14px}
.sm-lp .g-faq-inner details>*+*{margin-top:12px!important}
.sm-lp .g-problem-close{margin-top:64px!important}
.sm-lp .g-problem-close>*+*{margin-top:22px!important}
.sm-lp .g-solve{margin-bottom:56px}
@media (max-width:760px){
 .sm-lp .g-section,.sm-lp--top .g-section{padding:80px 0}
 .sm-lp .g-heading{margin-bottom:40px}
 .sm-lp :is(.g-hero-copy,.g-story-copy,.g-story-answer,.g-story-reason,.g-feature-copy,.g-video-copy,.g-points-copy,.g-final-copy,.g-empathy,.g-plan,.g-teacher,.g-heading)>*+*{margin-top:14px!important}
 .sm-lp :is(.g-story-copy,.g-feature-copy,.g-video-copy,.g-points-copy,.g-final-copy)>*+:is(div,ul,ol,.g-actions,.g-btn){margin-top:22px!important}
 .sm-lp .g-stories{gap:28px}
 .sm-lp .g-story{padding:32px 22px}
 .sm-lp .g-story-visual{margin-top:28px}
 .sm-lp :is(.g-feature-list,.g-plan-grid,.g-teacher-grid,.g-steps){gap:20px}
 .sm-lp .g-problem-close{margin-top:48px!important}
 .sm-lp .g-solve{margin-bottom:40px}
}

/* Phones: characters first in the first view (v1.27.1) */
@media (max-width:760px){
 .sm-lp .g-hero-inner{display:flex!important;flex-direction:column;min-height:0!important;padding-top:8px!important;padding-bottom:44px!important}
 .sm-lp .g-hero-art{position:relative!important;inset:auto!important;order:-1;width:100%!important;height:min(78vw,320px)!important;margin:0 0 6px;z-index:0}
 .sm-lp .g-hero-copy{position:relative;z-index:1}
 .sm-lp .g-hero-copy>:first-child{margin-top:0!important}
 .sm-lp .g-hero h1{font-size:clamp(27px,8vw,34px)!important;line-height:1.45!important}
 .sm-lp .g-hero-caption{position:absolute;right:4px;bottom:0}
}

/* まるっと解決: same width as the STORY cards (v1.27.2) */
.sm-lp .g-solve.g-solve-info{max-width:none;width:100%;box-sizing:border-box;padding:44px 48px 40px}
.sm-lp .gi-cols{gap:24px}
@media (max-width:760px){
 .sm-lp .g-solve.g-solve-info{padding:30px 12px 28px}
 .sm-lp .gi-col{padding:0 16px 24px}
 .sm-lp .gi-pain{width:calc(100% + 32px)}
}

/* Empathy block removed; the transition now opens the section (v1.27.3) */
.sm-lp .g-turn{margin-top:0!important}
.sm-lp .g-turn>.g-kicker{display:block;margin-bottom:14px}
.sm-lp .g-turn>p+p{margin-top:12px!important}

/* ===== STORY 01-03 as a picture flow: scene -> why -> app (v1.28.0) ===== */
.sm-lp .gs-list{display:grid;gap:40px}
.sm-lp .gs{background:#fff;border:1px solid #e3eeea;border-radius:28px;padding:40px 44px 44px;box-shadow:0 14px 34px rgba(19,145,127,.06)}
.sm-lp .gs-head{text-align:center;margin-bottom:28px}
.sm-lp .gs-num{display:inline-block;padding:4px 12px;border-radius:999px;background:#e9f6f2;color:#13917f;font-size:12px;font-weight:800;letter-spacing:.12em}
.sm-lp .gs-head h3{margin:12px 0 0!important;font-size:clamp(22px,2.2vw,30px)!important;line-height:1.45!important;color:#15302c;word-break:auto-phrase;text-wrap:balance}
.sm-lp .gs-flow{display:grid;grid-template-columns:1fr 150px 1.25fr;align-items:center;gap:20px}
.sm-lp .gs--rev .gs-scene{order:0}
.sm-lp .gs-tag{display:inline-block;margin-bottom:12px;padding:5px 14px;border-radius:999px;font-size:13px;font-weight:800}
.sm-lp .gs-tag--before{background:#fff1e6;color:#c4574a}
.sm-lp .gs-tag--after{background:#13917f;color:#fff}
.sm-lp .gs-scene{margin:0;text-align:center}
.sm-lp .gs-scene svg{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 8px 20px rgba(47,72,88,.10)}
.sm-lp .gs-scene figcaption{margin-top:12px;font-size:15px;font-weight:700;color:#3c5752}
.sm-lp .gs-why{position:relative;text-align:center}
.sm-lp .gs-why-badge{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#fff7ec;border:2px solid #f3c86b;color:#a86a12;font-size:14px;font-weight:900}
.sm-lp .gs-why p{margin:10px 0 12px!important;font-size:13px;line-height:1.6;color:#5d746f;font-weight:700}
.sm-lp .gs-why-arrow{display:block;height:14px;margin:0 auto;width:90%;background:linear-gradient(90deg,#cfe9e1,#13917f);clip-path:polygon(0 35%,82% 35%,82% 0,100% 50%,82% 100%,82% 65%,0 65%)}
.sm-lp .gs-after{background:#f1faf7;border-radius:22px;padding:20px 22px 22px}
.sm-lp .gs-after-body{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center}
.sm-lp .gs-shot{position:relative}
.sm-lp .gs-shot .g-phone{width:100%;margin:0}
.sm-lp .gs-shot .g-phone img{display:block;width:100%;height:auto}
.sm-lp .gs-teacher{position:absolute;right:-26px;bottom:-12px;width:70px;height:auto;filter:drop-shadow(0 6px 8px rgba(0,0,0,.12));animation:giHop 2.8s ease-in-out infinite}
.sm-lp .gs-points{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sm-lp .gs-points li{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border-radius:14px;font-size:15px;font-weight:700;color:#15302c;line-height:1.5}
.sm-lp .gs-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#e9f6f2;font-size:18px}
.sm-lp .gs-note{margin:12px 0 0!important;font-size:11.5px;color:#7a8f8a}
@media (max-width:900px) and (min-width:761px){.sm-lp .gs{padding:34px 26px}.sm-lp .gs-flow{grid-template-columns:1fr 120px 1.35fr;gap:14px}.sm-lp .gs-after-body{grid-template-columns:120px 1fr}}
@media (max-width:760px){
 .sm-lp .gs-list{gap:28px}
 .sm-lp .gs{padding:28px 16px 22px;border-radius:24px}
 .sm-lp .gs-head{margin-bottom:20px}
 .sm-lp .gs-head h3{font-size:21px!important}
 .sm-lp .gs-flow{grid-template-columns:1fr;gap:14px}
 .sm-lp .gs-scene figcaption{font-size:14px}
 .sm-lp .gs-why{display:flex;flex-direction:column;align-items:center}
 .sm-lp .gs-why-badge{width:50px;height:50px;font-size:13px}
 .sm-lp .gs-why p{margin:8px 0 10px!important;font-size:13.5px}
 .sm-lp .gs-why-arrow{width:16px;height:30px;clip-path:polygon(35% 0,65% 0,65% 70%,100% 70%,50% 100%,0 70%,35% 70%);background:linear-gradient(#cfe9e1,#13917f)}
 .sm-lp .gs-after{padding:18px 14px 18px;text-align:center}
 .sm-lp .gs-after-body{grid-template-columns:1fr;gap:22px;justify-items:center}
 .sm-lp .gs-shot{width:150px}
 .sm-lp .gs-points{width:100%;text-align:left}
 .sm-lp .gs-points li{font-size:14px;padding:11px 12px}
 .sm-lp .gs-note{text-align:left}
}
@media (prefers-reduced-motion:reduce){.sm-lp .gs-teacher{animation:none}}
/* STORY fixes: the global icon rule (.sm-lp svg{stroke...}) must not outline the scene drawings; teachers above the phone */
.sm-lp .gs-scene svg{width:100%;height:auto;stroke:none;stroke-width:1;fill:#2f4858}
.sm-lp .gs-teacher{z-index:3;width:84px;right:-30px;bottom:-14px}
.sm-lp .gs-shot{z-index:0}
.sm-lp .gs-flow{grid-template-columns:1fr 132px 1.45fr}
.sm-lp .gs-after-body{grid-template-columns:140px 1fr;gap:28px}
@media (max-width:760px){.sm-lp .gs-flow{grid-template-columns:1fr}.sm-lp .gs-after-body{grid-template-columns:1fr;gap:24px}.sm-lp .gs-teacher{width:76px;right:-38px}}

/* GPT-made icons in place of emoji (v1.28.1) */
.sm-lp .gs-ico{width:48px;height:48px;background:#fff7ec;border-radius:16px}
.sm-lp .gs-ico img{display:block;width:38px;height:38px;object-fit:contain}
.sm-lp .gi-chip--ico{display:inline-flex;align-items:center;gap:4px;padding-left:6px}
.sm-lp .gi-chip--ico img{width:22px;height:22px;object-fit:contain}
@media (max-width:760px){.sm-lp .gs-ico{width:44px;height:44px}.sm-lp .gs-ico img{width:34px;height:34px}}

/* PC hero: keep the characters inside the content width instead of the screen edge (v1.28.2) */
@media (min-width:761px){
 .sm-lp .g-hero-art{left:50%!important;right:max(0px,calc((100% - 1120px) / 2 - 60px))!important}
 .sm-lp .g-hero-scene{width:min(100%,680px)}
}


/* 資格のミカタ 1.29: Cocoon の共通表示 */
:root{--sm-indigo:#13917f;--sm-indigo-deep:#17665d;--sm-indigo-tint:#e9f6f2;--sm-amber:#ef6f5e;--sm-amber-dark:#c75040;--sm-amber-tint:#fff7ec;--sm-paper:#f8fcfa;--sm-ink:#263d3a;--sm-ink-soft:#526865;--sm-f-display:'Zen Maru Gothic',sans-serif;--sm-f-body:'Noto Sans JP',sans-serif}
body{font-family:'Noto Sans JP',sans-serif;color:#263d3a;background:#f8fcfa}
h1,h2,h3,h4{font-family:'Zen Maru Gothic',sans-serif}
a{color:#087e70} a:hover{color:#d65f50} :focus-visible{outline:3px solid #ef6f5e;outline-offset:3px}
.header-container,.header,.navi,.navi-in{background:#fff;color:#23433e}.header-container{border-bottom:1px solid #dceee8;box-shadow:0 3px 18px rgba(35,91,80,.06)}
.navi-in a,.header a{color:#23534b}.navi-in a:hover{color:#13917f;background:#e9f6f2}.navi-in>ul>li>a{border-radius:16px}.header .search-box input,.search-box input{border:1px solid #c9e3da;border-radius:999px;background:#f7fcfa}
.mobile-menu-buttons,.mobile-header-menu-buttons{background:#fff;color:#13917f}
.content-in{gap:28px}.main,.sidebar{min-width:0}.main{border-radius:24px}.article{border-radius:24px}
.single .entry-content,.page:not(.home) .entry-content{font-size:16.5px;line-height:1.9;overflow-wrap:anywhere}
.single .entry-content h2,.page:not(.home) .entry-content h2{position:relative;background:#e9f6f2;color:#204b43;border:0;border-radius:16px;padding:18px 20px 18px 48px;line-height:1.5;font-family:'Zen Maru Gothic',sans-serif}
.single .entry-content h2:before,.page:not(.home) .entry-content h2:before{content:'';position:absolute;left:20px;top:1.1em;width:12px;height:12px;background:#13917f;border-radius:50%;border:0}
.single .entry-content h3,.page:not(.home) .entry-content h3{color:#20584e;border:0;border-bottom:3px solid #8cd4c4;padding:10px 2px;font-family:'Zen Maru Gothic',sans-serif}
.single .entry-content table{max-width:100%;border-collapse:collapse;font-size:.94em}.single .entry-content th{background:#e9f6f2;color:#20584e}.single .entry-content th,.single .entry-content td{border:1px solid #d3e7e0;padding:12px}.single .entry-content blockquote{border-left:5px solid #87cfc0;background:#f1faf7;border-radius:0 16px 16px 0;padding:20px 24px}
.toc,.information-box,.question-box,.alert-box,.memo-box,.comment-box,.common-icon-box,.sm-courses,.sm-books--article,.sm-about{background:#f4fbf8;border:1px solid #d5ebe3;border-radius:20px;padding:20px}.toc-title,.sm-courses__head b{color:#176d60}.sm-courses__item,.sm-book{border-radius:16px;background:#fff;border-color:#d9ece6}.sm-courses__btn,.button,.btn,.page-numbers.current{background:#13917f;border-radius:999px;color:#fff}.sm-byline__mark{background:#e9f6f2;color:#13917f}.sm-byline,.author-info,.author-box,.related-entry-card{border-color:#d9ece6;border-radius:18px}
.breadcrumb{color:#6c817d;font-size:13px}.breadcrumb a{color:#287c70}.sidebar .widget,.sidebar .widget-entry-cards{border-radius:20px}.sidebar h3,.sidebar .widget-title{background:#e9f6f2;border-radius:14px;color:#286357;padding:12px}
.footer-container,.footer{background:#e9f6f2;color:#315b53}.footer a{color:#216c60}.pagination .page-numbers{border-radius:50%;border:1px solid #cde6de}.pagination .page-numbers.current{background:#13917f;color:white}
body:is(.archive,.search,.blog) .list,.related-entry-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body:is(.archive,.search,.blog) .entry-card-wrap,.related-entry-card-wrap{display:block;min-width:0;margin:0;padding:0;background:#fff;border:1px solid #e0eee9;border-radius:20px;overflow:hidden;box-shadow:0 7px 25px rgba(34,85,75,.07)}
body:is(.archive,.search,.blog) .entry-card{display:block;margin:0;padding:0}body:is(.archive,.search,.blog) .entry-card-thumb{float:none;width:100%;height:auto;aspect-ratio:16/9;margin:0;background:#e9f6f2 url('assets/site/icons-sections/study.webp') center/90px no-repeat;overflow:hidden}body:is(.archive,.search,.blog) .entry-card-thumb img{width:100%;height:100%;object-fit:cover}body:is(.archive,.search,.blog) .entry-card-thumb img[src*="no-image"]{opacity:0}body:is(.archive,.search,.blog) .entry-card-content{margin:0;padding:18px}body:is(.archive,.search,.blog) .entry-card-title{font-family:'Zen Maru Gothic',sans-serif;line-height:1.55}body:is(.archive,.search,.blog) .entry-card-snippet{line-height:1.7}
@media(max-width:600px){.single .entry-content,.page:not(.home) .entry-content{font-size:16px;line-height:1.9}body:is(.archive,.search,.blog) .list,.related-entry-cards{grid-template-columns:1fr}.single .entry-content table{display:block;overflow-x:auto}.content-in{gap:16px}}
.single .article .entry-content h2,.page:not(.home) .article .entry-content h2{background:#e9f6f2;color:#204b43;border:0;border-radius:16px;padding:18px 20px 18px 48px;line-height:1.5}
.article .entry-title{font-family:'Zen Maru Gothic',sans-serif}
.pagination{display:flex;gap:8px;align-items:center;margin-top:24px}.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;text-decoration:none}.sm-courses__btn{box-shadow:0 3px 0 #0a6c5f}

/* Hero on PC: keep the characters clear of the headline (v1.29.1) */
@media (min-width:768px){
 .sm-site-top .st-hero__art{left:clamp(0px,calc((100vw - 1200px) / 2 + 160px),360px)}
 .sm-site-top .st-hero__art img{object-position:left center}
 .sm-site-top .st-hero__art::after{content:"";position:absolute;inset:0 auto 0 -1px;width:28%;background:linear-gradient(90deg,#f8fcf6 10%,rgba(248,252,246,0))}
}

/* Top page section titles: undo Cocoon's article h2/h3 box on the live site (v1.30.1) */
.sm-site-top .st-heading h2,.sm-site-top .st-heading h3,.sm-site-top h2.st-title,.sm-site-top .st-section h2{background:none!important;border:0!important;padding:0!important;box-shadow:none!important;border-radius:0!important}
.sm-site-top .st-heading h2::before,.sm-site-top .st-heading h2::after,.sm-site-top .st-section h2::before,.sm-site-top .st-section h2::after{content:none!important}

/* ごうかくっ！ promo moved right under the hero, marked as coming soon (v1.30.2) */
.sm-site-top .st-soon{display:inline-block;margin-left:6px;padding:2px 10px;border-radius:999px;background:#fff1c7;color:#9a6a00;font-size:12px;font-weight:800;letter-spacing:.04em;vertical-align:middle}
.sm-site-top .st-button--soon{background:#cfd8d5!important;color:#4d5f5a!important;box-shadow:none!important;cursor:default;pointer-events:none}
.sm-site-top .st-app-pill{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid #cfe9e1;color:#13917f;font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 6px 16px rgba(19,145,127,.10)}
.sm-site-top .st-app-pill .st-soon{margin:0}
.sm-site-top .st-hero__copy .st-app-pill{display:flex;width:fit-content}

/* Phones: the headline sits inside the illustration's sky (v1.30.3) */
@media (max-width:767px){
 .sm-site-top .st-hero{position:relative}
 .sm-site-top .st-hero__inner,.sm-site-top .st-hero__copy{position:static}
 .sm-site-top .st-hero__art{padding-top:64px;background:linear-gradient(#f2fbf7,#e8f9f3 70%)}
 .sm-site-top .st-hero__art::before{content:"";position:absolute;left:0;right:0;top:64px;height:70px;background:linear-gradient(#e8f9f3,rgba(232,249,243,0));z-index:1;pointer-events:none}
 .sm-site-top .st-hero__scene{top:64px}
 .sm-site-top .st-hero .st-pr{position:absolute;top:12px;left:16px;right:16px;margin:0!important;font-size:11px;z-index:3}
 .sm-site-top .st-hero h1{position:absolute;top:34px;left:16px;right:16px;margin:0!important;font-size:clamp(23px,6.6vw,27px)!important;line-height:1.45!important;z-index:3;text-shadow:0 1px 0 #fff,0 0 12px rgba(255,255,255,.9)}
 .sm-site-top .st-hero__copy{padding-top:18px}
}
@media (max-width:767px){
 .sm-site-top .st-hero__art{aspect-ratio:auto!important;height:auto!important}
 .sm-site-top .st-hero__background{height:auto!important;aspect-ratio:1672/941}
}

/* Logo sizing (v1.31.0) */
.header .site-logo-image{width:auto!important;max-height:34px!important;height:34px}
.footer .site-logo-image{width:auto!important;max-height:34px!important}
@media (max-width:767px){.header .site-logo-image{height:30px;max-height:30px!important}}

/* 下層ページ v1.32: Cocoon のコンテンツを残し、共通のミントとティールで整える */
.sm-lower .main,.sm-lower .article{min-width:0}
.sm-lower .breadcrumb{margin:0 0 20px;color:#708681;line-height:1.7;overflow-wrap:anywhere}
.sm-lower .breadcrumb a{color:#257b6e}
.sm-lower-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,32%);align-items:center;gap:12px;min-height:210px;padding:24px 28px;background:linear-gradient(125deg,#e5f7ef,#f5fcf6);border:1px solid #d3eee3;border-radius:24px;margin:0 0 28px;overflow:hidden}
.sm-lower-kicker{display:block;color:#138373;font-size:11px;letter-spacing:.13em;font-weight:800}
.sm-lower-hero .archive-title,.sm-lower-hero .entry-title{background:none;border:0;padding:0;margin:8px 0!important;color:#214e45;font-size:clamp(24px,2.7vw,34px);line-height:1.45;overflow-wrap:anywhere}
.sm-lower-hero p{font-size:14px;line-height:1.8;margin:10px 0 0;color:#526c64;overflow-wrap:anywhere}
.sm-lower-hero__image{display:block;width:100%;max-width:220px;height:auto;justify-self:center;object-fit:contain}
.sm-lower:is(.archive,.search,.blog) #list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sm-lower:is(.archive,.search,.blog) #list>.entry-card-wrap{width:auto;min-width:0;height:auto;float:none;margin:0!important;padding:0!important;background:#fff;border:1px solid #dcece6;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(31,91,78,.07);transition:transform .2s,box-shadow .2s}
.sm-lower:is(.archive,.search,.blog) #list>.entry-card-wrap:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(31,91,78,.13)}
.sm-lower #list .entry-card{display:block;margin:0;padding:0;height:100%}
.sm-lower #list .entry-card-thumb{position:relative;float:none;width:100%;height:auto;aspect-ratio:16/9;margin:0;background:#e8f7f0;overflow:hidden}
.sm-lower #list .entry-card-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.sm-lower #list .sm-no-thumbnail .entry-card-thumb{background:#e8f7f0 url('assets/site/scenes-page/noimage.webp') center / contain no-repeat}
.sm-lower #list .sm-no-thumbnail .entry-card-thumb img{visibility:hidden}
.sm-lower #list .entry-card-content{margin:0;padding:18px;min-width:0}
.sm-lower #list .entry-card-title{margin:0;color:#23483f;font-size:16px;line-height:1.6}
.sm-lower #list .entry-card-snippet{font-size:13px;line-height:1.7;color:#71817c}
.sm-lower #list .entry-card-meta{position:static;margin-top:12px;color:#748984;font-size:12px}
.sm-lower .cat-label{background:#13917f;color:#fff;border-radius:999px;padding:4px 10px;font-size:11px}
.sm-lower .pagination{justify-content:center;flex-wrap:wrap;margin:32px 0;gap:8px}
.sm-lower .pagination .page-numbers{background:#fff;color:#237d70;min-width:44px;min-height:44px;border:1px solid #cfe7de;border-radius:999px}
.sm-lower .pagination .current{background:#13917f;color:#fff}
.sm-lower.single .article .entry-title{font-size:clamp(25px,2.5vw,34px);line-height:1.55;color:#203f39;overflow-wrap:anywhere}
.sm-lower.single .entry-header{border-bottom:1px solid #e3f0eb;padding-bottom:20px;margin-bottom:20px}
.sm-lower .date-tags,.sm-lower .post-date,.sm-lower .post-update{color:#708680;font-size:13px}
.sm-lower .sm-pr{font-size:12px;color:#647d76;margin:12px 0}
.sm-lower .sm-byline{display:flex;align-items:center;gap:10px;padding:12px 0;margin:8px 0 22px;color:#315f54;font-size:14px;font-weight:700}
.sm-lower .sm-byline__mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%}
.sm-lower:is(.single,.page) .article .entry-content{line-height:1.95;overflow-wrap:anywhere}
.sm-lower:is(.single,.page) .article .entry-content h2{position:relative;background:#e5f6ef!important;color:#204e44!important;border:0!important;border-radius:16px!important;padding:18px 20px 18px 50px!important;box-shadow:none!important;line-height:1.55;margin:2.2em 0 1em}
.sm-lower:is(.single,.page) .article .entry-content h2:before{content:''!important;position:absolute;left:21px;top:1.2em;width:13px;height:13px;background:#13917f;border:0;border-radius:50%}
.sm-lower:is(.single,.page) .article .entry-content h2:after,.sm-lower:is(.single,.page) .article .entry-content h3:before,.sm-lower:is(.single,.page) .article .entry-content h3:after{content:none!important}
.sm-lower:is(.single,.page) .article .entry-content h3{background:none!important;border:0!important;border-bottom:3px solid #7dccb9!important;border-radius:0!important;box-shadow:none!important;color:#245f53;padding:10px 2px!important;line-height:1.55;margin:1.8em 0 1em}
.sm-lower .entry-content :is(table){max-width:100%;border-collapse:collapse}
.sm-lower .entry-content :is(th,td){border:1px solid #d5e9e1;padding:12px}
.sm-lower .entry-content th{background:#e8f6ef;color:#235d50}
.sm-lower .entry-content blockquote{background:#f2faf6;border-left:5px solid #8ad2bd;border-radius:0 16px 16px 0;color:#46675e;padding:18px 24px}
.sm-lower .entry-content :is(.toc,.information-box,.question-box,.alert-box,.memo-box,.comment-box,.common-icon-box){border:1px solid #d5ebe3;border-radius:18px;background-color:#f4fbf8}
.sm-lower .entry-content :is(.speech-balloon,.sbp-main){border-color:#cce7dc;border-radius:18px}
.sm-lower .entry-content li::marker{color:#13917f}
.sm-lower :is(.author-box,.sm-about){border-radius:18px;border-color:#d5ebe3}
.sm-lower .sm-next,.sm-lower .sm-lower-app{margin:32px 0;padding:24px;border:1px solid #d6ebe3;border-radius:22px;background:#f4fbf8}
.sm-lower .sm-next__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sm-lower .sm-next__head h2,.sm-lower .sm-lower-app h2{font-size:21px;line-height:1.5;color:#21574a;background:none;border:0;padding:0;margin:5px 0}
.sm-lower .sm-next__head p,.sm-lower .sm-lower-app p{font-size:14px;line-height:1.7;margin:6px 0 12px;color:#58736a}
.sm-lower .sm-next__head img{width:125px;height:auto;flex:none}
.sm-lower .sm-next__list{display:grid;gap:8px}
.sm-lower .sm-next__list a{display:flex;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e0eee8;border-radius:13px;padding:12px 15px;text-decoration:none;font-weight:700;line-height:1.6}
.sm-lower .sm-lower-app{display:flex;align-items:center;gap:16px;background:#fff9ef;border-color:#f2e6cb}
.sm-lower .sm-lower-app__image{width:130px;height:auto;flex:none}
.sm-lower .sm-lower-soon{display:inline-block;background:#fff1c7;color:#916300;border-radius:999px;padding:3px 9px;font-size:11px;vertical-align:middle}
.sm-lower .sm-lower-disabled{display:inline-block;padding:9px 20px;border-radius:999px;background:#cfd8d5;color:#4d5f5a;font-size:13px;font-weight:700}
.sm-lower .sidebar .widget{background:#fff;border:1px solid #dcece6;border-radius:20px;padding:18px;margin-bottom:20px;box-shadow:0 6px 20px rgba(31,91,78,.05)}
.sm-lower .sidebar :is(h3,.widget-title){background:#e8f7f0;color:#286357;border:0;border-radius:12px;padding:12px;margin:0 0 14px;font-size:16px}
.sm-lower .sidebar .sm-lower-app{display:block;text-align:center;margin:20px 0}.sm-lower .sidebar .sm-lower-app__image{width:120px;margin:auto}
.sm-lower:is(.sm-page-about,.sm-page-contact,.sm-page-disclaimer,.sm-page-privacy) .article-header{position:relative;min-height:190px;background:#e8f8f0;border:1px solid #d7eee3;border-radius:22px;padding:35px 34% 30px 28px;margin-bottom:32px}
.sm-lower:is(.sm-page-about,.sm-page-contact,.sm-page-disclaimer,.sm-page-privacy) .article-header .entry-title{font-size:clamp(23px,2.5vw,32px);line-height:1.5;overflow-wrap:anywhere;color:#214e45}
.sm-lower .sm-page-hero-image{position:absolute;right:2%;top:50%;transform:translateY(-50%);width:30%;max-width:190px;height:auto;object-fit:contain;pointer-events:none}
.sm-lower .entry-content :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select),.sm-lower .search-box input,.sm-lower-search input[type=search],.sm-lower-search input[type=text]{max-width:100%;border:1px solid #cbe2d9;border-radius:12px;background:#fbfefc;padding:12px;color:#294e45}
.sm-lower .entry-content :is(input[type=submit],button),.sm-lower-search :is(button,input[type=submit]){background:#13917f;color:#fff;border:0;border-radius:999px;min-height:44px;padding:10px 22px}
.sm-lower-search{margin:22px 0}.sm-lower-links{background:#f3faf7;border-radius:20px;padding:20px;margin:24px 0}.sm-lower-links>strong{display:block;color:#286357;margin-bottom:12px}.sm-lower-links>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sm-lower-links a{display:flex;align-items:center;gap:10px;min-width:0;background:#fff;border:1px solid #e0eee8;border-radius:14px;padding:10px;color:#286357;text-decoration:none;font-weight:700;line-height:1.5}.sm-lower-links img{width:42px;height:42px;object-fit:contain;flex:none}
.sm-lower .footer-container{background:#e5f5ee;border-top:1px solid #cfe9dd}.sm-lower .footer :is(ul,.navi-footer-in){display:flex;flex-wrap:wrap;gap:12px 24px}.sm-lower .footer a{color:#286b5c}.sm-lower .copyright{color:#5c7b71;font-size:12px}
@media(max-width:767px){.sm-lower-hero{grid-template-columns:minmax(0,1fr) 105px;min-height:160px;padding:20px 16px;gap:4px}.sm-lower-hero .archive-title,.sm-lower-hero .entry-title{font-size:23px}.sm-lower-hero p{font-size:13px}.sm-lower:is(.archive,.search,.blog) #list{grid-template-columns:1fr}.sm-lower .entry-content table{display:block;overflow-x:auto}.sm-lower .sidebar .sm-lower-app{display:none}.sm-lower .sm-lower-app__image{width:95px}.sm-lower .sm-next__head img{width:95px}.sm-lower:is(.sm-page-about,.sm-page-contact,.sm-page-disclaimer,.sm-page-privacy) .article-header{min-height:150px;padding:25px 34% 25px 18px}.sm-lower .sm-page-hero-image{width:32%}.sm-lower-links>div{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sm-lower #list>.entry-card-wrap{transition:none!important}}
.sm-lower #list .entry-card-thumb .cat-label{position:absolute;left:12px;bottom:12px;z-index:2;display:inline-block;max-width:calc(100% - 24px);line-height:1.4}
.sm-lower #list .entry-card-wrap{text-decoration:none}
.sm-lower .sm-next__head h2,.sm-lower .sm-lower-app h2{border:0!important;background:none!important;padding:0!important;box-shadow:none!important}
.sm-lower .sm-next__head h2:before,.sm-lower .sm-next__head h2:after,.sm-lower .sm-lower-app h2:before,.sm-lower .sm-lower-app h2:after{content:none!important}
@media(max-width:767px){.sm-lower .sm-notfound .sm-lower-hero{grid-template-columns:minmax(0,1fr) 85px}.sm-lower .sm-notfound .sm-lower-hero .entry-title{font-size:21px}}
.sm-lower .sm-card-date{margin-top:12px;font-size:12px;color:#748984}
/* Card category label: Cocoon pins it to the top; keep it a small pill at the bottom-left (v1.32.1) */
.sm-lower #list .entry-card-thumb .cat-label,.sm-lower .entry-card-thumb .cat-label,.entry-card-thumb .cat-label{top:auto!important;height:auto!important;width:auto!important;right:auto!important}
/* Smaller logo (v1.32.2) */
.header .site-logo-image,#header .site-logo-image{height:26px!important;max-height:26px!important;width:auto!important}
.footer .site-logo-image,#footer .site-logo-image{height:24px!important;max-height:24px!important;width:auto!important}
@media (max-width:767px){.header .site-logo-image,#header .site-logo-image,.mobile-header-menu-buttons .site-logo-image{height:22px!important;max-height:22px!important}}
/* Smaller logo again (v1.32.3) */
.header .site-logo-image,#header .site-logo-image{height:21px!important;max-height:21px!important}
.footer .site-logo-image,#footer .site-logo-image{height:20px!important;max-height:20px!important}
@media (max-width:767px){.header .site-logo-image,#header .site-logo-image,.mobile-header-menu-buttons .site-logo-image{height:18px!important;max-height:18px!important}}
/* PC: taller first view (v1.32.4) */
@media (min-width:835px){
 .sm-site-top .st-hero,.sm-site-top .st-hero__inner{min-height:clamp(640px,calc(100vh - 90px),820px)!important}
 .sm-site-top .st-hero__background{object-position:center 40%}
 .sm-site-top .st-hero h1{font-size:clamp(32px,3.2vw,46px)!important}
}

/* ===== v1.34.0 ===== */
/* PC: even taller first view */
@media (min-width:835px){
 .sm-site-top .st-hero,.sm-site-top .st-hero__inner{min-height:clamp(720px,calc(100vh - 56px),980px)!important}
}
/* Global navigation: rounded pills, soft dropdown cards */
@media (min-width:835px){
 #navi .navi-in>ul>li>a{display:flex;align-items:center;gap:4px;margin:10px 2px;padding:8px 16px!important;border-radius:999px;color:#24443d!important;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;font-weight:700;font-size:14px;letter-spacing:.02em;line-height:1.4;transition:background .2s,color .2s}
 #navi .navi-in>ul>li>a:hover,#navi .navi-in>ul>li:focus-within>a{background:#e9f6f2;color:#13917f!important}
 #navi .navi-in>ul>li.current-menu-item>a,#navi .navi-in>ul>li.current-menu-ancestor>a,#navi .navi-in>ul>li.current-post-ancestor>a{background:#13917f;color:#fff!important}
 #navi .navi-in>ul>li>a::after,#navi .navi-in>ul>li>a::before{display:none!important}
 #navi .navi-in>ul .top-has-sub{position:static;font-size:11px;opacity:.7;margin-left:2px}
 #navi .navi-in>ul .caption-wrap{height:auto;line-height:1.4}
 #navi .navi-in>ul .sub-menu{min-width:220px;padding:8px;background:#fff;border:1px solid #e3eeea;border-radius:16px;box-shadow:0 18px 40px rgba(19,145,127,.14);top:calc(100% - 6px)}
 #navi .navi-in>ul .sub-menu li{background:transparent}
 #navi .navi-in>ul .sub-menu a{padding:10px 14px!important;border-radius:10px;color:#24443d!important;font-size:14px;font-weight:600}
 #navi .navi-in>ul .sub-menu a:hover{background:#e9f6f2;color:#13917f!important}
 #header-container,.header-container{box-shadow:0 1px 0 #e3eeea}
}
/* Phone slide-in menu */
@media (max-width:834px){
 .menu-drawer a,.navi-menu-content a{border-radius:12px}
 .menu-drawer a:hover,.navi-menu-content a:hover{background:#e9f6f2;color:#13917f}
}
@media (min-width:835px){#navi .navi-in>ul .top-has-sub{display:inline-flex;align-items:center;height:auto;line-height:1;top:auto;right:auto;bottom:auto;margin-top:1px}}

/* ===== v1.35.0 ===== */
/* Header row matches the 1120px content width on PC */
@media (min-width:835px){
 #header-container-in.header-container-in{width:min(1120px,calc(100% - 48px));max-width:none;margin:0 auto;padding-left:0;padding-right:0}
 #header-container-in .logo-header{padding-left:0}
 #navi-in>ul{justify-content:flex-end}
}
/* 目的から探す: 4-step route + worry tiles */
.sm-site-top .st-goals2{display:grid;gap:36px}
.sm-site-top .st-route{position:relative;padding:28px 28px 30px;border-radius:28px;background:linear-gradient(180deg,#f1faf7,#fff);border:1px solid #dcefe8}
.sm-site-top .st-route__title,.sm-site-top .st-worries__title{margin:0 0 18px!important;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:20px;color:#24443d;text-align:center}
.sm-site-top .st-route__title span{font-size:15px;color:#5d746f;margin-right:4px}
.sm-site-top .st-route__steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0;list-style:none}
.sm-site-top .st-route__steps::before{content:"";position:absolute;left:12%;right:12%;top:86px;border-top:4px dotted #9fd6c8;z-index:0}
.sm-site-top .st-route__step{position:relative;z-index:1;margin:0;padding:0}
.sm-site-top .st-route__step a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:14px 10px 18px;border-radius:22px;text-decoration:none;color:#24443d;transition:transform .2s}
.sm-site-top .st-route__step a:hover{transform:translateY(-4px)}
.sm-site-top .st-route__no{padding:3px 12px;border-radius:999px;background:#13917f;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em}
.sm-site-top .st-route__icon{display:grid;place-items:center;width:112px;height:112px;margin:6px 0 4px;border-radius:50%;background:#fff;border:3px solid #cfe9e1;box-shadow:0 10px 22px rgba(19,145,127,.12)}
.sm-site-top .st-route__icon img{width:84px;height:84px;object-fit:contain}
.sm-site-top .st-route__step:last-child .st-route__icon{border-color:#f3c86b}
.sm-site-top .st-route__step strong{font-family:'Zen Maru Gothic',sans-serif;font-size:17px;font-weight:900}
.sm-site-top .st-route__step small{font-size:13px;color:#5d746f}
.sm-site-top .st-worries__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sm-site-top .st-worry{display:flex;align-items:center;gap:12px;padding:16px;border-radius:20px;text-decoration:none;color:#24443d;transition:transform .2s,box-shadow .2s}
.sm-site-top .st-worry:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(36,68,61,.10)}
.sm-site-top .st-worry--0{background:#e9f6f2}.sm-site-top .st-worry--1{background:#fff4dc}.sm-site-top .st-worry--2{background:#ffe9e4}.sm-site-top .st-worry--3{background:#eef0ff}
.sm-site-top .st-worry img{flex:none;width:58px;height:58px;object-fit:contain}
.sm-site-top .st-worry span{display:flex;flex-direction:column;gap:2px;min-width:0}
.sm-site-top .st-worry em{font-style:normal;font-size:12.5px;color:#5d746f;line-height:1.5}
.sm-site-top .st-worry strong{font-family:'Zen Maru Gothic',sans-serif;font-size:16px;font-weight:900}
.sm-site-top .st-worry b{margin-left:auto;color:#13917f}
@media (max-width:834px){
 .sm-site-top .st-route{padding:22px 14px}
 .sm-site-top .st-route__steps{grid-template-columns:1fr 1fr;gap:10px}
 .sm-site-top .st-route__steps::before{display:none}
 .sm-site-top .st-route__icon{width:88px;height:88px}.sm-site-top .st-route__icon img{width:64px;height:64px}
 .sm-site-top .st-route__step strong{font-size:15px}
 .sm-site-top .st-worries__grid{grid-template-columns:1fr;gap:10px}
}
@media (prefers-reduced-motion:reduce){.sm-site-top .st-route__step a,.sm-site-top .st-worry{transition:none}}
@media (min-width:835px){
 #container #header-container-in.header-container-in,.sm-gokaku-front #container #header-container-in.header-container-in{width:min(1120px,calc(100% - 48px))!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
}
@media (min-width:835px){.sm-site-top .st-hero__inner{width:min(1120px,calc(100% - 48px))!important}}

/* ===== v1.36.0: 資格診断 in the new tone (the old "answer sheet" styles leaked through) ===== */
.sm-site-top .st-diagnosis .sm-sec__head{display:block;text-align:center;margin-bottom:28px}
.sm-site-top .st-diagnosis .sm-sec__head h2{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:clamp(25px,2.6vw,32px)!important;margin:0!important}
.sm-site-top .st-diagnosis .sm-sec__head h2::before{content:"DIAGNOSIS";display:block;margin-bottom:8px;font-family:'Noto Sans JP',sans-serif;font-size:12px;font-weight:800;letter-spacing:.18em;color:#13917f}
.sm-site-top .st-diagnosis .sm-sec__note{margin:10px 0 0!important;color:#5d746f;font-size:15px}
.sm-site-top .st-diagnosis .sm-dx{border:0!important;border-radius:28px!important;background:linear-gradient(180deg,#e9f6f2,#f6fbf9)!important;padding:36px 40px!important;box-shadow:0 14px 34px rgba(19,145,127,.08)}
.sm-site-top .st-diagnosis .sm-dx__eyebrow{border-radius:999px!important;background:#fff!important;border:1px solid #9ed7c8!important;padding:5px 14px!important;letter-spacing:.06em!important}
.sm-site-top .st-diagnosis .sm-dx__title,.sm-site-top .st-diagnosis .sm-dx__q{font-family:'Zen Maru Gothic',sans-serif!important;font-weight:900!important}
.sm-site-top .st-diagnosis .sm-dx__start{border:0!important}
/* progress */
.sm-site-top .st-diagnosis .sm-dx__dots{gap:6px}
.sm-site-top .st-diagnosis .sm-dx__dots i{height:8px!important;width:34px;border-radius:999px!important;background:#cfe6de!important}
.sm-site-top .st-diagnosis .sm-dx__dots i.is-done{background:#7fc9b6!important}
.sm-site-top .st-diagnosis .sm-dx__dots i.is-now{background:#13917f!important}
.sm-site-top .st-diagnosis .sm-dx__count{font-weight:800}
/* options */
.sm-site-top .st-diagnosis .sm-dx__opts{border-top:0!important;gap:12px!important}
.sm-site-top .st-diagnosis .sm-dx__opt{display:flex!important;align-items:center;gap:12px;padding:14px 16px!important;border:1.5px solid #cde7dd!important;border-radius:16px!important;background:#fff!important;box-shadow:0 4px 12px rgba(19,145,127,.06);text-align:left}
.sm-site-top .st-diagnosis .sm-dx__opt::before,.sm-site-top .st-diagnosis .sm-dx__opt::after{display:none!important}
.sm-site-top .st-diagnosis .sm-dx__optic{flex:none;display:grid!important;place-items:center;width:34px;height:34px;margin:0!important;border-radius:50%;background:#e9f6f2;color:#13917f!important;font-weight:900;font-family:'Zen Maru Gothic',sans-serif}
.sm-site-top .st-diagnosis .sm-dx__opt:hover{border-color:#13917f!important;background:#f6fbf9!important;transform:translateY(-2px)}
.sm-site-top .st-diagnosis .sm-dx__opt.is-picked{background:#13917f!important;border-color:#13917f!important;color:#fff!important}
.sm-site-top .st-diagnosis .sm-dx__opt.is-picked .sm-dx__optic{background:#fff;color:#13917f!important}
.sm-site-top .st-diagnosis .sm-dx__optlabel{font-weight:800;font-size:15px}
.sm-site-top .st-diagnosis .sm-dx__back{display:inline-block;margin-top:14px;font-weight:700;color:#13917f!important}
/* result */
.sm-site-top .st-diagnosis .sm-dx__resulthead{border-bottom:0!important;padding-bottom:0!important;text-align:center}
.sm-site-top .st-diagnosis .sm-dx__resulthead *{border-bottom:0!important}
.sm-site-top .st-diagnosis .sm-dx__podium{gap:16px!important;align-items:end}
.sm-site-top .st-diagnosis .sm-dx__win{border:1.5px solid #cde7dd!important;border-radius:22px!important;background:#fff!important;padding:20px!important;box-shadow:0 8px 20px rgba(19,145,127,.08)}
.sm-site-top .st-diagnosis .sm-dx__win--1{border-color:#f3c86b!important;box-shadow:0 14px 30px rgba(243,200,107,.25);padding-top:26px!important}
.sm-site-top .st-diagnosis .sm-dx__medal{display:inline-grid!important;place-items:center;width:40px;height:40px;border-radius:50%;background:#e9f6f2;color:#13917f!important;font-family:'Zen Maru Gothic',sans-serif!important;font-weight:900;font-size:20px!important;line-height:1!important}
.sm-site-top .st-diagnosis .sm-dx__win--1 .sm-dx__medal{background:#f3c86b;color:#fff!important;width:48px;height:48px;font-size:24px!important}
.sm-site-top .st-diagnosis .sm-dx__wname{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;margin-top:10px}
.sm-site-top .st-diagnosis .sm-dx__meter{height:10px!important;border-radius:999px!important;background:#e3f0eb!important;overflow:hidden}
.sm-site-top .st-diagnosis .sm-dx__meter i{border-radius:999px!important;background:linear-gradient(90deg,#13917f,#7fc9b6)!important}
.sm-site-top .st-diagnosis .sm-dx__match b{color:#13917f!important}
.sm-site-top .st-diagnosis .sm-dx__wlink{display:inline-block;margin-top:8px;font-weight:800;color:#ef6f5e!important}
.sm-site-top .st-diagnosis .sm-dx__note{margin-top:20px!important;font-size:13px;color:#5d746f!important;text-align:center}
.sm-site-top .st-diagnosis .sm-dx__again{display:block;width:fit-content;margin:14px auto 0!important;padding:10px 24px!important;border:2px solid #13917f!important;border-radius:999px!important;background:#fff!important;color:#13917f!important;font-weight:800}
.sm-site-top .st-diagnosis .sm-dx__again:hover{background:#13917f!important;color:#fff!important}
@media (max-width:834px){.sm-site-top .st-diagnosis .sm-dx{padding:24px 16px!important}}
.sm-site-top .st-diagnosis .sm-dx__podium{border-top:0!important;padding-top:6px!important}
.sm-site-top .st-diagnosis .sm-dx__win--1 .sm-dx__medal{background:#ef6f5e!important;color:#fff!important;box-shadow:0 6px 14px rgba(239,111,94,.35)}
.sm-site-top .st-diagnosis .sm-dx__medal{width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;background:#dcefe8!important;border-radius:50%!important}
.sm-site-top .st-diagnosis .sm-dx__win--1 .sm-dx__medal{width:48px!important;height:48px!important;min-width:48px!important;background:#ef6f5e!important}
