@charset "utf-8";

/* -------------------------------
   BASE
------------------------------- */

#wrap {
	position:relative;
	width:100%;
	min-width:960px;
	margin:0 auto;
	overflow:hidden;
	background: url(../img/common/bg.png) center top no-repeat;
}
.sp {
	display:none!important;
}
.pcNL:before {
	content: "\A" ;
	white-space: pre ;
}

/* -------------------------------
   common
------------------------------- */


/* -------------------------------
   header
------------------------------- */

#header {
	position: relative;
	width: 1200px;
	margin: 0 auto;
	z-index: 1;
}
#header .logo {
	padding: 30px 0 20px 0;
}
#hNav {
	position: absolute;
	top: 0;
	right: 0;
}
#hNav li {
	float: left;
	margin-left: 20px;
	padding: 10px 0;
}
#hNav li a {
	color: #FFF;
	text-decoration: none;
}
#hNav li a:before {
	display: inline-block;
	content: '';
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 4px solid #FFF;
}
#hNav li.hNav-apeal {
	position: relative;
	background-color: #fff;
	margin: 0;
	padding: 2px 25px 2px 5px;
	border-top: 5px solid #3C9F3B;
	border-bottom: 5px solid #3C9F3B;
	position: relative;
	font-weight: bold;;
	font-size: 16px;
}
#hNav li.hNav-apeal:after {
	content: "";
	background: url('../img/common/arrow-red.png') center center no-repeat;
	position: absolute;
	width: 16px;
	height: 16px;
	margin: auto;
	right: 5px;
	top: 0;
	bottom: 0;
}
#gNav {
	display: table;
	width: 100%;
	table-layout: fixed;
	border-left: 1px solid #EEE;
}
#gNav > li {
	position: relative;
	display: table-cell;
	border-right: 1px solid #EEE;
	vertical-align: middle;
}
#gNav > li > a,
#gNav > li > span.parent-subnav {
	display: block;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	padding-bottom: 15px;
}
#gNav > li ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 125%;
	opacity: 0;
	-moz-transition-duration:0.5s;
	-o-transition-duration:0.5s;
	-ms-transition-duration:0.5s;
	transition-duration:0.5s;
}
#gNav > li.open ul {
	display: block;
	opacity: 1;
}
#gNav > li ul a {
	display: block;
	padding: 10px 10px 10px 18px;
	background: #FFF;
	border-bottom: 1px solid #EEE;
	line-height: 1.2;
}
#gNav > li ul a:before {
	display: inline-block;
	content: '';
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 4px solid #3EA039;
	margin-left: -8px;
}

#gNav > li ul li.pop {
	color: rgb(57, 159, 50);
    text-align: left;
    padding: 15px 0px 15px 5px;
    background: #fff;
    font-weight: bold;
}

#gNav > li ul li.pop-2 a {
	color: #fff;
    background: #3C9F3B;
}
#gNav > li ul li.pop-2 a:before {
	border-left-color: #fff;
}

#hFb {
	position: absolute;
	top: 10px;
	right: -5px;
	width: 110px;
	height: 110px;
	padding: 5px;
	background: url(../img/common/btn_fb02_bg_2x.png) center bottom no-repeat;
	-moz-background-size:100% auto;
	-webkit-background-size:100% auto;
	-o-background-size:100% auto;
	-ms-background-size:100% auto;
	background-size:100% auto;
}
#hFb a {
	display: block;
	overflow: hidden;
	background: #FFF;
	padding: 18px;
	width: 100px;
	height: 100px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

#hDate {
	position: absolute;
	top: 50px;
	right: 0;
}

#hCountdown {
	position: absolute;
	top: 50px;
	right: 300px;
	line-height: 60px;
	font-weight: bold;
	font-size: 16px;
}
#hCountdown .date {
	font-size: 36px;
	color: #3EA039;
}


/* -------------------------------
   footer
------------------------------- */

