@charset "utf-8";



/* トップページ
======================================================*/

.main-img {
	width: 100%;
	height: auto;
}
.main-img_sp {
	display: none;
}

.sec_topix {
	width: 100%;
	background: #EEEEEE;
}
.sec_topix_inner {
	width: 1100px;
	padding: 25px 0;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}
.sec_topix_ttl {
	width: 180px;
	height: 50px;
	color: #004a90;
	font-size: 2.4rem;
	line-height: 50px;
	padding-left: 35px;
	margin: 0 50px 0 0;
	background: url(../images/icn_speaker.png) no-repeat left center;
	border-right: 1px solid #004a90;
	float: left;
}
.topix_dl {
	width: 680px;
	float: left;
}
.topix_dl dt {
	width: 140px;
	color: #004a90;
	float: left;
}
.topix_dl dd {
	width: 100%;
}
.topix_dl a {
	color: #333333;
	text-decoration: none;
}
.topix_dl a:hover {
	text-decoration: underline;
}
a.link_more_topix {
	width: 150px;
	height: 30px;
	color: #ffffff;
	text-decoration: none;
	text-align: center;
	line-height: 30px;
	background-color: #004a90;
	background-image:  url(../images/icn_next.png);
	background-repeat:  no-repeat;
	background-position:  right 10px top 8px;
	display: block;
	position: absolute;
	top: 35px;
	right: 0;
	transition: 0.4s background-color;
}
a.link_more_topix:hover {
	background-color: #0060B7;
	transition: 0.4s background-color;
}

.top-attention {
	clear: both;
	padding-top: 30px;
	display: flex;
	flex-wrap: wrap;
}
.top-attention_inner {
	width: 540px;
	padding: 20px;
	border: 2px solid #cccccc;
}
.top-attention_inner:nth-of-type(1) {
	margin-right: 20px;
}
.top-attention_ttl {
	color: #004a90;
	font-size: 2.4rem;
	text-align: center;
	margin-bottom: 30px;
	position: relative;
}
.top-attention_ttl:after {
	content: "";
	width: 140px;
	height: 1px;
	background-color: #004a90;
	display: block;
	position: absolute;
	bottom: -15px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.top-attention p {
	margin-bottom: 0;
}

.sec_top_inner {
	width: 1100px;
	padding: 60px 0;
	margin: 0 auto;
	overflow: hidden;
}
.sec_top_inner p:last-of-type {
	margin-bottom: 0;
}

.sec_top_about {
	width: 100%;
}
.top_about_left {
	width: 420px;
	float: left;
}

.logo-toj {
	position: relative;
	top: 60px;
}
.top_about_stc {
	width: 630px;
	float: right;
}

.sec_top_overview {
	width: 100%;
	background: #F5F5F5;
}
.top_overview_ttl {
	width: 250px;
	height: 100px;
	font-size: 2.8rem;
	color: #004A90;
	text-align: center;
	padding-top: 70px;
	margin: 0 auto 40px;
	background: url(../images/icn_bicycle.png) no-repeat top center;
}
.tbl_overview {
	width: 1100px;
}
.tbl_overview th {
	width: 210px;
	color: #ffffff;
	font-size: 1.6rem;
	vertical-align: middle;
	padding: 15px 0 15px 20px;
	background: #004A90;
	border: 1px solid #CCCCCC;
}
.tbl_overview td {
	width: 890px;
	font-size: 1.3rem;
	vertical-align: middle;
	padding: 15px 20px;
	background: #ffffff;
	border: 1px solid #CCCCCC;
}
.td_ttl-a {
	font-size: 1.4rem;
	font-weight: bold;
}
.td_ul-a li {
	padding-left: 20px;
	text-indent: -16px;
	margin-bottom: 5px;
}
.td_ul-a li:last-of-type {
	margin-bottom: 0;
}
.tbl_overview p:last-of-type {
	margin-bottom: 0;
}

#kitchen-document {
	padding-top: 20px;
	margin-top: -20px;
}

