@charset "utf-8";

/* ======================================================
	メインカラー：#e95283;
	サブカラー：#f097ad;
	ベースカラー：#f9d5de;
	アクセントカラー1：#2aabe4;
	アクセントカラー2：#bf282d;
	テキストカラー：#333;
====================================================== */

/* ------------------------------------------------------
	基本設定
------------------------------------------------------ */
html {
	scroll-behavior: smooth;
}

:root {
	--main-color: #e95283;
	--sub-color: #f097ad;
	--base-color: #f9d5de;
	--accent-color1: #2aabe4;
	--accent-color2: #bf282d;
}

body {
	color: #333;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

hr {
	box-sizing: content-box;
	margin-top: 1rem;
	margin-bottom: 0;
	height: 0;
	overflow: visible;
	border: 0;
	border-top: 1px solid rgba(0, 0, 0, .2);
}
a {
	color: var(--accent-color1);
}
em {
	font-style: normal;
	font-weight: 700;
}
mark {
	background: #c5f2f9;
}

.marker {
	background: linear-gradient(transparent 50%, #9ff 0%);
}
.small {
	font-size: 80%;
}

::selection {
	background-color: var(--base-color);
	color: #fff;
}

/* sticky footer */
body,
#global-wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
#global-footer {
	margin-top: auto;
}



/* ======================================================
	ヘッダー
====================================================== */
.header {
	margin-bottom: 0;
	min-height: 1%; /* ie */
}

/* ページ内メニュー
------------------------------------------------------ */
#page-navbar {
	background: var(--sub-color);
}

/* サイトロゴ */
.site-title {
	margin: 0;
	font-size: 1em;
}
.site-title a {
	display: block;
	padding: .5em;
}
@media (min-width: 769px) {
	.site-title {
		margin: 0 auto;
		width: 100%;
		max-width: 1160px;
	}
	.site-title-logo {
		max-width: 50%;
	}
}
@media (min-width: 1161px) {
	.site-title a {
		padding-left: 0;
	}
}


/* ページメニューリスト
------------------------------------------------------ */
.page-nav {
	width: 100%;
	background: linear-gradient(45deg, var(--main-color), #fa7357);
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	text-align: center;
}
.page-nav-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0 auto;
	color: #fff;
	font-size: .9375rem;
}
.page-nav-item {
	width: calc(100% / 3);
}
.page-nav-item a {
	display: block;
	padding: 1.2em .5em;
	width: 100%;
	background: rgba(255, 255, 255, 0);
	color: #fff;
	line-height: 1.3;
	transition: all 0.3s;
}
.page-nav-item a:hover {
	background: rgba(255, 255, 255, .2);
	transition: all 0.3s;
}
@media (min-width: 769px) {
	.page-nav-menu {
		flex-wrap: nowrap;
		width: 100%;
		max-width: 1160px;
		border-left: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	.page-nav-item {
		width: 20%;
	}
}

/* nav current */
#page-home .page-nav-item:first-child,
#page-about .page-nav-item:nth-child(2),
#page-team .page-nav-item:nth-child(3),
#page-course .page-nav-item:nth-child(4),
#page-record .page-nav-item:last-child,
#page-record-single .page-nav-item:last-child {
	background: rgba(233, 200, 82, .6);
	box-shadow: 0px 0px 0px 1px rgba(252, 83, 48, 1) inset;
}


/* パンくずリスト
------------------------------------------------------ */
.breadcrumb-list {
	width: 100%;
	background-color: var(--base-color);
}
.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	padding: .5rem;
	color: #333;
	font-size: .75rem;
}
.breadcrumb li + li {
	padding-left: .5rem;
}
.breadcrumb li + li::before {
	display: inline-block;
	padding-right: .5rem;
	color: #666;
	content: "/";
}
.breadcrumb li a {
	color: #333;
}
@media (min-width: 769px) {
	.breadcrumb {
		margin: 0 auto;
		width: 100%;
		max-width: 1140px;
	}
}
@media (min-width: 981px) {
	.breadcrumb {
		padding: .5rem 0;
	}
}



/* ======================================================
	フッター
====================================================== */
.global-footer {
	background-color: var(--base-color);
	width: 100%; /* ie */
}
.copyright {
	margin: 0 auto;
	padding: 1em .5em;
	background-color: var(--main-color);
	color: #fff;
	font-size: .6875rem;
	text-align: center;
}

/* colophon */
.colophon {
	padding: 2em 2em 1em;
	font-size: .875rem;
}
.colophon-list {
	margin: 0;
	padding: 0;
	padding-left: 3.8em;
	list-style: none;
}
.colophon-list li {
	text-indent: -3.8em;
}
.contact-us {
	margin: 0;
	margin-top: 1em;
	font-size: 1rem;
	font-weight: bolder;
	text-align: center;
}
.contact-us a {
	color: var(--main-color);
}

