/* CSS */
:root {
	--color-kanto:   #DA0095;
	--color-tokai:   #5400BB;
	--color-kinki:   #FF8215;
	--color-shikoku: #005FED;
	--color-chugoku: #036800;
	--color-kyusyu:  #61E60F;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td {
	margin:0;
	padding:0;
}
body {
	-webkit-text-size-adjust: none;
	font-family: Verdana, Roboto, 'Droid Sans', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', sans-serif;
	color: #444444;
	font-size: 16px;
}
/*
ol,ul {
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
*/
a {
	color: #444;
	text-decoration: none;
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.headerArea {
	text-align: center;
}
.headerArea img {
	max-width: 640px;
}

.footer {
	margin-top: 10px;
}

#copyright {
	font-size: 12px;
	color: #FFFFFF;
	text-align: center;
	padding-top: 10px;
}

#wrapper{
	text-align: center;
	padding: 10px;
	background: #ff5db1;
	background: -moz-linear-gradient(top,  #ff5db1 0%, #c40163 100%); 
	background: -webkit-linear-gradient(top,  #ff5db1 0%,#c40163 100%); 
	background: linear-gradient(to bottom,  #ff5db1 0%,#c40163 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff5db1', endColorstr='#c40163',GradientType=0 ); 
}

.contents {
	background-color: #FFFFFF;
	padding: 10px;
}

.cap {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	font-weight: bold;
	color: #EB0081;
	font-size: 120%;
	text-align: left;
}

.caution {
	text-align: center;
	color: #EB0081;
	font-weight: bold;
	margin-top: 30px;
}

.text {
	text-align: left;
	margin: 10px;
}
.text2 { /*目立つように*/
	text-align: left;
	margin: 10px;
	font-weight: bold;
	color: #FF00FF;
}
.text3 {
	margin: 10px;
	margin-top:20px;
	font-weight: bold;
}
.text4 {
 	text-align: left;
	color: #EB0081;
	font-size: 13px;
	font-weight: bold;
}

h1 {
	text-align: center;
	font-weight: bold;
	color: #ff5db1;
	font-size: 120%;
	margin: 10px 0px;
}
h2 {
	text-align: left;
	padding-left: 10px;
	border-left: 7px solid #ff5db1;
	border-bottom: 1px solid #ff5db1;
	font-weight: bold;
	color: #ff5db1;
	font-size: 120%;
	margin-top: 30px;
}
h3{
	text-align: left;
	padding-left: 10px;
	font-weight: bold;
	font-size: 120%;
	margin-top: 30px;
	border-left: solid 7px;
	border-bottom: solid 1px; 
}
h3#kinki {
	border-color: var(--color-kinki);
	color: var(--color-kinki);
}
h3#kanto {
	border-color: var(--color-kanto);
	color: var(--color-kanto);
}
h3#tokai {
	border-color: var(--color-tokai);
	color: var(--color-tokai);
}
h3#shikoku {
	border-color: var(--color-shikoku);
	color: var(--color-shikoku);
}
h3#chugoku {
	border-color: var(--color-chugoku);
	color: var(--color-chugoku);
}
h3#kyusyu {
	border-color: var(--color-kyusyu);
	color: var(--color-kyusyu);
}
.button {
	width: 100%;
	text-align: center;
	margin: 25px 0px;
}
.button.vote {
	margin-bottom:0px!important;
}
.button img{
	margin: 5px 0px;
}

.present{
	display:flex;
	border-bottom:solid 1px #FF9BCF;
	margin-bottom:8px;
	position: relative;
	max-height: 180px;
	min-height:120px;
	}
	
.presentLabel {
	background-color: #F6AA27;
	border-radius: 5px;
	color: #FFFFFF;
	font-size: 15px;
	font-weight: bold;
	padding: 0px 5px;
	width:190px;
	text-align:center;
}

.presentSupport{
	padding-top:10px;
	padding-bottom:10px;
}
.present:first-child{
	border-top:solid 1px #FF9BCF;
	padding-top:8px;
}

.presentImg{
	display: flex;
	align-items: center;
}
.presentImg img{
	width:120px;
}

.presentName {
	display: block;
    font-weight: bold;
    text-align:left;
    margin-top: 10px;
}
.presentQuantity {
	display: block;
	text-align: right;
	font-size: 16px;
	font-weight:normal;
	position:absolute;
	right: 0;
	bottom: 0;
}

/* 選手一覧
---------------------------------------------------*/
table.racer_table {
	width:90%;
	border-collapse: separate;
	border-spacing: 0px;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	margin: 0 auto;
	padding: 0;
	margin-top: 15px;
}
table.racer_table td{
	padding: 4px;
	background-color: #fafafa;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	text-align: left;
}

.chiku-menu {
}

