/* legacy.cssの後に読み込む上書き調整 */

/* 授業内容カード: 写真の高さを全カード統一 */
.itemid-317 .column03 .inner .image img { width:100%; height:140px; object-fit:cover; }

/* 授業内容カード: ボタンを通常フローに戻し、カード下端に揃える（文章との重なり防止） */
.itemid-317 .column03 .inner { display:flex; flex-direction:column; }
.itemid-317 .column03 .inner ul { position:static; margin:auto 15px 14px; padding-top:12px; text-align:center; transform:none; left:auto; bottom:auto; }
main .itemid-317 .column03 .inner ul { list-style:none; padding-left:0; margin-bottom:14px; }
main .itemid-317 .column03 .inner ul li { list-style:none; }

/* スマホの表は横スクロールで逃がす */
@media (max-width:768px) { main table { display:block; overflow-x:auto; } }

/* 動画iframeのはみ出し防止 */
main iframe { max-width:100%; }

/* itemid背景帯の柄を帯内に封じ込め（全ページ共通ガード） */
[class*="itemid-"] { position:relative; }
[class*="itemid-"] > .inner-w, [class*="itemid-"] > * { position:relative; z-index:1; }

/* ページタイトル帯の文字を確実に白・大きく（汎用見出しスタイルの打ち消し） */
main .page-band h2 { color:#fff !important; font-size:38px !important; border:0 !important; padding:0 !important; margin:0 !important; }
@media (max-width:768px) { main .page-band h2 { font-size:23px !important; } }

/* column02はフレックスで確実に2カラム（改行由来の折返し防止） */
.column02 { display:flex; flex-wrap:wrap; align-items:flex-start; }
@media (max-width:568px) { .column02 { display:block; } }

/* プログラミングコースの動画一覧を3列に */
.itemid-307 .column03 .inner, .itemid-308 .column03 .inner { width:32%; margin-right:2%; }
.itemid-307 .column03 .inner:nth-child(3n), .itemid-308 .column03 .inner:nth-child(3n) { margin-right:0; }
.itemid-307 .column03 iframe, .itemid-308 .column03 iframe { width:100%; height:auto; aspect-ratio:16/9; }
@media (max-width:568px) { .itemid-307 .column03 .inner, .itemid-308 .column03 .inner { width:100%; margin-right:0; } }

/* Q&A: 開閉できるように初期は閉、activeで開く */
.box_a { display:none; }
.midashi_q.active + .box_a, .box_a.open { display:block; }

/* カードのボタン画像と押し込み影のズレ解消 */
.itemid-317 .column03 .inner ul li a { line-height:0; display:inline-block; max-width:100%; }
.itemid-317 .column03 .inner ul li a img { display:block; width:auto; max-width:100%; height:auto; }

/* タイトル帯と最初のコンテンツの間に余白（全下層ページ共通） */
main .page-band + * { padding-top:46px; }
@media (max-width:768px) { main .page-band + * { padding-top:30px; } }

/* 各セクション帯の上部にも余白（見出しが詰まらないように・全ページ共通） */
main [class*="itemid-"] { padding-top:44px; }
@media (max-width:768px) { main [class*="itemid-"] { padding-top:28px; } }

/* 影が無いボタン類に影を追加 */
.btn01, .btn02, .btn03, .linkBtn a { box-shadow:0 4px 12px rgba(0,0,0,.22); }