@media (min-width: 601px) {
	.contact-us br {
		display: none;
		margin-left: 1em;
	}
}
@media (min-width: 769px) {
	.colophon {
		margin: 0 auto;
		width: 100%;
		max-width: 980px;
	}
}



/* ======================================================
	サイト内の共通設定
====================================================== */

/* レイアウト枠
------------------------------------------------------ */
.main {
	width: 100%;
}
.container {
	margin: 0 auto 4rem;
	padding: 0 15px;
	/*border: 1px solid #f00;*/
}
.inner {
	margin: 0 auto;
	/*border: 1px solid #000;*/
}
@media (min-width: 769px) {
	.inner {
		padding: 1em;
		max-width: 980px;
	}
}
@media (min-width: 981px) {
	.inner {
		padding: 0;
	}
}


/* 見出し h1 */
.heading-1 {
	position: relative;
	margin: .5em auto 1.5em;
	padding: 1em 0;
	border-bottom: 3px solid var(--main-color);
	color: var(--main-color);
	font-size: 1.5rem;
	line-height: 1.3;
}
.heading-1::before {
	content: "";
	position: absolute;
	bottom: -14px;
	left: 1em;
	width: 0;
	height: 0;
	border-width: 14px 12px 0 12px;
	border-style: solid;
	border-color: var(--main-color) transparent transparent transparent;
}

.heading-1::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 1em;
	width: 0;
	height: 0;
	border-width: 14px 12px 0 12px;
	border-style: solid;
	border-color: #fff transparent transparent transparent;
}

@media (min-width: 769px) {
	.heading-1 {
		font-size: 2rem;
	}
}

/* 見出し h2 */
.heading-2 {
	margin-top: 0;
	padding-bottom: .3em;
	border-bottom: 2px solid var(--main-color);
	color: var(--main-color);
	font-size: 1.3rem;
	line-height: 1.3;
}
@media (min-width: 769px) {
	.heading-2 {
		font-size: 1.75rem;
	}
}

/* リンクボタン */
.btn {
	display: block;
	margin: .5em 0;
	padding: 1em;
	border: 1px solid var(--main-color);
	border-radius: .3em;
	box-shadow: 0 5px 0 var(--main-color);
	background: var(--sub-color);
	color: #fff;
	font-size: .9375rem;
	font-weight: bold;
	text-align: center;
	transition: all .3s;
}
.btn:hover {
	box-shadow: 0 2px 0 var(--main-color);
	transform: translate(0, 3px);
}
.btn-wrap {
	margin: 1em auto 0;
	width: 70%;
	max-width: 300px;
}

/* 光るエフェクト */
.shine {
	position: relative;
	overflow: hidden;
}
.shine::before {
	position: absolute;
	top: 0;
	left: -160%;
	content: "";
	width: 140%;
	height: 100%;
	background-color: #fff;
	transform: skewX(-45deg);
	animation: shine 3s cubic-bezier(.25, 0, .25, 1) infinite;
	opacity: .5;
}
@keyframes shine {
	0% {
		left: -160%;
		opacity: 0;
	}
	70% {
		left: -160%;
		opacity: .5;
	}
	71% {
		left: -160%;
		opacity: 1;
	}
	100% {
		left: -20%;
		opacity: 0;
	}
}

/* youtube 埋め込み */
.youtube-video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube-video iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}


/* ======================================================
	Topページ(ホーム)　id = page-home
====================================================== */

/* 画像・ライブ配信
------------------------------------------------------ */
#ekiden-images.container {
	margin-bottom: 0;
}
#ekiden-images {
	padding: 0;
/*	background: url(img/bg.jpg) center center no-repeat;*/
	background-size: cover;
}
#ekiden-images .inner {
	padding: 0;
}

.hero-wrap {
	position: relative;
	overflow: hidden;
}
.hero-wrap::after {
	content: "";
	position: absolute;
	left: -5px;
	right: -5px;
	top: -5px;
	bottom: -5px;
	z-index: -1;
	background: url(img/main-img.jpg) center center/cover no-repeat;
	filter: blur(20px) opacity(90%);
}

.hero {
	position: relative;
	margin: 0 auto;
	text-align: center;
}
.hero img {
	display: block;
	margin: 0 auto;
}
.ekiden-date {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 0 1em 1em;
	filter: drop-shadow(1px 1px 0 rgba(255, 255, 255, 1));
}
@media (min-width: 769px) {
	.hero {
		padding-bottom: 0;
		max-width: 1160px;
	}
	.ekiden-date {
		left: initial;
		filter: drop-shadow(2px 2px 0 rgba(255, 255, 255, 1));
	}
}