a.chiku{
	display: inline-block;
	border-radius: 5px;
	color: #FFFFFF;
	font-weight: bold;
	margin: 4px 11px;
	padding: 5px 10px;
	font-size: 18px;
}
a.chiku.kinki {
	background-color: var(--color-kinki);
}
a.chiku.kanto {
	background-color: var(--color-kanto);
}
a.chiku.tokai {
	background-color: var(--color-tokai);
}
a.chiku.shikoku {
	background-color: var(--color-shikoku);
}
a.chiku.chugoku {
	background-color: var(--color-chugoku);
}
a.chiku.kyusyu {
	background-color: var(--color-kyusyu);
}

table.nomal {
	width:95%;
	border-collapse: separate;
	border-spacing: 0px;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	margin: 0 auto;
	padding: 0;
}
table.nomal td{
	padding: 4px;
	background-color: #fafafa;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	text-align: center;
}

/* 注意事項など */
.footer ul {
	text-align: left;
	list-style-type: none;
}
.footer ul li {
	height: 40px;
	padding-left: 5px;
	background-color: #ff5db1;
	border-bottom: 1px solid #FFF;
	border-left: 7px solid #ff5db1;
}
.footer a {
	color: #FFF;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	line-height: 40px;
}

.notice {
	color: #ff5db1;
	text-align: center;
	font-weight: bold;
}

.size {
	font-size: 25px;
}


.notice_sentense {
	text-align: left;
}

.notice_fanday {
	text-align: left;
}

.main {
	background: #ffffff;
	margin-bottom: 5px;
	text-align: left;
}

.midashi {
	margin: 15px 0 7px 0;
	padding-left: 10px;
	border-left: 7px solid #ff5db1;
	border-bottom: 1px solid #ff5db1;
	font-weight: bold;
	font-size: 110%;
	color: #ff5db1;
	text-align: left;
}

.schedule {
	text-align: left;
}

.process p {
	text-align: left;
}

.caution3 {
	text-align: left;
}
.term{
	width:90%;
	margin:0 auto;
	color:#EB0081;
	font-weight:900;
	text-align:left;
	font-size:110%;
	margin-top:15px;
}
.term_detail{
	font-size:115%!important;
	color:#000000!important;
	text-align:left;
	width:90%;
	margin:0 auto;
}
.term_small{
	font-size:85%;
}
.term_day{
	display: inline-block;
	width:16px;
	height:16px;
	text-align:center;
	font-size:11px;
	border:solid 1px;
	border-radius:50%;
}
.wait,
.close{
	text-align:center;
	font-size:115%;
	color:#FFFFFF;
	font-weight:bold;
	margin-top:25px;
	margin-bottom:25px;
	background-color:#EB0081;
	border-radius:10px;
	padding-top:3px;
	padding-bottom:3px;
}
.close{
	font-size:89%!important;
	padding-top:7px;
	padding-bottom:7px;
	margin-bottom:0px!important;
}
.close_text{
	margin-top:5px;
	font-weight: bold;
}

#footer_link{
	background-color:#ff5db1;
	text-align:left;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	line-height: 40px;
	padding-left:13px;
	margin-bottom:1px;
}
#footer_link a { 
	display: block;
}
hr.dot_p{
	border-top: 2px dotted #FF00FF;
	width:70%;
}

table.racer_table.chiku-kanto {
	--bg-color: var(--color-kanto);
}
table.racer_table.chiku-tokai {
	--bg-color: var(--color-tokai);
}
table.racer_table.chiku-kinki {
	--bg-color: var(--color-kinki);
}
table.racer_table.chiku-shikoku {
	--bg-color: var(--color-shikoku);
}
table.racer_table.chiku-chugoku {
	--bg-color: var(--color-chugoku);
}
table.racer_table.chiku-kyusyu {
	--bg-color: var(--color-kyusyu);
}
table.racer_table thead td {
	background-color: var(--bg-color, black);
	color: white;
	text-align: center;
}

.racer_table img{
	vertical-align:middle;
	margin-right:5px;
	width:60px;
}

#page-top {
	position: fixed;
	bottom: 20px;
	right: 15px;
	font-size: 140%;
}
 
#page-top a {
	display: inline-block;
	background: #a0a0a0;
	color: #fff;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	text-decoration: none;
	border-radius: 50%;
	vertical-align:middle;
}
 
#page-top a:hover {
	background: #a0a0a0;
	text-decoration: none;
}
table.racer_table td{
	font-size: 4.1vw;
}
.present .copy{
/*	position:relative;*/
	display:block;
	font-size:13px;
	font-weight:normal;
	color:#2a5ca7;
	width:90%;
	margin:0 auto;
}
.schedule .place{
	color:#25B5C2;
	margin-right:8px;
}
table.middle thead td{
	background-color: #FF0049;
	color: #FFF;
}
table.middle{
	font-size:92%;
}