@charset "utf-8";


/*====================================================================

　Commons

====================================================================*/

html {
	font-size: 62.5%;
}
body{
	color: #313131;
	font-family: 'Noto Sans JP', "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	line-height: 1.8;
}

img {
	max-width: 100%;
}
@media screen and (max-width: 768px) {
	html,body {
		height: auto;
	}
	img {
		max-width: 100%;
		height: auto;
	}
}

.clear {
	clear: both;
	font-size: 1%;
	line-height: 0;
	height: 0;
}

.center { text-align: center; }
.right { text-align: right; }
.left { text-align: left; }

/* clearfix */
.clearfix { width: 100%; }
.clearfix:after {
	content: ""; 
	display: block; 
	clear: both;
}

.hide {
	display: none;
}

input, 
button, 
select, 
textarea {
  font-family: 'Noto Sans JP', "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  outline: none;
}

@keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
@-webkit-keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}


/*
link
---------------------------------------------------------*/

a {
	transition: all .3s ease;
}
a:link {
	color: #313131;
	text-decoration: none;
}
a:visited {
	color: #313131;
	text-decoration: none;
}
a:hover {
	color: #888;
	text-decoration: underline;
}

a .pic {
	display: block;
}
a .pic img {
	transition: opacity .3s ease;
}
a:hover .pic img {
	opacity: 0.7;
}

a .pic_scale {
	overflow: hidden;
}
a .pic_scale img {
	display: block;
	transition: all .5s ease;
}
a:hover .pic_scale img {
	transform: scale(1.1);
}

@media screen and (max-width: 768px) {
	a:hover {
		transition: none !important;
	}
	a:hover .pic_scale img {
		transform: none;
	}
}

/*
navskip
---------------------------------------------------------*/

.navskip { display: none; }

/*
fonts
---------------------------------------------------------*/

h1, h2, h3, h4 {
	clear: both;
	font-weight: 500;
}

p {
	margin: 1em 0;
	font-size: 1.6rem;
}

.large {
	font-size: 2rem;
}
.small {
	font-size: 1.3rem;
}

.catch {
	font-size: 2rem;
	font-weight: 700;
}

.txt_deco01 { color: #029145; }
.txt_deco02 { color: #e54949; }
.txt_deco03 { color: #999; }

@media screen and (max-width: 767px) {
	html { -webkit-text-size-adjust: 100% } /* 文字サイズの自動調整をオフ */
	html {
		font-size: 58%;
	}
	p {
		font-size: 1.5rem;
	}
	.large {
		font-size: 1.8rem;
	}
	.small {
		font-size: 1.1rem;
	}
}


/*====================================================================

　header

====================================================================*/

header a:link, 
header a:visited{
	text-decoration: none;
}
header {
	position: absolute;
	z-index: 2;
	margin: 0 auto;
	padding: 0 50px;
	width: 100%;
}
#header_inner {
	position: relative;
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 1024px) {
	#header_inner {
		display: block;
		z-index: 101;
	}
	header {
		z-index: auto;
		padding: 0 10px;
		width: 100%;
	}
}

/*
logo
---------------------------------------------------------*/

#logo {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	width: 20%;
	background-color: #fff;
}
	#logo img {
		display: block;
		margin: 0 auto;
		width: 80%;
		height: auto;
	}
@media screen and (max-width: 1024px) {
	#logo {
		position: absolute;
		top: 41px;
		left: 10px;
		z-index: 9998;
		justify-content: flex-start;
		width: auto;
		border-right: none;
	}
		#logo img {
			width: 90px;
		}
}

/*
headernav_wrap
---------------------------------------------------------*/

#headernav_wrap {
	margin-right: 140px;
	width: 80%;
	background-color: #fff;
}

/* gnav */
#gnav {
}
#gnav nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin: 0 auto;
	line-height: 1.3;
	width: 100%;
	background-color: #f5f5f5;
}
	#gnav .gnav_sub {
		margin-right: 1em;
	}
		#gnav .gnav_sub li {
			display: table-cell;
			padding: 0 1em;
			font-size: 1.2rem;
		}
	#gnav .gnav_main {
	}
		#gnav .gnav_main li {
			display: table-cell;
			font-size: 1.3rem;
			font-weight: 700;
			width: 180px;
		}
			#gnav .gnav_main li a {
				display: block;
				color: #fff;
				letter-spacing: -0.05em;
				min-height: 60px;
				transition: all .3s;
			}
			#gnav .gnav_main li.gnav01 a {
				padding: 10px 20px 0 80px;
				background: url(../img/common/ico_gnav01.png) no-repeat 20px 50% #f69507;
				background-size: 50px 30px;
			}
			#gnav .gnav_main li.gnav01 a:hover {
				background-color: #e78a02;
			}
			#gnav .gnav_main li.gnav02 a {
				padding: 10px 10px 0 55px;
				background: url(../img/common/ico_gnav02.png) no-repeat 10px 50% #26ac9c;
				background-size: 40px 30px;
			}
			#gnav .gnav_main li.gnav02 a:hover {
				background-color: #159f8e;
			}
			#gnav .gnav_main li.gnav03 a {
				padding: 10px 10px 0 55px;
				background: url(../img/common/ico_gnav03.png) no-repeat 10px 50% #2275b8;
				background-size: 40px 30px;
			}
			#gnav .gnav_main li.gnav03 a:hover {
				background-color: #1866a6;
			}

/* localnav */
#localnav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-height: 67px;
}
#localnav ul {
	padding-right: 15px;
}
	#localnav li {
		display: table-cell;
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 67px;
		vertical-align: middle;
	}
		#localnav li a {
			display: block;
			padding: 0 1em;
		}
		#localnav li a:hover {
			color: #2275b8;
		}
		#localnav li a:after {
			content: "";
			width: 0;
			transition: all .5s ease;
			border-bottom: 3px solid #2275b8;
			display: block;
		}
		#localnav li a:hover:after {
			width: 100%;
			border-bottom: 3px solid #2275b8;
		}
		#localnav li.select a {
			color: #2275b8;
		}
		#localnav li.select a:after {
			width: 100%;
			border-bottom: 3px solid #2275b8;
		}
		#localnav li.language li {
			display: block;
			font-size: 1.2rem;
			line-height: normal;
			text-align: center;
		}
		#localnav li.language li + li {
			border-top: 1px solid #555;
		}
		#localnav li.language a:after {
			display: none;
		}
			#localnav li.language li a {
				padding: .3em .5em;
			}
		#localnav li.sns_fb a, 
		#localnav li.sns_tw a, 
		#localnav li.sns_ig a {
			width: 20px;
			height: 20px;
			text-indent: 100%;
			white-space: nowrap;
			overflow: hidden;
			transition: all .3s;
		}
		#localnav li.sns_fb a {
			background: url(../img/common/ico_facebook.png) no-repeat 50% 0;
			background-size: 20px 20px;
		}
		#localnav li.sns_fb a:hover {
			background: url(../img/common/ico_facebook_hv.png) no-repeat 50% 0;
			background-size: 20px 20px;
		}
		#localnav li.sns_tw a {
			background: url(../img/common/ico_twitter.png) no-repeat 50% 0;
			background-size: 20px 20px;
		}
		#localnav li.sns_tw a:hover {
			background: url(../img/common/ico_twitter_hv.png) no-repeat 50% 0;
			background-size: 20px 20px;
		}
		#localnav li.sns_ig a {
			background: url(../img/common/ico_instagram.png) no-repeat 50% 0;
			background-size: 20px 20px;
		}
		#localnav li.sns_ig a:hover {
			background: url(../img/common/ico_instagram_hv.png) no-repeat 50% 0;
			background-size: 20px 20px;
		}

/* reserve */
#header_inner .reserve {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}
	#header_inner .reserve a {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		color: #fff;
		font-size: 1.3rem;
		font-weight: 700;
		line-height: 1.3;
		width: 130px;
		min-height: 130px;
		background-color: #05b6d6;
	}
	#header_inner .reserve a:hover {
		background-color: #04a8c5;
	}
	#header_inner .reserve a span:before {
		content: '';
		display: block;
		margin-bottom: 5px;
		height: 30px;
		background: url(../img/common/ico_reserve.png) no-repeat 50% 0;
		background-size: 30px 30px;
	}
