@charset "UTF-8";


/* グリッドレイアウト（4カラム想定） */
.event-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 30px;
}

#calendardet .event-grid {
	border-bottom: 1px solid var(--color-bk);
	padding-bottom: 40px;
	margin-bottom: 80px;
}

.event-card {
	width: calc(25% - 15px);
	margin-bottom: 30px;
	display: flex;
	flex-direction: column;
}
.event-img {
	margin-bottom: 10px;
}
.event-img img {
	border-radius: 10px;
	/* 追加：比率固定と切り抜き */
	width: 100%;
	aspect-ratio: 3 / 2; /* 16/9や3/2など、元画像に合わせて調整 */
	object-fit: cover;
}

/* 各要素のフォントサイズ指定 */
.cat-label {
	font-size: var(--fz-13);
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	margin-bottom: 4px;
}

.cat-label.subject_session {
	background: #69b99f;
	color: var(--color-wh);
}
.cat-label.experience_session {
	background: #1c96d4;
	color: var(--color-wh);
}
.cat-label.night_session {
	background: #1d4da0;
	color: var(--color-wh);
}
.cat-label.exam_advice {
	background: #e83820;
	color: var(--color-wh);
}
.cat-label.weekend_session {
	background: #ed8000;
	color: var(--color-wh);
}

.event-date {
	font-size: var(--fz-18);
	font-weight: var(--fw-bold);
	color: var(--color-bk);
	padding-bottom: 0;
}
.event-date span { font-size: var(--fz-14); margin-left: 5px; }



.event-title {
	font-size: var(--fz-20);
	font-weight: var(--fw-bold);
	line-height: 1.4;
}
.listdesc {
	font-size: var(--fz-16);
	font-weight: var(--fw-medium);
	line-height: 1.4;
	margin-bottom: 15px;
}

/* ボタン */
.event-btns {
	display: flex;
	gap: 10px;
}
.btn-detail, .btn-apply, .btn-full {
	flex: 1;
	text-align: center;
	padding: 6px 0;
	border-radius: 20px;
	font-size: var(--fz-13);
	text-decoration: none;
}
.btn-detail { border: 1px solid var(--color-bk); color: var(--color-bk); }
.btn-apply { background: var(--color-gray); color: var(--color-wh); }
.btn-full { background: var(--color-gray2); color: var(--color-gray); cursor: default; }






.subject_session { color: #69b99f;}
.experience_session { color: #1c96d4;}
.night_session { color: #1d4da0;}
.exam_advice { color: #e83820;}
.weekend_session { color: #ed8000;}


#calendardet {
	margin-bottom: 40px;
}


#eventlist .btn_all a {
	margin: 60px auto 20px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 90%;
	max-width: 460px;
	height: 57px;
	background-color: var(--color-wh);
	border: 1px solid var(--color-bk);
	border-radius: 50px;
	text-decoration: none;
	color: var(--color-bk);
	font-weight: var(--fw-bold);
	font-size: var(--fz-20);
	line-height: 1.3;
	padding: 0 50px 0 20px;
	transition: background-color 0.3s;
	margin-bottom: 20px;
}

#eventlist .btn_all a::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 55px;
	background: var(--color-org);
	border-radius: 50%;
	background-image: url(../../images/common/icon_arrow.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 30%;
}
#eventlist .btn_all a:hover {
	background-color: var(--color-beg5);
}


/*/////////////////// SP ///////////////////*/
/*/////////////////// SP ///////////////////*/
/*/////////////////// SP ///////////////////*/
/*/////////////////// SP ///////////////////*/
/*/////////////////// SP ///////////////////*/
@media screen and (max-width: 768px) {

	.event-card { width: calc(50% - 10px); }








}