/* トップページ intro 22/1/1
------------------------------------------------------ */
.intro {
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
}
.intro p {
	font-size: 1.2rem;
}
.intro-table-wrap {
}
.intro-table {
	margin: 1em auto;
	width: 90%;
	max-width: 360px;
	border: 1px solid var(--sub-color);
	font-size: 1.125rem;
}
.intro-table caption {
	padding: .5em;
	background: var(--base-color);
	border: 1px solid var(--sub-color);
	border-bottom: none;
	text-align: center;
}
.intro-table th {
	padding: .1em .5em;
}
.intro-table td {
	padding: .1em .5em;
}
@media (min-width: 769px) {
	.intro-table-wrap {
		display: flex;
	}
	.intro-table {
		width: 100%;
		max-width: 100%;
	}
}


/* トップページ どんかご番宣
------------------------------------------------------ */
#ekiden-donkago dl {
	margin-bottom: 2em;
}
#ekiden-donkago dt {
	margin-top: 2em;
	margin-bottom: 1em;
	border-bottom: 2px solid var(--base-color);
}
#ekiden-donkago dt span {
	padding: .3em;
	background: var(--base-color);
}
#ekiden-donkago dd {
	margin-left: 0;
}



/* コロナ関連のお知らせ
------------------------------------------------------ */
#ekiden-notice {
	padding: 1.5em 1rem;
	background: var(--accent-color2);
}
#ekiden-notice p {
	margin: 0;
	color: #fff;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.3;
}

#ekiden-notice p.oshirase {
	margin: 0;
	padding: .5em 0;
	color: #fff;
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.6;
}

#ekiden-notice p.oshirase2 {
	max-width: 800px;
	margin: 0 auto;
	padding: .5em;
	color: #fff;
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.6;
	border: 1px solid #fff;
}

#ekiden-notice.cansel {
	margin-bottom: 4rem;
}

@media (min-width: 769px) {
	#ekiden-notice {
		padding: 2em .5em;
	}
	#ekiden-notice p {
		text-align: center;
		font-size: 1.4rem;
	}
}
@media (min-width: 961px) {
	#ekiden-notice p {
		font-size: 1.6rem;
	}
}
@media (min-width: 1031px) {
	#ekiden-notice p {
		font-size: 1.8rem;
	}
}


/* 関連番組
------------------------------------------------------ */
.swiper-container {
	margin-bottom: 1em;
}
.onair-wrap {
	margin-bottom: 1.5em;
	padding: .3em;
	border: 1px solid var(--main-color);
	font-size: 90%;
}
.onair-title {
	margin: 0 auto .2rem;
	padding: .5em 0;
	text-align: center;
	background: var(--base-color);
}
.onair-title:not(:nth-of-type(1)) {
	margin-top: 2em;
}
.onair-time {
	margin-bottom: .5rem;
	border: 1px solid var(--sub-color);
}
.onair-time span {
	display: inline-block;
	margin-right: .5em;
	padding: .3em .5em;
	background: var(--sub-color);
	color: #fff;
}
.onair-days {
	padding: .3em;
	columns: 2 auto;
	column-rule: 1px dotted #aaa;
}
.m-t-1 {
	margin-top: 2em;
}
@media (min-width: 601px) {
	.onair-row {
		display: flex;
		flex-wrap: wrap;
		margin-left: -2.5em;
	}
	.onair-col {
		margin-left: 2.5em;
		width: calc((100% - 5em) / 2);
	}
}



/* 大会速報・中継所通過順位
------------------------------------------------------ */
#ranking-news {
	border: 2px solid #bf282d;
}
#ranking-news h3 {
	margin: 0;
	padding: .5em;
	background: #bf282d;
	color: #fff;
}
.ranking-news-list {
	list-style-type: none;
	counter-reset: item;
	margin: 0;
	padding-left: 0;
	padding: .7em .5em .5em;
	font-size: 1.125rem;
	column-count: 2;
	column-rule: 1px dotted #aaa;
}
.ranking-news-list li:nth-child(-n+3) {
	font-size: 1.2em;
	line-height: 1.3;
}
.ranking-news-list li::before {
	counter-increment: item;
	content: counter(item)"位";
	display: inline-block;
	padding-right: 1em;
	color: #bbb;
	font-weight: bold;
	text-align: right;
}
.ranking-news-list li:nth-child(-n+3)::before {
	padding-right: .5em;
}
.ranking-news-list li:first-child::before {
	color: #e3ab00;
}
.ranking-news-list li:nth-child(2)::before {
	color: #9eacb4;
}
.ranking-news-list li:nth-child(3)::before {
	color: #c08d5e;
}