/* IE11 */
@media all and (-ms-high-contrast: none) {
	*::-ms-backdrop, #header_inner .reserve a {
		height: 130px;
	}
}

/* sp_sub */
#localnav li.sp_sub {
	display: none;
}

@media screen and (max-width: 1240px) {
	#headernav_wrap {
		margin-right: 95px;
	}
	#gnav nav li {
		margin-left: 1.5em;
	}
		#gnav .gnav_sub li {
			padding: 0 .5em;
			font-size: 1.1rem;
		}
	#gnav .gnav_main {
	}
		#gnav .gnav_main li {
			font-size: 1.1rem;
			width: 160px;
		}
			#gnav .gnav_main li.gnav01 a {
				padding: 15px 10px 0 80px;
			}
			#gnav .gnav_main li.gnav02 a {
				padding: 15px 10px 0 55px;
			}
			#gnav .gnav_main li.gnav03 a {
				padding: 15px 10px 0 55px;
			}
	#localnav ul {
	}
		#localnav li {
			font-size: 1.3rem;
		}
			#localnav li a {
				padding: 0 0.5em;
			}
			#localnav li.sns_fb a, 
			#localnav li.sns_tw a {
				margin: 0 0.5em;
			}
	#header_inner .reserve a {
		font-size: 1.2rem;
		width: 90px;
	}
}
/* IE11 */
@media all and (-ms-high-contrast: none) and (max-width: 1240px) {
	*::-ms-backdrop, #header_inner .reserve a {
		height: 90px;
	}
}
@media screen and (max-width: 1024px) {
	#header_inner {
		height: 80px;
		background-color: #fff;
	}
	#headernav_wrap {
		width: 100%;
	}
	#gnav {
		padding: 0;
	}
	#gnav nav {
		justify-content: flex-start;
		align-items: flex-start;
		width: 100%;
		background-color: #fff;
	}
		#gnav .gnav_sub {
			display: none;
		}
		#gnav .gnav_main {
			position: relative;
			z-index: 100;
			margin-right: 0;
			width: 75%;
		}
			#gnav .gnav_main li {
				display: block;
				margin-left: 0;
				font-size: 1.1rem;
				width: 33.333%;
				float: left;
			}
				#gnav .gnav_main li a {
					min-height: auto;
					text-align: center;
				}
				#gnav .gnav_main li.gnav01 a, 
				#gnav .gnav_main li.gnav02 a, 
				#gnav .gnav_main li.gnav03 a {
					padding: 10px 1px;
					background-image: none;
				}
				#gnav .gnav_main li a span, 
				#gnav .gnav_main li a br {
					display: none;
				}
	#localnav {
		display: block;
		min-height: inherit;
		background-color: transparent;
	}
		#localnav ul {
			margin: 0 10px;
			padding: 5px 15px 15px 15px;
			background-color: #fff;
			border-top: 1px solid #eee;
		}
		#localnav li {
			position: relative;
			display: block;
			font-size: 1.5rem;
			line-height: 1.4;
		}
		#localnav li:after {
			position: absolute;
			top: 15px;
			right: 0;
			font-family: "Font Awesome 5 Free";
			content: "\f105";
			color: #888;
			font-weight: 700;
		}
			#localnav li a {
				padding: 15px 0;
				border-bottom: 1px solid #eee;
			}
			#localnav li a:after, 
			#localnav li a:hover:after {
				border-bottom: none;
			}
			#localnav li.select a:after {
				border-bottom: none;
			}
	#localnav li.language:after {
		display: none;
	}
	#localnav li.language ul {
		display: flex;
		margin: 0;
		padding: 0;
		border-top: none;
	}
	#localnav li.language li {
		font-size: 1.2rem;
		width: 50%;
		text-align: center;
	}
	#localnav li.language li + li {
		border-top: none;
	}
	#localnav li.language a:after {
		display: none;
	}
		#localnav li.language li a {
			padding: .8em 0;
		}
	#localnav li.sns_fb, 
	#localnav li.sns_tw, 
	#localnav li.sns_ig {
		display: inline-block;
		margin-right: 10px;
		padding-top: 15px;
	}
	#localnav li.sns_fb:after, 
	#localnav li.sns_tw:after, 
	#localnav li.sns_ig:after {
		display: none;
	}
		#localnav li.sns_fb a, 
		#localnav li.sns_tw a, 
		#localnav li.sns_ig a {
			margin: 0;
			border-bottom: none;
		}
	#header_inner .reserve {
		width: 25%;
	}
		#header_inner .reserve a {
			font-size: 1.1rem;
			width: 100%;
			min-height: 80px;
		}
	#localnav li.sp_sub {
		display: block;
	}
	#localnav li.sp_sub ul {
		margin: 15px 0 0 0;
		padding: 0;
		border: none;
		letter-spacing: -.4em;
	}
		#localnav li.sp_sub li {
			display: inline-block;
			margin-left: 0;
			width: 50%;
			letter-spacing: normal;
		}
		#localnav li.sp_sub:after, 
		#localnav li.sp_sub li:after {
			display: none;
		}
		#localnav li.sp_sub li:nth-child(odd) { padding-right: 5px; }
		#localnav li.sp_sub li:nth-child(even) { padding-left: 5px; }
		#localnav li.sp_sub li a {
			display: block;
			padding: 5px 10px;
			border: 2px solid #e5e5e5;
			border-radius: 30px;
			text-align: center;
		}
}
/* IE11 */
@media all and (-ms-high-contrast: none) and (max-width: 1024px) {
	*::-ms-backdrop, #header_inner .reserve a {
		height: 80px;
	}
}


/*====================================================================

　contents

====================================================================*/

#contents {
	margin: 0 auto;
	width: 100%;
}
	#contents a:link {
		color: #2f94c1;
	}
	#contents a:visited {
		color: #2f94c1;
	}
.container {
	margin: 0 auto;
	width: 1080px;
}
.bg01 {
	padding: 60px 0;
	background-color: #f1f1f1;
}

/* contents_head */
.contents_head {
	position: relative;
	margin:0 auto 20px auto;
  padding: 20px 40px;
	text-align: center;
}
.contents_head::before,
.contents_head::after {
  position: absolute;
  top: 0;
  content: '';
  width: 20px;
  height: 100%;
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  box-sizing: border-box;
}
.contents_head::before {
  left: 0;
  border-left: 1px solid #bbb;
}
.contents_head::after {
  right: 0;
  border-right: 1px solid #bbb;
}
.contents_head .label {
	display: inline-block;
	padding: 2px 1em;
	color: #fff;
	background-color: #029145;
}
	.contents_head h2 {
		color: #029145;
		font-size: 3rem;
		font-weight: 500;
		line-height: 1.4;
	}
	.contents_head .lead {
		margin: 5px 0;
		font-size: 2rem;
		font-weight: 500;
	}

@media screen and (max-width: 1240px) {
	.container {
		padding-left: 10px !important;
		padding-right: 10px !important;
		width: 100% !important;
		box-sizing: border-box;
	}
}
@media screen and (max-width: 768px) {
	#contents {
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		box-sizing: border-box;
	}
	.bg01 {
		padding: 30px 0;
	}
	.contents_head {
		margin:0 auto 10px auto;
		padding: 10px 15px;
	}
		.contents_head h2 {
			font-size: 1.9rem;
		}
		.contents_head .lead {
			font-size: 1.5rem;
		}
}

/*
main
---------------------------------------------------------*/

#main {
	margin: 30px 0;
	width: 70%;
	float: left;
}
#organizer #main {
	margin: 30px auto;
	width: 80%;
	float: none;
}
	#main .ttl {
		margin-top: 0;
	}
.section {
	margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
	#main, 
	#organizer #main {
		margin: 20px 0 30px 0;
		width: 100%;
		float: none;
	}
	.section {
		margin-bottom: 30px;
	}
}



/*
side
---------------------------------------------------------*/

#side {
	position: relative;
	top: -75px;
	z-index: 1;
	width: 25%;
	float: right;
}
@media screen and (max-width: 1200px) {
	#side {
		width: 24%;
	}
}
@media screen and (max-width: 768px) {
	#side {
		top: 0;
		width: 100%;
		float: none;
	}
}