.sec_top_watching {
	width: 100%;
}
.top_watching_ttl {
	width: 150px;
	height: 100px;
	font-size: 2.8rem;
	color: #004A90;
	text-align: center;
	padding-top: 70px;
	margin: 0 auto 40px;
	background: url(../images/icn_flag.png) no-repeat top center;
}
.top_watching_box {
	padding: 20px 15px;
	border: 1px solid #cccccc;
	float: left;
}
.top_watching_box:first-of-type {
	margin: 0 36px 0 0;
}
.top_watching_name {
	color: #004a90;
    font-size: 2.0rem;
    font-weight: bold;
    padding-bottom: 15px;
    margin: 0 0 10px;
    border-bottom: 1px solid #004a90;
}
.top_watching_pr {
	color: #004a90;
	font-size: 1.6rem;
	margin-bottom: 10px !important;
}
.link_more_red_wrapper {
	padding-top: 1px;
	clear: both;
}

.sec_top_photo {
	width: 100%;
	background: #F0F8FF;
}
.top_photo_ttl {
	width: 150px;
	height: 100px;
	font-size: 2.8rem;
	color: #004A90;
	text-align: center;
	padding-top: 70px;
	margin: 0 auto 40px;
	background: url(../images/icn_camera.png) no-repeat top center;
}
.top-gallery_wrapper {
	overflow: hidden;
}
.top-gallery_wrapper:last-of-type {
	margin-top: 20px;
}
.top-gallery_photo {
	margin: 0 20px 20px 0;
	float: left;
}
.top-gallery_photo:nth-of-type(4) {
	margin: 0 0 20px 0;
}
.top-gallery_photo:nth-of-type(5),
.top-gallery_photo:nth-of-type(6),
.top-gallery_photo:nth-of-type(7) {
	margin: 0 20px 0 0;
}
.top-gallery_photo:nth-of-type(8) {
	margin: 0;
}

.fb-pc {
	width: 500px;
	height: 700px;
	float: left;
}
.fb-sp {
	display: none;
}

a.link_more_red {
	width: 250px;
	height: 40px;
	color: #ffffff;
	text-decoration: none;
	text-align: center;
	line-height: 40px;
	margin: 40px auto 0;
	background-color: #C0262D;
	background-image:  url(../images/icn_next.png);
	background-repeat:  no-repeat;
	background-position:  right 10px top 13px;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.25);
	display: block;
	transition: 0.4s background-color;
}
a.link_more_red:hover {
	background-color: #DB4850;
	transition: 0.4s background-color;
}

.sec_top_etc {
	width: 100%;
}
.top_etc_right {
	width: 550px;
	float: right;
	overflow: hidden;
}
.top_ttl-b {
	width: 100%;
	height: 35px;
	color: #004A90;
	font-size: 2.4rem;
	line-height: 35px;
	padding-left: 10px;
	margin-bottom: 20px;
	border-left: 8px solid #004A90;
}
.top_ttl-b:nth-of-type(2) {
	margin-top: 80px;
}

.media-please_ttl {
	font-size: 1.8rem;
	font-weight: bold;
}

.supporter-logo_wrapper {
	margin-bottom: 20px;
	overflow: hidden;
}
.supporter-logo {
	margin: 0 20px 0 0;
	float: left;
}
.supporter-logo img {
	border: 1px solid #cccccc;
}
.supporter_atc {
	clear: both;
}



/* TOJとは
======================================================*/

.simultaneous {
	width: 100%;
	padding: 10px;
	margin-top: 20px;
	border: 1px solid #dddddd;
}
.simultaneous_ttl {
	font-size: 1.6rem;
	padding-bottom: 10px;
	margin-bottom: 15px;
	border-bottom: 2px solid #dddddd;
}



/* コースマップ
======================================================*/

.course-map {
	width: 100%;
	height: 600px;
}

.point-info {
	margin-top: 10px;
	overflow: hidden;
}
.point-info_alphabet {
	width: 20px;
	height: 20px;
	color: #ffffff;
	font-weight: bold;
	line-height: 20px;
	text-align: center;
	margin-right: 5px;
	display: inline-block;
	background: #4169e1;
	border-radius: 50%;
}
.course-map_dl {
	float: right;
}

.direction-map_top {
	margin-bottom: 100px;
}
#direction-map {
	margin-top: -10px;
	padding-top: 10px;
}
.img_direction-map {
	border: 1px solid #cccccc;
}



/* 観戦者の皆様へ
======================================================*/

