/* 勉強チェック（2026-09-29 ゴンザレス）
   紺＝採点サイト（style.css）と同じ見た目：申し込み・保護者の記録・点数のページ
   青緑＝ジンの勉強チェック（週間模試/study-check.js の scCss_）と同じ見た目：子どもが毎晩入れるページ（body.kid） */
:root { --navy:#1d3557; --ink:#1f2733; --sub:#5b6778; --line:#e3e8ef; --bg:#f6f8fb; --ok:#1f7a4d; --ng:#b3261e; --accent:#e76f51; --teal:#2E7D8F; }
* { box-sizing:border-box; }
body { margin:0; font-family:"Hiragino Sans","Yu Gothic","YuGothic","Meiryo",sans-serif; color:var(--ink); background:var(--bg); line-height:1.6; -webkit-text-size-adjust:100%; }
a { color:var(--navy); }
.top { background:var(--navy); color:#fff; padding:18px 16px 16px; }
.top .t1 { font-size:13px; opacity:.85; } .top h1 { margin:2px 0 6px; font-size:22px; } .top p { margin:0; font-size:13px; opacity:.92; }
main { max-width:720px; margin:0 auto; padding:12px 16px 60px; }
.sec { background:#fff; border-radius:12px; margin:14px 0; padding:12px 14px 14px; box-shadow:0 1px 2px rgba(0,0,0,.05); }
.sec > h2 { font-size:17px; margin:2px 0 8px; }
.pain { font-size:19px; font-weight:800; color:var(--navy); margin:4px 0 8px; line-height:1.5; }
ol.gets { margin:0; padding:0; list-style:none; counter-reset:g; }
ol.gets li { counter-increment:g; position:relative; padding:8px 0 8px 34px; border-top:1px solid var(--line); }
ol.gets li:first-child { border-top:0; }
ol.gets li::before { content:counter(g); position:absolute; left:0; top:9px; width:24px; height:24px; border-radius:50%; background:var(--navy); color:#fff; font-size:13px; font-weight:700; text-align:center; line-height:24px; }
ol.gets b { display:block; } ol.gets span { font-size:13px; color:var(--sub); }
.shot { width:100%; border:1px solid var(--line); border-radius:10px; display:block; }
.cap { font-size:12px; color:var(--sub); margin:6px 0 0; }
.big { font-size:28px; font-weight:800; color:var(--navy); margin:0; } .big small { font-size:14px; font-weight:700; color:var(--sub); margin-left:6px; }
label.f { display:block; font-weight:700; font-size:14px; margin:12px 0 4px; } label.f span { font-weight:400; font-size:12px; color:var(--sub); }
input[type=email], input[type=text], input[type=date], input[type=number], select { width:100%; font-size:16px; padding:10px 12px; border:1px solid #c9d2de; border-radius:10px; background:#fff; color:var(--ink); }
.agree { display:flex; gap:8px; align-items:flex-start; font-size:14px; margin:12px 0 0; } .agree input { width:20px; height:20px; margin-top:2px; flex:0 0 20px; }
.go { display:block; width:100%; margin:16px 0 4px; padding:14px; border:0; border-radius:12px; background:var(--accent); color:#fff; font-size:17px; font-weight:800; cursor:pointer; }
.go:disabled { opacity:.5; cursor:default; }
.btn2 { display:inline-block; padding:10px 16px; border-radius:10px; border:1px solid var(--navy); background:#fff; color:var(--navy); font-weight:700; font-size:15px; text-decoration:none; cursor:pointer; }
.small { font-size:12px; color:var(--sub); margin:6px 0 0; }
.err { color:var(--ng); font-weight:700; font-size:14px; margin:10px 0 0; }
.note { font-size:13px; color:var(--sub); }
ul.notes { margin:0; padding-left:18px; font-size:14px; } ul.notes li { margin:3px 0; }
footer { text-align:center; color:var(--sub); font-size:12px; padding:8px 16px 40px; } footer a { color:var(--sub); }
table.t { border-collapse:collapse; width:100%; font-size:14px; }
table.t th, table.t td { padding:7px 5px; border-bottom:1px solid var(--line); text-align:center; white-space:nowrap; }
table.t th { font-size:12px; color:var(--sub); font-weight:600; background:var(--bg); }
table.t td.l, table.t th.l { text-align:left; }
.late { color:var(--ng); font-weight:700; } .good { color:var(--ok); font-weight:700; }
.chart { width:100%; height:auto; display:block; border:1px solid var(--line); border-radius:10px; background:#fff; }
.links a { display:inline-block; margin:4px 12px 4px 0; }

/* 子どもが毎晩入れるページ（勉強チェック study-check.js と同じ見た目） */
body.kid { background:#F4F3F1; font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif; color:#1A1A1A; }
.kid .wrap { max-width:520px; margin:0 auto; padding:16px 14px 40px; }
.kid h1 { font-size:20px; margin:6px 0 4px; } .kid .sub { color:#6B7280; font-size:13px; margin:0 0 14px; }
.kid .card { background:#fff; border-radius:14px; padding:14px 14px 12px; margin:0 0 12px; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.kid .subj { font-size:17px; font-weight:bold; margin:0 0 4px; }
.kid .txt { border-top:1px solid #E5E7EB; padding:10px 0 4px; } .kid .txt:first-of-type { border-top:0; }
.kid .tname { display:flex; justify-content:space-between; align-items:baseline; gap:8px; } .kid .tname b { font-size:15px; } .kid .meta { font-size:12px; color:#6B7280; text-align:right; }
.kid .bar { height:6px; background:#E5E7EB; border-radius:3px; margin:6px 0 8px; overflow:hidden; } .kid .bar i { display:block; height:100%; background:var(--teal); }
.kid .row { display:flex; align-items:center; gap:10px; } .kid .row label { font-size:14px; flex:1; } .kid .row label small { display:block; font-size:12px; color:var(--teal); }
.kid .step { display:flex; align-items:center; border:1px solid #E5E7EB; border-radius:10px; overflow:hidden; }
.kid .step button { width:48px; height:48px; border:0; background:#F4F3F1; font-size:24px; color:var(--teal); cursor:pointer; }
.kid .step input { width:56px; height:48px; border:0; text-align:center; font-size:20px; font-weight:bold; padding:0; border-radius:0; -moz-appearance:textfield; }
.kid .step input::-webkit-outer-spin-button, .kid .step input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.kid .total { position:sticky; bottom:0; background:#fff; border-radius:14px; padding:12px 14px; box-shadow:0 -2px 12px rgba(0,0,0,.08); display:flex; align-items:center; justify-content:space-between; gap:10px; }
.kid .total b { font-size:18px; }
.kid .btn { display:inline-block; padding:14px 22px; background:var(--teal); color:#fff; border:0; border-radius:10px; font-size:16px; font-weight:bold; text-decoration:none; cursor:pointer; }
.kid .btn.sub2 { background:#fff; color:var(--teal); border:1px solid var(--teal); padding:10px 14px; font-size:14px; }
.kid .ok { background:#E8F4F7; border-radius:14px; padding:16px; font-size:16px; line-height:1.7; margin:0 0 12px; }
.kid .small { font-size:13px; color:#6B7280; }
.kid .tabs { display:flex; gap:8px; margin:0 0 12px; } .kid .tabs button { flex:1; padding:10px; border-radius:10px; border:1px solid #CBD5E1; background:#fff; font-size:14px; cursor:pointer; } .kid .tabs button.on { background:var(--teal); color:#fff; border-color:var(--teal); font-weight:bold; }
.kid .trow { display:grid; grid-template-columns:1fr 1.2fr; gap:6px; margin:8px 0 0; }
.kid .prow { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:8px 0 0; }
.kid .prow .pages { display:flex; align-items:center; gap:6px; font-size:14px; } .kid .prow .pages input { width:5.6em; }
.kid .del { border:0; background:none; color:#b3261e; font-size:13px; cursor:pointer; padding:4px 0; }
.kid input[type=text], .kid input[type=date], .kid input[type=number], .kid select { width:100%; font-size:16px; padding:9px 10px; border:1px solid #CBD5E1; border-radius:10px; background:#fff; }
.kid label.f { font-size:14px; margin:10px 0 4px; display:block; font-weight:bold; }
.kid .err { color:#b3261e; font-weight:bold; font-size:14px; margin:10px 0 0; }

/* 使い方（画面で見る）＝スマホの枠に入れた本物の画面（2026-09-29 ろっく「客に見せる用の画像付きの説明で見せて」） */
ol.guide { list-style:none; margin:0; padding:0; }
ol.guide > li { padding:14px 0 18px; border-top:1px solid var(--line); }
ol.guide > li:first-child { border-top:0; padding-top:4px; }
.guide .gh { display:flex; gap:10px; align-items:center; font-weight:800; font-size:16px; line-height:1.45; margin:0 0 6px; }
.guide .gn { flex:none; width:26px; height:26px; border-radius:50%; background:var(--teal); color:#fff; font-size:14px; text-align:center; line-height:26px; }
.guide p { margin:0 0 12px; font-size:14px; color:#374151; }
.phone { width:min(270px,80%); margin:0 auto; border:7px solid #1f2733; border-radius:24px; overflow:hidden; background:#fff; box-shadow:0 10px 24px rgba(31,39,51,.16); }
.phone img { display:block; width:100%; height:auto; }
.phone-cap { text-align:center; font-size:13px; color:var(--sub); margin:10px 0 8px !important; }
/* 目次（任意・本ごと）と 苦手な範囲（2026-09-29 ろっく「任意で目次の入力をさせて」「テストの点数で管理や」） */
.kid .tocw { margin:6px 0 0; }
.kid .tocbtn { border:0; background:none; color:var(--teal); font-weight:700; font-size:14px; padding:6px 0; cursor:pointer; }
.kid .tocbox { background:#F4FAFB; border-radius:10px; padding:8px 10px 10px; margin:2px 0 4px; }
.kid .urow { display:flex; align-items:center; gap:6px; margin:6px 0 0; }
.kid .urow .un { flex:1; min-width:0; }
.kid .urow .up { width:4.8em; flex:none; }
.kid .urow .up-l { font-size:14px; flex:none; }
.kid .tocbox .uadd { margin-top:8px; }
ul.weak { margin:0 0 6px; padding-left:20px; font-size:14px; line-height:1.6; }
.pickrow { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 4px; } .pickrow .btn2 { padding:8px 12px; font-size:14px; }
/* 生徒用のコード（2026-09-29） */
.coderow { display:flex; gap:6px; align-items:center; } .coderow input { flex:1; min-width:0; } .coderow .btn2 { flex:none; padding:10px 14px; }
/* 入口（販売ページ）だけの見た目は lp.css（2026-09-29 深夜・ここにあった body の下の余白84px は ほかのページにも効いていたので lp.css の .lp へ移した） */
/* テスト範囲表の写真で入れる（上位プランの機能の試作・2026-09-30） */
.kid .card.photo { border:2px solid var(--teal); }
.kid .pbtn { display:block; text-align:center; }
.kid .pbtn.busy { opacity:.6; pointer-events:none; }