#footer > div.clearfix {
	width: 1120px;
	margin: 0 auto;
	padding: 20px 0;
}
#fNav {
	float: left;
	width: 540px;
	padding: 20px 0;
}
#fNav dl {
	float: left;
	margin-right: 20px;
}
#fInfo {
	float: right;
	width: 560px;
}
#fInfo dt {
	clear: left;
	float: left;
	width: 105px;
}
#fInfo dd {
	float: left;
	width: 415px;
}
#fInfo :nth-child(n+3) {
	border-top: 1px solid #F2F2F2;
}
#footer .logo {
	padding: 40px 0;
}
#copyright {
	padding: 30px 0;
}

/* -------------------------------
   side
------------------------------- */

#sideL {
	float: left;
	width: 220px;
}
#sideR {
	float: right;
	width: 220px;
}
#sideL .bnrs li:nth-child(n+2),
#sideR .bnrs li:nth-child(n+2) {
	margin-top: 10px;
}


/* -------------------------------
   contents
------------------------------- */

#pagetit h1 {
	width: 1120px;
	margin: 0 auto;
	padding: 50px 0;
	font-size: 32px;
}
#path {
	width: 1120px;
	margin: 20px auto 0 auto;
}
#container {
	width: 1120px;
	margin: 40px auto 0 auto;
}
#homeContents {
	float: left;
	width: 860px;
}
#homeContents #contents {
	float: right;
	width: 600px;
}
.sec h2.tit {
	font-size: 28px;
	letter-spacing: 10px;
}
.sec h3.tit {
	font-size: 21px;
}

.newsList {
	margin-top: -5px;
}
.newsList time {
	display: table-cell;
	padding: 10px 10px 10px 0;
	border-bottom: 1px dotted #EEE;
}
.newsList a {
	display: table-cell;
	padding: 10px;
	border-bottom: 1px dotted #EEE;
}
#newsSec .btn {
	margin-top: 20px;
}

.stdTable th {
	width: 120px;
}

.stdTable td table.frame th {
	width: 120px;
	padding-right: 10px;
}
.stdTable td table.frame :nth-child(n+2) th,
.stdTable td table.frame :nth-child(n+2) td {
	padding-top: 10px;
}


/* -------------------------------
   home
------------------------------- */

#main .inner {
	position: relative;
	width: 801px;
	margin: 0 auto;
}
#main .btns {
	position: relative;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 801px;
	margin-left: -400px;
}
#main .btns li {
	top: 0;
}
#main .btns li:first-child {
	margin: -30px 0 0 -30px;
}
#main .btns li:last-child {
	margin: -30px -30px 0 0;
}
#mainImg {
	padding: 20px 0;
	min-width: 1120px;
	margin: 0 auto;
}

#entrySec h2.tit,
#homeVolunteerSec h2.tit,
#homeAmbassadorSec h2.tit {
	font-size: 32px;
}
#entrySec h2.tit:before,
#homeVolunteerSec h2.tit:before,
#homeAmbassadorSec h2.tit:before {
	top: -30px;
	margin-left: -30px;
	width: 60px;
	height: 60px;
}
#entrySec h2.tit:before{
	height: 40px;
	background-position: center 10px;
	-webkit-border-radius: 30px 30px 0 0;
	-moz-border-radius: 30px 30px 0 0;
	border-radius: 30px 30px 0 0;
}
#entrySec .catch,
#homeVolunteerSec .catch,
#homeAmbassadorSec .catch {
	padding: 20px 0;
	font-size: 24px;
}
#entryBnrs {
	border-top: 1px solid #FFF;
}
#entryBnrs li {
	float: left;
	width: 50%;
	border-bottom: 1px solid #FFF;
	border-right: 1px solid #FFF;
	padding: 4px;
}
#home #entryBnrs li {
	/*float:none;
	width:60%;*/
	float:left;
	width:50%;
	border-bottom: 1px solid #FFF;
	border-right: 1px solid #FFF;
	padding: 4px;
	margin:0 auto;
}
/*
#homeVolunteerSec {
	margin-top: 40px;
}
*/
#volunteerSec .btn {
	margin-top: 30px;
}
#featureSec #feature-left {
	float: left;
	width: 280px;
}
#featureSec #feature-right {
	float: right;
	width: 300px;
}
.action_box{
	width:100%;
	overflow:hidden;
	margin-top:20px;
}
.action_box p.safety_banner{
	width:49%;
	float:left;
}
.action_box p.mannerup_banner{
	width:49%;
	float:right;
}
.action_box p.ouen_banner{
	width:49%;
	float:left;
}
.action_box p.traffic_control_banner{
	width:49%;
	float:right;
}
.action_box p.safety_banner img,
.action_box p.mannerup_banner img,
.action_box p.ouen_banner img,
.action_box p.traffic_control_banner img
{
	width:294px;
}

