@charset "utf-8";

/* -------------------------------
   BASE
------------------------------- */

body {
	-webkit-text-size-adjust: 100%;
}
#wrap {
	width:100%;
	min-width:320px;
	overflow:hidden;
}
.pc {
	display:none;
}
.spNL:before {
	content: "\A" ;
	white-space: pre ;
}
img {
	max-width:100%;
	width:auto;
	max-height:100%;
	height:auto;
}

/*col2*/
.col2-wrap-pconly .col2-blk {
    margin:0 auto 3.5%;
	width: 90%;
	margin-left:auto !important;
	margin-right:auto !important;
	float:none !important;
}
/*col3*/
[class^="col3-wrap-pconly"] {text-align: center;}
.col3-wrap-pconly-sp2col .col3-blk:first-child {
	float: left;
	margin-right: 0.5%;
	margin-left: 0;
}
.col3-wrap-pconly-sp2col .col3-blk:nth-child(2) {
	float: right;
	margin-left: 0.5%;
	margin-right: 0;
}
.col3-wrap-pconly-sp2col.row3 .col3-blk:nth-child(3) {
	float: none;
	margin: 0 auto 3.5%;
}
.col3-wrap-pconly-sp2col .col3-blk {
	display: inline-block;
	width: 49%;
}
.col3-wrap-pconly-spbreak .col3-blk {
	float: none;
	margin-top: 0;
	margin-right: auto !important;
	margin-left: auto !important;
	margin-bottom: 3.5%;
}


/*col4*/
.col4-wrap-pconly-sp2col .col4-blk:nth-child(odd) {
	float: left;
	margin-right: 0.5%;
	margin-left: 0;
}
.col4-wrap-pconly-sp2col .col4-blk:nth-child(even) {
	float: right;
	margin-left: 0.5%;
	margin-right: 0;
}
.col4-wrap-pconly-sp2col .col4-blk {
	display: inline-block;
	width: 49%;
}
.col4-wrap-pconly-spbreak .col4-blk {
	float: none !important;
	display: block;
	margin: 3% auto 3.5% !important;
	width: 100%;
}

/* -------------------------------
   common
------------------------------- */
.scroll{
overflow: auto;
white-space: nowrap;
width:100%;
box-sizing: border-box;
}

.scroll table {
width:100%;
}

.scroll::-webkit-scrollbar{
  height: 8px;
}

.scroll::-webkit-scrollbar-track{
  background: #f1f1f1;
}

.scroll::-webkit-scrollbar-thumb {
  background: #bcbcbc;
}


/* -------------------------------
   header
------------------------------- */

#header {
	position: relative;
	padding: 20px;
	border-top: 5px solid #3EA039;
}
#header .logo {
	width: 180px;
} 
#hFb {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 60px;
	padding: 10px;
}
#menuBtn {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 60px;
	padding: 10px;
}
#header nav {
	position: fixed;
	top: 0;
	left: 100%;
	width: 100%;
	height: 100%;
	background: #3EA039;
	z-index: 10;
	padding: 20px;
	overflow: auto;
	-moz-transition-duration:0.5s;
	-o-transition-duration:0.5s;
	-ms-transition-duration:0.5s;
	transition-duration:0.5s;
}
body.menuOpen #header nav {
	left: 0;
}
#header nav li a,
#header nav li span.parent-subnav {
	display: block;
	padding: 10px 0;
	color: #FFF;
	text-decoration: none;
	border-bottom: 1px solid rgba(255,255,255,0.10);
}
#header nav li a:before {
	display: inline-block;
	content: '';
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 4px solid #FFF;
	margin-right: 5px;
}
#header nav li span.parent-subnav:before {
	display: inline-block;
	content: '';
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-top: 4px solid #FFF;
	margin-right: 5px;
}
#header nav li.pop {
	background-color: #fff;
	color: #3EA039;
	padding: 6px 0 6px 10px;
	font-weight: bold;
}
#header nav li.pop-2 a {
	background-color: #A3CA1E;
    color: #fff;
    padding: 10px 10px 10px 15px;
}
#header nav li ul {
	padding-left: 20px;
}
#hNav {
	margin: 20px -10px 0 -10px;
}
#hNav li {
	float: left;
	width: 50%;
	padding: 0 10px;
}
#header nav .close {
	border: 1px solid rgba(255,255,255,0.10);
	width: 100px;
	padding: 9px;
	text-align: center;
	color: #FFF;
	margin: 20px auto 0 auto;
}
#hNav li.hNav-apeal {
	position: relative;
	float: none;
    display: block;
    background: #fff;
    width: 100%;
    padding: 5px;
    font-weight: bold;
}

