@charset "utf-8";

a {
	outline: none;
}

img {
	max-width: 100%;
	height: auto;
	border: none;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-size: 16px;
	margin: 0;
	padding: 0;
	line-height: 170%;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	position: relative;
	color: #333;
	background-color: #FFF;
	/*background: url(images/bg.jpg) center bottom / cover no-repeat;
	background-attachment: fixed;*/
}

h1 {
	font-size: 140%;

}

h2 {
	font-size: 22px;
	font-weight: bold;
	margin: 0 0 30px 0;
	padding: 0 0 0 0;
}

h3 {
	font-size: 22px;
	font-weight: bold;
	margin: 15px 0 10px 0;
}

h4 {
	font-size: 18px;
	font-weight: bold;
	margin: 10px 0 15px 0;
}
.en{
	font-family: 'Tauri', sans-serif;
}
a,
a:visited {
	color: #515cae;
	text-decoration: underline;
}

a:hover,
a:active {
	color: #0066cf;
	text-decoration: none;
}

ul {
	padding: 0;
	margin: 0;
}


li {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
ol li{
	list-style-type: decimal;
	margin-left: 20px;
}
p {
	padding: 10px 0;
}

hr {
	border: none;
	margin: 10px 0;
	clear: both;
}

input {
	margin: 3px;
	padding: 2px;
}

.aligncenter input {
	padding: 5px 20px;
}

table {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 5px 0;
	padding: 0;
	border-collapse: collapse;
}

th,
td {
	padding: 8px 10px;
	text-align: left;
}

.alignright {
	float: right;
	margin: 0 0 15px 20px;
}

.alignleft {
	float: left;
	margin: 0 20px 15px 0;
}

.aligncenter {
	text-align: center;
	display: block;
	margin: 15px auto;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}
.mt0 {
	margin-top: 0 !important;
}
.pd0{
	padding: 0;
}
.big{
	font-size:150%;
}
.big2{
	font-size:130%;
}
.small{
	font-size: 80%;
}
.txc {
	text-align: center;
}
.txr {
	text-align: right;
}
.blue{
	color: #3451a0;
}
.flexwrap {
	display: flex;
	flex-wrap: wrap;
}

.flex {
	display: flex;
}

.flex-b,
.flex-3,
.flex-2 {
	display: flex;
	justify-content: space-between;
}

.flex-2 li {
	width: 50%;
}

.flex-2-c {
	width: 48%;
}

.flex-3 li {
	width: 30%;
}

.flex30 {
	width: 28%;
}

.flex40 {
	width: 38%;
}

.flex50 {
	width: 50%;
}

.flex60 {
	width: 58%;
}

.flex70 {
	width: 68%;
}


.wrap980 {
	max-width: 980px;
	box-sizing: border-box;
	padding: 0 20px;
	margin: 0 auto;
}


.wrap1200 {
	max-width: 1200px;
	box-sizing: border-box;
	padding: 0 10px;
	margin: 0 auto;
}

.table01 th,
.table02 th {
	min-width: 20%;
}
.outline th{
	width: 180px;
}

.table01 {
	margin: 0 0 30px 0;
}

.table02 {
	margin: 0 0 10px 0;
	font-size: 90%;
}

.table01 th,
.table01 td {
	border-bottom: 1px solid #fff;
	padding: 20px 14px;
}

.table01 th,.timetable th{
	border-bottom: 1px solid #FFF;
	background-color: #434168;
	color: #FFF;
}

.table02 th,
.table01 td,.timetable td{
	background-color: #ececec;
}
.table02 th,
.table02 td {
	border: 1px solid #dcdcdc;
	padding: 6px 10px;
}
.timetable th{
	text-align: center;
}

.timetable th,.timetable td{
	padding: 14px 14px;
	border-bottom: 1px solid #fff;
}


.orderinfo th{
	background-color: #434168;
	color: #FFF;
	border-bottom: 1px solid #a9a8bd;
	white-space: nowrap;
}
.orderinfo td{
	background-color: #f5f5f5;
	border-bottom: 1px solid #a9a8bd;
}
.orderinfo table th{
	background-color: #FFF;
	color: #333;
	border-right: none;
	border-bottom: 1px solid #bebebe;
}
.orderinfo table td{
	border-left: none;
	background-color: #FFF;
	border-bottom: 1px solid #bebebe;
}
.pc_nav{
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #091533;
}
.pc_nav ul{
	width: 980px;

}
.pc_nav li{
	display: block;
	text-align: center;

}
.pc_nav a,
.pc_nav a:visited {
	text-decoration: none;
	color: #FFF;
	font-size: 90%;
}
.pc_nav li.current a{
	color: #fffebd;
}
.pc_nav a:hover{
	color: rgba(255,255,255,0.7);
}
.main-img{
	background-image:url(images/runner.png) , url(images/main-bg.jpg);
	background-position:  0 bottom,center bottom;
	background-repeat: repeat-x,no-repeat;
	background-size:auto,cover;
	height: calc(100vh - 80px);
	max-width: 1400px;
	padding: 40px 0;
	margin: 0 auto;
	min-height: 700px;
	text-align: center;
}
.main-img-wrap,.main-img-wrap2{
	width: 100%;
	background-color: #091533;
}
.main-img-wrap2 h1{
	max-width: 600px;
	margin: 0 auto 0;
}
.main-img-wrap2 h1 img{
	display: block;
}
@media screen and (max-width: 767px) {

	.wrap980,
	.wrap1200 {
		padding: 10px 20px;
	}

	.flex-b,
	.flex-2 {
		flex-direction: column;
	}

	.flex-2-c,
	.flex-2 li,.flex70,.flex30 {
		width: 100%;
	}

	.table01,
	.table02,
	.table01 tbody,
	.table02 tbody,
	.table01 tr,
	.table02 tr,
	.table01 th,
	.table02 th,
	.table01 td,
	.table02 td {
		display: block;
		box-sizing: border-box;
		width: 100%;
	}

	.table01 th,
	.table02 th {
		border-bottom: none;
		padding: 5px;
	}

	.table01 td,
	.table02 td {
		line-height: 1.6;
		font-size: 90%;
		padding: 5px;
	}
.orderinfo td{
	font-size: 100%;
}

	.timetable th{
		font-size: 80%;
	}
	.timetable th,.timetable td{
		padding: 5px;
	}

	h2{
		font-size: 16px;
	}
	.main-img{
		height: auto;
		min-height: auto;
		padding-top: 20px;
		padding-bottom: 100px;
	}
	.main-img-wrap2 h1{
		max-width: 80%;
		margin: 0 auto 0;
	}
}

.must {
	background-color: #ff4c34;
	color: #FFF;
	font-size: 70%;
	font-weight: bold;
	padding: 1px 5px;
	line-height: 120%;
	display: inline-block;
	border-radius: 5px;
	margin-left: 5px;
	border: none;
}


@media screen and (min-width: 768px) {
	.sp_only {
		display: none;
	}
	.pc_txc{
		text-align: center;
	}
}

.schedule h3{
	background-color: #434168;
	color: #FFF;
	padding: 4px 8px;
	font-size: 100%;
	margin-top: 0;
}
.schedule p {
	padding-top: 0;
}

.btn-orange,
.btn-orange:visited {
	display: inline-block;
	padding: 0.8em 2.2em;
	text-decoration: none;
	border-radius: 4px;
	font-weight: bold;
	font-size: 120%;
	color: #ffffff;
	margin-top: 10px;
	background-color:#f5576c;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
	transition: all 0.5s 0s ease;
}

.btn-orange:hover {
	text-decoration: none;
	color: #FFF;
	background-color:#ff8091;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);

}
.btn-blue,
.btn-blue:visited {
	display: inline-block;
	padding: 0.8em 2.2em;
	text-decoration: none;
	border-radius: 4px;
	font-weight: bold;
	font-size: 100%;
	color: #ffffff;
	margin-top: 10px;
	background-color:#365da5;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
	transition: all 0.5s 0s ease;
}

.btn-blue:hover {
	text-decoration: none;
	color: #FFF;
	background-color:#4e81e0;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);

}
.sttl {
	border-top: 1px solid #dfdfdf;
	border-bottom: 1px solid #dfdfdf;
	padding: 30px 10px 26px 10px;
	text-align: center;
}
.sttl span{
	font-size: 1.8em;
	margin-bottom: 12px;
	display: block;
	color: #ff8091;
}

.sttl2{
	border-left: 5px solid #ff8091;
	padding-left: 8px;
	line-height: 1.5;
}
.sttl3{
	border-radius: 50vh;
	background-color: #ff8091;
	color:#FFF;
	text-align: center;
	padding: 8px 10px;
}
.dl01 {
	display: flex;
	margin-bottom: 10px;
}

.dl01 dt {
	width: 25%;
	padding: 10px 20px;
	font-weight: bold;
	background-color: #555555;
	color: #FFF;
}

.dl01 dd {
	padding: 10px 20px;
	background-color: #ececec;
	width: 75%;
}

dt.orange{
	color: #FFF;
	font-weight: bold;
	background-color: #ea5413;
}

dt.blue{
	color: #FFF;
	font-weight: bold;
	background-color: #1d2088;
}
@media screen and (max-width: 767px) {
	.dl01 {
		flex-direction: column;
	}

	.dl01 dt {
		padding: 5px 14px;
		width: 100%;
	}

	.dl01 dd {
		padding: 5px 14px;
		width: 100%;
	}
}

.wrapgray {
	background-color: #ececec;
	padding: 60px 0;
}

.attention li {
	padding-left: 16px;
	position: relative;
	width: 100%;
	margin-bottom: 10px;
}

.attention li:before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #858585;
	position: absolute;
	top: 14px;
	left: 0;
	margin-top: -4px;
}

