@charset "UTF-8";

div#title { margin: 65px auto 68px; width: 960px; text-align: center; }
div#title h1 { font-size: 6.4rem; }
div#title h1 span { font-size: 3.2rem; display: block; }

@media screen and (max-width: 767px) {
article { padding: 0 10px; }
div#title { margin: 30px 0; width: auto; }
div#title h1 { font-size: 3.2rem; }
div#title h1 span { font-size: 1.8rem; }
}

/* --------------------------------------------------
	共通
-------------------------------------------------- */

section { margin: 0 auto 60px; width: 960px; }
section table { width: 100%; border-collapse: collapse; }
section th { background: #000; border: solid 1px #fff; color: #fff; }
section thead th { text-align: center; }
section tbody th { text-align: left; }
section td { border: solid 1px #fff; }

@media screen and (max-width: 767px) {
section { margin: 0 auto 40px; width: auto; }
}


/* --------------------------------------------------
	制度の概要
-------------------------------------------------- */

section#s01 {}
section#s01 h2 { margin: 0 0 32px; padding: 0; font-size: 3.2rem; text-align: center; }
section#s01 p { font-size: 1.8rem; line-height: 1.8; }
section#s01 div.wrapper { margin-top: 1em; }
section#s01 div.diagram { margin: 0 auto; width: 900px; }
section#s01 div.diagram div.flex { display: flex; align-items: center; justify-content: space-between; }
section#s01 div.diagram div.sponsor { width: 228px; height: 80px; background: #e87722; border-radius: 12px; color: #fff; line-height: 1.4; display: flex; align-items: center; justify-content: center; }
section#s01 div.diagram div.sponsor strong { font-size: 2.8rem; }
section#s01 div.diagram div.saga2024 { width: 228px; height: 80px; background: #000; border-radius: 12px; color: #fff; line-height: 1.4; display: flex; align-items: center; justify-content: center; }
section#s01 div.diagram div.saga2024 strong { font-size: 2.5rem; }
section#s01 div.diagram div.rightArrow { width: 250px; position: relative; }
section#s01 div.diagram div.rightArrow div { width: 226px; height: 26px; background: #cecece; border-radius: 2px 0 0 2px; }
section#s01 div.diagram div.rightArrow div::after { content: ''; width: 0; height: 0; border-top: 23px solid transparent; border-bottom: 23px solid transparent; border-left: 23px solid #cecece; position: absolute; right: 1px; top: 50%; transform: translateY(-50%); }
section#s01 div.diagram div.rightArrow p { width: 100%; font-weight: bold; text-align: center; line-height: 1; position: absolute; }
section#s01 div.diagram div.top p { bottom: -30px; }
section#s01 div.diagram div.bottom p { top: -30px; }
section#s01 div.diagram div.effect { width: 326px; }
section#s01 div.diagram div.effect ul { margin: 0; list-style: none; display: flex; flex-wrap: wrap; justify-content: space-between; }
section#s01 div.diagram div.effect li { white-space: nowrap; font-size: 2.4rem; font-weight: bold; color: #e87722; }
section#s01 div.diagram div.effect li:nth-child(1) { margin-bottom: 20px; }
section#s01 div.diagram div.purpose { width: 326px; }
section#s01 div.diagram div.purpose dl { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
section#s01 div.diagram div.purpose dl:nth-of-type(1) { margin-bottom: 26px; }
section#s01 div.diagram div.purpose dt { width: 106px; height: 46px; background: #000; border-radius: 10px; color: #fff; display: flex; align-items: center; justify-content: center; }
section#s01 div.diagram div.purpose dt strong { font-size: 2.4rem; }
section#s01 div.diagram div.purpose dd { width: 196px; }
section#s01 div.diagram div.purpose dd p { line-height: 1.4; }
section#s01 div.diagram div.arrows { margin-top: 12px; width: 228px; height: 94px; display: flex; align-items: center; justify-content: center; }
section#s01 div.diagram div.arrows div.arrow { margin: 0 14px; width: 48px; height: 79px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
section#s01 div.diagram div.arrows div.arrow div { width: 26px; height: 39px; background: #cecece; position: relative; }
section#s01 div.diagram div.arrows div.up { padding-top: 25px; }
section#s01 div.diagram div.arrows div.up div { border-radius: 0 0 2px 2px; }
section#s01 div.diagram div.arrows div.up div::after { content: ''; width: 0; height: 0; border-left: 23px solid transparent; border-right: 23px solid transparent; border-bottom: 23px solid #cecece; position: absolute; top: -23px; left: 50%; transform: translateX(-50%); }
section#s01 div.diagram div.arrows div.down { padding-bottom: 25px; }
section#s01 div.diagram div.arrows div.down div { border-radius: 2px 2px 0 0; }
section#s01 div.diagram div.arrows div.down div::after { content: ''; width: 0; height: 0; border-left: 23px solid transparent; border-right: 23px solid transparent; border-top: 23px solid #cecece; position: absolute; bottom: -23px; left: 50%; transform: translateX(-50%); }
section#s01 div.diagram div.arrows div.bottom div::after { content: ''; }
section#s01 div.diagram div.arrows p { font-weight: bold; line-height: 1; white-space: nowrap; }

@media screen and (max-width: 767px) {
section#s01 h2 { font-size: 2.4rem; }
section#s01 p { font-size: 1.6rem; }
section#s01 div.wrapper { overflow: auto; }
section#s01 div.diagram div.sponsor { height:; }
section#s01 div.diagram div.sponsor strong { font-size: 2rem; }
section#s01 div.diagram div.saga2024 {}
section#s01 div.diagram div.saga2024 strong { font-size: 2rem; }
section#s01 div.diagram div.effect li { font-size: 2rem; }
section#s01 div.diagram div.purpose dt strong { font-size: 2rem; }
}

/* --------------------------------------------------
	企業協賛の種類
-------------------------------------------------- */

section#s02 {}
section#s02 h2 { margin: 0 0 32px; padding: 0; font-size: 3.2rem; text-align: center; }
section#s02 p { margin-bottom: 32px; font-size: 1.8rem; text-align: center; }
section#s02 div.wrapper { margin-bottom: 8px; overflow: auto; }
section#s02 th { padding: 8px 0; }
section#s02 td { padding: 8px 16px; }
section#s02 tr:nth-child(odd) td { background: #cecece; }
section#s02 tr:nth-child(even) td { background: #e7e7e7; }
section#s02 ul { list-style: none; }
section#s02 li { font-size: 1.4rem; }

@media screen and (max-width: 767px) {
section#s02 h2 { font-size: 2.4rem; }
section#s02 div.wrapper { overflow: auto; }
section#s02 table { white-space: nowrap; }
}


/* --------------------------------------------------
	国スポ企業協賛カテゴリー別協賛特典等
-------------------------------------------------- */

section#s03 {}
section#s03 h2 { margin: 0 0 32px; padding: 0; font-size: 3.2rem; text-align: center; }
section#s03 h2 span { font-size: 1.8rem; }
section#s03 p { margin-top: 1em; }
section#s03 div.wrapper { overflow: auto; }
section#s03 table { height: 1px; line-height: 1.6; }
section#s03 th { font-size: 1.8rem; }
section#s03 tr:nth-child(odd) td { background: #e7e7e7; }
section#s03 tr:nth-child(even) td { background: #cecece; }
section#s03 thead th { padding: 8px 0; height: 100%; }
section#s03 thead th div { height: 100%; font-size: 1.2rem; line-height: 1.5; display: flex; flex-wrap: wrap; align-content: space-between; }
section#s03 thead th strong { margin-bottom: 0.5em; width: 100%; display: block; }
section#s03 thead th span { width: 100%; font-weight: normal; display: block; }
section#s03 thead td { padding: 16px; background: #fff !important; vertical-align: bottom; }
section#s03 tbody th { text-align: center; letter-spacing: 0.1em; }
section#s03 tbody th span { display: inline-block; white-space: nowrap; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; text-orientation: upright; }
section#s03 tbody td { padding: 4px 12px; font-size: 1.4rem; }
section#s03 tbody td span { color: #008cd3; text-align: center; display: block; }

@media screen and (max-width: 767px) {
section#s03 h2 { font-size: 2.4rem; }
section#s03 thead th { padding: 5px; white-space: nowrap; }
section#s03 tbody th { padding: 5px; }
section#s03 tbody th span { display: block; writing-mode: horizontal-tb; }
section#s03 tbody td { white-space: nowrap; }
}

/* --------------------------------------------------
	提供・貸与していただきたい物品等の例
-------------------------------------------------- */

section#s04 {}
section#s04 h2 { margin: 0 0 32px; padding: 0; font-size: 3.2rem; text-align: center; }
section#s04 table { font-size: 1.8rem; }
section#s04 th { padding: 8px 16px; }
section#s04 td { padding: 8px 16px; }
section#s04 tr:nth-child(odd) td { background: #cecece; }
section#s04 tr:nth-child(even) td { background: #e7e7e7; }

@media screen and (max-width: 767px) {
section#s04 h2 { font-size: 2.4rem; }
section#s04 div.wrapper { overflow: auto; }
section#s04 table { font-size: 1.5rem; white-space: nowrap; }
}

/* --------------------------------------------------
	みんなで新しい大会をつくろう。ぜひ、ご一緒に。 
-------------------------------------------------- */

section#s05 {}
section#s05 h2 { margin: 0 0 32px; padding: 0; font-size: 4rem; text-align: center; }
section#s05 p { font-size: 1.8rem; line-height: 1.8; }

@media screen and (max-width: 767px) {
section#s05 h2 { font-size: 2.6rem; }
section#s05 p { font-size: 1.6rem; }
}


div.contact{
	text-align: center;
	padding-bottom: 80px;
	font-size: 1.4rem;
}
div.contact p.title{
	font-size: 1.6rem;
	padding-bottom: 20px;
}
div.contact span{
	font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
	div.contact{
		padding: 0 10px 80px;
	}
	div.contact span{
		display: block;
		padding-bottom: 15px;
	}
}