.sec-guide {
	width: 100%;
	padding: 30px 50px;
    margin-bottom: 30px;
    border: 1px solid #cccccc;
    border-radius: 5px;
    overflow: hidden;
}
.sec-guide_ttl {
	height: 45px;
	font-size: 2.5rem;
	line-height: 45px;
	letter-spacing: 0.05em;
	padding-left: 10px;
	margin-bottom: 30px;
	background: #f5f5f5;
	border-left: 5px solid #004a90;
}

.sec-guide_regulations p {
	margin-bottom: 0;
	float: left;
}
a.link_regulations {
	width: 400px;
    height: 50px;
    color: #ffffff;
    font-size: 2.0rem;
    text-decoration: none;
    text-align: center;
    line-height: 50px;
    background-color: #C0262D;
    background-image: url(../images/icn_next.png);
    background-repeat: no-repeat;
    background-position: right 10px center;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.25);
    display: block;
    transition: 0.4s background-color;
    float: right;
}
a.link_regulations:hover {
	background-color: #DB4850;
	transition: 0.4s background-color;
}

.guide_overview {
	width: 100%;
	padding: 30px;
	margin-bottom: 60px;
	border: 3px solid #eeeeee;
	overflow: hidden;
}
.tbl_guide_overview {
	width: 500px;
}
.tbl_guide_overview tr {
	border-bottom: 1px solid #dddddd;
}
.tbl_guide_overview th {
	width: 150px;
	font-weight: bold;
	vertical-align: middle;
	padding: 15px 0;
}
.tbl_guide_overview td {
	width: 350px;
	vertical-align: middle;
	padding: 15px 0;
}
.guide-1 {
	float: right;
}

.guide_ttl_a {
	color: #004a90;
	font-size: 2.0rem;
	font-weight: bold;
	padding-bottom: 15px;
	margin: 60px 0 30px;
	border-bottom: 4px double #004a90;
}
.guide_ttl_a:first-of-type {
	margin: 0 0 30px;
}

.guide-box {
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px dashed #cccccc;
	overflow: hidden;
}
.guide-box:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}
.guide-box_ttl {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 15px;
}
.guide-box_img {
	margin: 0 0 20px 30px;
	float: right;
}
.guide-box_img_b {
	margin: 0 0 0 30px;
}
.guide-box p:last-of-type {
	margin-bottom: 0;
}

.guide-box p {
	width: 668px;
}

.tbl_strategy {
	width: 100%;
}
.tbl_strategy tr {
	width: 100%;
    display: inline-block;
    margin-bottom: 20px;
    background: #eeeeee;
    border-radius: 10px;
    position: relative;
}
.tbl_strategy tr:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -30px;
    border: 30px solid transparent;
    border-top: 15px solid #eeeeee;
}
.tbl_strategy tr:last-of-type:before {
	border: none;
}
.tbl_strategy th {
	width: 198px;
	color: #c0262d;
	font-size: 1.8rem;
	font-weight: bold;
	vertical-align: middle;
	padding: 0 15px 0 60px;
	background: #dddddd;
	border-radius: 10px 0 0 10px;
}
.tbl_strategy th span {
	font-size: 2.2rem;
	font-weight: bold;
	margin-left: 10px;
}
.tbl_strategy td {
	width: 800px;
	padding: 15px 30px;
}
.tbl_strategy p {
	margin-bottom: 0;
}

.access-gmap {
	width: 100%;
	height: 600px;
}
.access-pdf {
	text-align: right;
	margin-top: 10px;
	margin-bottom: 100px;
}
a.info-pdf {
	text-decoration: none;
	padding-left: 18px;
	background: url(../images/icn_news-link.png) no-repeat left center;
}
a.link_direction-map {
	float: left;
}

#photo-lastyear {
	position: relative;
	top: 80px;
}

#venue-map {
	margin-top: -10px;
    padding-top: 10px;
}



/* フォトコンテスト
======================================================*/

.tbl_photocontest {
	width: 980px;
}
.tbl_photocontest th {
	width: 100%;
	color: #004a90;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 2px;
	display: block;
}
.tbl_photocontest td {
	width: 100%;
	font-size: 1.6rem;
	display: block;
}
.tbl_photocontest tr:first-of-type td {
	padding-bottom: 20px;
}

.sec_photo-attention {
	margin-top: 20px;
}

