@charset "utf-8";
/* CSS Document */

/*******************************
共通設定項目
********************************/
body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: none;
	line-height:1.3em;
	font-size:18px;
/*	background:url(../images/bk.png) ;*/
	color:#333;
}

/* テキストリンク設定 */
a{font-weight:bold;color:#D80000;}
a:hover{color:#000;}
a:active, a:focus{outline:0;}




/***********************************************************************
「★PC版 CSS★」ブラウザの幅が751px以上ならここの記述が有効になる
**********************************************************************/
@media all and (min-width: 751px) {
	
.pc_non,.sp{display: none;}

/* #wrapper{background:url("../images/tit_pc.png") no-repeat center top;} */

/* ヘッダー
------------------------------------------------------------*/

#header h1{
	height: 300px;
	background: #eee;
}

#header .title{ /*タイトル共通画像*/
	height:360px;
	width: 750px;
	background:url(../images/tit.png) no-repeat top center;
	
}
#header .title{
	margin: 0 auto;
	padding: 0 0 16px 0;
	padding: 0;
}
hr.line {
    height: 3px;
    background-color: #D80000;
    border: none;
  }

/*追加*/
/* リード文 */
.lead{
    width: 750px;
    font-size: 16px;
    line-height: 1.6em;
    margin: 0 auto;
    padding-top: 20px;
}
.back_color{
	background-color: #F8F4E6;
	/* border-radius: 10px; */
	margin-bottom: -35px;
	padding: 35px;
	padding-bottom: 15px;
	padding-top: 15px;
  }
  .lead_red{
    width: 680px;
    font-size: 16px;
    line-height: 1.6em;
    margin: 0 auto;
    padding-top: 20px;
}
.tyui{
    width: 680px;
    font-size: 12px;
    line-height: 1.6em;
    margin: 0 auto;
    padding-top: 12px;
}
.red{color: #D80000;font-weight: bold;}	
.blue{color: #2832ff;font-weight: bold;}	

/* 対象レース */
.taisyo{
    width: 750px;
    margin: 20px auto;
    text-align: center;
    background: #E9C878;
    color: #000;
    padding: 20px 20px 0px 20px;
    box-sizing: border-box;
}		
.komoku img {
	margin-bottom: 10px; /* 画像の下に10pxのスペースを追加 */
  }
.taisyo .tit{
	width: 680px;
	margin: 0 auto;
	font-size: 22px;line-height: 1.8em;
	font-weight: bold;
	text-align: center;
	border-radius: 40px;
	/* background: #730E0E; */
	background: #C47F1D;
	color: #FFF;
}		
.taisyo .race{
	font-size: 22px;font-weight: bold;
	line-height: 1.3em;
	text-align: center;
	padding: 20px 0px;
}	
.taisyo_kome{
	width: 730px;
	margin: 0 auto;
}
.taisyo_kome li{
	font-size: 16px;
	line-height: 1.6em;
    list-style:  none;
    margin: 0;padding: 0;
	text-indent: -1em;
}
.taisyo_kome li.kome:before{
	content:  "※"; 
}			

/* 投票期間 */
.limit{
    width: 750px;
    margin: 20px auto;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    padding: 12px 0;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}
.limit .shime{color: #D80000;}
.limit .red,
.taisyo .red{color: red;}

/* 賞品 */
.shohin{
	overflow: hidden;
	text-align: center;
	padding-top: 10px;
}

/* 応募フォーム */
.oubo{
	width: 750px;
	margin: 20px auto 20px;
	font-size: 26px;font-weight: bold;
	text-align: center;
}
.oubo .star{color: #D80000;}
	
/* 応募の流れ
------------------------------------------------------------*/	
#header .flow{
	width: 750px;
	margin: 0 auto;
	font-size: 16px;line-height: 2.4em;
	text-align:center;
	border-bottom: 1px dotted #000;
/*	background: #A21967;*/
}
#header .flow .now{color: #D80000;font-weight: bold;}

/* 応募要項テキスト
------------------------------------------------------------*/	
#header .attention{
	width: 700px;
	margin: 20px auto ;
	padding-left: 15px;
}	
#header .attention li{
	font-size: 16px;
	line-height: 1.6em;
    list-style:  none;
    margin: 0;padding: 0;
	text-indent: -1em;
}	
#header .attention li.kome:before{
	content:  "※"; 
}
#header .attention li.ten:before{
	content:  "・"; 
}				
#header .attention_check{
	width: 700px;
	margin: 20px auto;
	text-align: center;
}	
#header .attention_check li{
	font-size: 16px;
	line-height: 1.6em;
    list-style:  none;
    margin: 0; padding: 0;
}
	
/* フォームスタイル 
------------------------------------------------------------*/
.bold{font-size: 18px; font-weight: bold;}	
	
#contents .box{
	width: 750px;
	margin: 0 auto;	clear: both;
}	
#contents .box ul{}
#contents .box ul li{font-size: 15px;display: flex;}
#contents .item,
#contents .ans{ /*高さサイズ*/
	height: 24px;
	margin-bottom: 2px;
	float: left;
	word-break: break-all;
	}
#contents .item2,
#contents .ans{ /*高さサイズ*/
	height: 24px;
	margin-bottom: 2px;
	float: left;
	word-break: break-all;
	}
#contents .item3,
#contents .ans{ /*高さサイズ*/
	/* height: 24px; */
	margin-bottom: 2px;
	float: left;
	word-break: break-all;
	}