/* subnav */
#subnav {
	margin-bottom: 15px;
	font-size: 1.5rem;
	line-height: 1.4;
}
	#subnav h2 {
		font-size: 1.8rem;
		font-weight: 700;
		height: 75px;
		background-color: #2275b8;
	}
	#subnav h2:after {
		display: none;
	}
		#subnav h2 a {
			display: block;
			padding: 1.5em 1em;
			color: #fff;
			text-align: center;
		}
		#contents #subnav h2 a:link, #contents #subnav h2 a:visited { color: #fff; }
	main #subnav ul {
		margin: auto;
		font-size: 1.5rem;
		border: 5px solid #eee;
	}
	main #subnav ul li {
		margin: auto;
	}
	main #subnav ul li:after {
		display: none;
	}
	#subnav ul li a {
		position: relative;
		display: block;
		padding: 1.2em 2.5em 1.2em 1em;
		color: #313131;
		background-color: #fff;
	}
	#contents #subnav ul li a:link { color: #313131; }
	#contents #subnav ul li a:visited { color: #313131; }
	#subnav ul li + li a {
		border-top: 1px solid #e5e5e5;
	}
	#subnav ul li a:after {
		position: absolute;
		top: 50%;
		right: 15px;
		font-family: "Font Awesome 5 Free";
		content: "\f105";
		font-weight: 700;
		margin-top: -12px;
		color: #888;
		font-size: 1.5rem;
	}
	#contents #subnav ul li a:hover, 
	#contents #subnav ul li a.select {
		color: #2275b8;
	}

@media screen and (max-width: 768px) {
	#subnav {
		margin-right: -10px;
		margin-left: -10px;
	}
	#subnav h2 {
		font-size: 1.6rem;
		height: auto;
	}
		#subnav h2 a {
			padding: 10px 5px;
		}
	main #subnav ul {
		border-right: none;
		border-left: none;
	}
			#subnav ul li a {
				font-size: 1.3rem;
			}
}

/*
parts
---------------------------------------------------------*/

/* maintitle */
#maintitle {
	position: relative;
	z-index: 1;
	height: 450px;
	background: url(../img/common/bg_maintitle.jpg) no-repeat 50% 0;
	background-size: cover;
}
	#event #maintitle {
		background: url(../img/event/bg_maintitle.jpg) no-repeat 50% 0;
		background-size: cover;
	}
	#guide #maintitle {
		background: url(../img/guide/bg_maintitle.jpg) no-repeat 50% 0;
		background-size: cover;
	}
	#usage #maintitle {
		background: url(../img/usage/bg_maintitle.jpg) no-repeat 50% 0;
		background-size: cover;
	}
	#organizer #maintitle {
		background: url(../img/organizer/bg_maintitle.jpg) no-repeat 50% 0;
		background-size: cover;
	}
		#maintitle .maintitle_inner {
			position: absolute;
			right: 0;
			left: 0;
			bottom: 0;
			margin: auto;
			padding: 25px 30px 0 30px;
			width: 30%;
			background-color: #fff;
			border-top: 3px solid #2275b8;
			text-align: center;
		}
		#organizer #maintitle .maintitle_inner {
			width: 35%;
		}
		#maintitle h1 {
			font-size: 3.8rem;
			font-weight: 700;
			line-height: 1.4;
			letter-spacing: 0.05em;
		}
		#maintitle p {
			margin: .5em 0 0 0;
			font-size: 1.5rem;
			line-height: 1.4;
		}
	#maintitle.page {
		height: 260px;
	}
@media screen and (max-width: 1240px) {
		#maintitle .maintitle_inner, 
		#organizer #maintitle .maintitle_inner {
			width: 60%;
		}
}
@media screen and (max-width: 768px) {
	#maintitle {
		height: 200px;
	}
		#maintitle .maintitle_inner {
			padding: 15px 10px 0 10px;
			width: 60%;
		}
		#organizer #maintitle .maintitle_inner {
			padding: 15px 10px 0 10px;
			width: 80%;
		}
		#maintitle h1 {
			font-size: 2.3rem;
		}
		#maintitle p {
			font-size: 1.2rem;
		}
	#maintitle.page {
		height: 160px;
	}
}
@media screen and (max-width: 480px) {
	#maintitle {
		height: 200px;
	}
		#maintitle .maintitle_inner, 
		#organizer #maintitle .maintitle_inner {
			width: 85%;
		}
	#maintitle.page {
		height: 120px;
	}
}

/* breadcrumb */
#breadcrumb {
	margin: 1em 0;
	padding: 0 40px;
	font-size: 1.2rem;
	width: 100%;
}
	#breadcrumb ul {
		padding: 0 40px;
	}
	#breadcrumb li {
		display: inline;
		color: #888;
	}
	#breadcrumb li:not(:last-child):after {
		font-family: "Font Awesome 5 Free";
		content: "\f105";
		font-weight: 700;
		color: #a1a1a1;
		margin: 0 0.5em;
	}
		#breadcrumb li a {
			margin-right: 5px;
			color: #313131;
		}
@media screen and (max-width: 768px) {
	#breadcrumb {
		margin-bottom: 10px;
		padding: 0 10px;
		font-size: 1.1rem;
	}
		#breadcrumb ul {
			padding: 0;
		}
}

/* ttl */
.ttl {
	position: relative;
	margin: 1em 0 1.5em 0;
	padding-bottom: .8em;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
	border-bottom: 4px solid #eee;
}
	.ttl:after {
		content: "";
		display: inline-block;
		position: absolute;
		left: 0;
		bottom: -4px;
		width: 30%;
		border-bottom: 4px solid #2275b8;
		vertical-align: bottom;
	}
.ttl02 {
	position: relative;
	margin-bottom: 1em;
	padding: .3em 5em .3em 1.8em;
	font-size: 2.4rem;
	font-weight: 700;
	background-color: #f1f6fa;
	border-radius: 3px;
}
	.ttl02:after {
		content: "";
		display: inline-block;
		position: absolute;
		left: .7em;
		top: 1.2em;
		width: 15px;
		height: 4px;
		background-color: #2275b8;
	}
.ttl03 {
	margin-top: 2em;
	padding-bottom: .5em;
	font-size: 1.8rem;
	font-weight: 700;
	border-bottom: 2px solid #e5e5e5;
}
.ttl04 {
	padding-left: 10px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	border-left: 3px solid #029145;
}
.ttl05 {
	margin-top: 1em;
	color: #2275b8;
	font-size: 1.8rem;
	font-weight: 700;
}
@media screen and (max-width: 768px) {
	.ttl {
		margin-bottom: 1em;
		padding-bottom: 0.8em;
		font-size: 2.2rem;
	}
	.ttl02 {
		margin-bottom: 0.8em;
		font-size: 1.8rem;
	}
		.ttl02:after {
			width: 10px;
		}
	.ttl03 {
		margin-top: 1.5em;
		font-size: 1.6rem;
	}
}

/* list */
main ul {
	margin: 15px 0 15px 35px;
	font-size: 1.6rem;
}
	main ul li {
		position: relative;
		margin: 0;
	}
	main ul li:after {
		display: block;
		content: "";
		position: absolute;
		top: .6em;
		left: -1em;
		width: 6px;
		height: 6px;
		background-color: #666;
		border-radius: 100%;
	}
		main ul li ul, 
		main ul li ol, 
		main ol li ul, 
		main ol li ol {
			margin: 5px 0 5px 35px;
		}
		main ul li ul li:after {
			width: 6px;
			height: 6px;
			background-color: #87cfa7;
		}

	main ul.list li {
		margin-bottom: 10px;
	}

/* ol list */
main ol {
	margin: 15px 0 15px 35px;
	font-size: 1.6rem;
}
	main ol li {
		margin: 0;
		padding-left: .5em;
		list-style-type: decimal;
	}
		main ol li ul li {
			padding-left: 0;
			list-style-type: none;
		}
		main ol li .box01 {
			margin: 10px 0;
		}

/* caption_list */
.caption_list_10, 
.caption_list_15, 
.caption_list_20, 
.caption_list_25 {
	margin: 15px 0;
}
	.caption_list_10 li, 
	.caption_list_15 li, 
	.caption_list_20 li, 
	.caption_list_25 li {
		margin: 0;
		list-style-type: none;
	}
	.caption_list_10 li {
		padding-left: 1em;
		text-indent: -1em;
	}
	.caption_list_15 li {
		padding-left: 1.5em;
		text-indent: -1.5em;
	}
	.caption_list_20 li {
		padding-left: 2em;
		text-indent: -2em;
	}
	.caption_list_25 li {
		padding-left: 2.5em;
		text-indent: -2.5em;
	}