#hNav li.hNav-apeal:before {
	content: "";
	background: url('../img/common/arrow-red.png') center center no-repeat;
	position: absolute;
	width: 16px;
	height: 16px;
	margin: auto;
	left: 160px;
	top: 0;
	bottom: 0;
    -ms-transform:rotate(90deg);
    -webkit-transform:rotate(90deg);
    transform:rotate(90deg);
}

#hDate {
	border-top: 1px solid #EEE;
	text-align: center;
	margin: 10px auto -10px auto;
	padding-top: 10px;
}
#hDate img {
	width: 180px;
	height: auto;
}

#hCountdown {
	margin-top: 10px;
	text-align: center;
	font-weight: bold;
}
#hCountdown .date {
	font-size: 18px;
	color: #3EA039;
}


/* -------------------------------
   footer
------------------------------- */

#footer > div.clearfix {
	padding: 20px;
}
#fNav dl:nth-child(n+2) {
	margin-top: 10px;
}
#fInfo {
	margin-top: 20px;
}
#fInfo dt {
	padding-bottom: 0;
}
#fInfo dt:nth-child(n+2) {
	padding-top: 10px;
}
#fInfo dd:not(:last-child) {
	padding-bottom: 10px;
	border-bottom: 1px solid #F2F2F2;
}
#fInfo :nth-child(n+3) {
}
#footer .logo {
	padding: 20px;
}
#footer .logo img {
	width: auto;
	height: 40px;
}
#copyright {
	padding: 20px 90px 20px 20px;
	text-align: left;
}



/* -------------------------------
   side
------------------------------- */

#sideL {
	margin-top: 40px;
}
#sideR {
	margin-top: 30px;
}
#pamphletList {
	/*display: flex;
	flex-wrap: wrap;*/
	text-align: center;
}
#pamphletList dt {
	width: 100%;
}
#pamphletList dd {
    margin-left: auto;
    margin-right: auto;
    display: inline-block;
    width: 100%;
    max-width: 240px;
}
#pamphletList dd img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}


#sideL .bnrs li,
#sideR .bnrs li {
	float: left;
	width: 50%;
	padding: 0 5px;
}
#sideL .bnrs li:nth-child(n+3),
#sideR .bnrs li:nth-child(n+3) {
	margin-top: 10px;
}
#sideL .bnrs {
	margin-left: -5px;
	margin-right: -5px;
}

#sideR .bnrs.official dl {
    width: 48%;
    margin-right: 2%;
    width: calc((100% - 10px) / 2);
    margin: 0 auto;
    display: inline-block;
}
#sideR .bnrs.official dl dt {
	font-size: 10px;
	font-weight: bold;
	color: #000;
}
#sideR .bnrs.official dl dt:nth-of-type(n+2) {
	margin-top: 15px;
}
#sideR .bnrs.official dl dd {
	margin: 0 15px;
}


/* -------------------------------
   contents
------------------------------- */

#pagetit h1 {
	padding: 20px;
	font-size: 24px;
}
#path {
	padding: 10px;
}

#container {
	padding: 20px;
}
.sec h2.tit {
	font-size: 24px;
}

.newsList {
	margin-top: -10px;
}
.newsList time {
	display: block;
	margin-bottom: 5px;
}
.newsList li {
	padding: 10px 0;
	border-bottom: 1px dotted #EEE;
}
.newsList a {
	display: block;
}
#newsSec .btn {
	margin-top: 20px;
}

.stdTable,
.stdTable > tbody,
.stdTable > tbody > tr,
.stdTable > tbody > tr > th,
.stdTable > tbody > tr > td {
	display: block;
}
.stdTable > tbody > tr > th {
	text-align: center;
}
.stdTable > tbody > tr > td {
	padding: 20px 0;
}
.stdTable td table.frame,
.stdTable td table.frame tbody,
.stdTable td table.frame tr {
	display: block;
}
.stdTable td table.frame th {
	display: block;
}
.stdTable td table.frame :nth-child(n+2) th {
	margin-top: 20px;
}
.stdTable td table.frame td {
	display: block;
}


table[class^=no-bdr-table] {
	margin: 4% 0;
}

table.no-bdr-table-sp > tbody > tr > th,
table.no-bdr-table-sp > tbody > tr > td {
	display: block;
	padding: 5px;
}

table.no-bdr-table-sp > tbody > tr > th {
	color: #3EA039;
}

table.no-bdr-table-sp > tbody > tr > td {
	padding-bottom: 20px;
}

table[class^="table-thead-delete"] {
	display: block;
}