#contents .item{
	width: 290px; /*項目横サイズ*/
	color: #FFF;
	background: #D7387E;
	padding: 10px 10px;
	float: left;
	}
#contents .item4{
	width: 290px; /*項目横サイズ*/
	color: #FFF;
	background: #D7387E;
	padding: 10px 10px;
	float: left;
	}
#contents .ans{
	width: 420px; /*記入項目横サイズ*/
	background:#ECECEC;
	padding: 10px 10px;
	line-height: 1.6em;
	}
#contents .ans.height,
#contents .item.height{/*height: 60px;*/ }/*★項目・記入項目高さ指定する場合*/
#contents .ans.height_anc,
#contents .item.height_anc{overflow:hidden;height: auto;min-height: 24px;}/*★項目・記入項目高さ指定する場合*/
	
#contents .ans.height_anc_double,
#contents .item.height_anc_double{height: 60px;}/*★項目・記入項目高さ２行分*/
	
#contents .ans.height_anc_forth,
#contents .item.height_anc_forth{height: auto;min-height: 24px;}/*★項目・記入項目高さ２行分*/
	
#contents .item span.mark{font-size: 14px; color:#FFF; margin-right: 4px;}
#contents .item span.small{font-size: 14px; font-weight: normal;}
	
#contents .color_item{background:#EE6600; font-weight: bold;}/*別色エリア*/
#contents .color_ans{background:#FFE6BF;}/*別色エリア*/
	
/*追加*/
#contents .box_racer{
	width: 750px;
	margin: 0 auto 20px;
	background: #D7387E;
	overflow: hidden;
}	
#contents .box_racer ul{}
#contents .box_racer ul li{}
#contents .box_racer .item,
#contents .box_racer .ans{ /*高さサイズ*/
	width: 710px;
	margin-left: 10px;
	margin-bottom: 2px;
	background: none;
	}
#contents .box_racer .item{
	font-size: 20px;font-weight: bold;
	text-align: center;
	color: #FFF;
	border-bottom: 1px solid #FFF;
	margin-bottom: 16px;
	}
	.list{
	font-size: 22px;font-weight: bold;
	color: #FFF;
	margin-bottom: 3px;
	}
#contents .box_racer .ans{
	font-size: 18px;
	float: left;
	height: auto;
	padding-bottom: 10px;
	margin-top: -12px;
	display: flex;
	flex-wrap: wrap; 
	justify-content: space-between;
	}
#contents .box_racer .ans div.komoku,
#contents .box_racer ul li .ans li{
	width: 150px;
	display: block;
	float: left;
	text-align: center;
	color: #FFF;
	margin: 0 10px 20px 10px;
	}	
#contents .box_racer .ans div.komoku img{
	width: 150px;
}
#contents .box_racer .ans div.komoku6,
#contents .box_racer ul li .ans li{
	width: 236px;
	display: block;
	float: left;
	color: #FFF;
	}	
#contents .box_racer ul li .ans li{
	width: 220px;
	font-size: 18px;
	line-height: 1.6em;
    list-style:  none;
    margin: 0;padding: 0;
	text-indent: -1em;
	padding-left: 15px;
}
#contents .box_racer ul li .ans div {
	font-size: 20px;
	line-height: 24px;
	/* cursor: pointer; */
	font-weight: bold;
}
#contents .box_racer ul li .ans div span{
	font-size: 16px;
	font-weight: 100;
}
#contents .box_racer ul li .ans div img{
	width: 120px;
	height: 140px;
	object-fit: cover;
	object-position: top;
}
#contents .box_racer ul li .ans li:before{
	content:  "・"; 
}		
#contents .ans2{ /*高さサイズ*/
	height: 24px;
	margin-bottom: 2px;
	float: left;
	word-break: break-all;
	}
#contents .item{
	width: 290px; /*項目横サイズ*/
	color: #FFF;
	/* background: #661e1e; */
	background: #28829e;
	padding: 10px 10px;
	float: left;
	}
#contents .item2{
	width: 290px; /*項目横サイズ*/
	color: #FFF;
	/* background: #661e1e; */
	background: #28829e;
	padding: 10px 10px;
	float: left;
	}
#contents .item3{
	width: 290px; /*項目横サイズ*/
	color: #000;
	/* background: #661e1e; */
	background: #F4E329;
	padding: 10px 10px;
	float: left;
	}
#contents .item4{
		width: 290px; /*項目横サイズ*/
		color: #FFF;
		/* background: #661e1e; */
		background: #28829e;
		padding: 10px 10px;
		float: left;
		}
#contents .ans2{
	width: 420px; /*記入項目横サイズ*/
	background:#ECECEC;
	padding: 10px 10px;
	line-height: 1.6em;
	}
#contents .ans2.height,
#contents .item.height{/*height: 60px;*/ }/*★項目・記入項目高さ指定する場合*/
#contents .ans2.height_anc,
#contents .item.height_anc{overflow:hidden;height: auto;min-height: 24px;}/*★項目・記入項目高さ指定する場合*/
	
#contents .ans2.height_anc_double,
#contents .item.height_anc_double{height: 60px;}/*★項目・記入項目高さ２行分*/
	
#contents .ans2.height_anc_forth,
#contents .item.height_anc_forth{height: auto;min-height: 24px;}/*★項目・記入項目高さ２行分*/
	
