/* のびのび発達ラボ 共通CSS（terapiaハイブリッドブランド準拠・児発ゴールド基調／CTAオレンジ） */
:root{
  --cream:#fdf8ee; --paper:#fffdf8; --ink:#46372a; --ink-soft:#7d6c5b;
  --ac:#fcaa00; --acd:#c47f00; --orange:#ef6e0b; --orange-d:#c85a06; --gold:#f7cf6a;
  --line:#f0e3cd;
  --sh:0 14px 34px rgba(120,80,20,.10); --sh-s:0 6px 16px rgba(120,80,20,.08);
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",メイリオ,Meiryo,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{color:var(--ink);background:#fff;line-height:2;font-size:15.5px;-webkit-font-smoothing:antialiased;}
.serif{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:980px;margin:0 auto;padding:0 22px;position:relative;z-index:2;}
.narrow{max-width:760px;margin:0 auto;}
strong{color:var(--acd);font-weight:700;}

header.site{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);}
.hbar{display:flex;align-items:center;justify-content:space-between;height:66px;gap:12px;}
.logo img{height:44px;width:auto;display:block;}
.hbtn{background:var(--orange);color:#fff;font-weight:800;font-size:13px;padding:10px 18px;border-radius:999px;box-shadow:var(--sh-s);white-space:nowrap;}

.labobar{background:var(--ac);color:#fff;font-size:12.5px;font-weight:800;text-align:center;padding:6px 14px;letter-spacing:.06em;}
.labobar a{color:#fff;}

/* HERO（トップ用） */
.hero{position:relative;background:linear-gradient(180deg,#fdf6e8,#fff 92%);overflow:hidden;border-bottom:4px solid var(--ac);}
.hero .wrap{padding:50px 22px 46px;text-align:center;}
.crumb{font-size:11.5px;font-weight:800;color:var(--ink-soft);margin-bottom:14px;letter-spacing:.04em;text-align:left;}
.crumb b{color:var(--acd);}
.crumb a:hover{text-decoration:underline;}
.catbadge{display:inline-block;background:var(--ac);color:#fff;font-size:11.5px;font-weight:800;padding:4px 16px;border-radius:999px;letter-spacing:.12em;margin-bottom:16px;}
.hero h1{font-size:36px;line-height:1.55;margin:0 auto 6px;font-weight:700;max-width:19em;letter-spacing:.03em;}
.hero h1 .o{color:var(--acd);}
.hero .sub{font-size:14px;color:var(--ink-soft);font-weight:700;margin-bottom:4px;}
.rule{width:56px;height:3px;background:var(--gold);margin:18px auto;}
.hero p.lead{font-size:15px;color:var(--ink);max-width:36em;margin:0 auto 22px;text-align:left;}
.cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:800;padding:13px 26px;border-radius:999px;font-size:14px;transition:transform .15s;box-shadow:var(--sh-s);}
.btn:hover{transform:translateY(-2px);}
.btn.orange{background:var(--orange);color:#fff;}
.btn.ghost{background:#fff;color:var(--acd);border:2px solid var(--ac);}
.btn.white{background:#fff;color:var(--orange-d);}

section{padding:52px 0;position:relative;}
section.alt{background:var(--cream);}
.kicker{text-align:center;color:var(--acd);font-weight:800;letter-spacing:.24em;font-size:11.5px;margin-bottom:8px;}
h2.sec{text-align:center;font-size:25px;margin:0 0 6px;line-height:1.55;font-weight:700;letter-spacing:.03em;}
.rule.c{margin:14px auto 12px;}
.sec-sub{text-align:center;color:var(--ink-soft);font-size:14px;margin:0 auto 30px;max-width:660px;}

/* 記事ページ */
.art-hero{background:linear-gradient(180deg,#fdf6e8,#fff 94%);border-bottom:3px solid var(--ac);}
.art-hero .wrap{padding:34px 22px 30px;}
.art-hero h1{font-size:27px;line-height:1.6;font-weight:700;margin:10px 0 4px;}
.art-date{font-size:11.5px;color:var(--ink-soft);}
.deflead{background:#fff;border:1px solid var(--line);border-left:5px solid var(--ac);border-radius:0 12px 12px 0;padding:18px 22px;margin:18px 0 0;font-size:15px;line-height:2.05;box-shadow:var(--sh-s);}

.article{padding:38px 0 10px;}
.article h2{font-size:20px;font-weight:700;line-height:1.6;margin:38px 0 14px;padding:10px 16px;background:var(--cream);border-left:5px solid var(--ac);border-radius:0 10px 10px 0;}
.article h3{font-size:16.5px;font-weight:700;margin:26px 0 10px;color:var(--acd);}
.article p{margin:0 0 1.2em;}
.article ul,.article ol{margin:0 0 1.4em;padding-left:1.6em;}
.article li{margin-bottom:.5em;}
.pointbox{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin:0 0 1.4em;font-size:14.5px;}
.pointbox .pt{font-weight:800;color:var(--acd);font-size:12.5px;letter-spacing:.1em;margin-bottom:6px;}
.stepflow{counter-reset:st;list-style:none;padding:0;margin:0 0 1.4em;}
.stepflow li{position:relative;padding:12px 16px 12px 52px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;box-shadow:var(--sh-s);}
.stepflow li::before{counter-increment:st;content:counter(st);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--ac);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;}
.stepflow li b{color:var(--acd);}
table.cmp{width:100%;border-collapse:collapse;font-size:13.5px;margin:0 0 1.4em;background:#fff;box-shadow:var(--sh-s);border-radius:12px;overflow:hidden;}
table.cmp th{background:var(--cream);font-weight:800;padding:10px 12px;border:1px solid var(--line);text-align:left;}
table.cmp td{padding:10px 12px;border:1px solid var(--line);vertical-align:top;}

/* FAQ */
.faq{margin:10px 0 1.4em;}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;box-shadow:var(--sh-s);overflow:hidden;}
.faq summary{cursor:pointer;font-weight:700;font-size:14.5px;padding:14px 40px 14px 18px;list-style:none;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"＋";position:absolute;right:16px;top:13px;color:var(--acd);font-weight:700;}
.faq details[open] summary::after{content:"−";}
.faq .fa{padding:0 18px 15px;font-size:14px;color:var(--ink-soft);line-height:1.95;}

/* 免責・出典 */
.disc{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 20px;font-size:12px;color:var(--ink-soft);line-height:1.9;margin:26px 0;}
.disc b{color:var(--ink);}

/* 教室CTA帯 */
.band{background:linear-gradient(135deg,var(--orange),#f58a2e);border-radius:20px;color:#fff;padding:34px 30px;text-align:center;box-shadow:var(--sh);margin:10px 0 40px;}
.band h2{font-size:21px;margin:0 0 10px;line-height:1.6;font-weight:700;background:none;border-left:0;padding:0;color:#fff;text-align:center;}
.band p{font-size:13.5px;max-width:36em;margin:0 auto 18px;opacity:.96;text-align:left;}
.band .note{font-size:11.5px;opacity:.85;margin-top:14px;}

/* 関連記事 */
.rel{margin:0 0 40px;}
.rel .rh{font-weight:800;font-size:14px;color:var(--acd);letter-spacing:.1em;margin-bottom:10px;}
.rel a{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 16px;margin-bottom:8px;font-size:14px;font-weight:700;box-shadow:var(--sh-s);}
.rel a::before{content:"▶ ";color:var(--ac);font-size:11px;}
.rel a:hover{background:var(--cream);}

/* トップ：カテゴリタイル・記事リスト */
.ovnav{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:860px;margin:0 auto;}
.ovnav a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--sh-s);font-size:13.5px;font-weight:800;}
.ovnav a small{display:block;font-weight:700;color:var(--ink-soft);font-size:11.5px;margin-top:2px;}
.ovnav a:hover{background:var(--cream);}
.cath{display:flex;align-items:center;gap:10px;margin:40px 0 14px;scroll-margin-top:80px;}
.cath .ci{font-size:22px;}
.cath h3{font-size:19px;font-weight:700;}
.cath .cnt{font-size:11.5px;font-weight:800;color:#fff;background:var(--ac);border-radius:999px;padding:2px 10px;}
.plist{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.plist a{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-size:14px;font-weight:700;box-shadow:var(--sh-s);}
.plist a::before{content:"▶ ";color:var(--ac);font-size:11px;}
.plist a:hover{background:var(--cream);}

/* 運営者情報 */
.about-lab{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 26px;font-size:14px;line-height:2.05;box-shadow:var(--sh-s);}

footer{background:#3a2d21;color:#d9cbb8;text-align:center;padding:34px 22px;font-size:12.5px;line-height:2;}
footer .fl{font-weight:800;color:#fff;margin-bottom:4px;}
footer a{text-decoration:underline;}

@media(max-width:760px){
  .hero h1{font-size:25px;}
  .art-hero h1{font-size:21px;}
  h2.sec{font-size:21px;}
  .ovnav{grid-template-columns:1fr 1fr;}
  .plist{grid-template-columns:1fr;}
}

/* ==== v2追加（2026-07 第1弾拡張）出典・チェックリスト・印刷 ==== */
.src{list-style:none;padding:0;margin:0 0 1.4em;}
.src li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 16px;margin-bottom:8px;font-size:13px;box-shadow:var(--sh-s);}
.src li::before{content:"🔗 ";font-size:12px;}
.src a{font-weight:700;color:var(--acd);text-decoration:underline;text-decoration-color:var(--line);}
.src .note{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:2px;}
.chk{list-style:none;padding:0;margin:0 0 1.4em;}
.chk li{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px 12px 46px;margin-bottom:8px;font-size:14px;box-shadow:var(--sh-s);}
.chk li::before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:2px solid var(--ac);border-radius:5px;background:var(--cream);}
.chk li small{display:block;color:var(--ink-soft);font-size:12px;margin-top:2px;font-weight:400;}
.printnote{background:var(--cream);border:1px dashed var(--ac);border-radius:12px;padding:12px 18px;font-size:13px;margin:0 0 1.4em;}
@media print{
  .site,.labobar,.band,.rel,.faq,.crumb,.printnote,footer{display:none!important;}
  body{background:#fff;}
  .art-hero{background:#fff;padding:10px 0 0;}
  .chk li{box-shadow:none;break-inside:avoid;}
}