@media (min-width: 601px) {
	.ranking-news-list {
		column-count: 4;
	}
}
@media (min-width: 981px) {
	.ranking-news-list li {
		margin-bottom: .5em;
		margin-right: 1.5em;
	}
}



/* チーム紹介
------------------------------------------------------ */
#ekiden-team {
	margin-bottom: 5rem;
}

/* コース紹介
------------------------------------------------------ */
#ekiden-course {}

/* チーム紹介＆コース紹介　2カラム */
@media (min-width: 769px) {
	.flex-row {
		display: flex;
		margin-left: -2.5em;
	}
	.flex-col {
		margin-left: 2.5em;
		width: calc((100% - 5em) / 2);
	}
	#ekiden-team {
		margin-bottom: 0;
	}
}



/* ======================================================
	大会についてのページ　id = page-about
====================================================== */
#page-about .container {
	margin: 0 auto 2em;
	padding: 0 15px;
}
#page-about .heading-2 {
	margin-top: 2em;
}
#page-about strong {
	background: linear-gradient(transparent 70%, #fcc 0%);
	font-weight: normal;
}
#page-about strong strong {
	font-weight: bold;
}
@media (min-width: 769px) {
	#page-about .main {
		font-size: 90%;
	}
	#page-about .heading-2 {
		font-size: 1.3rem;
	}
	#shushi .heading-2 {
		margin-top: 0;
	}
}

/* 感染対策について
------------------------------------------------------ */
.ekiden-notice-covid19 {
	padding: 1.5em 1em;
	border: 1px solid #bf282d;
	border-radius: .4em;
	color: #bf282d;
}
.ekiden-notice-covid19 p {
	margin-top: 0;
	margin-bottom: 0;
}
@media (max-width: 600px) {
	.ekiden-notice-covid19 p br {
		display: none;
	}
}
@media (min-width: 769px) {
	.ekiden-notice-covid19 {
		padding: 1.5em;
		font-size: 1rem;
		text-align: center;
	}
}

/* マニュアルへのリンク */
.pdf-links-wrap {
	margin: 1em auto 0;
	width: 90%;
	border: 1px solid #bf282d;
}
.pdf-links {
	position: relative;
	display: block;
	padding: 1em;
	background: #ffe5db;
	color: var(--accent-color2);
	border-left: solid 3em #bf282d;
	font-size: .875rem;
}
.pdf-links:before {
	content: "\f1c1";
	position: absolute;
	top: 50%;
	left: -1.35em;
	transform: translateY(-50%);
	padding: 0;
	color: #fff;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 1.5em;
}
@media (min-width: 769px) {
	.pdf-links-wrap {
		width: 60%;
	}
}


/* 区間と距離
------------------------------------------------------ */
#kukan h3 {
	margin: 0 0 .5em;
}
#kukan ul {
	margin: 0;
}
#kukan p {
	margin: .5em 0;
	padding-left: 1em;
	text-indent: -1em;
}
@media (min-width: 769px) {
	#kukan .heading-2 {
		margin-top: 0;
	}
}

/* 競技規定・内規規定
------------------------------------------------------ */
#kitei h3 {
	counter-increment: title;
	margin-top: 1em;
	margin-bottom: .3em;
	padding-left: 1.4em;
	text-indent: -1.4em;
	line-height: 1.3;
}
#kitei h3::before {
	content: counter(title)".";
	padding-right: .5em;
	font-size: 1.1em;
}
#kitei .right-col-kyogi h3:first-child {
	counter-reset: title 3;
}
#kitei .right-col-naiki h3:first-child {
	counter-reset: title 1;
}
@media (min-width: 769px) {
	#kitei .flex-col > h3:first-child {
		margin-top: 0;
	}
}
#kitei p {
	margin: .5em 0;
}

#kitei ul,
#kitei dl {
	margin: .5em 0;
}
.flex-dl {
	display: flex;
	flex-wrap: wrap;
}
.flex-dl dt {
	width: 6.3em;
	text-indent: 0;
}
.flex-dl dd {
	margin: 0;
	width: calc(100% - 6.3em);
	text-indent: 0;
}
#kitei .flex-dl {
	margin-left: -2em;
}

.counter-list {
	padding: 0;
	list-style: none;
	counter-reset: number;
}
.counter-list li {
	counter-increment: number;
	margin-bottom: .7em;
	padding-left: 2.5em;
	text-indent: -2.3em;
}
.counter-list li::before {
	content: "( "counter(number)" )";
	padding-right: .5em;
}

.counter-list li .counter-list-none li {
	counter-increment: num-none;
	margin-bottom: 0;
	padding-left: 0;
	text-indent: 0;
}
.counter-list li .counter-list-none li:before {
	content: "";
	padding-right: 0;
}