footer {
	background-color: #333;
	color: #FFF;
	padding: 20px 0;
}
footer a,footer a:visited{
	color: #c8e4ff;
}

.g_map {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.g_map iframe,
.g_map object,
.g_map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/*spメニュー*/

@media screen and (max-width: 767px) {

	.pc_only {
		display: none !important;
	}

	.sp_txc {
		text-align: center;
	}
	.sp_menulogo{
		width: 200px;
		margin: 0;}
	
	.sp_menulogo{
		padding-left: 10px;
		margin-top: 10px;
	}

	#spMenu_btn {
		position: fixed;
		top: 5px;
		right: 8px;
		width: 46px;
		height: 46px;
		z-index: 9999;
		color: #2f256b;
	}

	#spMenu_btn a {
		display: block;
		width: 46px;
		height: 46px;
		background: url(images/menu.svg) 0 0 no-repeat;
		background-size: 46px 46px;
	}

	#spMenu_btn a.close {
		background: url(images/close.svg) 0 0 no-repeat;
		background-size: 46px 46px;
	}

	.sp_menu {
		display: block;
		background-color: #fafafa;
		box-sizing: border-box;
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100vh;
		padding: 0 0 0;
		overflow-y: auto;
		color: #000;
		z-index: 9997;
		transition: .3s ease-in-out;
		/*滑らかに表示*/
		opacity: 0;
	}

	.sp_menu.active {
		/*display: block;*/
		right: 0;
		opacity: 1;
	}

	.main_link {
		border-top: 1px solid #888888;
	}

	.main_link ul {
		display: none;
	}

	.sp_menu .lastl {
		background: none;
		padding-bottom: 20px;
	}

	.sp_menu .lastl img {
		margin-right: 10px;
		vertical-align: middle;
	}

	.sp_menu .main_link a {
		display: block;
		text-decoration: none;
		padding: 10px 10px 14px;
		background: url(images/arrow_right.svg) center right 10px no-repeat;
		background-size: 16px 16px;
		color: #333;
		font-weight: bold;
		border-bottom: 1px solid #735c8d;
	}

	.sp_menu a.parent {
		background: url(images/arrow-sita.svg) center right 10px no-repeat;
		background-size: 20px 20px;
	}

	.sp_menu a.active {
		background: url(images/arrow-ue.svg) center right 10px no-repeat;
		background-size: 20px 20px;
	}

	.sp_menu nav {
		padding: 10px 0 28px 0;
	}
	.wrapgray {
		padding: 20px 0;
	}
	
	footer{padding-bottom: 120px;}
}