#contents .item span.mark{font-size: 14px; color:#FFF; margin-right: 4px;}
#contents .item span.small{font-size: 14px; font-weight: normal;}
	
#contents .color_item{background:#EE6600; font-weight: bold; color: #fff; position: relative;}/*別色エリア*/
#contents .color_ans2{background:#FFE6BF;}/*別色エリア*/
	
/*追加*/
#contents .box_racer{
	width: 750px;
	margin: 0 auto 20px;
	background: #EE6600;
	overflow: hidden;
}

#contents .box_racer ul{}
#contents .box_racer ul li{}
#contents .box_racer .item,
#contents .box_racer .ans2{ /*高さサイズ*/
	width: 668px;
	margin-left: 31px;
	margin-bottom: 2px;
	background: none;
	}
#contents .box_racer .item2,
#contents .box_racer .ans2{ /*高さサイズ*/
	width: 668px;
	margin-left: 31px;
	margin-bottom: 2px;
	background: none;
	}
	#contents .box_racer .item4,
	#contents .box_racer .ans2{ /*高さサイズ*/
		width: 668px;
		margin-left: 31px;
		margin-bottom: 2px;
		background: none;
		}
#contents .box_racer .item{
	font-size: 20px;font-weight: bold;
	text-align: center;
	color: #FFF;
	border-bottom: 1px solid #FFF;
	/* border-top: 1px solid #fff; */
	margin-bottom: 30px;
	padding-top: 25px;
	}
#contents .box_racer .item2{
	font-size: 20px;font-weight: bold;
	text-align: center;
	color: #FFF;
	border-bottom: 1px solid #FFF;
	/* border-top: 1px solid #FFF; */
	margin-bottom: 30px;
	}
	#contents .box_racer .item4{
		font-size: 20px;font-weight: bold;
		text-align: center;
		color: #FFF;
		border-bottom: 1px solid #FFF;
		/* border-top: 1px solid #fff; */
		margin-bottom: 30px;
		padding-top: 15px;
		}
	.list{
	font-size: 22px;font-weight: bold;
	color: #FFF;
	margin-bottom: 3px;
	}
#contents .box_racer .ans2{
	font-size: 18px;
	float: left;
	height: auto;
	padding-bottom: 10px;
	margin-top: -12px;
	/* display: flex; */
	flex-wrap: wrap; 
	}
#contents .box_racer .ans2 div.komoku,
#contents .box_racer ul li .ans2 li{
	width: 142px;
	display: block;
	float: left;
	/* text-align: center; */
	color: #FFF;
	margin-bottom: 10px;
	}	
#contents .box_racer .ans2 div.komoku img{
	width: 120px;
}
#contents .box_racer .ans2 div.komoku6,
#contents .box_racer ul li .ans2 li{
	width: 236px;
	display: block;
	float: left;
	color: #FFF;
	}	
#contents .box_racer ul li .ans2 li{
	width: 220px;
	font-size: 18px;
	line-height: 1.6em;
    list-style:  none;
    margin-left: 43px;padding: 0;
	text-indent: -1em;
	padding-left: 15px;
}
#contents .box_racer ul li .ans2 label {
	font-size: 20px;
	line-height: 24px;
	cursor: pointer;
}
#contents .box_racer ul li .ans2 label span{
	font-size: 16px;
}
#contents .box_racer ul li .ans2 label img{
	width: 120px;
	height: 140px;
	object-fit: cover;
	object-position: top;
}
#contents .box_racer ul li .ans2 li:before{
	content:  "・"; 
}		
	
#contents .box_racer .item span.mark{
	font-size: 20px;
	color:#FFFF00; margin-right: 4px;
	}
#contents .box_racer .item2 span.mark{
	font-size: 20px;
	color:#FFFF00; margin-right: 4px;
	}
#contents .box_racer .item4 span.mark{
	font-size: 20px;
	color:#FFFF00; margin-right: 4px;
	}
#contents .box_racer .item span.small{font-size: 18px; font-weight: normal;}
#contents .box_racer .item2 span.small{font-size: 18px; font-weight: normal;}
	
	
input{
	font-size: 16px;
	text-indent: 4px;
	border:1px #CCC solid;
}

.list{
	color: #fff;
    font-size: 22px;
	margin-left: 43px;
}
	
/*テキストエリア・幅*/
.box_quiz{ width:150px; height:24px; font-weight: bold; margin: 0 5px;}	/*別色エリア*/
.box_name_shi,.box_name_mei,
.box_name_shi_kana,.box_name_mei_kana{ width:120px; height:24px; margin: 0 5px;}	
.box_nickname{ width:180px; height:24px; margin: 0 5px;}	
.box_zip,.box_age { width:70px; height:24px; margin: 0 5px;}	
.box_add { width:350px; height:24px; margin: 0 5px;}	
.box_tel,.box_fax { width:70px; height:24px; margin: 0 5px;}	
.box_mail,.box_twitter{ width:280px; height:24px; margin: 0 5px;}
.box_job,.box_number{ width:170px; height:24px; margin: 0 5px;}
.box_text{ width:400px; height:150px;}	


	
/* フォームスタイル */
select{
	font-size: 16px;
	line-height:1.2em;
	padding:2px;
	}
/* テキストエリア */	
textarea{
  /* width: 400px;
  height:110px;
  min-width: 400px;
  max-width: 400px;
  min-height: 70px;
  max-height: 70px; */
}
	
