@charset "utf-8";
/*****************************************************
共通
******************************************************/
.bloc + .bloc {
	margin-top: 50px;
}
div.contHead, .ttl-banner, .top-img {
	display: block!important;
}

.c-pageTitle {
	font-size: 28px;
	letter-spacing: 0;
}
.c-leadText {
	font-size: 14px;
	line-height: 2;
}

.c-howto__list {
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
}
.c-howto__item {
	width: calc((100% - 52px) / 5);
}
.c-howto__item img {
	width: 100%;
	height: auto;
}
.c-howto__list a:hover,
.c-howto__list  {
	opacity: 0.7;
}
.watch-how-link .cmn-btn.bg-red{
  margin-left: auto;
  margin-right: 10px;
}
.watch-how-link .cmn-btn.bg-red:before{
  content: "";
  display: block;
  font-family: CONDENSEicon;
  content: "ú";
  position: absolute;
  top: 8px;
  left: 14px;
  z-index: 2;
}


/* Responsive Mobile Layout */
@media screen and (max-width: 767px) {
	.bloc + .bloc {
		margin-top: 4em;
	}
	.c-pageTitle {
		margin-bottom: 1em;
	}
	.howto {
		margin-bottom: 4em;
		padding: 0 calc(27 / 750 * 100vw);
	}
	.c-howto__list {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-top: calc(32 / 750 * 100vw);
	}
	.c-howto__item {
		width: calc((100% - calc(30 / 750  * 100vw)) / 2);
	}
	.c-howto__item img {
		width: 100%;
		height: auto;
	}
	.c-howto__item:nth-child(2n) {
		margin-left: calc(30 / 750  * 100vw);
	}
	.c-howto__item:nth-child(n+3) {
		margin-top: calc(30 / 750  * 100vw);
	}
}


/*****************************************************
special/bowling
******************************************************/

.bowling-container {
	max-width: 1000px;
	margin: 0 auto;
	background: #fff;
	padding: 0;
	box-shadow: none;
	border: none;
}

/* Page Header Styles */
.c-pageTitle {
	color: #ce0004;
	font-size: 1.5rem;
	margin-bottom: 15px;
}
.c-leadText {
	font-size: 1rem;
	margin-bottom: 30px;
}

/* Utility classes */
.u-pc-only {
	display: none !important;
}
.u-sp-only {
	display: block !important;
}

@media screen and (min-width: 768px) {
	.u-pc-only {
		display: block !important;
	}
	br.u-pc-only {
		display: inline !important;
	}
	.u-sp-only {
		display: none !important;
	}
}

/* BEM: bowling-c-schedule-table */
.bowling-c-schedule-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	table-layout: fixed;
	border: none;
}

.bowling-c-schedule-table__caption {
	background-color: #222;
	color: #fff;
	text-align: left;
	padding: 12px 15px;
	font-weight: bold;
	font-size: 1.2em;
	display: flex;
	align-items: center;
}

.bowling-c-schedule-table__caption::before {
	content: "■";
	color: #e60012;
	margin-right: 10px;
}

.bowling-c-schedule-table__description {
	padding: 20px 0;
	font-size: 0.95rem;
	border-bottom: 1px solid #eee;
	margin-bottom: 20px;
}

.bowling-c-schedule-table__update-info {
	text-align: right;
	font-size: 12px;
	color: #666;
	margin-bottom: 10px;
}

/* Desktop Table Styles */
.bowling-c-schedule-table__thead {
	background-color: #f2f2f2;
	border-top: 2px solid #333;
	border-bottom: 1px solid #ccc;
}

.bowling-c-schedule-table__th {
	padding: 12px 10px;
	text-align: left;
	font-weight: normal;
	color: #333;
	border-left: none;
	border-right: none;
}
.bowling-c-schedule-table__th--date { width: 22%; }
.bowling-c-schedule-table__th--title { width: 66%; }
.bowling-c-schedule-table__th--status { width: 12%; text-align: center; }

.bowling-c-schedule-table__tr {
	border-bottom: 1px solid #ccc;
}

/* 修正：PC表示時の交互の背景色 (tbody単位で判定することで月跨ぎの整合性を確保) */
@media screen and (min-width: 768px) {
	.bowling-c-schedule-table__tbody:nth-of-type(even) .bowling-c-schedule-table__tr {
		background-color: #f9f9f9;
	}
}

.bowling-c-schedule-table__td {
	padding: 15px 10px;
	vertical-align: middle;
	border-left: none;
	border-right: none;
}