main ul.caption_list_10 li:after, 
main ul.caption_list_15 li:after, 
main ul.caption_list_20 li:after, 
main ul.caption_list_25 li:after {
	display: none;
}
main ul.caption_list_10 li .mark, 
main ul.caption_list_15 li .mark, 
main ul.caption_list_20 li .mark, 
main ul.caption_list_25 li .mark {
	padding-right: 1em;
	color: #ee5151;
}
.caption_list_10 li .pdf, .caption_list_10 li .doc, .caption_list_10 li .xls, .caption_list_10 li .extlink, 
.caption_list_15 li .pdf, .caption_list_15 li .doc, .caption_list_15 li .xls, .caption_list_15 li .extlink, 
.caption_list_20 li .pdf, .caption_list_20 li .doc, .caption_list_20 li .xls, .caption_list_20 li .extlink, 
.caption_list_25 li .pdf, .caption_list_25 li .doc, .caption_list_25 li .xls, .caption_list_25 li .extlink {
	text-indent: 0;
}

@media screen and (max-width: 768px) {
	main ul, 
	main ol {
		margin: 15px 0 15px 20px;
		font-size: 1.4rem;
	}
}

/* num_list */
main .num_list {
	display: flex;
	flex-wrap: wrap;
	counter-reset: number;
	margin: 0;
	padding-left: 0;
	font-size: 1.5rem;
}
	main .num_list li {
		list-style-type: none;
		padding: 10px 0;
		width: 50%;
		border-bottom: 1px solid #ddd;
	}
		main .num_list li a {
			position: relative;
			display: block;
		}
		main .num_list li span:before {
			counter-increment: number;
			content: counter(number);
			display: inline-block;
			margin-right: .5em;
			color: #fff;
			font-size: 1.3rem;
			font-weight: 700;
			width: 22px;
			height: 22px;
			line-height: 22px;
			border-radius: 50%;
			text-align: center;
			transition: all .3s ease;
		}
		main .num_list.green li span:before {
			background-color: #07a34d;
			border: 2px solid #07a34d;
		}
		main .num_list.lb li span:before {
			background-color: #07aaf5;
			border: 2px solid #07aaf5;
		}
		main .num_list.pink li span:before {
			background-color: #f00889;
			border: 2px solid #f00889;
		}
@media screen and (max-width: 768px) {
	main .num_list {
		display: block;
		font-size: 1.4rem;
	}
		main .num_list li {
			list-style-type: none;
			padding: 5px 0;
			width: 100%;
		}
}

/* anchor */
.anchor {
	display: block;
	margin: 0 0 40px 0;
	padding: 8px 5px;
	background-color: #f5f5f5;
}
	.anchor ul {
		margin: 0;
		font-size: 1.4rem;
	}
	.anchor li {
		display: inline-block;
		margin: 5px 15px 5px;
	}
	.anchor li:after {
		display: none;
	}
		.anchor li a {
			position: relative;
			padding: 0 5px 0 1em;
		}
		.anchor li a:before {
			font-family: "Font Awesome 5 Free";
			content: "\f107";
			font-weight: 700;
			position: absolute;
			left: 0;
		}
@media screen and (max-width: 768px) {
	.anchor {
		margin:  0 0 20px 0;
	}
	.anchor ul {
		font-size: 1.2rem;
	}
}

/* img_right */
.img_right {
	margin: 0 0 20px 40px;
	float: right;
	text-align: center;
}
	.img_right img {
		display: block;
	}
.img_left {
	margin: 0 40px 20px 0;
	float: left;
	text-align: center;
}
	.img_left img {
		display: block;
	}
@media screen and (max-width: 768px) {
	.img_right, 
	.img_left {
		margin: 0 0 10px 0;
		width: 100%;
		float: none;
	}
}

/* text_btn */
#contents .text_btn {
	margin: 5em auto 0 auto;
	text-align: center;
}
	#contents .text_btn a {
		position: relative;
		display: inline-block;
		margin: 0 auto;
		padding: 10px 25px;
		color: #fff;
		font-size: 1.6rem;
		text-decoration: none;
		min-width: 350px;
		background-color: #2275b8;
		border: 2px solid #2275b8;
		border-radius: 30px;
		text-align: center;
		transition: all .3s ease;
	}
	#contents .text_btn a:after {
		position: absolute;
		right: 1em;
		font-family: "Font Awesome 5 Free";
		content: "\f105";
		font-weight: 700;
	}
	#contents .text_btn a:link, 
	#contents .text_btn a:visited {
		color: #fff;
	}
	#contents .text_btn a:hover {
		color: #2275b8;
		background-color: #fff;
		text-decoration: none;
	}
#contents .text_btn02 {
	margin: 3em auto 0 auto;
	text-align: center;
}
	#contents .text_btn02 a {
		position: relative;
		display: inline-block;
		margin: 0 auto;
		padding: 10px 35px;
		color: #fff;
		font-size: 1.6rem;
		text-decoration: none;
		min-width: 300px;
		background-color: #05b6d6;
		border: 2px solid #05b6d6;
		border-radius: 30px;
		text-align: center;
		transition: all .3s ease;
		box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
	}
	#contents .text_btn02 a:hover {
		color: #05b6d6;
		background-color: #fff;
	}
		#contents .text_btn02 i {
			margin-left: 10px;
		}

@media screen and (max-width: 767px) {
	#contents .text_btn {
		margin: 2.5em auto 0 auto;
	}
		#contents .text_btn a {
			padding: 5px 10px;
			font-size: 1.3rem;
			width: 80%;
			min-width: auto;
		}
	#contents .text_btn02 {
		margin: 2em auto 0 auto;
	}
		#contents .text_btn02 a {
			padding: 10px 25px;
			font-size: 1.3rem;
		}
}

/* contact_list */
.contact_list {
	display: flex;
	flex-flow: row wrap;
	margin: 0 0 15px 0;
	font-size: 1.8rem;
}
	.contact_list li:after {
		display: none;
	}
	.contact_list li:nth-child(1), 
	.contact_list li:nth-child(2) {
		margin-right: 1.5em;
		font-weight: 700;
	}
@media screen and (max-width: 768px) {
	.contact_list li:nth-child(1), 
	.contact_list li:nth-child(2) {
		width: 100%;
	}
}

/* email_btn */
.email_btn a {
	display: inline-block;
	padding: 5px 2em;
	font-size: 1.4rem;
	line-height: 1.4;
	border: 1px solid #ddd;
	border-radius: 20px;
}

/* link_list */
.link_list {
	margin: 1em 0;
}
	.link_list li:after {
		display: none;
	}
		.link_list li a {
			position: relative;
			padding-left: 20px;
		}
		.link_list li a:before {
			position: absolute;
			left: 5px;
			font-family: "Font Awesome 5 Free";
			content: "\f105";
			color: #2275b8;
			font-weight: 700;
			font-size: 1.5rem;
		}

/* indexmenu */
.indexmenu {
	margin: 60px 0;
}
	.indexmenu ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0;
		width: 100%;
	}
		.indexmenu ul li {
			padding: 0 20px 40px 20px;
			width: 33.333%;
		}
		.indexmenu ul li:after {
			display: none;
		}
			.indexmenu ul li a {
				display: block;
				text-decoration: none;
			}
			.indexmenu ul li h2 {
				position: relative;
				z-index: 100;
				margin: 1em 0 .5em 0;
				font-size: 2rem;
				font-weight: 700;
				line-height: 1.4;
				text-align: center;
			}
			#contents .indexmenu ul li a:link h2 { color: #313131; }
			#contents .indexmenu ul li a:visited h2 { color: #313131; }
			#contents .indexmenu ul li a:hover h2 { color: #888; }
			.indexmenu ul li p {
				margin: 0;
				color: #313131;
				font-size: 1.5rem;
			}
			.indexmenu ul li .pic_cover {
				position: relative;
			}
				.indexmenu ul li .pic img {
					width: 100%;
				}
				.indexmenu ul li .icon {
					position: absolute;
					bottom: -30px;
					left: 50%;
					transform: translate(-50%);
					color: #f69507;
					font-size: 3.4rem;
					line-height: 80px;
					width: 80px;
					height: 80px;
					background-color: #fff;
					border-radius: 50%;
					text-align: center;
				}