/* -------------------------------
   step
------------------------------- */

#stepList dt {
	font-size: 21px;
}
#stepList dt .icon {
	display: inline-block;
	vertical-align: middle;
}


/* -------------------------------
   volunteer
------------------------------- */

.appBnrs {
	display: table;
	width: 100%;
	table-layout: fixed;
}
.appBnrs li {
	display: table-cell;
	vertical-align: top;
}
.appBtn04 a {
	line-height: 40px;
}
.blockD .icon {
	float: left;
	margin: -5px 0;
}


/* -------------------------------
   qa
------------------------------- */

.qaSec h2.tit {
	font-size: 21px;
}
.qaSec h3.tit {
	font-size: 16px;
	font-weight: normal;
}

.contactBox dt {
	font-size: 21px;
}
.contactBox dd .tel {
	font-size: 28px;
}

.inner_dl dt{
	float:left;
}
.qa_recharge_dl dt{
	width:11.5em;
}

/* -------------------------------
   gallery
------------------------------- */

#groupTabs {
	display: table;
	table-layout: fixed;
	width: 100%;
	border-spacing: 2px;
}
#groupTabs li {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	border-bottom: 5px solid #3EA039;
	background: #F5FAF5;
}
#groupTabs li a {
	display: block;
	padding: 10px 0;
}
#groupTabs li.current {
	background: #3EA039;
}
#groupTabs li.current a {
	color: #FFF;
}
.gallery_list li {
	width: 25%;
}
.gallery_list li:nth-child(4n+1) {
	clear: left;
}


/* ------------------------------
	sponsor
------------------------------- */

#contents .sec [class^=sponsor-list] ul {
    font-size: 0;
}
#contents .sec [class^=sponsor-list] ul li {
    float: none;
    display: inline-block;
    margin: 7.5px;
}
#contents .sec .sponsor-list-silver ul li {
    margin: 7.5px 1.5px;
}
#contents .sec .sponsor-list-gold ul li {
    /*margin-right: 6px;*/
    text-align: center;
    width: 196px;
}
/*#contents .sec .sponsor-list-gold ul li:nth-child(3n) {
    margin-right: 0;
}*/
#contents .sec .sponsor-list-silver ul li {
    text-align: center;
    width: 147px;
}
#contents .sec .sponsor-list-bronze ul li {
    width: 108px;
    margin-right: 4px;
    /*width: 92px;
    margin:7.5px 4px !important;*/
}

#contents .sec .sponsor-list-supporting ul:nth-child(1){
    margin-bottom:10px;
}

#contents .sec .sponsor-list-supporting ul li{
    margin:3px 6px;
    position: relative;
    vertical-align: middle;
}
/*
#contents .sec .sponsor-list-supporting ul li{
    margin:7.5px 6px !important;
}
*/
#contents .sec .sponsor-list-supporting ul li:after {
    content: "";
    position: absolute;
    top: 6px;
    display: inline-block;
    -webkit-transform: skewX(150deg);
    -moz-transform: skewX(150deg);
    transform: skewX(150deg);
    border-right: 1px solid #555;
    margin-left: 6px;
    height: 45%;
}
#contents .sec .sponsor-list-supporting ul:last-child li:last-child:after {
    content: none;
}
/* IE調整用*/
@media all and (-ms-high-contrast: none) {
#contents .sec .sponsor-list-supporting ul li:after{
margin-top:2px;
}
#contents .sec .sponsor-list-supporting ul:last-child li:last-child:after {
content: none;
}
}