table[class^="table-thead-delete"] > thead {
	display: none;
}

table[class^="table-thead-delete"] > tbody > tr > td {
	border: none;
	display: block;
}

table.table-thead-delete-01 {
	padding-left: calc(4% - 5px);
}

table.table-thead-delete-01 > tbody > tr {
	display: block;
}

table.table-thead-delete-01 > tbody > tr:after {
	display: block;
	height: 4%;
	content: "";
}

table.table-thead-delete-01 > tbody > tr > td {
	border: none;
	position: relative;
	padding-left: 70px;
}

table.table-thead-delete-01 > tbody > tr > td:first-of-type {
	color: #144398;
	font-weight: bold;
	padding: 0 0 10px 0;
    line-height: 1.2;
    border-bottom: 1px solid #EEE;
}

table.table-thead-delete-01 > tbody > tr > td:first-of-type:before {
	content: "●";
}

table.table-thead-delete-01 > tbody > tr > td:nth-of-type(2) {
	font-weight: bold;
}

table.table-thead-delete-01 > tbody > tr > td:nth-of-type(n+2):before {
	content: attr(data-table-header);
	font-size: 12px;
	position: absolute;
	left: 0;
	padding-right: 15px;
	color: #A30035;
}
/* -------------------------------
   home
------------------------------- */

#main {
	padding: 0 30px;
}
#main .btns li {
	top: 50%;
	margin-top: -30px;
}
#main .btns li img {
	width: 16px;
	height: 21px;
}
#mainImg {
	padding: 10px;
}

#entrySec h2.tit,
#homeVolunteerSec h2.tit {
	font-size: 18px;
}
#entrySec h2.tit:before,
#homeVolunteerSec h2.tit:before {
	top: -20px;
	margin-left: -20px;
	width: 40px;
	height: 40px;
	-moz-background-size:30px 30px;
	-webkit-background-size:30px 30px;
	-o-background-size:30px 30px;
	-ms-background-size:30px 30px;
	background-size:30px 30px;
}
#entrySec h2.tit:before {
	height: 30px;
	background-position: center 5px;
	-webkit-border-radius: 20px 20px 0 0;
	-moz-border-radius: 20px 20px 0 0;
	border-radius: 20px 20px 0 0;
}
#entrySec .catch,
#homeVolunteerSec .catch {
	padding: 10px 0;
	font-size: 16px;
}

#entryBnrs {
	border-top: 1px solid #FFF;
}
#entryBnrs li {
	border-bottom: 1px solid #FFF;
	border-right: 1px solid #FFF;
	padding: 4px;
}
#volunteerSec:not(:first-child)/*,
#homeVolunteerSec*/ {
	margin-top: 40px;
}
#volunteerSec .btn {
	margin-top: 20px;
}
#featureSec #feature-left,
#featureSec #feature-right {
	margin-top: 40px;
}
.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: 18px;
}
#stepList dt .icon {
	float: left;
	margin: -5px 0;
}

/* -------------------------------
   volunteer
------------------------------- */

.appBnrs a {
	line-height: 40px;
}
.blockD .icon {
	display: block;
	text-align: center;
	margin-top: -10px;
}


/* -------------------------------
   qa
------------------------------- */

.qaSec h2.tit {
	font-size: 18px;
}
.qaSec h3.tit {
	font-size: 14px;
	font-weight: normal;
}

.contactBox dt {
	font-size: 18px;
}
.contactBox dd .tel {
	font-size: 28px;
}

.qaList li{
	width:100%;
	float: none;
}

.inner_dl dt{
	float:none !important;
	width:auto !important;
}

.inner_dl dd{
	margin-bottom:10px;
}

/* -------------------------------
   gallery
------------------------------- */

#groupTabs {
	border-top: 1px dotted #CCC;
}
#groupTabs li {
	border-bottom: 1px dotted #CCC;
}
#groupTabs li a {
	display: block;
	padding: 15px 0 15px 20px;
	background: url(../img/common/arr_green.png) left center no-repeat;
}
#groupTabs li.current {
	background: #3EA039;
}
#groupTabs li.current a {
	color: #FFF;
	background: url(../img/common/arr_white.png) left center no-repeat;
}
.gallery_list li {
	width: 33.3%;
}
.gallery_list li:nth-child(3n+1) {
	clear: left;
}


/* ------------------------------
	sponsor
------------------------------- */

#contents .sec [class^=sponsor-list] ul li {
    margin: 7.5px;
    text-align: center;
}   
#contents .sec .sponsor-list-gold ul li {
    float: none;
    width: 196px;
    margin-left: auto;
    margin-right: auto;
}
#contents .sec .sponsor-list-silver ul li {
    float: none;
    width: 147px;
    margin-left: auto !important;
    margin-right: auto !important;