.koumoku {
	display: flex;
	flex-wrap: wrap;
}

.koumoku li {
	width: 50%;
	padding: 0 4px;
}

.koumoku li.wide {
	width: 50%;
}
form#mailformpro .koumoku li label {
	width: 100%;
	box-sizing: border-box;
}
.syousai{
	border: none;
}
@media screen and (max-width: 767px) {
	.koumoku li {
		width: 100%;
		padding: 0 4px;
	}
	.koumoku li.wide {
		width: 100%;
	}
	.mfp_rows .mfp_col5{
		width: 100%;
	}
}


.formttl{
	margin: 20px auto 10px;
}

#entrybtn {
	position: fixed;
	bottom: 20px;
	right: 30px;
}
#entrybtn a {
	width: 130px;
	display: block;
}

	
@media screen and (max-width: 767px) {
	#entrybtn {
		position: fixed;
		bottom: 10px;
		right: 10px;
	}
	#entrybtn a {
		width: 100px;
		display: block;
	}
	
	.orderinfo table.syousai td{
		background-color: #f5f5f5;
	}
	.orderinfo table th{
		background-color: #FC0;
	}
	.orderinfo table.syousai th{
		background-color: #dcdcdc;
		border:none;
	} 
	.orderinfo table.syousai td input{
		width: 100%;
		max-width: 100%;
	}
}