@media screen and (max-width: 1240px) {
	.indexmenu ul li {
		padding: 0 10px 20px 10px;
	}
}
@media screen and (max-width: 768px) {
	.indexmenu {
		margin: 30px 0;
	}
		.indexmenu ul li {
			padding: 0 0 20px 0;
			width: 100%;
		}
			.indexmenu ul li .pic_cover {
				margin-right: -10px;
				margin-left: -10px;
			}
			.indexmenu ul li h2 {
				margin: .8em 15px .3em 15px;
				font-size: 1.8rem;
			}
			.indexmenu ul li p {
				margin: 0 15px;
				font-size: 1.3rem;
			}
			.indexmenu ul li .icon {
				margin: 0;
			}
}

/* indexmenu_text */
.indexmenu_text {
	margin: 40px 0;
}
	.indexmenu_text ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0;
		width: 100%;
	}
		.indexmenu_text ul li {
			padding: 0 20px 20px 0;
			width: 50%;
		}
		.indexmenu_text ul li:nth-child(2n) {
			padding: 0 0 20px 0;
		}
		.indexmenu_text ul li:after {
			display: none;
		}
		.indexmenu_text ul li a {
			position: relative;
			display: block;
			padding: 1em 1.5em 1em 1em;
			line-height: 1.4;
			border: 5px solid #eee;
		}
		.indexmenu_text ul li a:after {
			position: absolute;
			top: 50%;
			right: 15px;
			font-family: "Font Awesome 5 Free";
			content: "\f105";
			font-weight: 700;
			margin-top: -12px;
			color: #888;
			font-size: 1.5rem;
		}
@media screen and (max-width: 768px) {
	.indexmenu_text {
		margin: 15px 0;
	}
		.indexmenu_text ul li {
			padding: 0 0 10px 0;
			width: 100%;
		}
			.indexmenu_text ul li a {
				font-size: 1.3rem;
				border: 3px solid #eee;
			}
}

/* list_3col */
.list_3col {
	margin: 60px -20px 0 -20px;
}
#organizer .list_3col {
	margin: 30px -20px 0 -20px;
}
	.list_3col ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0;
		width: 100%;
	}
		.list_3col ul li {
			padding: 0 20px 30px 20px;
			width: 33.333%;
		}
		.list_3col ul li:after {
			display: none;
		}
			.list_3col ul li h2 {
				position: relative;
				z-index: 100;
				margin: 1em 0 .5em 0;
				font-size: 1.6rem;
				font-weight: 700;
				line-height: 1.4;
			}
			.list_3col ul li h2.title {
				margin: 0 0 .5em 0;
				padding: 5px;
				color: #fff;
				font-size: 1.5rem;
				background-color: #2275b8;
				text-align: center;
			}
				.list_3col ul li h2 .num {
					display: inline-block;
					margin-right: .5em;
					color: #fff;
					font-weight: 700;
					width: 26px;
					height: 26px;
					line-height: 26px;
					background-color: #f69507;
					border-radius: 50%;
					text-align: center;
				}
			.list_3col ul li p {
				margin-top: 0;
				color: #666;
				font-size: 1.4rem;
			}
				.list_3col ul li p.small {
					font-size: 1.2rem;
				}
			.list_3col ul li .pic_cover {
				position: relative;
			}
				.list_3col ul li .pic img {
					width: 100%;
				}
			.list_3col ul li dl {
				margin-bottom: 1em;
				font-size: 1.4rem;
				line-height: 1.5;
			}
				.list_3col ul li dl dt {
					margin-bottom: .5em;
					color: #fff;
					font-size: 1.2rem;
					width: 5em;
					float: left;
					background-color: #999;
					border-radius: 3px;
					text-align: center;
				}
				.list_3col ul li dl dd {
					margin: 0 0 .5em 5em;
				}

@media screen and (max-width: 1240px) {
	.list_3col {
		margin: 60px 0 0 0;
	}
		.list_3col ul li {
			padding: 0 10px 20px 10px;
		}
}
@media screen and (max-width: 768px) {
	.list_3col, 
	#organizer .list_3col {
		margin: 30px 0;
	}
		.list_3col ul li {
			padding: 0 0 20px 0;
			width: 100%;
		}
			.list_3col ul li h2 {
				margin: .8em 15px .3em 15px;
				font-size: 1.4rem;
			}
			.list_3col ul li p, 
			.list_3col ul li dl {
				margin: 0 15px 1em 15px;
				font-size: 1.2rem;
			}
				.list_3col ul li dl dd {
					margin: 0 0 .5em 5.5em;
				}
}

/* content_box */
.content_box {
	display: flex;
	margin-top: 3em;
	margin-right: -20px;
	margin-left: -20px;
}
	.content_box .ttl03 {
		margin: 0 0 1em 0;
	}
	.content_box p {
		margin-top: 0;
		font-size: 1.5rem;
	}
	.content_box p.small {
		font-size: 1.3rem;
	}
	.content_box .col2 {
		padding: 0 20px;
		width: 50%;
	}
		.content_box .col2 dt {
			float: left;
		}
		.content_box .col2 dd.ml2em {
			margin-left: 2em;
		}
	.content_box .col3 {
		padding: 0 20px;
		width: 33.333%;
	}
	main .content_box ul, 
	main .content_box ol {
		font-size: 1.5rem;
	}
	.content_box .box01 {
		margin: 1em 0;
		padding: 1em 2em;
	}
		.content_box .box01 .box_ttl {
			margin-top: .3em;
			font-size: 1.5rem;
			font-weight: 700;
		}
		.content_box .box01 p {
			font-size: 1.5rem;
		}
		.content_box .box01 p.small {
			font-size: 1.2rem;
		}
@media screen and (max-width: 768px) {
	.content_box {
		display: block;
		margin-top: 2em;
	}
		.content_box p {
			margin-top: 1em;
			font-size: 1.4rem;
		}
		.content_box p.small {
			font-size: 1.2rem;
		}
		.content_box .col2, 
		.content_box .col3 {
			width: 100%;
		}
		main .content_box ul, 
		main .content_box ol, 
		.content_box .box01 p {
			font-size: 1.4rem;
		}
}

/* tel */
a[href^="tel:"], 
#contents a[href^="tel:"] {
	color: #313131;
	text-decoration: none;
	cursor: text;
}
@media screen and (max-width: 768px) {
	a[href^="tel:"] {
		cursor: pointer;
	}
}

/* br_none */
.br_none {
	display: none;
}
@media screen and (max-width: 768px) {
	.br_none {
		display: block;
	}
}

/* item_box */
.item_box {
	margin: 10px 0 40px 0;
}
	.item_box .item_img {
		padding-right: 40px;
		float: left;
	}
	.item_box .item_text {
		overflow: hidden;
	}
		.item_box .item_text h2 {
			margin-top: 0;
		}
		.item_box .item_text > p {
			margin: 0;
		}
@media screen and (max-width: 768px) {
	.item_box {
		margin: 10px 0 20px 0;
	}
		.item_box .item_img {
			padding-right: 0;
			padding-bottom: 15px;
			float: none;
		}
			.item_box .item_img img {
				width: 100%;
			}
}

/* item_list */
.item_list ul {
	display: flex;
	flex-flow: row wrap;
	margin: 0;
}
	.item_list li {
		list-style: none;
		padding: 4px;
	}
	.item_list li:after {
		display: none;
	}
	.item_list.item_col2 li { width: 50%; }
	.item_list.item_col3 li { width: 33.333%; }
	.item_list.item_col4 li { width: 25%; }
	.item_list.item_col2 li.all {
		width: 100%;
	}
		.item_list li img {
			width: 100%;
		}
		.item_list li p {
			margin: 5px 0;
			font-size: 1.4rem;
			line-height: 1.5;
		}

/* box */
.box01 {
	margin: 30px 0;
	padding: 20px 30px;
	background-color: #f5f5f5;
}
.box02 {
	margin: 30px 0;
	padding: 20px 30px;
	border: 4px solid #eee;
}
	.box02 .ttl03 {
		margin-top: 1em;
	}