.winning-photo {
	padding-top: 20px;
	margin-top: 15px;
	border-top: 1px dotted #cccccc;
	overflow: hidden;
}
.winning-photo_box {
	float: left;
    margin: 0 15px 0 0;
    height: 175px;
}
.winning-photo_box:last-of-type {
	margin: 0;
}
.winning-photo_box img {
	max-height: 150px;
    vertical-align: middle;
    backface-visibility: hidden;
}
.winning-photo_box p {
	text-align: center;
	letter-spacing: 0.05em;
	margin-top: 5px;
}
.winning-photo_ttl {
	font-weight: bold;
	margin-bottom: 10px;
}
.lb-data .lb-number {
	display: none !important;
}
.lb-caption {
	font-size: 2.5rem !important;
}



/* サポーター募集
======================================================*/

.entry-flow {
	width: 100%;
	padding: 20px 40px;
	background: #dddddd;
	border-radius: 5px;
}
.icn_entry-flow {
	margin: 10px auto;
	display: block;
}

.sec_guidelines {
	width: 100%;
}
.sec_guidelines_first {
	margin: 100px 0 80px;
}

.entry-btn {
	width: 100%;
	margin: 40px 0 0;
	overflow: hidden;
}
a.entry-btn_individual {
	width: 45%;
	height: 50px;
	color: #ffffff;
	font-size: 2.0rem;
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 50px;
	text-decoration: none;
	background: #888888;
	border-radius: 5px;
	display: block;
	float: left;
	transition: 0.4s　opacity;
}
a.entry-btn_individual:hover {
	opacity: 0.7;
	transition: 0.4s　opacity;
}
a.entry-btn_corporation {
	width: 45%;
	height: 50px;
	color: #ffffff;
	font-size: 2.0rem;
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 50px;
	text-decoration: none;
	background: #888888;
	border-radius: 5px;
	display: block;
	float: right;
	transition: 0.4s　opacity;
}
a.entry-btn_corporation:hover {
	opacity: 0.7;
	transition: 0.4s　opacity;
}
.icn_entry-btn {
	margin-left: 10px;
	position: relative;
	top: -2px;
}

.entry-period {
	padding: 20px;
	margin-bottom: 30px;
	background: #FFEEEE;
	border-radius: 3px;
}
.entry-period dt {
	color: #ff0000;
	font-size: 2.0rem;
	margin-bottom: 10px;
	overflow: hidden;
}
.entry-period dt h4 {
	line-height: 1.2;
}

/* 概要表 */
.tbl_entry-overview {
	width: 1100px;
}
.tbl_entry-overview th {
	width: 310px;
	color: #ffffff;
	font-size: 1.6rem;
	vertical-align: middle;
	padding: 15px 0 15px 20px;
	background: #004A90;
	border: 1px solid #CCCCCC;
}
.tbl_entry-overview td {
	width: 790px;
	font-size: 1.3rem;
	vertical-align: middle;
	padding: 15px 20px;
	background: #ffffff;
	border: 1px solid #CCCCCC;
}

.tbl_entry-overview h5 {
	font-weight: bold;
	text-indent: 0;
	margin: 10px 0 5px;
}

.privilege_ul {
	text-indent: 0;
}
.privilege_ul li {
	list-style: disc;
	list-style-position: inside;
}

.entry-overview_num {
	margin-right: 10px;
}
.tbl_entry-overview p {
	margin-bottom: 7px;
}

.tbl_entry-overview td > ul > li > ul > li {
	margin-bottom: 10px;
}

.entry-overview_num-ul > li {
	text-indent: -25px;
	padding-left: 25px;
}

.privilege {
	width: 100%;
	padding: 10px;
	margin: 30px 0 0;
	border: 1px solid #dddddd;
	overflow: hidden;
}
.privilege-box {
	margin: 0 20px;
	float: left;
}
.privilege figcaption {
	height: 40px;
	font-size: 1.3rem;
	text-align: center;
	margin-bottom: 10px;
}

.ul_delivery li {
	text-indent: -40px;
	padding-left: 40px;
}

/* 堺市ふるさと応援寄付金 */
.taxes {
	width: 100%;
	padding: 20px 40px;
	margin-top: 60px;
	background: #FCF1F2;
	border-radius: 3px;
	box-shadow: 2px 2px 2px 2px rgba(0,0,0,0.1);
}
.taxes p:last-of-type {
	margin-bottom: 0;
}
.taxes_ttl-a {
	color: #c0262d;
	font-size: 2.5rem;
	text-align: center;
	font-weight: bold;
	margin-bottom: 30px;
}
.taxes_ttl-b {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 15px;
}