/*
    margin-right: 1%;
    width: calc((100% - 5px) / 2);
    margin-right: 5px;
*/
}
#contents .sec .sponsor-list-silver ul li:nth-child(2n) {
    margin-right: 0;
}
#contents .sec .sponsor-list-bronze ul li {
    float: none;
    width: 108px;
    margin-left: auto !important;
    margin-right: auto !important;
/*
    margin-right: 2%;
    width: calc((100% - 10px) / 3);
    margin-right: 5px;
*/
}
#contents .sec .sponsor-list-bronze ul li:nth-child(3n) {
    margin-right: 0;
}
#contents .sec .sponsor-list-drink dl {
    margin: 0 auto;
}
#contents .sec .sponsor-list-drink dl dt {
	font-size: 10px;
	font-weight: bold;
	color: #000;
}
#contents .sec .sponsor-list-drink dl:nth-of-type(n+2) dt {
	margin-top: 15px;
}
#contents .sec .sponsor-list-drink dl dd {
	margin: 0 auto;
}

#contents .sec .sponsor-list-supporting ul{
	text-align:center;
}

#contents .sec .sponsor-list-supporting ul:nth-child(1){
	margin-bottom: 20px;
}

#contents .sec .sponsor-list-supporting ul li{
	float:none !important;
	width: 100%;
	display:block !important;
}


/* ------------------------------
	guest
------------------------------- */

#contents .guestsec h2.tit{ 
	    font-size: 18px;
 }

#contents .guestsec ul.guest_lists {
	margin-bottom: 5%;
}

#contents .guestsec ul.guest_lists li {
	margin-top: 5%;
	padding-top: 5%;
}

#contents .guestsec ul.guest_lists li:first-of-type {
	border-top: none;
	padding-top: 0;
}


#contents .guestsec ul.guest_lists li figure {
	width: 45%;
	float:left;
	margin-right: 2vw;
}

#contents .guestsec ul.guest_lists li dl {
}

#contents .guestsec ul.guest_lists li dt{
	font-size: 16px;
	margin-bottom: 1.5%;
}


#contents .guestsec table.guest_lists{
	width: 100%;
	margin-bottom: 50px;
	border:solid 2px #e0e0e0;
	text-align:center;
}

#contents .guestsec table.guest_lists td {
	padding: 10px 1px;
	text-indent: 1px;
	border:solid 2px #e0e0e0;
}





/* ------------------------------
	meddical runner
------------------------------- */

table.table-medical_runner tbody tr:after {
	content: "";
	display: block;
	height: 15px;
}

table.table-medical_runner tbody th,
table.table-medical_runner tbody td {
	display: block;
}
table.table-medical_runner tbody th {
	color: #3EA039;
	text-align: left;
}
table.table-medical_runner tbody td:before {
	content: "●" attr(label-title);
	display: block;
	color: #144398;
	font-size: 12px;
	font-weight: bold;
	border-bottom: 1px dotted #EEE;
	padding-bottom: 3px;
}





/* ------------------------------
	kids_marathon
------------------------------- */
table.event1107{border-collapse: collapse; width:100%;}
table.event1107 th{display: block; padding: 10px; background-color: #eee;}
table.event1107 td{ display: block; padding: 10px;}


/* ------------------------------
	platinum runner
------------------------------- */
#contents .platinum-runner {
	margin-top: 5%;
    padding-top: 5%;
}
#contents .platinum-runner > dt {
    font-size: 0;
}
#contents .platinum-runner > dt .name,
#contents .platinum-runner > dt .img {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    width: 50%;
}
#contents .platinum-runner > dt .name {
	font-size: 16px;
}
#contents .platinum-runner > dd {
	margin-top: 5px;
}


/* ------------------------------
	応援マップ
------------------------------- */
.center_col_f2 .center_col_inner ouen_map p{
	margin-bottom:25px;
}
.ouen_map h3 {
    width: 100%;
    padding: 15px 0px;
    text-indent: 20px;
    font-weight: bold;
    color: #fff;
    background: #6eb92b;
    font-size: 16px;
    margin-bottom: 15px;
}
.center_col_f2 p{
    margin-bottom: 30px;
}
.center_col_f2 .omote{
	margin-bottom:50px;
}
.ouen_map .omote p, .ouen_map .ura p {
    width: 100%;
    text-align: center;
    padding-top: 0;
    margin-top: 0;
    margin-bottom: 15px;
}
.ouen_map .omote p a, .ouen_map .ura p a {
    width: 100%;
    display: block;
    padding: 10px 0;
    text-align: center;
    border: 1px solid #666;
    text-decoration: none;
}

