@charset "utf8";

/* ===== 動画一覧 共通スタイル（会員用・セミナー用で共有） ===== */

/* ---- ロック状態（未ログイン／権限なし） ---- */
.video-list__locked {
    text-align: center;
    background-color: rgba(199, 199, 199, 0.3);
    margin-top: 80px;
	margin-bottom: 100px;
	padding: 50px 50px 58px 50px;
}

.gp__page__child .video-list__locked-msg {
	font-weight: 700;
	font-size: 24px;
	text-align: center;
    letter-spacing: 0;
    line-height: 153%;
    color: #333333;
	margin-top: 0;
}

.video-list__locked-sub {
	font-size: 14px;
	color: #888;
	margin: 0;
}

body .wp__single_content .video-list__login-btn {
	width: 100%;
    max-width: 352px;
	display: inline-block !important;
    color: #fff !important;
	text-decoration: none !important;
    background-color: #42210b;
    border: 0;
    padding: 21px 0;
    font-weight: 600;
	margin-top: 15px;
    margin-bottom: 0;
    background-image: url(../img/arrow_right.svg);
    background-size: 8px !important;
    background-repeat: no-repeat;
    background-position: bottom 50% right 20px;
    cursor: pointer;
	transition: ease all 0.35s !important;
}

body .wp__single_content .video-list__login-btn:hover{
	color: #fff !important;
	opacity: 1;
	background-color: #ff3ae1 !important;
}

/* ---- 空状態 ---- */
.video-list__empty {
	max-width: 1040px;
	margin: 40px auto 100px;
	padding: 32px 24px;
	text-align: center;
	color: #666;
	font-size: 15px;
	background: #eee;
}

.video-list__empty p{
	text-align: center;
}

/* ---- グリッド ---- */
.video-list__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
@media (max-width: 1024px) {
	.video-list__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}
@media (max-width: 600px) {
	.video-list__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* ---- カード ---- */
.video-list__card {
	background: #fff;
	border: 1px solid #e1e6ee;
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.2s, transform 0.2s;
}
.video-list__card:not(.video-list__card--disabled):hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
}
.video-list__card--disabled {
	pointer-events: none;
}
.video-list__card-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

/* ---- サムネイル ---- */
.video-list__thumb {
	position: relative;
	aspect-ratio: 16 / 10;
	background: #e9ecf0;
	overflow: hidden;
}
.video-list__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.video-list__thumb-placeholder {
	width: 100%;
	height: 100%;
	background: #d0d5dd;
}

/* ---- バッジ（公開前・公開終了） ---- */
.video-list__badge {
	position: absolute;
	top: 8px;
	right: 8px;
	padding: 3px 10px;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	border-radius: 3px;
	letter-spacing: 0.04em;
}
.video-list__badge--before {
	background: #c07c2a;
}
.video-list__badge--after {
	background: #e4314e;
}

/* ---- カード本文 ---- */
.video-list__body {
	padding: 14px 16px 18px;
}

/* 日付＋カテゴリー（横並び） */
.video-list__header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

/* カテゴリーラベル */
.video-list__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}
.video-list__cat {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	padding: 2px 8px;
	border-radius: 3px;
	line-height: 1.5;
}

/* タイトル */
.video-list__title {
	font-size: 15px;
	font-weight: 700;
	color: #1f3964;
	margin: 0 0 8px;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.wp__single_content h3.video-list__title{
	padding-left: 0;
	padding-bottom: 8px;
	margin-top: 20px;
	margin-bottom: 15px;
}

/* 日付 */
.video-list__date {
	font-size: 13px;
	color: #888;
	white-space: nowrap;
}

/* 視聴期間 */
.video-list__meta {
	margin-top: 6px;
}
.video-list__period-label {
	display: block;
	font-size: 11px;
	color: #888;
	margin-bottom: 4px;
}
.video-list__period {
	font-size: 12px;
	color: #ffffff;
    background-color: #e4314e;
    padding: 10px 15px;
    border-radius: 5px;
}

/* 抜粋 */
.video-list__excerpt {
	font-size: 13px;
	color: #666;
	line-height: 1.6;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ---- ページネーション ---- */
.video-list__pagination {
	margin-top: 32px;
	text-align: center;
}
.video-list__pagination .page-numbers {
	display: inline-block;
	min-width: 36px;
	height: 36px;
	line-height: 36px;
	margin: 0 3px;
	padding: 0 8px;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
	color: #1f3964;
	border: 1px solid #e1e6ee;
	border-radius: 4px;
	transition: background 0.15s, color 0.15s;
}
.video-list__pagination .page-numbers.current {
	background: #1f3964;
	color: #fff;
	border-color: #1f3964;
}
.video-list__pagination .page-numbers:hover:not(.current) {
	background: #f0f4f8;
}

.gp__page__child p.video-list__locked-sub{
	text-align: center;
	margin-bottom: 0;
}

@media (max-width: 900px) {
	.video-list__locked {
		margin-top: 50px;
		padding: 35px 15px 38px 15px;
	}

	.gp__page__child .video-list__locked-msg{
		font-size: 19px;
		padding-right: 0;
	}
}

/* ===== 0-2 絞り込み検索フォーム（テーマCSSへの微調整） ===== */
.box_form_search.video-search {
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 80px;
	margin-top: 0;
}

.box_form_search.video-search ul {
	margin-left: 0;
}

.box_form_search.video-search li {
	list-style: none;
}

.box_form_search.video-search .search-submit-custom {
	color: #ffffff !important;
}


.video-list__locked--login {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    align-items: center;
}

@media (max-width: 767px) {
	.video-list__locked--login {
       gap: 0;
		flex-direction: column;
	   flex-wrap: wrap;
	}
}