.box03 {
	margin: 30px 0;
	padding: 40px 30px;
	border: 4px solid #eee;
	text-align: center;
}
	.box03 .ttl02 {
		margin-bottom: 0;
		padding: 0;
	}
	.box03 .ttl02:after {
		display: none;
	}
@media screen and (max-width: 768px) {
	.box01, 
	.box02 {
		margin: 15px 0;
		padding: 10px 20px;
	}
	.box03 {
		margin: 15px 0;
		padding: 20px;
	}
}

/*
box_2col_wrap
---------------------------------------------------------*/

.box_2col_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
	.box_2col_wrap .box_unit {
		margin-top: 40px;
		width: 47%;
	}
		.box_wrap p, 
		.box_2col_wrap .box_unit p, 
		main .box_wrap ul {
			font-size: 1.4rem;
		}
@media screen and (max-width: 768px) {
	.box_2col_wrap .box_unit {
		margin-top: 15px;
		width: 100%;
	}
}

/*
table
---------------------------------------------------------*/

table {
	margin: 10px 0;
	font-size: 1.6rem;
	width: 100%;
}
	table th,
	table td {
		padding: 12px 15px;
		background-color: #fff;
		border: 1px solid #d1d1d1;
		vertical-align: top;
	}
	table th {
		font-weight: normal;
		background-color: #eee;
		text-align: left;
	}
		table td table {
			margin: 5px 0;
			font-size: 1.5rem;
		}
			table td table th,
			table td table td {
				padding: 5px 10px;
			}
			table td table th { background-color: #f5f5f5; }

/* table01 */
.table01 {
	margin-top: 0;
	font-size: 1.5rem;
	line-height: 1.5;
}
	.table01 th,
	.table01 td {
		padding: 5px;
		text-align: center;
		vertical-align: middle;
	}

/* table02 */
.table02 {
	margin-top: 0;
	font-size: 1.5rem;
	line-height: 1.5;
}
	.table02 th,
	.table02 td {
		padding: 5px 10px;
		vertical-align: middle;
	}
		.table02 td ul {
			margin: 0 0 0 25px;
			font-size: 1.5rem;
		}

/* table04 */
.table04 {
	margin-bottom: 10px;
	font-size: 1.5rem;
	line-height: 1.4;
	text-align: center;
}
.table04 th {
	background-color: #f1f6fa;
	text-align: center;
	vertical-align: middle;
}
.table04 thead th {
	font-weight: 700;
	background-color: #efefef;
}
.table04 td {
	vertical-align: middle;
}

/* table_ad */
.table_ad {
	font-size: 1.3rem;
	line-height: 1.3;
}
	.table_ad th {
		width: 20%;
	}
	.table_ad td {
		padding: 7px;
		height: 80px;
		vertical-align: top;
	}
	.table_ad td img {
		margin-bottom: 5px;
		width: 100%;
	}

@media screen and (max-width: 1024px) {
	.table-wrap {
		overflow-x: auto;
		white-space: nowrap;
		word-wrap: normal;
	}
	.table-wrap::-webkit-scrollbar {
	 height: 5px;
	}
	.table-wrap::-webkit-scrollbar-track {
	 background: #d5d5d5;
	}
	.table-wrap::-webkit-scrollbar-thumb {
	 background: #515151;
	}
	.table-wrap table {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	/*table:not(.tblNormal), 
	table:not(.tblNormal) thead, 
	table:not(.tblNormal) tbody, 
	table:not(.tblNormal) tr, 
	table:not(.tblNormal) th, 
	table:not(.tblNormal) td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}*/
	table.tblBlock, 
	table.tblBlock thead, 
	table.tblBlock tbody, 
	table.tblBlock tr, 
	table.tblBlock th, 
	table.tblBlock td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	table caption {
		display: block;
	}
	table {
		font-size: 1.3rem;
		border-bottom: 1px solid #d5d5d5;
	}
	table th, 
	table td {
		padding: 5px;
		font-size: 90%;
		border-bottom: none;
	}
	table th {
		clear: both;
		text-align: left;
	}
	
		.table02 td ul {
			margin: 0 0 0 25px;
			font-size: 1.3rem;
		}
		.table_ad td {
			height: 40px;
		}
}



/*====================================================================

　footer

====================================================================*/

/*
footer
---------------------------------------------------------*/

#footer {
	color: #fff;
	font-size: 1.4rem;
	background-color: #2275b8;
	text-align: center;
}
.footer_inner {
	padding: 40px 10px;
}
	.footer_inner a {
		color: #fff;
	}

/* footernav */
#footernav {
	
}
	#footernav ul {
		margin-top: 1em;
		font-size: 1.4rem;
	}
		#footernav ul li {
			display: inline-block;
			margin-bottom: 3px;
			padding: 0 10px 0 0;
			line-height: 1;
		}
		#footernav ul li + li {
			padding: 0 10px;
			border-left: 1px solid #fff;
		}
		#footernav ul li a {
			color: #fff;
		}

/* footer_bottom */
.footer_bottom {
	padding: 5px 10px;
	background-color: #313131;
}
	.footer_bottom small {
		color: #fff;
		font-size: 1.1rem;
	}

@media screen and (max-width: 1240px) {
	.footer_inner {
		padding: 30px 10px;
	}
		#footernav {
			margin-top: 20px;
			width: 100%;
		}
}
@media screen and (max-width: 768px) {
	#footer {
		font-size: 1.2rem;
	}
		.footer_inner {
			padding: 20px 0 0 0;
		}
			.footer_inner address {
				padding: 0 10px;
			}
		#footernav ul {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
		}
			#footernav ul li {
				display: block;
				margin-bottom: 0;
				width: 50%;
				border-top: 1px solid #4a96d3;
			}
			#footernav ul li + li {
				padding: 0;
				border-left: none;
			}
			#footernav ul li a {
				display: block;
				padding: 10px;
				font-size: 1.2rem;
			}
			#footernav ul li:nth-child(even) a {
				border-left: 1px solid #4a96d3;
			}
			.footer_bottom small {
				font-size: 1rem;
			}
}


/*
pagetop
---------------------------------------------------------*/

#pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
}
	#pagetop a {
		display: block;
		padding: 0 10px;
		color: #fff;
		font-size: 24px;
		line-height: 65px;
		width: 65px;
		text-decoration: none;
		background-color: #313131;
		border-radius: 3px;
		text-align: center;
	}
	#pagetop a:hover {
		opacity: 0.7;
	}
		#pagetop a img {
			width: 28px;
			height: 15px;
			vertical-align: middle;
		}
@media screen and (max-width: 768px) {
	#pagetop {
		bottom: 0;
		right: 0;
	}
		#pagetop a {
			width: 40px;
			height: 40px;
			line-height: 37px;
			border-radius: 0;
		}
			#pagetop a img {
				width: 20px;
				height: auto;
				vertical-align: middle;
			}
}

/* pager */
.pager ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	margin: 40px 0 20px 0;
}
	.pager li {
		flex: 0 0 auto;
		margin: 2px;
		line-height: 1;
		list-style: none;
	}
	.pager li:after {
		display: none;
	}
		.pager li a {
			display: block;
			padding: 10px 13px;
			background-color: #f1f1f1;
			border-radius: 3px;
			text-align: center;
		}
		.pager li a:hover {
			text-decoration: none;
			background-color: #2275b8;
		}
		#contents .pager li a:link, 
		#contents .pager li a:visited {
			color: #313131;
		}
		.pager li.active a {
			color: #fff;
			text-decoration: none;
			background-color: #2275b8;
			cursor: default;
		}
		#contents .pager li.active a:link, 
		#contents .pager li.active a:visited, 
		#contents .pager li a:hover {
			color: #fff;
		}
			.pager li a i.fa-angle-left {
				margin-right: 5px;
			}
			.pager li a i.fa-angle-right {
				margin-left: 5px;
			}
@media screen and (max-width: 768px) {
	.pager ul {
		margin: 1.5em 0;
	}
}


/*====================================================================

　event

====================================================================*/

/*
event_cover
---------------------------------------------------------*/

.event_cover {
	margin: 30px 0 60px 0;
}