/* 記入エラー
------------------------------------------------------------*/	
.error{
/*	display: none;*//*システム渡し時にはエラーが表示されている状態に*/
	width:710px;
	margin:0 auto 20px;
	padding: 10px 20px;
	background:#AB0002;;color: #FFF;
	font-size: 16px;
}
.error span{color: #FFFF00;}/*エラー内強調色*/
.error ul{}
.error ul li{}
	
#wrapper_all{min-height: 100vh;} /*//最小でも画面の高さ分のbodyの高さを担保する*/
		
/* フッター */
#footer{
	width: 100%;
	font-size:0.7em;text-align:center;
	line-height: 3em;
	background: #000;color: #FFF;
	bottom: 0;position: relative;
}

/* 確認メッセージ */
.kakunin{
	height: 25px;
	width: 100%;
	overflow: hidden;
	text-align: center;
	padding-top: 50px;
	margin: auto;
}
	
/* セキュリティーサイン */
#sign table {
	width:750px;
	margin:20px auto ;
	border-collapse:collapse;
	border:1px solid #CCC;
	box-sizing: border-box;
}
#sign th,#sign td {}
#sign th,#sign td .sign_size{
	font-size:14px; line-height: 1.3em;padding: 5px;
	}


/* ボタン
------------------------------------------------------------*/	
#area_bt{
	width:480px;
	overflow:hidden;
	margin:20px auto;
	padding: 30px 0;
	clear: both;
	}

/* 確認画面へ・応募するボタン */
#area_bt .bt_check .next,
#area_bt .bt_apply .next{
	width: 230px; height: 60px;
	background: url(../images/btn_mark.svg)no-repeat bottom right / contain,#00FFDC;
	color: #000;
	/* border-radius: 100px; */
	margin:0 auto;
	display:block;
	cursor:pointer;
	border: 0;
	float: right;
	border: solid 3px #000;
	font-size: 22px; font-weight: bold;
	/* text-shadow:1px 2px 2px #333; */
	box-shadow: 2px 1px 6px #999;
}
#area_bt .bt_apply .next{
		margin-right: 6px;
}
#area_bt .bt_check .next:hover,
#area_bt .bt_apply .next:hover{
	background: url(../images/btn_mark.svg)no-repeat bottom right / contain,#00B79E;/*ホバーボタングラデーション変更*/
	}
#area_bt .bt_check .next{float:none;}/*1つボタンセンター位置*/

/* もどるボタン */
#area_bt .bt_return .back{
	width: 230px; height: 60px;
	background: url(../images/btn_mark.svg)no-repeat bottom right / contain,#ddd;
	border: 3px solid #000;
	color: #000;
	/* border-radius: 100px; */
	float: left;
	display:block;
	cursor:pointer;
	font-size: 22px; font-weight: bold;
	/* text-shadow:1px 2px 2px #999; */
	box-shadow: 2px 1px 6px #999;
}
#area_bt .bt_return .back:hover{
	background: url(../images/btn_mark.svg)no-repeat bottom right / contain,#999;/*ホバーボタングラデーション変更*/
	}

/*
OK画面
-------------------------------------------------------*/
.ok_contents{
    /* height: 140px; */
    margin: 0 auto 0;
    padding-bottom: 80px;
}

.ok{
	font-size: 22px;
	line-height:1.4em; color: #000;
	text-align:center;
	font-weight: bold;
	padding: 50px 0;
	border-bottom: 1px dotted #000;
	margin: 0 auto 40px;
	width: 750px;
}

.share{
	text-align: center;
	font-size: 18px;
	width: 750px;
	margin: 50px auto;
}
.share .intro{
	position: relative;
	width: fit-content;
	margin: auto;
}
.share .intro p:first-of-type{
	font-weight: bold;
	font-size: 26px;
	margin-top: 36px;
	margin-right: -0.3em;
}
.share .intro span{
	color: #f80;
}
.share .intro .kome{
	font-size: 15px;
	margin: 4px 0 0;
}
.share .intro::before,.share .intro::after{
	content: "";
	position: absolute;
	display: inline-block;
	width: 73px;
	height: 62px;
	background: url(../images/share_slash.svg)no-repeat bottom right;
	bottom: 0;
}
.share .intro::before{
	left: -80px;
}
.share .intro::after{
	right: -80px;
	transform: scaleX(-1);
}

.share .message {
	width: 100%;
	box-sizing: border-box;
    padding: 32px 0 28px;
    margin: 8px auto 0;
	background: linear-gradient(-45deg,#fff 40px, transparent 40px),linear-gradient(135deg,#fff 40px, transparent 40px),url(../images/share_bg.svg) center,#FFF267;
}
.share .message .fukidasahi {
	width: 576px;
	padding: 16px 0 20px;
	margin: auto;
	background: linear-gradient(-45deg,#000 30px, transparent 30px),linear-gradient(135deg,#000 30px, transparent 30px),#fff;
	border: #000 solid 3px;
	position: relative;
}
.share .message .fukidasahi::after {
	position: absolute;
	content: "";
	width: 41px;
	height: 23px;
	background: url(../images/mess_tri.svg) no-repeat top center;
	bottom: -22px;
	left: 50%;
	transform: translateX(-50%);
}
.share .message .for {
	display: inline-block;
	width: fit-content;
	position: relative;
	margin: 0 -0.5em 12px 0;
	padding-bottom: 8px;
}
.share .message .for::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% - 0.5em);
	height: 2px;
	background-image: repeating-linear-gradient(90deg, #000000, #000000 6px, transparent 6px, transparent 13px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 100%;
}
.share .message .txt {
	font-size: 24px;
	font-weight: bold;
}

.share .message .sharebtn {
	background: url(../images/sharebtn.svg) no-repeat center / contain, #00FFDC;
	width: 314px;
	height: 64px;
	display: inline-block;
	margin: 24px auto 0;
	border: #000 solid 3px;
}
.share .message .sharebtn:hover {
	background: url(../images/sharebtn.svg) no-repeat center / contain, #00B79E;
}




.ans_senshu {
	min-height: 26px !important;
}
.ans_message {
	min-height: 48px !important;
}

}