#contents .sec .sponsor-list-drink {
	font-size: 0;
}

#contents .sec .sponsor-list-drink dl {
    display: inline-block;
    text-align: center;
    margin-left: 45px;
    margin-bottom: 5px;
}

#contents .sec .sponsor-list-drink dl:first-of-type {
	margin-left: 0;
}

#contents .sec .sponsor-list-drink dl dt {
	font-size: 13px;
	font-weight: bold;
	color: #000;
	margin: 0 auto 5px;
}

#contents .sec .sponsor-list-drink dl dd {
    margin: 0 auto;
}

/* ------------------------------
	guest
------------------------------- */

#contents .guestsec h2.tit{ 
	    font-size: 21px;
 }

#contents .guestsec ul.guest_lists {
	margin-bottom: 30px;
}

#contents .guestsec ul.guest_lists li {
	margin-top: 30px;
	padding-top: 30px;
}

#contents .guestsec ul.guest_lists li figure {
	width: 200px;
	float:left;
}

#contents .guestsec ul.guest_lists li dl {
	width: 380px;
	float:left;
	margin-left: 20px;
}

#contents .guestsec ul.guest_lists li dt{
	font-size: 24px;
	margin-bottom: 20px;
}



#contents .guestsec table.guest_lists{
	width: 100%;
	margin-bottom: 50px;
	border:solid 2px #e0e0e0;
	text-align:center;
}
#contents .guestsec table.guest_lists td {
	padding: 6px 0;
	border:solid 2px #e0e0e0;
}
/* ------------------------------
	meddical runner
------------------------------- */

table.table-medical_runner {
    border-top: 1px solid #EEE;
}
table.table-medical_runner thead th {
	background: #3EA039;
	border-right: #fff;
	color: #fff;
}
table.table-medical_runner thead th:last-of-type {
	border-right-color: #3EA039;
}
table.table-medical_runner tbody th,
table.table-medical_runner tbody td {
	border-bottom: 1px solid #EEE;
}
table.table-medical_runner tbody th {
	vertical-align: middle;
	background: #F5FAF5;
}
table.table-medical_runner tbody td {
	border-right: 1px solid #EEE;
}




/* ------------------------------
	kids_marathon
------------------------------- */
table.event1107{width:100%;}
			table.event1107 th{ text-align:left; vertical-align:top; width:30%; background:#e9e9e9; border-bottom:solid 2px #FFFFFF;}
			table.event1107 td{ padding-bottom:30px; padding-left:0.5em;}
			table.event1107_inner{ font-size:11px; border-top:1px solid #ccc; border-left:1px solid #ccc; }
				table.event1107_inner tr{ margin:0px; padding:0px; }
				table.event1107_inner td{ margin:0px; padding:8px;  border-bottom:1px solid #ccc; border-right:1px solid #ccc; }

/* ------------------------------
	platinum runner
------------------------------- */
#contents .platinum-runner {
	margin-top: 30px;
    padding-top: 30px;
}
#contents .platinum-runner:after {
	display: block;
	content: "";
	clear: both;
}
#contents .platinum-runner > dt {
    width: 200px;
    float: left;
  	clear: left;
    font-size: 20px;
}
#contents .platinum-runner > dt .name,
#contents .platinum-runner > dt .img {
    display: block;
}
#contents .platinum-runner > dd {
    width: calc(100% - 220px);
    float: left;
    margin: 30px 0 0 20px;
}