/* event_head */
.event_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}
	.event_head h2 {
		font-size: 2.6rem;
		font-weight: 700;
	}
	.event_head .prev, 
	.event_head .next {
		font-size: 1.6rem;
	}
	#contents .event_head .prev, 
	#contents .event_head .next {
		color: #313131;
		text-decoration: none;
	}
	#contents .event_head .prev:hover, 
	#contents .event_head .next:hover {
		color: #888;
	}
	.event_head .prev:before, 
	.event_head .next:after {
		font-family: "Font Awesome 5 Free";
		font-weight: 700;
		font-size: 2rem;
	}
	.event_head .prev:before {
		content: "\f053";
		padding-right: .8em;
	}
	.event_head .next:after {
		content: "\f054";
		padding-left: .8em;
	}

/* tab */
.event_cover .tab {
	display: table;
	width: 90%;
	z-index: 1;
	margin: 20px auto -1px auto;
	border-collapse: separate;
	border-spacing: 5px 0;
}
	.event_cover .tab li {
		display: table-cell;
		padding: 8px 10px 10px 10px;
		color: #888;
		font-size: 1.6rem;
		font-weight: 700;
		width: 50%;
		background-color: #f4f4f2;
		border: 1px solid #ddd;
		border-radius: 3px 3px 0 0;
		text-align: center;
		vertical-align: middle;
		overflow: hidden;
		cursor: pointer;
		transition: color .3s ease;
	}
	.event_cover .tab li:hover {
		color: #313131;
	}
	.event_cover .tab li.select {
		color: #313131;
		background-color: #fff;
		border-bottom: 1px solid #fff;
	}
		.event_cover .tab li i {
			margin-right: .5em;
		}
	.event_cover .hide {
		display: none;
	}

/* tab_content */
.event_cover .tab_content {
	padding-top: 10px;
	border-top: 1px solid #ddd;
}