/* 過去の募集要項　開閉 */
.past-ttl {
	width: 100%;
	height: 60px;
	font-size: 3.0rem;
	line-height: 56px;
	padding: 0 20px;
	margin: 50px 0 20px;
	background: #eeeeee;
	border: 2px solid #dddddd;
	border-radius: 3px;
	cursor: pointer;
	position: relative;
}
.past-ttl:after {
   content: "";
   position: absolute;
   border-right: 3px solid #004a90;
   border-bottom: 3px solid #004a90;
   width: 20px;
   top: 11px;
   right: 20px;
   height: 20px;
   transform: rotate(45deg);
}

.past-ttl.ac:after {
   content: "";
   position: absolute;
   border-left: 3px solid #004a90;
   border-top: 3px solid #004a90;
   border-right: 0;
   border-bottom: 0;
   width: 20px;
   top: 23px;
   right: 20px;
   height: 20px;
   transform: rotate(45deg);
}



/* お知らせ
======================================================*/

.atc-news {
	width: 100%;
	padding: 30px 50px 15px;
	margin-bottom: 30px;
	border: 1px solid #cccccc;
	border-radius: 5px;
}
.atc-news_date {
	color: #ffffff;
	font-size: 1.2rem;
	padding: 0 8px;
	margin-bottom: 15px;
	background: #004a90;
	border-radius: 3px;
	display: inline-block;
}
.atc-news_ttl {
	font-size: 2.5rem;
	font-weight: bold;
	padding-bottom: 15px;
	margin-bottom: 20px;
	border-bottom: 1px dashed #004a90;
	position: relative;
}

.atc-news a {
	text-decoration: none;
	padding-left: 18px;
	background: url(../images/icn_news-link.png) no-repeat left center;
}
.atc-news a:hover {
	text-decoration: underline;
}



/* 取材申請フォーム
======================================================*/

.interview-form {
	width: 680px;
	height: 5170px;
	margin: 0 auto;
	display: block;
	position: relative;
}



/* 運営組織
======================================================*/

.tbl_officer {
	width: 1100px;
	margin: 0 auto;
}
.tbl_officer th {
	width: 300px;
	text-align: center;
    vertical-align: middle;
    padding: 15px 0;
    border: 1px solid #cccccc;
}
.tbl_officer td {
	width: 400px;
	text-align: center;
    vertical-align: middle;
    padding: 15px 0;
    border: 1px solid #cccccc;
}
.tbl_officer_header th,
.tbl_officer_header td {
	font-size: 1.6rem;
	color: #004a90;
	text-align: center;
	letter-spacing: 2px;
	background: #F5F5F5;
}

.tbl_about_wrapper {
	width: 1100px;
	padding: 28px;
	border: 2px solid #cccccc;
}
.tbl_about {
	width: 1040px;
}
.tbl_about tr:nth-of-type(2n) {
	background: #F5F5F5;
}
.tbl_about th {
	width: 260px;
	color: #004a90;
	font-size: 1.6rem;
	letter-spacing: 2px;
	vertical-align: middle;
	padding: 15px 30px;
}
.tbl_about td {
	width: 800px;
	vertical-align: middle;
	padding: 15px 30px;
}



/* 一般公募のお知らせ
======================================================*/

.offering_top-stc {
	text-align: center;
	margin-bottom: 30px;
}

a.link-mail {
	color: #333333;
	text-decoration: none;
	pointer-events: none;
}

.specification_ul {
	overflow: hidden;
}
a.link-download {
	text-decoration: none;
	padding-left: 25px;
	margin: 0 50px 0 0;
	background: url(../images/icn_download.png) no-repeat left center;
	float: left;
}
.specification_ul li:nth-of-type(5n) a.link-download {
	margin: 0;
}
.specification_ul li:nth-of-type(6) a.link-download {
	margin: 20px 50px 0 0;
}

a.link-download:hover {
	text-decoration: underline;
}

.tbl_overview p.download_estimate_stc {
	margin-bottom: 20px;
}
a.link-download_estimate {
	text-decoration: none;
	padding-left: 25px;
	background: url(../images/icn_download.png) no-repeat left center;
	display: block;
}
a.link-download_estimate:hover {
	text-decoration: underline;
}