.orderinfo table.syousai th.bg-blue,.orderinfo table td.bg-blue{
	background-color: #e7f3ff;
}
.footsns{
	background-color: #cacaca;
	padding: 20px 10px;
}
.footsns img{
	width: 50px;
	height: 50px;
	display: inline-block;
	margin: 10px 20px;
}


.sp_menu .footsns{
	background-color: #FFF;
	padding: 0 10px;
	margin: 8px;
	border-radius: 8px;}

	.sp_menu p{
		padding: 0;
		line-height: 1.4;
		font-size: 90%;
	}

.eventbtn li,.eventbtnl li{
	background-color: #d1e6fa;
	border-radius: 10px;
	padding: 10px 20px;
	width: 48%;
	margin-bottom: 8px;
	font-weight: bold;
}
.eventbtnl li{
	width: 100%;
}
.eventbtn li h4{
	border-bottom: 2px dotted #2f256b;
	margin-bottom: 8px;
}
.eventbtn li p{
	font-weight: normal;
	font-size: 90%;
	line-height: 1.5;
	padding: 0 0 14px 0;
}
.balloon1 {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	color: #ff8091;
	font-weight: bold;
	font-size: 16px;
	background: #FFF;
	border: solid 3px #ff8091;
	box-sizing: border-box;
  }
  
  .balloon1:before {
	content: "";
	position: absolute;
	bottom: -24px;
	left: 50%;
	margin-left: -15px;
	border: 12px solid transparent;
	border-top: 12px solid #FFF;
	z-index: 2;
  }
  
  .balloon1:after {
	content: "";
	position: absolute;
	bottom: -30px;
	left: 50%;
	margin-left: -17px;
	border: 14px solid transparent;
	border-top: 14px solid #ff8091;
	z-index: 1;
  }
  
  .balloon1 p {
	margin: 0;
	padding: 0;
  }

.kekkalist{
	display: flex;
	flex-wrap: wrap;
}
.kekkalist li{
	width: 25%;
	box-sizing: border-box;
	text-align: center;
	padding: 5px;
}

.kekkalist li a{
	display: block;
	padding: 5px 8px;
	border-radius: 8px;
	border: 2px solid #1f3681;
	text-decoration: none;
	color: #000;
	font-weight: bold;

}
.kekkalist li a:hover{
	background-color: #d3daee;
	border: 2px solid #2d54d4;
}

.simplebox{
	border: 1px solid #333;
	padding: 10px;
}
@media screen and (max-width: 767px) {
	.footsns img{
		margin: 10px 10px;
	}
	.eventbtn li{
		width: 100%;
	}
	.kekkalist li{
		width: 50%;
		padding: 5px;
	}
	.simplebox{
		margin: 5px 8px;
	}
}


.gallery{
	columns: 4;/*段組みの数*/
	padding:0;/*ギャラリー左右に余白をつける*/
	margin:0 0 20px 0;
	column-gap: 0.2em;
}

.gallery li {
	list-style:none;
	padding: 0;
}

/*ギャラリー内のイメージは横幅100%にする*/
.gallery img{
	width:100%;
	height:auto;
	display: block;
	padding: 2px 0;
}

/*　横幅900px以下の段組み設定　*/
@media only screen and (max-width: 900px) {
	.gallery{
		columns:3;
	}	
}

@media only screen and (max-width: 768px) {
	.gallery{
		columns: 2;
	}	
}

/*　過去大会の様子ギャラリー2025年版　*/
.gallery2025{
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 40px;
}

.gallery2025 li {
	list-style:none;
	width: calc((100% - 15px) / 4);
	padding: 0;
}
.gallery2025 img{
	display: block;
	width:100%;
	height:auto;
	padding: 0;
	vertical-align: bottom;
}
@media only screen and (max-width: 900px) {
	.gallery2025 li{
		width: calc((100% - 10px) / 3);
	}	
}
@media only screen and (max-width: 768px) {
	.gallery2025 li{
		width: calc((100% - 5px) / 2);
	}	
}