/* 応援メッセージ用 */
input[type="radio"] {
    position: relative;
    margin-left: -25px;
	width: 15px;
	height: 15px;
}
#contents .box_racer ul li .ans div span {
	/* margin-left: 10px !important; */
}

.message_wrap {
	margin-bottom: 20px !important;
}
.message_box {
	display: inline-block !important;
	width: 750px !important;
	height: 578px !important;
	overflow: hidden; /* ←追加 */
}
.message_box .item3{
	width: 730px !important;
	/* text-align: center; */
}
.message_box .ans2 {
	width: 730px !important;
    height: 85px !important;
}
.message_box .box_text {
    width: 690px !important;
    height: 33px !important;
    margin-top: 5px;
    padding: 10px 20px;
	font-size: 20px !important;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

.bold .small {
	font-size: 15px !important;
	font-weight: 400 !important;
}
.bold .right {
	position: absolute;
	right: 10px;
}

.text_center {
	margin-top: 50px;
	text-align: center;
}


/***********************************************************************
「★SP版 CSS★」ブラウザの幅が750px以下ならここの記述が有効になる
**********************************************************************/
@media only all and (max-width: 750px) {
.sp_non,.pc{display: none;}

#wrapper{
	width:750px;
	}

/* ヘッダー
------------------------------------------------------------*/
/* #header {} */
#header .title{ 
	height:300px;
	width: 750px;
	background:url(../images/tit.png) no-repeat top center;
}

	
/* 応募の流れ
------------------------------------------------------------*/	
#header .flow{
	width: 720px;
	font-size: 30px;
	line-height: 1.4em;
	text-align:center;
	padding: 15px;
	border-top: 1px dotted #000;
	border-bottom: 1px dotted #000;
	margin-top: 1px;
}

#header .flow .now{color: #D80000;font-weight: bold;}

/*追加*/
/* リード文 */
.lead{
	width: 750px;
	font-size: 32px;line-height: 1.5em;
	margin: 20px auto;
}
.back_color{
	background-color: #F8F4E6;
	/* border-radius: 10px; */
	margin-bottom: -35px;
	padding: 20px;

  }
.lead_red{
	width: 700px;
	font-size: 32px;line-height: 1.5em;
	margin: 20px auto;
	/* padding: 20px; */
}
.tyui{
	width: 700px;
	font-size: 26px;line-height: 1.5em;
	margin: 20px auto;
}
.red{color: #D80000;font-weight: bold;}	
.blue{color: #2832ff;font-weight: bold;}

/* 対象レース and 賞品 */
.taisyo{
    width: 750px;
    margin: 20px auto;
    text-align: center;
    background: #E9C878;
    color: #000;
    padding: 10px 0 20px;
}

.taisyo .tit{
    width: 680px;
    margin: 20px auto;
    font-size: 32px;
    line-height: 1.8em;
    font-weight: bold;
    text-align: center;
    border-radius: 40px;
    background: #C47F1D;
    color: #fff;
}

.taisyo .race{
    font-size: 34px;
	width: 750px;
    font-weight: bold;
    line-height: 1.4em;
    text-align: center;
    margin: 20px 0 10px;
	display: table-cell;
	vertical-align: middle;
}	
.taisyo_kome{
	width: 650px;
	margin: 0 auto;
}
.taisyo_kome li{
	font-size: 26px;
	line-height: 1.4em;
    list-style:  none;
    margin: 0;padding: 0;
	text-indent: -1em;
}
.taisyo_kome li.kome:before{
	content:  "※"; 
}

/* 投票期間 */
.limit{
	width: 680px;
	margin: 40px auto;
	font-size: 29px;font-weight: bold;
	text-align: center;
	padding: 20px;
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
}
.limit .shime{color: #D80000;}
.limit .red,
.taisyo .red{color: red;}

/* 賞品 */
.shohin{
	font-size: 30px;
	text-align: center;
	padding-bottom: 15px;
}

/* 応募フォーム */
.oubo{
	width: 750px;
	margin: 45px auto 40px;
	font-size: 40px;font-weight: bold;
	text-align: center;
}
.oubo .star{color: #D80000;}

/* 応募要項テキスト
------------------------------------------------------------*/	
#header .attention{
	width:710px;
	margin: 40px auto;
/*	padding-left: 30px;*/
}	
#header .attention li{
	font-size: 26px;
	line-height: 1.4em;
    list-style:  none;
    margin: 0; padding: 0;
/*	text-indent: -1em;*/
}
#header .attention li.kome:before{
	content:  "※"; 
}			
#header .attention_check{
	width:690px;
	margin: 20px auto;
}	
#header .attention_check li{
	font-size: 32px;
	line-height: 1.4em;
    list-style:  none;
    margin: 0; padding: 0;
}
	
