/* =====================================================================
   ココノハーツ 公開ページ共通スキン v3（フェーズ②・サイト全体の統一）
   - 共通ヘッダー/フッター（.chp-header/.chp-footer/.chp-footnav/.chp-mobilebar）は
     body.chp-shell の全公開ページ（TOP含む）で使う
   - 下層ページの「皮」（見出し/表/ボタン/カード/余白）は body#chp-site.chp-site にだけ効く
     ※ #id を付けるのは、旧テーマの #section 系ルール（id指定）に確実に勝つため
   - 配色/書体はトップ（front-page.php）と同一。GPT点検レポート(2026-09-14) A1/A7/C1/C3/C4/C6 対応
   ===================================================================== */

/* ---------- 共通ヘッダー（.chp-header） ---------- */
.chp-header{position:sticky; top:0; z-index:1000; background:#fff; border-bottom:1px solid #e6e6db}
.chp-header .chp-hin{max-width:1160px; margin:auto; padding:0 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; height:84px}
.chp-brand{display:flex; align-items:center; gap:14px; text-decoration:none; color:#344b40}
.chp-brand img{width:88px; height:auto; display:block}
.chp-brand small{font-size:11px; line-height:1.55; color:#5e6f63; letter-spacing:.02em}
.chp-nav{display:flex; align-items:center; gap:26px}
.chp-nav a{color:#344b40; text-decoration:none; font-size:14px; font-weight:700; white-space:nowrap}
.chp-nav a:hover{color:#ad486d}
.chp-nav a.chp-cta{background:#ad486d; color:#fff; border-radius:50px; padding:12px 22px; font-size:13.5px; transition:.2s}
.chp-nav a.chp-cta:hover{background:#943e5d; color:#fff; transform:translateY(-1px)}
/* スマホ用 ☰ メニュー（C1） */
.chp-menu-btn{display:none; width:44px; height:44px; border:1px solid #e6e6db; border-radius:12px; background:#fff; color:#344b40; font-size:22px; line-height:1; cursor:pointer; padding:0; flex:none}
.chp-menu-btn[aria-expanded="true"]{background:#f3f1e8}
.chp-drawer{display:none; position:absolute; left:0; right:0; top:100%; background:#fff; border-bottom:1px solid #e6e6db; box-shadow:0 12px 30px rgba(52,75,64,.12); padding:8px 16px 14px}
.chp-drawer.is-open{display:block}
.chp-drawer a{display:block; padding:13px 6px; border-bottom:1px solid #eeeee6; color:#344b40; text-decoration:none; font-weight:700; font-size:15px}
.chp-drawer a:last-child{border-bottom:0}
.chp-drawer a small{display:block; font-size:11px; font-weight:400; color:#7b8075; margin-top:2px}
@media(max-width:900px){
  .chp-nav a:not(.chp-cta){display:none}
  .chp-menu-btn{display:inline-flex; align-items:center; justify-content:center}
  .chp-nav{gap:10px}
}
@media(max-width:600px){
  .chp-header .chp-hin{height:60px; padding:0 14px; gap:10px}
  .chp-brand img{width:56px}
  .chp-brand small{display:none}
  .chp-nav a.chp-cta{padding:10px 14px; font-size:12px}
  .chp-menu-btn{width:40px; height:40px; font-size:20px}
}

/* ---------- 共通フッター（.chp-footer）＋リンク一覧（.chp-footnav） ---------- */
.chp-footnav{background:#344b40; padding:36px 0 8px}
.chp-footnav-in{max-width:1160px; margin:auto; padding:0 28px; display:flex; flex-wrap:wrap; gap:14px 30px; justify-content:center}
.chp-footnav a{color:#fff; font-size:13px; text-decoration:none; opacity:.92; border-bottom:1px solid transparent; padding-bottom:3px}
.chp-footnav a:hover{opacity:1; border-bottom-color:rgba(255,255,255,.6)}
.chp-footer{background:#344b40; color:#fff}
.chp-footer-in{max-width:1160px; margin:auto; padding:34px 28px 26px; text-align:center}
.chp-footer-logo img{display:inline-block; background:#fffdf6; padding:10px 18px; border-radius:14px; max-width:220px; height:auto}
.chp-footer-addr, .chp-footer-tel{margin:14px 0 0; font-size:14px}
.chp-footer a{color:#fff; text-decoration:none}
.chp-footer-addr a{border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:2px}
.chp-footer-tel a{font-size:18px; font-weight:700; letter-spacing:.04em}
.chp-footer-actions{display:flex; align-items:center; justify-content:center; gap:16px; margin:20px 0 0; flex-wrap:wrap}
.chp-footer .chp-btn{display:inline-flex; align-items:center; gap:8px; background:#ad486d; color:#fff; border-radius:50px; padding:13px 26px; font-size:14px; font-weight:700; transition:.2s}
.chp-footer .chp-btn:hover{background:#943e5d}
.chp-footer-insta img{width:32px; height:32px; display:block; opacity:.95}
.chp-copy{margin-top:22px; font-size:12px; color:#d7dfd9; line-height:1.7}
.chp-copy span{display:block; opacity:.9}
@media(max-width:600px){ .chp-footnav{padding:26px 0 4px} .chp-footnav-in{gap:12px 20px} .chp-footnav a{font-size:12px} .chp-footer-in{padding:28px 18px 22px} }

/* ---------- スマホ下部固定バー（全公開ページ共通） ---------- */
.chp-mobilebar{display:none}
@media(max-width:600px){
  body.chp-shell{padding-bottom:72px !important}
  .chp-mobilebar{display:flex; position:fixed; bottom:0; left:0; right:0; z-index:900; background:#fffef9; padding:9px 15px; gap:10px; border-top:1px solid #e6e6db}
  .chp-mobilebar a{flex:1; padding:11px; font-size:12px; text-align:center; border-radius:30px; text-decoration:none; color:#344b40; font-weight:700}
  .chp-mobilebar a.b1{border:1px solid #c7d0c1; background:#fff}
  .chp-mobilebar a.b2{background:#ad486d; color:#fff}
}

/* =====================================================================
   ここから下層ページの「皮」：body#chp-site にだけ効く
   ===================================================================== */
body#chp-site{
  --ink:#344b40; --pink:#ad486d; --cream:#fbf8ef; --line:#e6e6db; --soft:#f3f1e8; --mute:#606e62;
  background:var(--cream) !important; color:var(--ink) !important;
  font-family:'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Meiryo',sans-serif !important;
  font-size:15.5px !important; line-height:1.9 !important;
}
body#chp-site *{box-sizing:border-box}
body#chp-site main{margin-top:0 !important; padding-top:0 !important; background:transparent}
body#chp-site main a{color:var(--pink)}
body#chp-site main p{color:var(--ink); line-height:1.9}
/* 旧デザインの要素を隠す（scroll▼▼▼／浮遊メールアイコン） */
body#chp-site .scroll, body#chp-site img.mail-icon{display:none !important}
/* A7: 旧テーマの左右スライドイン（translateX）が横スクロールを生むので、水平移動だけ無効化（フェードは残す） */
body#chp-site .fade-in-left, body#chp-site .fade-in-right{transform:none !important}

/* ---------- ページ上部（#main-visual → タイトル帯＋角丸写真） ---------- */
body#chp-site #main-visual{
  position:relative !important; display:flex; flex-direction:column-reverse;
  max-width:1160px; margin:0 auto !important; padding:34px 28px 0 !important;
  height:auto !important; min-height:0 !important; background:transparent !important; overflow:visible !important;
}
body#chp-site #main-visual picture, body#chp-site #main-visual picture img, body#chp-site #main-visual > img{
  display:block; width:100%; height:auto !important; max-height:360px; object-fit:cover; border-radius:28px; position:static !important;
}
body#chp-site #main-visual h1, body#chp-site #main-visual .main-text{
  position:static !important; transform:none !important; opacity:1 !important; animation:none !important;
  color:#344b40 !important; text-shadow:none !important; text-align:left !important;
  font-family:'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic',sans-serif !important;
  font-weight:800 !important; font-size:clamp(28px,3.6vw,42px) !important; letter-spacing:.04em; line-height:1.5 !important;
  margin:0 0 22px !important; padding:0 !important; width:auto !important; max-width:none !important;
}
body#chp-site #main-visual h1::before, body#chp-site #main-visual .main-text::before{content:''; display:block; width:44px; height:5px; background:#ad486d; border-radius:3px; margin:0 0 14px}
/* ココノハーツとは（/about）は独自ヒーロー（スライダー＋中央寄せタイトル重ね） */
body#chp-site .hero-titles h1::before{margin-left:auto; margin-right:auto}
body#chp-site .hero-slider{border-radius:28px; overflow:hidden}
/* C3: スマホは写真を低くして本文を早く見せる */
@media(max-width:600px){
  body#chp-site #main-visual{padding:22px 18px 0 !important}
  body#chp-site #main-visual picture img, body#chp-site #main-visual > img{max-height:170px; border-radius:18px}
  body#chp-site #main-visual h1, body#chp-site #main-visual .main-text{font-size:26px !important; margin:0 0 14px !important}
  body#chp-site .hero-slider{height:220px !important}
}

/* ---------- セクション・コンテナ ---------- */
body#chp-site main section{padding:40px 0 !important; background:transparent !important}
body#chp-site .container.inner, body#chp-site .content__inner, body#chp-site .wide_1640{
  max-width:1160px !important; margin:0 auto !important; padding-left:28px !important; padding-right:28px !important; width:auto !important;
}
body#chp-site .content__inner .container.inner, body#chp-site .container.inner .content__inner{padding-left:0 !important; padding-right:0 !important}
/* C4: 旧テーマの黄色い箱・白枠・影を無くす */
body#chp-site .box, body#chp-site .contact_container, body#chp-site .inlink, body#chp-site .text-area{background:transparent !important; box-shadow:none !important; max-width:none}
body#chp-site main table, body#chp-site .map-wrapper, body#chp-site .cta, body#chp-site .cta a, body#chp-site main input, body#chp-site main textarea, body#chp-site main select{box-shadow:none !important}
@media(max-width:600px){ body#chp-site main section{padding:28px 0 !important} body#chp-site .container.inner, body#chp-site .content__inner, body#chp-site .wide_1640{padding-left:18px !important; padding-right:18px !important} }

/* ---------- 見出し ---------- */
body#chp-site main h2{
  font-family:'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic',sans-serif !important;
  font-weight:800 !important; font-size:clamp(22px,2.6vw,30px) !important; color:#344b40 !important;
  line-height:1.5 !important; letter-spacing:.03em; text-align:left !important;
  margin:0 0 22px !important; padding:2px 0 2px 16px !important; border-left:5px solid #ad486d !important; border-bottom:0 !important; background:none !important;
}
body#chp-site main h3{font-family:inherit !important; font-weight:700 !important; font-size:18px !important; color:#344b40 !important; margin:18px 0 10px !important; text-align:left !important; background:transparent !important; padding:0 !important; border:0 !important}
body#chp-site main h4{font-weight:700; color:#344b40}

/* ---------- ボタン（旧 .btn.arrow.blue / 旧ピンク / CF7送信 を新ピル型に） ---------- */
body#chp-site main a.btn, body#chp-site main .btn, body#chp-site main .submit_btn, body#chp-site main input[type=submit], body#chp-site main .cta a, body#chp-site main a.chp-btn{
  display:inline-flex !important; align-items:center; justify-content:center; gap:8px;
  background:#ad486d !important; color:#fff !important; border:0 !important; border-radius:50px !important;
  padding:14px 30px !important; font-size:14px !important; font-weight:700 !important; text-decoration:none !important;
  line-height:1.4 !important; box-shadow:none !important; transition:.2s; cursor:pointer; max-width:100%; white-space:normal; text-align:center;
}
body#chp-site main a.btn:hover, body#chp-site main .submit_btn:hover, body#chp-site main input[type=submit]:hover, body#chp-site main .cta a:hover{background:#943e5d !important; transform:translateY(-2px)}
/* テーマが .arrow に注入するシェブロン擬似要素を無効化し、文字の矢印に置換 */
body#chp-site main .btn.arrow::before{display:none !important; content:none !important}
body#chp-site main .btn.arrow::after{content:'↗' !important; display:inline-block !important; position:static !important; transform:none !important; border:0 !important; width:auto !important; height:auto !important; margin:0 0 0 6px !important; background:none !important; font-size:15px}
/* A7/C6: 記事のCTA（電話・応募）は縦積みで折り返す */
body#chp-site .cta{display:flex; flex-direction:column; gap:10px; align-items:stretch; padding:18px 0}
body#chp-site .cta a{width:100%}
@media(min-width:601px){ body#chp-site .cta{flex-direction:row; justify-content:center} body#chp-site .cta a{width:auto} }
@media(max-width:600px){
  body#chp-site main input[type=submit], body#chp-site main .wpcf7-submit, body#chp-site main .submit_btn{display:block !important; width:100% !important; max-width:100% !important; min-width:0 !important; margin-left:0 !important; margin-right:0 !important}
}

/* ---------- 表（料金・概要・スケジュール・教室情報） ---------- */
body#chp-site .table-area .bg{background:#fff !important; border:1px solid #e6e6db !important; border-radius:20px !important; padding:18px 20px !important; overflow-x:auto; box-shadow:none !important}
body#chp-site main table{width:100%; border-collapse:separate !important; border-spacing:0 !important; font-size:14.5px; color:#344b40}
body#chp-site main table th{background:#f3f1e8 !important; color:#344b40 !important; font-weight:700 !important; padding:13px 16px !important; border:0 !important; border-bottom:1px solid #e6e6db !important; text-align:left !important; vertical-align:top}
body#chp-site main table td{background:#fff !important; color:#344b40 !important; padding:13px 16px !important; border:0 !important; border-bottom:1px solid #e6e6db !important; vertical-align:top; line-height:1.8}
body#chp-site main table tr:last-child th, body#chp-site main table tr:last-child td{border-bottom:0 !important}
body#chp-site main table.content, body#chp-site #classroom-info table, body#chp-site #schedule table, body#chp-site #recruit table{background:#fff; border:1px solid #e6e6db !important; border-radius:16px; overflow:hidden; margin:0 0 14px !important}
body#chp-site main table.content th{width:34%; white-space:nowrap}
@media(max-width:600px){
  body#chp-site .table-area .bg{padding:10px 12px !important; border-radius:14px !important}
  body#chp-site main table th, body#chp-site main table td{padding:10px 11px !important; font-size:13.5px}
  body#chp-site main table.content th{width:38%; white-space:normal}
}

/* ---------- ご利用の流れ（.flow .step）A1 ---------- */
body#chp-site .flow{display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:14px !important; margin:22px 0 !important; width:auto !important}
body#chp-site .flow .step{border:1px solid #e6e6db !important; border-radius:16px !important; background:#fff !important; padding:20px 18px 18px !important; margin:0 !important; width:auto !important; min-width:0; position:relative !important; overflow:visible; box-shadow:none !important}
/* 旧テーマの「巨大な緑の丸数字（absolute・top:-40px）」→ 小さなピンクのバッジに */
body#chp-site .flow .step::before{
  position:static !important; display:inline-flex !important; align-items:center; justify-content:center;
  width:30px !important; height:30px !important; border-radius:50% !important; background:#ad486d !important; color:#fff !important;
  font-size:14px !important; font-weight:700 !important; line-height:1 !important; margin:0 0 10px !important; top:auto !important; left:auto !important; transform:none !important; box-shadow:none !important;
}
body#chp-site .flow .step h3{font-size:16.5px !important; color:#344b40 !important; margin:0 0 8px !important; text-align:left !important; padding:0 !important}
body#chp-site .flow .step p{font-size:13px !important; color:#606e62 !important; max-width:none !important; margin:0; line-height:1.8}
@media(max-width:900px){ body#chp-site .flow{grid-template-columns:repeat(2,1fr) !important} }
@media(max-width:600px){ body#chp-site .flow{grid-template-columns:1fr !important; gap:10px !important} body#chp-site .flow .step{padding:16px 16px 14px !important} }

/* ---------- スケジュール枠 ---------- */
body#chp-site .schedule-wrap{display:grid !important; grid-template-columns:repeat(3,1fr); gap:18px}
body#chp-site .schedule-block{min-width:0}
body#chp-site .schedule-block h3{font-size:16px !important; margin:0 0 10px !important}
@media(max-width:900px){ body#chp-site .schedule-wrap{grid-template-columns:1fr} }

/* ---------- Q&A（/qa/ の .q-text/.a-text は旧黄色）→ 質問=生成り・回答=白のカード ---------- */
body#chp-site .q-text{background:#f3f1e8 !important; color:#344b40 !important; border-radius:14px 14px 0 0; padding:14px 18px !important; font-weight:700; box-shadow:none !important; border:1px solid #e6e6db; border-bottom:0}
body#chp-site .a-text{background:#fff !important; color:#344b40 !important; border-radius:0 0 14px 14px; padding:14px 18px !important; box-shadow:none !important; border:1px solid #e6e6db; margin-bottom:14px}

/* ---------- お知らせ一覧・記事（/new/・single） C6 ---------- */
body#chp-site .text-area{border:1px solid #e6e6db; border-radius:16px; background:#fff !important; padding:14px !important}
body#chp-site .page-numbers{color:#344b40; border:1px solid #e6e6db; border-radius:10px; padding:8px 12px; text-decoration:none; background:#fff}
body#chp-site .page-numbers.current, body#chp-site .page-numbers:hover{background:#ad486d !important; color:#fff !important; border-color:#ad486d}
@media(max-width:600px){ body#chp-site article, body#chp-site .post-content, body#chp-site .single-content{padding-left:0 !important; padding-right:0 !important; max-width:100% !important} body#chp-site .post-content img{max-width:100%; height:auto} }

/* ---------- お知らせバナー／CTAボックス／地図 ---------- */
body#chp-site .contact_banner{background:#eef0e4 !important; color:#344b40 !important; border-radius:0 0 24px 24px; padding:14px 20px !important; text-align:center; font-weight:700; max-width:1160px; margin:0 auto; box-shadow:none !important}
body#chp-site .contact_banner a{color:#ad486d}
body#chp-site #company-cta .box, body#chp-site #classroom-cta > div, body#chp-site .cta-box{background:#eef0e4 !important; border-radius:24px !important; padding:36px 28px !important; text-align:center; box-shadow:none !important}
body#chp-site .map-wrapper iframe{width:100%; border-radius:20px; border:0}

/* ---------- 問い合わせフォーム（CF7）・応募フォーム ---------- */
body#chp-site main input[type=text], body#chp-site main input[type=email], body#chp-site main input[type=tel], body#chp-site main input[type=number], body#chp-site main textarea, body#chp-site main select{
  width:100%; border:1px solid #e6e6db !important; border-radius:12px !important; padding:12px 14px !important; background:#fff !important; color:#344b40; font-size:15px; font-family:inherit; box-shadow:none !important;
}
body#chp-site main textarea{min-height:160px}
body#chp-site main input:focus, body#chp-site main textarea:focus, body#chp-site main select:focus{outline:2px solid #ad486d; outline-offset:1px}

/* ---------- 残り物の上書き（最終監査 2026-09-14） ---------- */
/* 会社・教室情報: スマホ幅で旧テーマの黄色th（#fff6c7）が勝つため、より強い指定で上書き */
body#chp-site main table.content th, body#chp-site main table.content tr th, body#chp-site main #recruit table.content tr th{background:#f3f1e8 !important; color:#344b40 !important}
body#chp-site main table.content td, body#chp-site main #recruit table.content tr td{background:#fff !important; color:#344b40 !important}
/* 採用: 旧黄色の最寄駅タグ・ピンク白の応募ボックスを新配色へ */
body#chp-site .rc-room__st{background:#f3f1e8 !important; color:#344b40 !important; border-radius:20px}
body#chp-site .rc-apply{background:#eef0e4 !important; border-radius:24px !important}
/* 会社・教室情報: スマホ幅で旧テーマが th/td を block 化するが tbody が縮んで見出し帯が途切れるため tbody も全幅化 */
@media(max-width:767px){ body#chp-site #recruit table.content tbody, body#chp-site #company table.content tbody{display:block; width:100%} }
/* 採用ページ(page-id-56)のヒーローは文字入りバナーなので切り抜かず全体表示 */
body#chp-site.page-id-56 #main-visual picture img, body#chp-site.page-id-56 #main-visual > img{max-height:none !important; height:auto !important; object-fit:contain !important}
body#chp-site.page-id-56 #main-visual picture{max-height:none !important; height:auto !important}
/* 採用ページのボタン: スキンの a{color:pink} に負けて白文字が消えるのを防ぐ */
body#chp-site .rc a.rc-btn{color:#fff} body#chp-site .rc a.rc-btn--outline{color:#1F3A68} body#chp-site .rc a.rc-btn--outline:hover{color:#fff} body#chp-site .rc a.rc-btn--tel{color:#c8306f}
/* 採用フォームの送信ボタンはPC/タブレットで中央寄せ（スキンの inline-flex 指定が左寄せにするため） */
@media(min-width:601px){ body#chp-site .rc .rc-apply input[type=submit]{display:block !important; margin:12px auto 0 !important; min-width:300px !important} }
/* メニューボタン・ページ内リンクのキーボードフォーカス表示（reset.css が outline:0 にしているため） */
.chp-menu-btn:focus-visible, body.chp-shell .chp-nav a:focus-visible, body.chp-shell .chp-drawer a:focus-visible{outline:2px solid #ad486d; outline-offset:2px}
/* 採用ページ: PCではバナーを62vhに抑えて「募集職種・給与を見る」をファーストビューに入れる／送信ボタンは幅300px固定 */
@media(min-width:900px){ body#chp-site.page-id-56 #main-visual picture img, body#chp-site.page-id-56 #main-visual > img{max-height:56vh !important; width:auto !important; max-width:100%; margin:0 auto} }
@media(min-width:601px){ body#chp-site .rc .rc-apply input[type=submit]{width:300px !important; max-width:100% !important; min-width:0 !important} }
body#chp-site .rc .rc-kindlinks a:hover{color:#fff}
/* 2026-09-15 ユーザー指摘: ご利用の流れの各ステップは旧テーマの height:425px で下が空く → 内容に合わせる */
body#chp-site .flow .step{height:auto !important; min-height:0 !important; justify-content:flex-start !important}
/* 2026-09-15 ユーザー指摘: お問い合わせの送信ボタンを包む div.submit_btn までボタン装飾されて二重に見える → 外側は素通し、中の input だけボタン */
body#chp-site main .submit_btn{display:block !important; background:transparent !important; padding:0 !important; border:0 !important; border-radius:0 !important; width:auto !important; max-width:none !important; margin:8px auto 0 !important; box-shadow:none !important; text-align:center; transform:none !important}
body#chp-site main .submit_btn:hover{background:transparent !important; transform:none !important}
body#chp-site main .submit_btn input[type=submit]{display:inline-flex !important; width:auto !important; min-width:220px}
@media(max-width:600px){ body#chp-site main .submit_btn input[type=submit]{display:block !important; width:100% !important; min-width:0 !important} }
/* 送信ボタンの外枠は auto マージンだと flex 子として縮むので左右0にする／スマホでは問い合わせフォームも全幅に */
body#chp-site main .submit_btn{margin:8px 0 0 !important; width:100% !important}
@media(max-width:767px){ body#chp-site .contact_container{width:100% !important; padding:0 !important; margin:0 0 30px !important} body#chp-site .contact{width:100% !important; max-width:none !important} body#chp-site .contact input[type=text], body#chp-site .contact input[type=tel], body#chp-site .contact input[type=email], body#chp-site .contact select, body#chp-site .contact textarea{width:100% !important; max-width:none !important; box-sizing:border-box; font-size:16px !important} }
/* 2026-09-15 ユーザー指摘: セクション間・段落間の余白が長い（旧テーマの section padding + margin-bottom 76/46px + .content__inner 52px + p 50px が積み重なる）→ 詰める */
body#chp-site main section{padding:20px 0 !important; margin-bottom:0 !important}
body#chp-site .content__inner{padding-top:30px !important; padding-bottom:30px !important}
body#chp-site main .content__inner p, body#chp-site main .box p{margin-bottom:22px !important}
body#chp-site main .content__inner p:last-child, body#chp-site main .box p:last-child{margin-bottom:0 !important}
body#chp-site #day .container .box{padding-top:0 !important; padding-bottom:0 !important}
@media(max-width:600px){
  body#chp-site main section{padding:10px 0 !important}
  body#chp-site .content__inner{padding-top:16px !important; padding-bottom:16px !important}
  body#chp-site main .content__inner p, body#chp-site main .box p{margin-bottom:16px !important}
  body#chp-site main h2{margin-top:6px !important}
}
/* インラインstyleで padding:40px が付いた .box も詰める（CTAカード類は除く） */
body#chp-site main .box:not(.cta-box):not(#company-cta .box):not(#classroom-cta .box){padding-top:26px !important; padding-bottom:26px !important}
@media(max-width:600px){ body#chp-site main .box:not(.cta-box):not(#company-cta .box):not(#classroom-cta .box){padding-top:14px !important; padding-bottom:14px !important} }
/* 下端・小要素の余白（main 下80px、表の下40px、Q&Aの項目間36px など）も整理 */
body#chp-site main{padding-bottom:32px !important}
body#chp-site .table-area .bg{margin-bottom:18px !important}
body#chp-site .text-area{padding-top:0 !important; padding-bottom:0 !important}
body#chp-site main .wide_690{padding-bottom:0 !important}
body#chp-site .qa-list li{margin-bottom:22px !important}
@media(max-width:600px){
  body#chp-site main{padding-bottom:14px !important}
  body#chp-site .qa-list li{margin-bottom:16px !important}
  body#chp-site #classroom-cta > div{padding:24px 18px !important}
  body#chp-site #classroom-cta > div > div{padding-top:0 !important; padding-bottom:0 !important}
}
/* 一日の過ごし方（#day）のカード間 88px、料金説明 .text-area 下 80px も詰める */
body#chp-site #day li{margin-bottom:24px !important}
body#chp-site #day li:last-child{margin-bottom:0 !important}
body#chp-site .text-area{margin-bottom:24px !important}
@media(max-width:600px){ body#chp-site #day li{margin-bottom:18px !important} body#chp-site .text-area{margin-bottom:18px !important} }
/* PCで流れカードの2枚目・4枚目が旧テーマの top:220px（ジグザグ配置）で下にずれ、次の見出しに重なる → 解除 */
body#chp-site .flow .step{top:0 !important}