/* table_calendar */
.table_calendar th, .table_calendar td { border: 1px solid #ccc; }
.table_calendar .sun, .table_list th.sun { color: #b01011; }
.table_calendar .sat, .table_list th.sat { color: #1882bf; }
.table_calendar thead th {
	padding: 5px 8px;
	color: #fff;
	width: 14.285%;
	background-color: #777;
	text-align: center;
}
.table_calendar thead th.sun { color: #fff; background-color: #d73535; }
.table_calendar thead th.sat { color: #fff; background-color: #238fce; }
.table_calendar td {
	padding: 0;
	height: 100px;
}
.table_calendar td .days {
	padding: 0 8px;
	font-size: 1.4rem;
	background-color: #f1f1f1;
	text-align: right;
}
.table_calendar td .days.sun, .table_list th.sun { background-color: #fae5e2; }
.table_calendar td .days.sat, .table_list th.sat { background-color: #e3f3fc; }
	main .table_calendar td ul, 
	main .table_list td ul {
		margin: 8px;
	}
		main .table_calendar td ul li + li, 
		main .table_list td ul li + li {
			margin-top: 5px;
			padding-top: 5px;
			border-top: 1px dotted #ddd;
		}
		main .table_calendar td ul li:after, 
		main .table_list td ul li:after {
			display: none;
		}
		.table_calendar td ul li p {
			margin: 0;
			font-size: 1.3rem;
			line-height: 1.4;
		}

/* table_list */
.table_list th, 
.table_list td {
	padding: 10px 15px 15px 15px;
}
.table_list th {
	width: 20%;
}
	main .table_list td ul {
		margin: 0;
	}
		.table_list td ul li p {
			margin: 0;
			line-height: 1.5;
		}

.event_cover .table02 {
	margin: 30px 0;
}
	.event_cover .table02 th {
		width: 10em;
	}

.event_cover .parking_info {
	margin: 10px 5px;
	padding: 0 1em;
	font-size: 1.3rem;
	background-color: #eee;
	border-radius: 3px;
	text-align: center;
}
.event_cover .parking_info.info01 {
	color: #3d93db;
	background-color: #e9f5fd;
}
.event_cover .parking_info.info02 {
	color: #e34b4b;
	background-color: #fef0f0;
}
.event_cover .parking_info.info03 {
	color: #e47305;
	background-color: #fef1e5;
}
.event_cover .table_list td .parking_info {
	display: inline-block;
	margin: 10px 0 0 0;
}

/* eventdetailbox */
.eventdetailbox {
	font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
	.event_cover {
		margin: 20px 0 30px 0;
	}
	.event_head h2 {
		font-size: 2rem;
	}
	.event_head .prev, 
	.event_head .next {
		font-size: 1.4rem;
	}
	.event_head .prev:before {
		padding-right: .5em;
	}
	.event_head .next:after {
		padding-left: .5em;
	}
	main .event_icon {
	margin: 10px 0;
	padding-top: 10px;
	text-align: left;
}
	main .event_icon li {
		margin-right: 1em;
	}
	.event_cover .tab, .event_cover .tab_inner { display: none; }
	.event_cover .hide { display: block; }
	.table_list th, 
	.table_list td {
		padding: 5px 10px 10px 10px;
	}
		.table_list td ul li p {
			font-size: 1.4rem;
		}
	.eventdetailbox {
		font-size: 1.4rem;
	}
}


/*====================================================================

　guide

====================================================================*/

/*
visit
---------------------------------------------------------*/

/* calendar_icon */
main .calendar_icon {
	margin: 30px 0 0 0;
	padding: 10px;
	font-size: 1.5rem;
	background: #f4f2ee;
	text-align: center;
}
	main .calendar_icon li {
		display: inline-block;
		margin-right: 1.5em;
	}
	main .calendar_icon li:after {
		display: none;
	}
	main .calendar_icon li:before {
		display: inline-block;
		margin-right: .3em;
		font-size: 2rem;
		font-weight: 700;
		text-align: center;
	}
	main .calendar_icon li.status01:before {
		content: "〇";
		color: #fc6f22;
	}
	main .calendar_icon li.status02:before {
		content: "▲";
		color: #26ac9c;
	}
	main .calendar_icon li.status03:before {
		content: "×";
		color: #666;
	}
	main .calendar_icon li.hideday:before {
		content: "－";
		color: #999;
	}

.cal_ttl {
	padding-bottom: .3em;
	margin: 30px 0 0 0;
}

/* table_calendar02 */
.table_calendar02_cover {
	display: flex;
	justify-content: space-between;
}
.table_calendar02_unit {
	width: 30%
}
.table_calendar02 {
	margin: 0;
}
.table_calendar02 th, .table_calendar02 td {
	padding: 2px 5px;
	font-size: 1.4rem;
	border: 1px solid #bbb;
	text-align: center;
	vertical-align: middle;
}
.table_calendar02 th {
	padding: 5px;
	font-weight: 700;
}
.table_calendar02 tr:last-child th, 
.table_calendar02 tr:last-child td {
	border-bottom: 1px solid #bbb;
}
.table_calendar02 td.sun { color: #b01011; background-color: #fae5e2; }
.table_calendar02 td.sat { color: #1882bf; background-color: #e3f3fc; }
.table_calendar02 td:nth-child(1), 
.table_calendar02 td:nth-child(2) {
	font-size: 1.3rem;
}
.table_calendar02 td:nth-child(3) {
	font-weight: 700;
	font-size: 1.6rem;
}
.table_calendar02 .status01 { color: #fc6f22; }
.table_calendar02 .status02 { color: #26ac9c; }
.table_calendar02 .status03 { color: #666; }
.table_calendar02 .hideday { color: #999; background-color: #ddd; }

@media screen and (max-width: 768px) {
	main .calendar_icon {
		margin: 15px 0 0 0;
		padding: 5px;
		font-size: 1.3rem;
	}
		main .calendar_icon li {
			margin: 0 .5em;
		}
		main .calendar_icon li:before {
			margin-right: .3em;
			font-size: 1.5rem;
		}
	.cal_ttl {
		margin: 15px 0 0 0;
	}
	.table_calendar02 th {
		font-size: 1.2rem;
		line-height: 1.4;
	}
}


/*====================================================================

　usage

====================================================================*/

/*
tour
---------------------------------------------------------*/

#usage .tab li {
	width: 50%;
}
.tab_content_cover {
	padding: 15px 30px;
	border: 1px solid #ddd;
	border-radius: 3px;
}
	.tab_content_cover .list_3col {
		margin: 0 -5px;
	}
		.tab_content_cover .list_3col li {
			padding: 0 5px;
		}
@media screen and (max-width: 768px) {
	.tab_content_cover {
		padding: 10px 15px;
	}
}


/*====================================================================

　topics

====================================================================*/

.news_list {
	margin: 0;
}
	.news_list li:after {
		display: none;
	}
	.news_list li a {
		display: block;
		padding: 15px 0;
		border-bottom: 1px solid #ddd;
	}
		.news_list li .post_title {
			position: relative;
			margin: 0 9em 0 130px;
			line-height: 1.5;
			background-color: transparent;
			transition: color .3s ease;
		}
		.news_list li .date {
			display: inline-block;
			margin: 0;
			color: #888;
			font-size: 1.2rem;
			float: right;
		}
		.news_tag .date {
			display: inline-block;
			margin: 0 0 0 1em;
			color: #888;
			font-size: 1.4rem;
		}
.news_tag {
	margin-bottom: 1em;
}
.news_list li .tag, 
.news_tag .tag {
	display: inline-block;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.3;
	float: left;
}
	.news_list li .tag, 
	.news_tag .tag {
		display: inline-block;
		padding: 2px 5px;
		min-width: 120px;
		background-color: #888;
		border-radius: 3px;
		text-align: center;
	}
.news_list li .tag_imp, .news_tag .tag_imp { background-color: #e54949; }
.news_list li .tag_news, .news_tag .tag_news { background-color: #49b97a; }
.news_list li .tag_event, .news_tag .tag_event { background-color: #f69507; }
.news_list li .tag_blog, .news_tag .tag_blog { background-color: #4ca7c5; }
#topics #main img {
	margin: 0 5px 5px 0;
}
.newsbox {
	font-size: 1.6rem;
}
@media (max-width: 1024px) {
	.news_list {
		padding-top: 0;
	}
		.news_list li .date {
			font-size: 1.1rem;
			float: left;
		}
		.news_list li .post_title {
			margin: 0;
		}
		.news_list li .post_title:before {
			content: "\A";
			white-space: pre;
		}
	.news_list li .tag, 
	.news_tag .tag {
		margin-right: 10px;
		font-size: 1rem;
	}
		.news_list li .tag, 
		.news_tag .tag {
			min-width: 90px;
		}
	.news_tag {
		margin-bottom: .5em;
	}
	.news_tag .date {
		font-size: 1.2rem;
	}
}
@media (max-width: 768px) {
	.news_list li a {
		padding: 10px;
	}
	.newsbox {
		font-size: 1.4rem;
	}
}


/*====================================================================

　score

====================================================================*/

/* score_tab */
.score_tab {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 30px 0;
}
	.score_tab li {
		margin: 0;
		width: 20%;
		border: 1px solid #fff;
		text-align: center;
	}
	.score_tab li:after {
		display: none;
	}
		.score_tab li a {
			display: block;
			padding: .5em 5px;
			border: 1px solid #ddd;
		}
		.score_tab li a:hover {
			background-color: #f1f6fa;
		}
		.score_tab li.select a {
			background-color: #2275b8;
			border: 1px solid #2275b8;
		}
		#contents .score_tab li.select a:link, 
		#contents .score_tab li.select a:visited {
			color: #fff;
		}

/* score_area */
.score_area {
	padding: 1em;
	margin-bottom: 30px;
	border: 1px solid #ddd;
	text-align: center;
}
	.score_area .result_tit {
		padding: 1em;
		background-color: #f4f4f2;
	}
		.score_area .result_tit .title {
			margin: 0;
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1.4;
		}
		.score_area .result_tit .date {
			margin: 0;
			color: #616161;
			font-size: 1.4rem;
		}
	.score_area .score {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
		.score_area .score p {
			margin: 5px 0;
			font-size: 1.5rem;
			line-height: 1.4;
			width: 33.333%;
			text-align: center;
		}
		.score_area .score .score_num {
			font-size: 2.8rem;
			font-weight: 700;
		}
			.score_area .score .score_num .win {
				color: #e04a4a;
			}
	.score_area .comment {
		margin: 0;
		padding-top: .5em;
		font-size: 1.4rem;
		border-top: 1px solid #e5e5e5;
	}
	.score_area .subtit {
		margin: .5em 0 0 0;
		padding: 3px 5px;
		color: #fff;
		font-size: 1.3rem;
		line-height: 1.4;
		background-color: #888;
	}

@media (max-width: 768px) {
	.score_tab {
		margin: 0 0 15px 0;
	}
		.score_tab li a {
			padding: .3em 5px;
		}
	.score_area {
		margin-bottom: 10px;
	}
		.score_area .result_tit .title {
			font-size: 1.4rem;
		}
		.score_area .result_tit .date, 
		.score_area .score p, 
		.score_area .comment {
			font-size: 1.3rem;
		}
}


/*====================================================================

　faq

====================================================================*/

.faq_area ul {
	margin: 0;
	border-top: 1px solid #ddd;
}
.faq_area li {
	padding: .8em 0;
	border-bottom: 1px solid #ddd;
}
.faq_area li:last-child {
	margin-bottom: 0;
}
.faq_area li:after {
	display: none;
}
	.faq_area ul li ul {
		margin-top: 1em;
		border-top: none;
	}
		.faq_area li ul li {
			padding: 0;
			border-bottom: none;
		}
.faq_area .fap_q {
	position: relative;
	margin: 0;
	padding-right: 2em;
	cursor: pointer;
}
.faq_area .fap_q .q {
	margin-right: .5em;
	color: #e64545;
}
.faq_area .fap_q:before {
	position: absolute;
	right: 5px;
	content: "\f107";
	font-family: "Font Awesome 5 Free";
	color: #888;
	font-weight: 700;
	transition: all .3s;
}
.faq_area .fap_q.close:before {
	transform: rotate(180deg);
}
.faq_area .faq_a {
	display: none;
}
	.faq_area .faq_a p {
		margin: 1em 0 0 0;
		line-height: 1.6;
	}
@media (max-width: 768px) {
	.faq_area .fap_q {
		margin: 0 10px;
	}
	.faq_area .faq_a p {
		margin: .5em 10px 0 10px;
	}
}




/*
アイコン付与
---------------------------------------------------------*/

a.extlink, 
a.pdf, 
a.doc, 
a.xls {
	position: relative;
	padding-right: 25px;
}
.news_list a.extlink, 
.news_list a.pdf, 
.news_list a.doc, 
.news_list a.xls {
	padding-right: 0;
}
.important a.extlink:after, 
.important a.pdf:after, 
.important a.doc:after, 
.important a.xls:after, 
.news_list a.extlink:after, 
.news_list a.pdf:after, 
.news_list a.doc:after, 
.news_list a.xls:after {
	display: none;
}

/* extlink */
a.extlink:after, 
.news_list a.extlink .post_title:after {
	content: "\f35d";
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	font-size: 1.5rem;
	position: absolute;
	margin-left: 5px;
}

/* pdf */
a.pdf:after, 
.news_list a.pdf .post_title:after {
	content: "\f1c1";
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	position: absolute;
	margin-left: 5px;
	color: #e34d4e;
}

/* doc */
a.doc:after, 
.news_list a.doc .post_title:after {
	content: "\f1c2";
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	position: absolute;
	margin-left: 5px;
	color: #2c65b8;
}

/* xls */
a.xls:after, 
.news_list a.xls .post_title:after {
	content: "\f1c3";
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	position: absolute;
	margin-left: 5px;
	color: #22884a;
}


/*
margin
---------------------------------------------------------*/

.mt0 { margin-top: 0; }
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt50 { margin-top: 50px; }
.mb0 { margin-bottom: 0 !important; }
.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }

.mt1em { margin-top: 1em; }
.mt2em { margin-top: 2em; }
.mt2_5em { margin-top: 2.5em; }
.mt3em { margin-top: 3em; }
.mt4_5em { margin-top: 4.5em; }
.mt5em { margin-top: 5em; }
.mb3em { margin-bottom: 3em; }

@media screen and (max-width: 768px) {
	.mt30 { margin-top: 15px; }
	.mb50 { margin-bottom: 20px; }
}

/*
width
---------------------------------------------------------*/

.w100 { width: 100px; }
.w150 { width: 150px; }
.w200 { width: 200px; }