/* フォームスタイル 
------------------------------------------------------------*/
.bold{font-weight: bold;}		

#contents .racer_tit{
	width: 750px;
	height: 56px;
	font-size: 45px;
	font-weight: bold;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
}

#contents .racer_tit .small{
	font-size: 35px;
}

#contents .box ul li{font-size: 34px;}
#contents .item,
#contents .ans{ 
	float: left;
	word-break: break-all;
	}
#contents .item{
	width: 708px; min-height: 45px;
	color: #FFF;
	/* background: #D7387E; */
	padding: 20px 20px 0px 20px;
	float: left;
	}
#contents .ans{
	width: 708px; min-height: 50px;
	background:　#e74367c4;
	padding: 40px 20px 2px 20px;
	line-height: 1.6em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	}
.list{
	font-size: 34px;font-weight: bold;
	color: #FFF;
	margin-bottom: 3px;
	/* margin-left: 47px; */
	margin-left: 12px;
	}
#contents .ans.height,
#contents .item.height{/*height: 60px;*/ }/*★項目・記入項目高さ指定する場合*/
#contents .ans.height_anc,
#contents .item.height_anc{/*height: 280px;*/}/*★項目・記入項目高さ指定する場合*/
	
#contents .item span.mark{font-size: 30px; color:#FFF; margin-right: 4px;}
#contents .item span.small{font-size: 26px; font-weight: normal;}
	
#contents .color_item{background:#EE6600; font-weight: bold;}/*別色エリア*/
#contents .color_ans{background:#FFE6BF;}/*別色エリア*/

#contents .box_racer {
    width: 750px;
    margin: 0 auto 30px;
    padding-bottom: 10px;
    overflow: hidden;
}

#contents .box_racer .item span.mark{
	font-size: 30px;
	color:#FFFF00; margin-right: 4px;
	}
	
input{
	font-size: 30px;
	text-indent: 10px;
	border:2px #CCC solid;
}

/*投票選手一覧*/
#contents .box_racer .item {
    font-size: 34px;
    font-weight: bold;
    text-align: center;
    /* background: #D7387E; */
	color: #FFF;
    border-bottom: 1px solid #FFF;
}

.box_racer .ans{
	font-size: 34px;
	/* background: #D7387E; */
	color: #FFF;
}

#contents .box_racer ul li .ans li:before {
    content: "・";
}

#contents .box_racer .ans div.komoku img{
	width: 220px;
	height: 240px;
	/*元の値 width: 320px;
	height: 340px; */
	object-fit: cover;
	object-position: top;
	margin-bottom: 10px;
}

#contents .box_racer .ans div.komoku, #contents .box_racer ul li .ans2 li {
    /* width: 350px; */
    width: 235px;
    margin-bottom: 10px;
    display: block;
    float: left;
	text-align: center;
}
hr.line {
    height: 5px;
    background-color: #D80000;
    /* border: none; */
  }
#contents .box_racer .ans div.komoku {
	font-size: 35px;
	line-height: 40px;
	font-weight: bold;
}

#contents .box_racer .ans div.komoku span {
	font-size: 27px;
	margin-top: -15px;
	font-weight: 100;
}
	
#contents .box_racer .ans div.komoku6, #contents .box_racer ul li .ans2 li {
    width: 350px;
    margin-bottom: 10px;
	font-size: 32px;
    display: flex;
    float: left;
}
#contents .ans2{ 
	float: left;
	word-break: break-all;
	}
#contents .item{
	width: 650px; min-height: 45px;
	color: #FFF;
	margin-left: 30px;
	/* background: #28829e; */
	padding: 20px 20px 0px 20px;
	float: left;
	}
#contents .item2{
	width: 650px; min-height: 45px;
	color: #FFF;
	margin-left: 30px;
	background: #28829e;
	padding: 20px 20px 0px 20px;
	float: left;
	}
#contents .item3{
	width: 710px; min-height: 25px;
	color: #000;
	/* margin-left: 30px; */
	background: #F4E329;
	padding: 20px 20px 20px 20px;
	float: left;
	}
	#contents .item4{
		width: 650px; min-height: 45px;
		color: #FFF;
		margin-left: 30px;
		background: #28829e;
		padding: 20px 20px 0px 20px;
		float: left;
	}
#contents .ans2{
	width: 708px; min-height: 50px;
	background:　#e74367c4;
	padding: 20px 20px 20px 20px;
	line-height: 1.6em;
	/* display: flex; */
	flex-wrap: wrap;
	justify-content: center;
	}
.list{
	font-size: 34px;font-weight: bold;
	color: #FFF;
	margin-bottom: 3px;
	/* margin-left: 47px; */
	margin-left: 12px;
	}
#contents .ans2.height,
#contents .item.height{/*height: 60px;*/ }/*★項目・記入項目高さ指定する場合*/
#contents .ans2.height_anc,
#contents .item.height_anc{/*height: 280px;*/}/*★項目・記入項目高さ指定する場合*/
	
#contents .item span.mark{font-size: 30px; color:#FFF; margin-right: 4px;}
#contents .item span.small{font-size: 26px; font-weight: normal;}
#contents .item2 span.small{font-size: 26px; font-weight: normal;}
	
#contents .color_item{background:#EE6600; font-weight: bold; 
	line-height: 45px; color: #fff;}/*別色エリア*/