/* 共通：開催日はnormal */
.bowling-c-schedule-table__td[data-label="開催日"] {
	font-weight: normal;
}

.bowling-c-schedule-table__td--center {
	text-align: center;
}

/* 大会名とバッジの並び */
.bowling-c-schedule-table__title-inner {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.bowling-c-schedule-table__tournament-name {
	flex: 1;
	font-weight: bold;
	font-size: 16px; /* PC */
}

/* 共通：放送予定ラベルはnormal */
.bowling-c-status-label {
	display: inline-block;
	font-size: 15px;
	font-weight: normal;
	letter-spacing: 0.05em;
}
.bowling-c-status-label--live {
	color: #f00;
}
.bowling-c-status-label--vtr {
	color: #2aabe2;
}

/* Category Badges */
.bowling-c-category-badge {
	display: inline-block;
	padding: 2px 10px;
	font-size: 11px;
	font-weight: bold;
	border-radius: 4px;
	color: #fff;
	white-space: nowrap;
	line-height: 1.4;
}
.bowling-c-category-badge--team { background-color: #0078d4; }
.bowling-c-category-badge--women { background-color: #d81b60; }
.bowling-c-category-badge--men { background-color: #1a237e; }
.bowling-c-category-badge--mixed { background-color: #6a1b9a; }
.bowling-c-category-badge--newcomer { background-color: #2e7d32; }

.bowling-c-schedule-table__note {
	margin-top: 15px;
	font-size: 12px;
	color: #666;
}

/* Responsive Mobile Layout */
@media screen and (max-width: 767px) {
	body {
		padding: 0;
	}
	.bowling-container {
		max-width: 100%;
	}
	.bowling-c-schedule-table__caption,
	.bowling-c-schedule-table__description,
	.bowling-c-schedule-table__update-info,
	.bowling-c-schedule-table__note {
		padding-left: 10px;
		padding-right: 10px;
	}

	/* SP：ページ見出し・リード文の調整 */
	.bloc.top-txt {
		padding-left: 10px;
		padding-right: 10px;
		line-height: 1.8;
	}
	.c-pageTitle {
		font-size: 18px;
	}
	.c-leadText {
		font-size: 14px;
	}

	.bowling-c-schedule-table {
		table-layout: auto;
	}
	.bowling-c-schedule-table__thead {
		display: none;
	}

	.bowling-c-schedule-table__tr {
		display: block;
		padding: 0 0 15px 0;
		border-bottom: 1px solid #eee;
		background-color: #fff !important;
	}

	.bowling-c-schedule-table__td {
		display: block;
		padding: 0;
		border: none;
		text-align: left;
	}

	/* SP開催日 */
	.bowling-c-schedule-table__td[data-label="開催日"] {
		background-color: #7d7dbb;
		color: #fff;
		font-weight: normal;
		padding: 6px 10px;
		font-size: 15px;
		width: 100%;
		box-sizing: border-box;
	}

	.bowling-c-schedule-table__td[data-label="大会名"] {
		padding-top: 0;
	}
	.bowling-c-schedule-table__title-inner {
		background-color: #f1f1f1;
		padding: 8px 10px;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		box-sizing: border-box;
		min-height: auto; /* 最低高さ設定を解除 */
	}
	/* SP大会名：18px / line-height: 1.4 */
	.bowling-c-schedule-table__tournament-name {
		font-size: 18px; 
		line-height: 1.4;
		background-color: transparent;
		padding: 0;
		display: block;
	}
	.bowling-c-category-badge {
		margin-left: 10px;
	}

	/* SP会場名：14px */
	.bowling-c-schedule-table__td[data-label="大会名"] small {
		display: block;
		font-weight: normal;
		color: #666;
		margin-top: 8px;
		font-size: 14px;
		padding: 0 10px;
	}

	.bowling-c-schedule-table__td[data-label="放送予定"] {
		padding: 5px 10px 0 20px;
	}

	.bowling-c-schedule-table__tr--month {
		display: block;
		background-color: #fff !important;
		border: none;
		margin-top: 25px;
		margin-bottom: 5px;
		padding: 0 10px;
	}
	.bowling-c-schedule-table__td--month {
		display: block;
		padding: 0;
		font-size: 18px;
		font-weight: bold;
		color: #c00;
	}
}

@media screen and (min-width: 768px) {
	.bowling-c-schedule-table__tr--month {
		display: none;
	}
}