/* ------------------------------
	応援マップ
------------------------------- */
.center_col_f2 {
    width: 600px;
    float: left;
}
.center_col_inner {
    width: 600px;
    background: #fff;
    padding-bottom: 15px;
}
.ouen_map .omote {
    width: 296px;
    float: left;
}
.ouen_map .ura {
    width: 296px;
    float: right;
}
.ouen_map p{
	margin-bottom:25px;
}
.ouen_map .omote p, .ouen_map .ura p {
    width: 600px;
    text-align: center;
    margin-top: 15px;
}
.ouen_map .omote p a, .ouen_map .ura p a {
    width: 296px;
    display: block;
    padding: 10px 0;
    text-align: center;
    border: 1px solid #666;
    text-decoration: none;
}
.ouen_map .omote p a:hover,.ouen_map .ura p a:hover{
    background: #54ad2f;
    color: #fff;
}
.ouen_map h3 {
    width: 100%;
    padding: 15px 0px;
    text-indent: 20px;
    font-weight: bold;
    color: #fff;
    background: #6eb92b;
    font-size: 16px;
    margin-bottom: 25px;
}
.omote a:hover img.alpha,.ura a:hover img.alpha{
	opacity: 0.5;
}

/* ------------------------------
	lunch-aid
------------------------------- */
.lunch-aid-box .lunch-aid-txt {
    float: left;
    width: calc(100% - 180px);
}
.lunch-aid-box .lunch-aid-img {
    float: left;
    width: 160px;
    margin: 0 15px 0 0;
}


/* ------------------------------
	raceday-services
------------------------------- */

#contents .serivice-info-box .logo {
    width: 240px;
    margin-right: 15px;
}

/* ------------------------------
	オフィシャルグッズ
------------------------------- */
.official-goods-sec .col2-wrap-pconly .col2-blk{
	width: 300px;
}

.official-goods-sec .col2 .item{
    width: 300px;
    float: left;
    margin: 10px auto 0 !important;
    padding: 15px 0;
    text-align: center;
}

.official-goods-sec .col2 .item .item_inner p,
.official-goods-sec .col1 .item .item_inner p{
    color: #333 !important;
    font-weight: normal !important;
    padding-top: 5px;
}

/* ------------------------------
	ランナーへの手紙
------------------------------- */
.letter ul.goods li {
    width: 600px;
    margin-bottom: 25px;
}
.letter ul.goods li dl {
    width: 417px;
}
.letter ul.goods li img {
    width: 163px;
}
.letter ul.goods li:nth-of-type(odd) dl {
    float: right;
    margin-left: 20px;
}
.letter ul.goods li:nth-of-type(even) dl {
    float: left;
    margin-right: 20px;
}
.letter ul.goods li:nth-of-type(odd) img {
    float: left;
}
.letter ul.goods li:nth-of-type(even) img {
    float: right;
}

/* ------------------------------
		副賞
------------------------------- */
.company_itemBox{
	width:100%;
	overflow:hidden;
}
.company_itemBox p.itemBox_left{
	width:60%;
	float:left;
}
.company_itemBox p.itemBox_right{
	width:35%;
	float:right;
}
.company_itemBox2{
	width:100%;
	overflow:hidden;
}
.company_itemBox2 p.itemBox_left{
	width:35%;
	float:left;
}
.company_itemBox2 p.itemBox_right{
	width:60%;
	float:left;
}


/* ------------------------------
	2019 注目のトピックス
------------------------------- */

.topics_box{
	width:100%;
	overflow:hidden;
}
/*
.topics_box #volunteer_leader {
	width:48%;
	float:left;
	margin-right:2%;
}
.topics_box #volunteer_leader img {
	width:100%;
}
.topics_box #fb-content {
	width:48%;
	float:left;
}
*/


/* -------------------------------
   ambassador
------------------------------- */
#ambassador .ambassador-profile:nth-of-type(n+3) {
	margin-top: 30px;
}

/* -------------------------------
   fun_lottery
------------------------------- */
.lottery_img{
width: 300px;
}

.fun_lottery_col2 li{
	width:49% !important;
	float:left;
	margin-bottom:3%;
}
.fun_lottery_col2 li:nth-child(odd){
	margin-right:2%;
}