#contents .color_ans2{background:#FFE6BF;}/*別色エリア*/
#contents .box_racer {
    width: 750px;
    margin: 0 auto 30px;
    padding-bottom: 10px;
    overflow: hidden;
}

#contents .box_racer .item span.mark{
	font-size: 30px;
	color:#FFFF00; margin-right: 4px;
	}
#contents .box_racer .item2 span.mark{
	font-size: 30px;
	color:#FFFF00; margin-right: 4px;
	}
#contents .box_racer .item4 span.mark{
	font-size: 30px;
	color:#FFFF00; margin-right: 4px;
	}
	
input{
	font-size: 30px;
	text-indent: 10px;
	border:2px #CCC solid;
	height: 45px;
}

/*投票選手一覧*/
#contents .box_racer .item {
    font-size: 34px;
    font-weight: bold;
    text-align: center;
    /* background: #5084C4; */
	color: #FFF;
    border-bottom: 3px solid #FFF;
	padding-top: 35px;
}
#contents .box_racer .item2 {
    font-size: 34px;
    font-weight: bold;
    text-align: center;
    background: #5084C4;
	color: #FFF;
    border-bottom: 3px solid #FFF;
	/* border-top: 3px solid #FFF; */
}
#contents .box_racer .item4 {
    font-size: 34px;
    font-weight: bold;
    text-align: center;
    background: #5084C4;
	color: #FFF;
    border-bottom: 3px solid #FFF;
	padding-top: 35px;
}
.box_racer .ans2{
	font-size: 34px;
	/* background: #D7387E; */
	color: #FFF;
}

#contents .box_racer ul li .ans2 li:before {
    content: "・";
}

#contents .box_racer .ans2 div.komoku img{
	width: 320px;
	height: 340px;
	object-fit: cover;
	object-position: top;
	margin-bottom: 10px;
}

#contents .box_racer .ans2 div.komoku, #contents .box_racer ul li .ans2 li {
    width: 350px;
    margin-bottom: 10px;
    display: block;
    float: left;
	text-align: center;
}

#contents .box_racer .ans2 div.komoku {
    font-size: 36px;
	line-height: 40px;
}

#contents .box_racer .ans2 div.komoku span {
    font-size: 28px;
	margin-top: -15px;
}
	
#contents .box_racer .ans2 div.komoku6, #contents .box_racer ul li .ans2 li {
    width: 350px;
    margin-bottom: 10px;
	font-size: 32px;
    display: flex;
    float: left;
}
#contents .box_racer{
	width: 750px;
	margin: 0 auto 20px;
	background: #EE6600;
	overflow: hidden;
}		
/*テキストエリア・幅*/
.box_quiz{ width:300px; height:45px; font-weight: bold; margin: 0 5px;}	/*別色エリア*/
.box_name_shi,.box_name_mei,
.box_name_shi_kana,.box_name_mei_kana{ width:190px; height:45px; margin: 0 5px;}	
.box_zip,.box_age { width:120px; height:45px; margin: 0 5px;}	
.box_add { width:98%; height:45px; margin: 0 5px;}	
.box_tel,.box_fax { width:160px; height:45px; margin: 0 5px;}	
.box_mail,.box_twitter{ width:380px; height:45px; margin: 0 5px;}
.box_job,.box_number{ width:400px; height:45px; margin: 0 5px;}
.box_text{ width:98%; height:250px;}
	
/* ラジオボタン指定 */	
/* input.radio {} */
input[type="radio"] {
    width: 32px; height: 32px;
	margin: 0 3px 0 2px;
    content: "";
    vertical-align: middle;
    cursor: pointer;	
}
	
/* チェックボックス指定 */
/* input.checkbox {}	 */
input[type="checkbox"] {
    width: 32px;
	height: 32px;
	margin: 0 1px 0 2px;
    content: "";
    vertical-align: middle;
    cursor: pointer;
}
	
/* フォームスタイル */
select{
	height: 50px;
	font-size: 30px;
	line-height:1.2em;
	padding:2px;
	}
	
/*テキストエリア*/		
textarea{
	font-size: 30px;
	width:98%;
}

.nick {
	font-size: 25px !important;
	line-height: 1.4em;
	margin-left: 17px;
	padding: 0;
	width: auto;
}

	
/* 記入エラー
------------------------------------------------------------*/	
.error{
/*	display: none;*//*システム渡し時にはエラーが表示されている状態に*/	
	width:710px;
	margin:0 auto 20px;
	padding: 20px 20px;
	background:#AB0002; color: #FFF;
	font-size: 28px;line-height: 1.4em;
}
.error span{color: #FFFF00;}/*エラー内強調色*/
.error ul{}
.error ul li{}
		
/* フッター */
#footer{
	width: 100%;
	font-size:24px; text-align:center;
	line-height: 2.8em;
	background: #000;color: #FFF;
	bottom: 0;position: relative;
}

/* 確認メッセージ */
.kakunin{
    width: 750px;
    height: 85px;
    text-align: center;
    font-size: 26px;
    overflow: hidden;
    padding-top: 50px;
	line-height: 1.4em;
}

.kakunin .br{
	display: inline-block;
}


/* セキュリティーサイン */
#sign table {
	width:730px;
	margin:20px auto ;
	border-collapse:collapse;
	border:1px solid #CCC;
	box-sizing: border-box;
}
#sign th,#sign td {}
#sign th,#sign td .sign_size{
	font-size:26px; line-height: 1.2em;
	padding: 10px;
	}


