/* header
--------------------------------------------------*/
header {
	height: 60px;
	background: url(../images/bg.png) left center;
}

/* contents
-------------------------------------------------*/
/* 大会リスト */
.note {
	width: 98%;
	margin: 20px auto;
}
.note {
	width: 98%;
	margin: 20px auto;
}
.mainlist {
	width: 95% !important;
}
.mainlist li {
	position: relative;
	display: flex;
	align-items: center;
	background: linear-gradient(#fefefe, #eee);
	padding: 5px 15px;
	font-size: 0.9em;
	color: #333;
	font-weight: bold;
}
.mainlist li.ttl {
	background: #3943d7;
	background: linear-gradient(#7078df, #3943d7);
	color: #fff;
	text-shadow: 0 1px 0 #333;
}
.mainlist li[data-link] {
	padding: 0;
}
.mainlist li[data-link]::before {
	position: absolute;
	top: 0;
	right: 15px;
	bottom: 0;
	content: "";
	width: 18px;
	height: 18px;
	background: #888;
	border-radius: 50%;
	margin: auto;
}
.mainlist li[data-link]::after {
	position: absolute;
	top: 0;
	right: 21px;
	bottom: 0;
	content: "";
	width: 5px;
	height: 5px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
	margin: auto;
}
.mainlist li[data-link]:hover {
	background: linear-gradient(#fefefe, #ececec 1px, #dadada);
	text-shadow: 0 1px 1px #eee;
}
.mainlist li[data-link] a,
.mainlist li[data-link] a:hover {
	background: none;
	padding: 8px 15px;
}
.mainlist li[data-link] a::before {
	display: none;
}
.mainlist li[data-link] a::after {
	position: relative;
	left: 10px;
	right: 0;
	border: none;
	width: auto;
	height: 100%;
	margin: 0;
	transform: none;
}

/* 競技リスト */
h2 {
	margin: 5px auto;
	text-align: center;
}
.date {
	margin: 10px auto;
	text-align: center;
	color: #009F9B;
	font-weight: bold;
}
.date::before {
	content: "大会期間：";
}
.menu-ttl {
	overflow: hidden;
	width: 98%;
	background: #f2f2f2;
	background: linear-gradient(#fefefe, #f2f2f2);
	border: 1px solid #ccc;
	border-radius: 10px;
	box-shadow: 0  0 2px rgba(30,30,30,0.3);
	margin: 0 auto;
	padding: 12px 10px;
	text-align: left;
	font-size: 0.95em;
	color: #333;
	font-weight: bold;
	text-shadow: 0 1px 0 #eee;
}
.menu-ttl.date-ttl {
	background: #3943d7;
	background: linear-gradient(#7078df, #3943d7);
	color: #fff;
	text-shadow: 0 1px 0 #333;
}
.menu {
	overflow: hidden;
	width: 98%;
	margin: auto;
	font-size: 0.95em;
}
.parent-menu {
	width: 95% !important;
}
.parent-menu li {
	position: relative;
	display: flex;
	align-items: center;
	background: linear-gradient(#fefefe, #eee);
	padding: 2px 15px;
	color: #333;
	font-weight: bold;
}
.parent-menu li[data-link] {
	padding: 0;
}
.parent-menu li[data-link]::before {
	position: absolute;
	top: 0;
	right: 15px;
	bottom: 0;
	content: "";
	width: 18px;
	height: 18px;
	background: #888;
	border-radius: 50%;
	margin: auto;
}
.parent-menu li[data-link]::after {
	position: absolute;
	top: 0;
	right: 21px;
	bottom: 0;
	content: "";
	width: 5px;
	height: 5px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
	margin: auto;
}
.parent-menu li[data-link]:hover {
	background: linear-gradient(#fefefe, #ececec 1px, #dadada);
	text-shadow: 0 1px 1px #eee;
}
.parent-menu li[data-link] a,
.parent-menu li[data-link] a:hover {
	background: none;
	padding-left: 15px;
}
.parent-menu li[data-link] a::before {
	display: none;
}
.parent-menu li[data-link] a::after {
	position: relative;
	left: 10px;
	right: 0;
	border: none;
	width: auto;
	height: 100%;
	margin: 0;
	transform: none;
}
.parent-menu li[data-link="start"] a::after {
	content: "スタートリスト";
}
.parent-menu li[data-link="result"] a::after {
	content: "リザルト";
}
.parent-menu li[data-link="pdf"] a::after {
	content: "（PDF）";
}
.menu .menu-ttl {
	margin: 20px auto;
}
.menu {
	display: none;
}
.parent-menu {
	display: none;
}
button.back {
	background: #3943d7;
	background: linear-gradient(#7078df, #3943d7);
	border: 1px solid #1418a1 !important;
	border-radius: 16px !important;
	height: 44px;
	font-size: 0.95em;
	color: #fff !important;
	text-shadow: 0 1px 0 rgba(0,0,0,0.8);
}
button.back:hover {
	background: #7078df;
	background: linear-gradient(#3943d7, #7078df);
}
a.back {
	display: block;
	background: #3943d7;
	background: linear-gradient(#7078df, #3943d7);
	border: 1px solid #1418a1 !important;
	border-radius: 16px !important;
	height: 44px;
	font-size: 0.95em;
	color: #fff !important;
	text-shadow: 0 1px 0 rgba(0,0,0,0.8);
}
a.back:hover {
	background: #7078df;
	background: linear-gradient(#3943d7, #7078df);
}


/* 競技リザルト --------------------------*/
.result-data {
	font-size: 0.95em;
}
.result-data>dt {
	background: #3741d7;
	background-image: linear-gradient(#727ae0, #3741d7);
	border: none !important;
	border-radius: 10px 10px 0 0 !important;
	padding: 6px 10px;
	font-size: 0.9em;
	color: #fff;
	font-weight: bold;
}
.result-data>dd {
	border-bottom: 1px solid #ccc;
	padding: 10px;
	min-height: 70px;
	font-size: 0.9em;
}
.result-data>dd:first-of-type {
	border-top: none !important;
	border-radius: 0 !important;
}
.result-data .rank {
	font-weight: bold;
}
.result-data .rank::before {
	content: "【";
}
.result-data .rank::after {
	content: "】";
}
.result-data .rank span::before {
	content: "第 ";
}
.result-data .rank span::after {
	content: " 位";
}
.result-data .syear::before {
	content: "（";
}
.result-data .syear::after {
	content: "）";
}
.result-data [data-name]::before {
	display: inline-block;
	content: attr(data-name);
	width: 100px;
	margin-right: 15px;
	text-align: right;
}
.result-data .total::before {
	width: 110px;
}
.result-data .detail {
	width: 98%;
	border-top: 1px solid #ccc;
	margin: 10px auto;
	padding: 10px;
}
.result-data .detail .detail-ttl {
	margin-bottom: 5px;
	font-weight: bold;
}
.result-data table {
	border: 1px solid #D7D7FF;
	text-align: center;
	font-size: 0.9em;
}
.result-data table th,
.result-data table td {
	border: 1px solid #E8E8FF;
	padding: 5px;
}
.result-data table th {
	background: #b0b0ff;
	color: #fff;
}


/* 2026/02/01 追記  */
.result-data .ss-rank {
	font-weight: bold;
}
.result-data .ss-rank span::before {
	content: "第 ";
}
.result-data .ss-rank span::after {
	content: " 位";
}


/* 検索画面 */
.search {
	padding: 25px !important;
}
.search p {
	margin-bottom: 3px;
	text-align: center;
	font-weight: bold;
}
.search input[type="text"],
.search input[type="number"],
.search input[type="tel"] {
	display: block;
	border: 1px solid #ccc;
	border-radius: 10px;
	box-shadow: 1px 1px 8px rgba(0,0,0,0.4) inset;
	width: 90%;
	min-height: 42px;
	margin: 0 auto 20px;
	padding: 5px;
	font-size: 1.1rem;
}
.search button {
	display: block;
	background: #3943d7;
	background: linear-gradient(#7078df, #3943d7);
	border: 1px solid #1418a1 !important;
	border-radius: 16px !important;
	width: 90%;
	height: 42px;
	margin: auto;
	font-size: 0.95rem;
	color: #fff !important;
	font-weight: bold;
	text-shadow: 0 1px 0 rgba(0,0,0,0.8);
}
.search button:hover {
	background: #7078df;
	background: linear-gradient(#3943d7, #7078df);
}

/* ページネーション */
.pagenation {
	width: 100%;
	margin: 10px auto;
	text-align: center;
	padding: 10px;
}
.pagenation a {
	margin: 6px;
	border: 1px solid #ccc;
	padding: 5px 10px;
}
.pagenation a:hover,
.pagenation a:active {
	border: 1px solid #B0E1C0;
	background: #CEFFE7;
}
.pagenation b {
	margin: 6px;
	border: 1px solid #97CBFF;
	background: #D2E9FF;
	padding: 5px 8px;
}
/* エラー */
.err {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: red;
}


/* カラ― --------------------------*/
.al	{ color: #00B; }	/* アルペン */
.xc	{ color: #006000; }	/* クロカン */
.sj	{ color: #ff3900; }	/* ジャンプ */
.cb	{ color: #800080; }	/* コンバインド */
.rl	{ color: #006000; }	/* リレー */
.ba	{ color: #800080; }	/* バイアスロン */

/* footer
-------------------------------------------------*/
footer {
	background: #3943d7;
	background: linear-gradient(#7078df, #3943d7);
	border: 1px solid #1418a1;
}
