
/* --------------------------------------------------

	主要国 WEBサイトの歩き方
	「レース結果の調べ方」「競走馬プロフィールの調べ方」共通

-------------------------------------------------- */

.body_wrapper { overflow: visible; }


strong { font-weight: bold; }
strong.red { color: #c00; }


.body_wrapper .tab > ul > li { width: 50%; }


/* - ヘッダータイトルブロック
------------------------------------------------------------ */
div.header_block {
	display: table;
	width: 100%;
	table-layout: fixed;
}

div.header_block > div {
	display: table-cell;
	vertical-align: middle;
}

div.header_block > div.img {
	width: 402px;
	padding-right: 30px;
	width: 432px;
}

div.header_block > div.img > p { display: block; }
div.header_block > div.img > p > img { vertical-align: top; }

div.header_block > div.txt { padding-left: 10px; }

div.header_block > div.txt > div.cap { display: table; }

div.header_block > div.txt > div.cap > span {
	display: table-cell;
	vertical-align: middle;
}


div.header_block > div.txt > div.cap > span.txt > span.cap {
	background-color: #4e4e4e;
	color: #fff;
	padding: 4px 15px 4px 10px;
	display: inline-block;
	border-radius: 3px;
	margin-bottom: 4px;
	font-size: 1.2rem;
	border-radius: 0 2em 2em 0;
}

div.header_block > div.txt > div.cap > span.flag {
	padding: 10px;
	vertical-align: middle;
}

div.header_block > div.txt > div.cap > span.flag > img {
	border: 1px solid #ddd;
	max-width: 40px;
}

div.header_block > div.txt > div.cap > span.flag > img + img { margin-left: 5px; }


div.header_block > div.txt > h2 {
	font-size: 2.4rem;
	font-weight: bold;
}

div.header_block > div.txt > h2 > span {
	font-size: 1.4rem;
	font-weight: normal;
	display: block;
	margin-top: 4px;
}

div.header_block > div.txt p.url {
	background-color: #ebebeb;
	padding: 8px;
	margin-top: 20px;
	border-radius: 3px;
}

div.header_block > div.txt p.url > a {
	background-color: #fff;
	padding: 10px 15px;
	text-decoration: none;
	box-shadow: 0 1px 4px rgba(0,0,0,0.1);
	border-radius: 3px;
	display: block;
	color: #333;
	font-size: 1.3rem;
}

div.header_block > div.txt p.url > a:hover { background-color: #fff8e1; }

div.header_block > div.txt p.url > a i {
	margin-right: 8px;
	color: #0069a7;
}



/* --- サイトリンク --- */
div.header_block > div.txt div.link {
	background-color: #ebebeb;
	padding: 8px;
	margin-top: 20px;
	border-radius: 3px;
}

div.header_block > div.txt div.link > a {
	background-color: #fff;
	padding: 10px 15px;
	text-decoration: none;
	box-shadow: 0 1px 4px rgba(0,0,0,0.1);
	border-radius: 3px;
	display: block;
	color: #333;
	font-size: 1.3rem;
}

.no-touch div.header_block > div.txt div.link > a:hover,
div.header_block > div.txt div.link > a:focus {
	background-color: #fff8e1;
}

div.header_block > div.txt div.link > a > span.inner { display: table; }

div.header_block > div.txt div.link > a > span.inner > span {
	display: table-cell;
	vertical-align: middle;
}

div.header_block > div.txt div.link > a > span.inner > span.icon { padding-right: 5px; }
div.header_block > div.txt div.link > a > span.inner > span.icon i { color: #0069a7; }
div.header_block > div.txt div.link > a > span.inner > span.txt { word-break: break-all; }



/* - ステップユニット
------------------------------------------------------------ */

ul.step_list:after { content: ''; display: block; clear: both; }

ul.step_list > li {
	width: 50%;
	font-size: 1.3rem;
	vertical-align: top;
	padding: 10px 0;
	box-sizing: border-box;
	float: left;
}

ul.step_list > li:nth-child(odd){ padding-right: 10px; }
ul.step_list > li:nth-child(even){ padding-left: 10px; }

ul.step_list > li .step_unit { position: relative; }

ul.step_list > li .step_unit > p.step {
	display: inline-block;
	background-color: #4e4e4e;
	color: #fff;
	padding: 4px 12px 4px 10px;
	font-size: 1.4rem;
	font-weight: bold;
	position: absolute;
	left: 0;
	top: 0;
	background-color: rgba(78,78,78,0.9);
	background-color: rgba(51,51,51,0.9);
}

ul.step_list > li .step_unit > p > span {
	font-size: 1rem;
	margin-right: 0.4em;
}


ul.step_list > li .step_unit > div.inner { margin-top: 10px; }


ul.step_list > li .step_unit > div.inner > div.img > p {
	border: 1px solid #ddd;
	padding: 10px;
}

ul.step_list > li .step_unit > div.inner > div.txt { margin-top: 5px; }

ul.step_list > li .step_unit > div.inner > div.txt span.step {
	background-color: #4e4e4e;
	color: #fff;
	padding: 4px 12px 4px 8px;
	font-size: 1.3rem;
	font-weight: bold;
	border-radius: 0 2em 2em 0;
	margin-right: 0.8em;
}

ul.step_list > li .step_unit > div.inner > div.txt span.step > span {
	font-size: 1rem;
	margin-right: 0.4em;
	font-weight: normal;
}





/* - 【レース結果・競走馬プロフィール 解説】ブロック
------------------------------------------------------------ */

div.detail_block > h4 {
	color: #fff;
	background-color: #555;
}

div.detail_block > h4 > span.inner { display: table; }

div.detail_block > h4 > span.inner > span {
	display: table-cell;
	vertical-align: middle;
	padding: 10px;
}

div.detail_block > h4 > span.inner > span.cap {
	font-weight: bold;
	font-size: 1.3rem;
}

div.detail_block > h4 > span.inner > span.txt {
	font-size: 1.5rem;
	font-weight: bold;
	padding: 10px 0;
}

div.detail_block > h4 > span.inner > span.txt > span.date { font-size: 1.2rem; }

div.detail_block > .content {
	border: 1px solid #ddd;
	border-top: none;
	padding: 20px;
}



div.detail_block .unit > h5 {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.5;
	padding: 5px 0;
	background: linear-gradient(transparent 60%, #FAE438 40%);
	background: linear-gradient(transparent 60%, #F0F4C3 40%);
	background: linear-gradient(transparent 60%, #FFECB3 40%);
	font-size: 1.8rem;
	color: #555;
}


div.detail_block .unit > p.img {
	border: 1px solid #ddd;
	padding: 10px;
	text-align: center;
}


div.detail_block .unit div.ex > h6 {
	border-bottom: 1px dashed #ccc;
	padding-bottom: 5px;
	font-weight: bold;
	color: #555;
}


span.nearlyEq { margin: 0 0.2em; }/* ----- nearly equal ----- */



/* --- 画像＋テキスト レイアウト --- */
div.detail_block .img_line {
	display: table;
	width: 100%;
	margin-top: 20px;
}

div.detail_block .img_line > div {
	display: table-cell;
	vertical-align: top;
}

div.detail_block .img_line.result > div.img { width: 540px; }
div.detail_block .img_line.movie > div.img { width: 540px; }
div.detail_block .img_line.dividend > div.img { width: 440px; }


div.detail_block .img_line > div.img > p.img {
	padding: 9px;
	border: 1px solid #ddd;
	text-align: center;
}

div.detail_block .img_line > div.txt { padding-left: 20px; }

div.detail_block .img_line > div.txt table { width: 100%; }

div.detail_block .img_line > div.txt table caption {
	background-color: #0069a7;
	color: #fff;
	padding: 10px;
	font-weight: bold;
	font-size: 1.3rem;
}

div.detail_block .img_line > div.txt table th,
div.detail_block .img_line > div.txt table td {
	border: 1px solid #ddd;
	font-size: 1.3rem;
	padding: 5px 10px;
	vertical-align: middle;
}

div.detail_block .img_line > div.txt table thead th {
	background-color: #f3f3f3;
	font-weight: bold;
}

div.detail_block .img_line > div.txt table thead th { font-size: 1.2rem; }

div.detail_block .img_line.dividend > div.txt table thead th:nth-child(1){
	white-space: nowrap;
}

div.detail_block .img_line > div.txt table tbody th {
	vertical-align: middle;
}



/* --- レイアウト --- */
div.detail_block div.grid {
	display: table;
	width: 100%;
}

div.detail_block div.grid > div {
	display: table-cell;
	width: 50%;
	vertical-align: top;
}

div.detail_block div.grid > div.left {
	padding-right: 10px;
	width: 55%;
}

div.detail_block div.grid > div.right {
	padding-left: 10px;
	width: 45%;
}





/* - 2024年10月追記
------------------------------------------------------------ */

/* --- ステップユニット --- */
:root {
	--cardSize: 312px;
	--imgSize: 540px;
}

ul.step_list.step_list_grid {
	display: grid;
	justify-content: center;
	grid: auto / repeat(auto-fit, minmax(var(--cardSize), 1fr));
	gap: 20px;
}

ul.step_list.step_list_grid > li {
	width: auto;
    padding: 0;

	& img {
		width: 438px;
		max-width: 100%;
	}
}

ul.step_list.step_list_grid > li .step_unit > div.inner {
    margin-top: 0;
}

/* --- レース結果  --- */

div.detail_block .img_line.img_line_grid {
	display: grid;
	justify-content: center;
	grid: auto /  minmax(var(--imgSize), 1fr) 1fr;
	gap: 20px;
}

div.detail_block .img_line.img_line_grid>div {
	display: block;
}

div.detail_block .img_line.img_line_grid>div.txt {
	padding-inline: 0;
}


.img_line_grid table.items tbody tr th{
	font-weight: bold;
}

.img_line_grid table.items tbody tr th span {
	background-color: #c50813;
	color: #fff;
	padding: 3px 5px;
	display: inline-block;
	min-width: 30px;
	text-align: center;
}

.img_line_grid table.items tbody tr td span {
	font-size: 1.1rem;
}



/* ------------------------------------------------------------

	979px以下

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

	/* --- 共通レイアウト --- */
	.body_wrapper {
		padding: 0 10px;
	}


	/* - ヘッダーブロック
	---------------------------------------------------------------------- */

	div.header_block>div.img {
		width: auto;
		padding-right: 10px;
	}

	div.header_block>div.txt>h2 {
		font-size: 2rem;
	}

	div.header_block>div.txt p.url>a {
		font-size: 1.2rem;
	}

	/* --- サイトリンク --- */
	div.header_block>div.txt div.link>a>span.inner>span.txt {
		font-size: 1.2rem;
	}

	/* - 2024年10月追記
	------------------------------------------------------------ */
	div.detail_block .img_line.img_line_grid {
		grid: auto /  1fr;
	}
}



/* ------------------------------------------------------------

	767px以下

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

	/* - ヘッダーブロック
	---------------------------------------------------------------------- */
	div.header_block {
		display: block;
	}

	div.header_block>div {
		display: block;
	}

	div.header_block>div.img {
		text-align: center;
		width: auto;
		padding: 0;
	}

	div.header_block>div.txt {
		padding: 0;
		margin: 0 auto;
		margin-top: 20px;
	}

	div.header_block>div.txt>h2 {
		font-size: 2.2rem;
	}

	div.header_block>div.txt p.url>a {
		word-break: break-all;
	}


	/* ----- レース結果の調べ方 ----- */
	ul.step_list>li {
		float: none;
		width: auto;
		display: block;
	}

	ul.step_list>li:nth-child(even) {
		padding-left: 0;
	}

	ul.step_list>li:nth-child(odd) {
		padding-right: 0;
	}

	ul.step_list>li .step_unit>div.inner>div.img>p {
		text-align: center;
	}


	/* ----- レース結果 解説 ブロック ----- */
	div.detail_block .img_line {
		display: block;
	}

	div.detail_block .img_line>div {
		display: block;
	}

	div.detail_block .img_line>div.txt {
		padding-left: 0;
		margin-top: 20px;
	}

	div.detail_block .img_line.result>div.img,
	div.detail_block .img_line.dividend>div.img {
		width: auto;
	}


	/* --- レイアウト --- */
	div.detail_block div.grid {
		display: block;
	}

	div.detail_block div.grid>div {
		display: block;
		width: auto;
	}

	div.detail_block div.grid>div.left {
		width: auto;
		padding: 0;
	}

	div.detail_block div.grid>div.right {
		width: auto;
		padding: 0;
		margin-top: 30px;
	}


	/* ----- レース映像 ----- */
}


@media screen and (max-width : 479px) {

	div.header_block>div.txt div.link>a>span.inner>span.icon {
		padding-right: 10px;
	}


	div.detail_block .unit>h5 {
		font-size: 1.6rem;
	}
}

@media screen and (max-width : 360px) {

	div.detail_block>h4>span.inner {
		display: block;
		padding: 10px;
	}

	div.detail_block>h4>span.inner>span {
		display: block;
		padding: 0;
		text-align: left;
	}

	div.detail_block>h4>span.inner>span.cap {
		padding: 0;
	}

	div.detail_block>h4>span.inner>span.txt {
		padding: 0;
		margin-top: 2px;
	}

}


