/* 海外ドラマ予習帳 共通スタイル（シーンページ以外で使用） */
:root{
  --bg:#fffdf2; --card:#ffffff; --ink:#1a1a1a; --sub:#555555; --yellow:#ffd400; --yellow-soft:#fff3a8;
  --pink:#ff8fb8; --pink-soft:#ffe4ef; --accent:#c2185b;
  --ja:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;
  --en:"Lexend","Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{background:var(--bg)}
body{margin:0;color:var(--ink);font:15px/1.8 var(--ja)}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:720px;margin:0 auto;padding:0 14px 40px}

header.site{background:var(--yellow);border-bottom:3px solid var(--ink)}
header.site .in{max-width:720px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.logo{display:flex;flex-direction:column;line-height:1.25;color:var(--ink);text-decoration:none}
.logo b{font-size:17px;font-weight:800}
.logo small{font-size:10px;font-weight:700;letter-spacing:.12em}
.gnav{display:flex;gap:6px;flex-wrap:wrap}
.gnav a{min-height:40px;display:flex;align-items:center;padding:0 12px;border:2.5px solid var(--ink);border-radius:20px;background:#fff;color:var(--ink);font-weight:800;font-size:13px;text-decoration:none}

.crumb{font-size:12px;font-weight:700;color:var(--sub);display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 4px}
.crumb a{color:var(--sub)}
h1{margin:6px 0 8px;font-size:24px;font-weight:800;line-height:1.4;text-wrap:balance}
h2{margin:28px 0 10px;font-size:19px;font-weight:800;line-height:1.4}
h3{margin:18px 0 6px;font-size:16px;font-weight:800}
p{margin:0 0 10px}
.lead{color:#333}

.box{background:var(--card);border:3px solid var(--ink);border-radius:20px;box-shadow:6px 6px 0 var(--ink);padding:20px}
.hero{margin-top:18px;text-align:center;padding:28px 20px}
.tag{display:inline-block;font-size:12px;font-weight:800;background:var(--yellow);border:2px solid var(--ink);border-radius:20px;padding:1px 12px}
.tag.p{background:var(--pink)}
.hero h1{font-size:28px;margin:12px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:3px solid var(--ink);border-radius:16px;background:var(--yellow);color:var(--ink);font-weight:800;text-decoration:none;box-shadow:4px 4px 0 var(--ink)}

.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:560px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border:2.5px solid var(--ink);border-radius:16px;padding:14px}
.step b{display:block;font-size:15px}
.step span{font-size:13px;color:#333}
.step i{font-style:normal;font-family:var(--en);font-weight:700;font-size:12px;background:var(--ink);color:#fff;border-radius:10px;padding:0 8px}

.cards{display:flex;flex-direction:column;gap:12px}
.card{display:flex;flex-direction:column;gap:4px;background:#fff;border:2.5px solid var(--ink);border-radius:16px;padding:14px 16px;color:var(--ink);text-decoration:none;box-shadow:4px 4px 0 var(--ink)}
.card .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.card .t{font-size:16px;font-weight:800;line-height:1.45}
.card .d{font-size:13px;color:#444;line-height:1.7}
.card .n{font-size:11px;font-weight:800;border:2px solid var(--ink);border-radius:10px;padding:0 8px;background:var(--yellow-soft);white-space:nowrap}
.card.soon{box-shadow:none;border-style:dashed;color:var(--sub);background:transparent}

.cta{margin-top:26px;padding:16px;border-radius:18px;background:var(--ink);color:#fff;display:flex;flex-direction:column;gap:8px}
.cta small{font-size:11px;color:#ccc}
.cta b{font-size:16px}
.cta a{min-height:52px;display:flex;align-items:center;justify-content:center;background:var(--yellow);color:var(--ink);border-radius:14px;font-weight:800;text-decoration:none}

.doc h2{font-size:17px;border-bottom:2.5px solid var(--ink);padding-bottom:4px}
.doc ul{padding-left:1.3em;margin:0 0 10px}
.doc li{margin:2px 0}
.note{font-size:13px;color:var(--sub)}
.todo{background:var(--pink-soft);border:2px dashed var(--accent);border-radius:12px;padding:10px 12px;font-size:13px}

footer.site{margin-top:30px;background:var(--yellow);border-top:3px solid var(--ink)}
footer.site .in{max-width:720px;margin:0 auto;padding:18px 16px;font-size:12px;line-height:1.8}
footer.site nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:8px;font-weight:800}
footer.site nav a{color:var(--ink)}