.style-none-list {
	padding: 0;
	list-style: none;
}
.style-none-list li {
	margin-bottom: .7em;
	padding-left: 1.5em;
	text-indent: -1.3em;
}
#kitei .style-none-list li ul li {
	margin-bottom: .3em;
}
/*.style-none-list .bg-style {
	display: inline-block;
	padding: .5em;
	background: #eee;
}*/
.m-b-0 li {
	margin-bottom: 0;
}



/* ======================================================
	チーム紹介ページ　id = page-team
====================================================== */
#team-images {
	margin-bottom: 1rem;
}

/* チーム紹介動画 */
@media (min-width: 769px) {
	.youtube-video-wrap {
		margin: 0 auto;
		width: 100%;
		max-width: 800px;
	}
}

/* チーム紹介のリンクボタン */
.team-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	margin-left: -.5em;
	padding: 0;
	list-style: none;
}
.team-list-item {
	margin: 0;
	margin-left: .5em;
	width: calc((100% - 1.5em) / 3);
}
.team-list-item-a {
	display: block;
	margin: 0 0 1em;
	padding: 1em;
	background: #0071bd;
	background: linear-gradient(25deg, #0071bd, #338fcd);
	border: 1px solid #0071bd;
	border-radius: .1em;
	color: #fff;
	font-size: .875rem;
	font-weight: bold;
	text-align: center;
	transition: all .3s;
}
.team-list-item-a:hover {
	opacity: .8;
	transition: all .3s;
}

.btn-flat {
	display: block;
	margin: 0 0 1em;
	padding: 1em .5em;
	background: #f7f7f7;
	background: #de0101;
	border: 1px solid rgba(0, 0, 0, .2);
	border-radius: .15em;
	color: #fff;
	font-size: .875rem;
	font-weight: bold;
	text-align: center;
	transition: all .3s;
}
.btn-flat:hover {
	box-shadow: inset 0 0 2px rgba(128, 128, 128, 0.1);
	transform: translateY(2px);
	transition: all .3s;
}

/* チームカラー */
.kagoshima { background: #e53935; }
.ibusuki   { background: #ff6e40; }
.kawanabe  { background: #1976d2; }
.hioki     { background: #009688; }
.sensatsu  { background: #29b6f6; }
.izumi     { background: #3f51b5; }
.isa       { background: #ff80ab; }
.aira      { background: #853c91; }
.soo       { background: #fbcd52; color: #666; }
.kimotsuki { background: #8bc34a; }
.kumage    { background: #795548; }
.ooshima   { background: #c7e1f0; color: #666; }

/* ページ内リンク */
.team-list-wrap {
	position: sticky;
	top: 0;
	margin: 3em auto 2em;
	background: rgba(255, 255, 255, .8);
}
.team-list-sticky-wrap div[id] {
	margin-top: -13em;
	padding-top: 13em;
}
#page-team .team-list-item {
	width: calc((100% - 2em) / 4);
}
@media (max-width: 414px) {
	#page-team .team-list-item a {
		font-size: 90%;
	}
}
@media (min-width: 769px) {
	#page-team .team-list-item {
		width: calc((100% - 3em) / 6);
	}
}

/* チーム紹介　個別
------------------------------------------------------ */
/* レイアウト枠 */

@media (min-width: 769px) {
	.team-row {
		display: flex;
		flex-wrap: wrap;
		/*align-content: flex-start;*/
		margin-left: -2.5em;
	}
	.team-col {
		display: flex;
		flex-wrap: wrap;
		flex-flow: column;
		justify-content: space-between;
		justify-content: start;
		margin-left: 2.5em;
		width: calc((100% - 5em) / 2);
	}
}

/* チーム名 */
.team-names {
	margin: 0 auto;
	margin-bottom: 0;
	padding: .7em 0 .7em .5em;
	border: 1px solid rgba(0, 0, 0, .1);
	color: #fff;
	font-size: 1.25em;
	font-weight: normal;
	text-shadow: 0 0 2px rgba(0, 0, 0, .1);
}
@media (min-width: 769px) {
	.team-names {
		margin-bottom: 1em;
	}
}

/* 写真エリア */
.team-images {
	margin-bottom: 1em;
	border: 1px solid rgba(0, 0, 0, .3);
	border-top: none;
}
.team-notes {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 1em .3em .5em .7em;
	list-style: none;
	background: #fefefe;
	border-top: none;
}
.team-youtube-links {
	display: block;
	padding-left: .2em;
	color: #c4302b;
	color: #fff;
	transition: all .3s;
}
.team-youtube-links:hover {
	opacity: .8;
	transition: all .3s;
}
.team-youtube-links[href] {
	color: #c4302b;
}
.fa-youtube {
	margin-top: -.1em;
}
@media (min-width: 769px) {
	.team-images {
		border-top: 1px solid rgba(0, 0, 0, .3);
	}
}

/* メンバー紹介 */
.team-table {
	border-collapse: collapse;
	border-spacing: 0;
	/*table-layout: fixed;*/
	margin: 0 auto;
	width: 100%;
	border: 1px solid #aaa;
	font-size: 80%;
	line-height: 1.75;
}
.team-table th {
	padding: .5em;
	background: #ddd;
	border: 1px solid #aaa;
}
.team-table td {
	padding: .5em;
	border: 1px solid #aaa;
}

.timetable thead th:nth-child(even) {
	background: #aaa;
}
.timetable tbody tr:nth-child(even) {
	background: #eee;
}

@media (max-width: 414px) {
	.team-table {
		border-top: none;
	}
	.team-table th {
		display: block;
		padding: 0 .5em;
		border: none;
		border-top: 1px solid #aaa;
		text-align: left;
		letter-spacing: .1em;
	}
	.team-table td {
		display: block;
		border: none;
	}
}

/* コメント */
.team-comment {
	margin-top: 1.5em;
}
.team-comment p {
	margin: 0 auto 1em;
	font-size: 90%;
	line-height: 1.75;
}
.team-comment p span {
	display: block;
	text-align: right;
}

/* 過去の実績 */
.team-result h3 {
	margin-top: 1.5em;
	margin-bottom: .5em;
}
@media (min-width: 769px) {
	.team-comment {
		margin-top: 0;
	}
	.team-comment p {
		font-size: 93%;
	}
	.team-result {
		order: -1;
		margin-bottom: 5em;
	}
	.team-result h3 {
		margin-top: 0;
	}
}



/* ======================================================
	コース紹介ページ　id = page-course
====================================================== */
#page-course .inner:not(:last-child) {
	margin-bottom: 4em;
}

.timetable {
	border-collapse: collapse;
	border-spacing: 0;
	/*table-layout: fixed;*/
	width: 100%;
	border: 2px solid #111;
}
.timetable thead th {
	background: #111;
	color: #fff;
}
.timetable thead th:nth-child(even) {
	background: #aaa;
}
.timetable tbody tr:nth-child(even) {
	background: #eee;
}
.timetable th {
	padding: .5em 0;
	border: 1px solid #111;
	letter-spacing: .1em;
}
.timetable td {
	padding: .5em 0;
	border: 1px solid #111;
	text-align: center;
}
@media (max-width: 414px) {
	.timetable {
		font-size: 90%;
	}
	.timetable th {
		padding: .3em;
		letter-spacing: initial;
	}
	.timetable td {
		padding: .3em;
	}
}



/* ======================================================
	大会の記録　id = page-record
====================================================== */
.record-list {
	margin-bottom: 2em;
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #999;
}
.record-title-wrap {
	padding: .5em;
	width: 100%;
	background: var(--sub-color);
	color: #fff;
}
div.record-list:nth-of-type(even) .record-title-wrap {
	background: var(--base-color);
	color: var(--main-color);
}
.record-title {
	display: inline-block;
	margin: 0;
	margin-right: .5em;
	text-align: center;
}
.record-date {
	display: inline-block;
	margin: 0;
}
.record-date::after {
	content: "開催";
	margin-left: .5em;
}

.record-item-dl {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	margin: 0;
	padding: .5em;
	line-height: 1.5;
}
.record-item-dl dd {
	margin: 0;
}
.item-dl-1 {
	width: 50%;
	font-size: 1.125rem;
}
.item-dl-1 dt {
	width: 2.7em;
	font-weight: bolder;
}
.item-dl-1 dt:nth-child(1) {
	color: #e3ab00;
}
.item-dl-1 dt:nth-of-type(2) {
	color: #9eacb4;
}
.item-dl-1 dt:nth-of-type(3) {
	color: #c08d5e;
}
.item-dl-1 dd {
	width: calc(100% - 2.7em);
}
.item-dl-2 {
	width: 50%;
	line-height: 1.8;
}
.item-dl-2 dt {
	width: 6.3em;
	color: var(--main-color);
}
.item-dl-2 dd {
	width: calc(100% - 6.3em);
}

.record-links-wrap {
	margin: auto;
	width: 100%;
}
.record-links {
	display: block;
	padding: .3em;
	background: var(--sub-color);
	color: #fff;
	text-align: center;
}
div.record-list:nth-of-type(even) .record-links {
	background: var(--base-color);
	color: var(--main-color);
}

@media (min-width: 601px) {
	.record-title-wrap { width: 35%; }
	.item-dl-1 { width: 32.5%; }
	.item-dl-2 { width: 32.5%; }

	.record-title-wrap {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 0;
	}
	.record-item-dl {
		padding: .8em;
	}
	.item-dl-1 {
		padding-left: 1em; 
	}
	.record-links {
		border-top: 1px solid #fff;
	}
}
@media (min-width: 961px) {
	.item-dl-1 { width: 25%; }
	.item-dl-2 { width: 25%; }
	.record-links-wrap { width: auto; }

	.record-list {
		margin-bottom: 0;
	}
	.record-list + .record-list {
		border-top: none;
	}
	.record-title-wrap {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.record-links-wrap {
		margin-right: 1em;
	}
	.record-links {
		padding: .5em 1em;
		border: none;
	}
	#page-record .btn-wrap {
		margin-top: 3em;
	}
}


/* ======================================================
	大会の記録　シングルページ　id = page-record-single
====================================================== */

/* 共通 */
#page-record-single .container {
	margin-bottom: 2.5rem;
}

#award-list ul,
#award-list ol,
#award-list dd {
	list-style: none;
	margin: 0;
	padding: 0;
}
.txt-new {
	color: #bf282d;
}

/* h1 */
.heading-record {
	display: inline-flex;
	align-items: center;
	margin: 1em 0;
	font-size: 1.3rem;
	line-height: 1.3;
}
.heading-record .t-num {
	color: var(--main-color);
	font-size: 2.4em;
	line-height: 1;
}
.heading-record .t-title {
	margin-left: .7em;
	padding-left: .7em;
	padding-bottom: .2em;
	border-left: 1px solid var(--main-color);
}
.heading-record .small {
	line-height: 1.8;
}
@media (min-width: 769px) {
	.heading-record {
		font-size: 2rem;
	}
}

/* h2 */
.heading-record-h2 {
	margin-top: 2.5em;
	margin-bottom: 1em;
	padding: 0 .5em;
	font-size: 1.25rem;
	border-left: 5px solid var(--sub-color);
}
@media (min-width: 769px) {
	.heading-record-h2 {
		font-size: 1.5rem;
	}
}

/* 入賞リスト
------------------------------------------------------ */
.totalrank {
	border: 2px solid #333;
}
.totalrank li span,
.classsho li span {
	display: inline-block;
	padding: .5em;
}
.totalrank {
	font-size: 1.25rem;
	line-height: 1.3;
}
.totalrank li:not(:last-child) {
	border-bottom: 1px solid #333;
}
.totalrank li:nth-child(1) {
	font-size: 1.5rem;
}
.totalrank li:nth-child(1) span {
	padding: .3em;
}
.totalrank li span:nth-child(1) {
	width: 8rem;
	color: #fff;
	font-weight: 700;
	text-align: center;
	letter-spacing: .1em;
	text-shadow:1px 1px 1px rgba(0, 0, 0, .5);
}
.totalrank li span:nth-child(1)::before {
	content: "\f521";
	margin-right: .3em;
	color: #fff;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}
.totalrank li span:nth-child(2) {
	padding-left: 1rem;
	width: 6.5rem;
	text-align: left;
	letter-spacing: .1em;
}
.totalrank li span:nth-child(3) {
	padding-left: 0;
	text-align: left;
	font-size: .875rem;
}

.totalrank li:nth-child(1) span:nth-child(1) {
	background: #e3ab00;
}
.totalrank li:nth-child(2) span:nth-child(1) {
	background: #9eacb4;
}
.totalrank li:nth-child(3) span:nth-child(1) {
	background: #c08d5e;
}

.totalrank li span:nth-child(3) + .txt-new {
	margin-left: -.5em;
	padding-left: 0;
	text-align: left;
	font-size: 1rem;
}

.classsho {
	border: 2px solid #333;
	border-top: none;
	font-size: 1.125rem;
}
.classsho li:not(:last-child) {
	border-bottom: 1px solid #333;
}
.classsho li span:nth-child(1) {
	width: 8rem;
	background: var(--base-color);
	color: var(--main-color);
}
.classsho li span:nth-child(2) {
	padding-left: 1rem;
	width: 6.5rem;
	letter-spacing: .1em;
}
.classsho li span:nth-child(3) {
	padding-left: 0;
	text-align: left;
	font-size: .875rem;
}
.award-list-note {
	margin: .5em .5em 0;
	font-size: .9em;
	line-height: 1.3;
}

/* 区間賞・躍進賞
------------------------------------------------------ */
.kukansho,
.yakushinsho {
	max-width: 21em;
	border: 1px solid #333;
}
.kukansho dt,
.yakushinsho dt {
	padding: .3em .5em;
	background: var(--sub-color);
	color: #fff;
	font-size: 1.2em;
}
.kukansho li,
.yakushinsho li {
	padding: .3em .5em;
}
.kukansho li:not(:last-child),
.yakushinsho li:not(:last-child) {
	border-bottom: 1px dotted #aaa;
}
.kukansho li span,
.yakushinsho li span {
	display: inline-block;
}
.kukansho li span:nth-child(1) {
	width: 6em;
	text-align: left;
}
.kukansho li span:nth-child(2) {
	margin-left: .5em;
	width: 100%;
	max-width: 6.5em;
	text-align: left;
}
.kukansho li span:nth-child(3) {
	width: 3em;
	text-align: right;
}

.yakushinsho li span:nth-child(1) {
	width: 7em;
	text-align: left;
}
.yakushinsho li span:nth-child(2) {
	
	text-align: right;
}
@media (min-width: 640px) {
	.kukansho,
	.yakushinsho {
		max-width: none;
	}
	.award-row {
		display: flex;
		align-items: flex-start;
		margin-left: -2.5em;
	}
	.award-col {
		margin-left: 2.5em;
		width: calc((100% - 5em) / 2);
	}
}
@media (min-width: 961px) {
	#award-list {
		display: flex;
		align-items: flex-start;
	}
	.rank-col {
		margin-right: 2.5em;
		max-width: 25em;
	}
	.award-col {
		margin-top: 0;
		margin-left: 1em;
	}
	.kukansho {
		width: 23em;
		height: auto;
	}
	.award-list-note {
		margin-bottom: 0;
	}
}

/* 中継所通過順位
------------------------------------------------------ */
@media (min-width: 769px) {
	.record-img-wrap {
		margin: 0 auto;
		width: 100%;
		max-width: 80%;
	}
}

/* 総合成績・区間別成績
------------------------------------------------------ */
/* 詳細データ表 */
.data-table {
	border-collapse: collapse;
	border-spacing: 0;
	/*table-layout: fixed;*/
	margin-bottom: .2em;
	width: 100%;
	font-size: .875rem;
}
.data-table caption {
	padding: .5em;
	background :var(--base-color);
	border: 1px solid #333;
	border-bottom: none;
	font-size: 1.17em;
	font-weight: bold;
}
.data-table thead tr {
	background: #eee;
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
}
.data-table thead th {
	font-size: .75rem;
}
.data-table tr {
	border-bottom: 1px solid #aaa;
	border-left: 1px solid #333;
	border-right: 1px solid #333;
}
.data-table tbody tr:last-child {
	border-bottom-color: #333;
}
.data-table th {
	padding: .3em 0;
}
.data-table tbody th {
	background: #eee;
}
.data-table td {
	padding: .3em 0;
	text-align: center;
}
.data-table th + th,
.data-table th + td,
.data-table td + td {
	border-left: 1px dotted #aaa;
}

/* 総合成績の1～3位 背景色 */
.data-1:first-child caption {
	background: #e3ab00;
	color: #fff;
	text-shadow:1px 1px 1px rgba(0, 0, 0, .5);
}
.data-1:nth-child(2) caption {
	background: #9eacb4;
	color: #fff;
	text-shadow:1px 1px 1px rgba(0, 0, 0, .5);
}
.data-1:nth-child(3) caption {
	background: #c08d5e;
	color: #fff;
	text-shadow:1px 1px 1px rgba(0, 0, 0, .5);
}

@media (min-width: 769px) {
	.accbox label:nth-of-type(2) {
		margin-top: 3em;
	}
	.accshow {
		display: flex;
		flex-wrap: wrap;
		margin-left: -1rem;
	}
	.data-1,
	.data-2 {
		margin-left: 1rem;
		margin-bottom: 1em;
		width: calc((100% - 2rem) / 2);
	}
}



/* ======================================================
	大会の記録　大会の歴史　id = page-record-history
====================================================== */
#page-record-history .container {
	margin-bottom: 2em;
}
.history-row {
	padding: 0 1rem;
	text-align: center;
}
.history-img {
	display: block;
	margin-top: 2rem;
	margin-bottom: 2rem;
}
.history-notice {
	margin-left: 1em;
	font-size: .875em;
}
.history-notice span {
	color: #ccc;
}
@media (min-width: 481px) {
	.history-row {
		display: flex;
		flex-wrap: wrap;
		margin-left: -1.5em;
	}
	.history-img {
		margin-top: 1rem;
		margin-bottom: 1rem;
		margin-left: 1.5em;
		width: calc((100% - 3em) / 2);
	}
}
@media (min-width: 769px) {
	.history-row {
		padding: 0;
	}
	.history-img {
		width: calc((100% - 4.5em) / 3);
	}
}