/* ボタン
------------------------------------------------------------*/	
#area_bt{ width:710px; overflow:hidden; margin:20px auto; margin-top: 0; padding: 30px 0;}

/* 確認画面へ・応募するボタン */
#area_bt .bt_check .next,
#area_bt .bt_apply .next{
	width: 340px; height: 100px;
	background: url(../images/btn_mark.svg)no-repeat bottom right / contain,#00FFDC;
	color: #000;
	/* border-radius: 100px; */
	margin:0 auto;
	display:block;
	cursor:pointer;
	border: 0;
	float: right;
	border: solid 3px #000;
	font-size: 38px; font-weight: bold;
	/* text-shadow:1px 2px 2px #333; */
	box-shadow: 2px 1px 6px #999;
}
#area_bt .bt_check .next{float:none;}/*1つボタンセンター位置*/

/* もどるボタン */
#area_bt .bt_return .back{
	width: 340px; height: 100px;
	background: url(../images/btn_mark.svg)no-repeat bottom right / contain,#ddd;
	border: 3px solid #000;
	color: #000;
	/* border-radius: 100px; */
	float: left;
	display:block;
	cursor:pointer;
	font-size: 38px; font-weight: bold;
	/* text-shadow:1px 2px 2px #999; */
	box-shadow: 2px 1px 6px #999;
}

/*
OK画面
-------------------------------------------------------*/
.ok_contents{
	width: 750px;
	/* height: 300px; */
	/* margin: 200px auto; */
}

.ok{
    font-size: 36px;
    line-height: 1.4em;
    color: #000;
    text-align: center;
    font-weight: bold;
    margin: 0 auto 30px;
	border-bottom: 1px dotted #000;
	padding: 80px 0;
}


div.komoku:last-child {
	position: relative;
	left: -235px;}

input[type="radio"] {
    position: relative;
    margin-left: -25px;
	width: 25px;
	height: 25px;
}
#contents .box_racer ul li .ans div span {
	margin-left: 10px !important;
}

.message_wrap {
	margin-bottom: 20px !important;
}
.message_box {
	display: inline-block !important;
	width: 750px !important;
	height: auto !important;
}
.message_box .item3{
	width: 710px !important;
}
.message_box .ans2 {
	/* width: 750px !important; */
	height: 109px !important;
	padding: 20px 10px !important;
	margin: 0px auto;
}
.message_box .box_text {
	width: 690px !important;
	height: 46px !important;
	padding: 10px 20px;
	font-size: 30px !important;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

.bold .small {
	font-size: 34px !important;
	font-weight: 400 !important;
}
.bold .right {
	position: static;
	right: 10px;
}

.text_center {
	width: 100% !important;
	margin-top: 70px;
	text-align: center !important;
	font-size: 25px;
	line-height: 1.4em;
	display: inline-block !important;
}


.share{
	text-align: center;
	font-size: 18px;
	width: 750px;
	margin: 50px auto 150px;
}
.share .intro{
	position: relative;
	width: fit-content;
	margin: auto;
}
.share .intro p:first-of-type{
	font-weight: bold;
	font-size: 40px;
	margin-top: 36px;
	margin-right: -0.3em;
	line-height: 1.2;
}
.share .intro span{
	color: #f80;
}
.share .intro .kome{
	font-size: 25px;
	margin: 12px 0 0;
}
.share .intro::before,.share .intro::after{
	content: "";
	position: absolute;
	display: inline-block;
	width: 116px;
	height: 100px;
	background: url(../images/share_slash.svg)no-repeat bottom right / contain;
	bottom: 0;
}
.share .intro::before{
	left: -120px;
}
.share .intro::after{
	right: -120px;
	transform: scaleX(-1);
}

.share .message {
	width: 90%;
	box-sizing: border-box;
    padding: 56px 0 52px;
    margin: 16px auto 0;
	background: linear-gradient(-45deg,#fff 50px, transparent 50px),linear-gradient(135deg,#fff 50px, transparent 50px),url(../images/share_bg.svg) no-repeat center center / cover,#FFF267;
}
.share .message .fukidasahi {
	width: 544px;
	box-sizing: border-box;
	padding: 28px 24px 32px;
	margin: auto;
	background: linear-gradient(-45deg,#000 40px, transparent 40px),linear-gradient(135deg,#000 40px, transparent 40px),#fff;
	border: #000 solid 3px;
	position: relative;
}
.share .message .fukidasahi::after {
	position: absolute;
	content: "";
	width: 41px;
	height: 23px;
	background: url(../images/mess_tri.svg) no-repeat top center;
	bottom: -22px;
	left: 50%;
	transform: translateX(-50%);
}
.share .message .for {
	display: inline-block;
	width: fit-content;
	position: relative;
	margin: 0 -0.5em 12px 0;
	padding-bottom: 20px;
	font-size: 28px;
}
.share .message .for::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% - 0.5em);
	height: 2px;
	background-image: repeating-linear-gradient(90deg, #000000, #000000 6px, transparent 6px, transparent 13px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 100%;
}
.share .message .txt {
	font-size: 36px;
	line-height: 1.4;
	font-weight: bold;
}

.share .message .sharebtn {
	box-sizing: border-box;
	background: url(../images/sharebtn_sp.svg) no-repeat center / contain, #00FFDC;
	width: 544px;
	height: 96px;
	display: inline-block;
	margin: 32px auto 0;
	border: #000 solid 3px;
}

}
	
	
	