/* ------------------------------
	lunch-aid
------------------------------- */
.lunch-aid-box .lunch-aid-img {
    width: 100%;
    max-width: 320px;
    margin: 0 auto 15px;
}


/* ------------------------------
	raceday-services
------------------------------- */

#contents .serivice-info-box .logo {
    width: 120px;
    margin-right: 2vw;
}


/* ------------------------------
	オフィシャルグッズ
------------------------------- */
.official-goods-sec .col2-wrap-pconly .col2-blk{
	width: 100%;
}

.official-goods-sec .col2 .item{
	width: 100%;
	display:block;
	margin-left:auto !important;
	margin-right:auto !important;
}

/* ------------------------------
	コースマップ
------------------------------- */
		.map_detail .area10_box{
		width:98%;
		margin-bottom:25px;
		overflow:hidden;
		border:solid 1px #FF0000;
		padding:1%;
		}
		.map_detail .area10_box p.area10_text{
		width:65%;
		float:left;
		}
		.map_detail .area10_box p.area10_img{
		width:30%;
		float:right;
		}
.youtube-re {
position: relative;
padding-bottom: 75%;
height: 0;
overflow: hidden;
margin-bottom:20px;
}
.youtube-re iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
border:1px !important;
}
.map_detail {
    margin: 0 auto;
}
.map_detail li {
    float: none;
    width: 320px;
    margin-bottom: 20px;
    padding: 0 5px 0 5px;
}


/* ------------------------------
	ペースチャート
------------------------------- */
.chart_box p{
	margin-bottom:2%;
}
.chart_box p img{
	margin-bottom:2%;
}
.chart_box p a{
	word-break: break-all;
}

/* ------------------------------
	ランナーへの手紙
------------------------------- */
    .letter table.letter-table--01.letter-table--02 th,
    .letter table.letter-table--01.letter-table--02 td {
        display: block;
        width: 100%
    }
    .letter table.letter-table--01.letter-table--02 th {
        padding: 2%;
    }
        .letter .goods-box {
        width: 100%;
        text-align: center;
    }
    .letter ul.goods{
        width:100%;
    }
    .letter ul.goods li {
        width: 100%;
        margin-bottom: 15px;
        text-align:center;
    }
    .letter ul.goods li img {</p>
        float: none;
        margin: 0 0 10px;
    }
    .letter ul.goods li dl {
        margin:0;
        width: 100%;
        float: none;
        text-align:left;
    }

/* ------------------------------
		副賞
------------------------------- */
.company_itemBox p img,
.company_itemBox2 p img{
	margin:3% 19%;
}
.award_meiji_text{
	order: 2;
}
.award_meiji_img{
	order: 1;
	margin:5% 0;
	width:100%;
}
/* ------------------------------
	大型手荷物預かり
------------------------------- */
#contents .text-box {
width: 98%;
display: block;
}
#contents .bg-ser-img {
width: 30%;
display: block;
clear: both;
}
#contents .price {
width: 98%;
}
/*#contents.price th {
vertical-align: top;
}*/
.br-sp { display: block; }

/* ------------------------------
	特別招待選手等来場イベント
------------------------------- */
.special_visit .mizuno img {
width: 100%;
display: block;
clear: both;
}

/* ------------------------------
	2019 注目のトピックス
------------------------------- */
.topics_box #volunteer_leader img {
	margin-bottom:30px;
}

/* -------------------------------
   ambassador
------------------------------- */
#ambassador .ambassador-profile:nth-of-type(n+2) {
	margin-top: 2%;
}
#ambassador .ambassador-profile .ambassador-img {
	width: 50%;
}
#ambassador .ambassador-profile .ambassador-txt {
	float: right;
	width: calc(50% - 10px);
	margin-left: 10px;
}
.special-ambassador figure img {
    border: solid #3ea039 1px;
    float: none;
    width: 100%;
    margin-bottom: 10px;
}

/* -------------------------------
   volunteer_leader
------------------------------- */
#stepList dd{
	padding: 20px 12px !important;
}


/* -------------------------------
   fun_lottery
------------------------------- */
.fun_lottery_col2 li{
	width:100% !important;
	float:none;
	margin-bottom:20px;
}

.fun_lottery_col2 li:nth-child(odd){
	margin-right:0;
}



/* -------------------------------
   2020ティザー
------------------------------- */
/*#guidelineSec .stdTable th{
	padding:10px !important;
}*/