/*! HTML5 Boilerplate v7.2.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 2.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/*   genaral
========================================================================== */


.inner {
	width: 1000px;
	max-width: calc(100% - 40px);
	margin: auto;
}

._w740 {
	width: 740px;
}

._w840 {
	width: 840px;
}

h1 {
	font-size: 2.4rem;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	color: #fff;

}

a {
	transition: 500ms;
}

a:hover {
	opacity: .5;
}

.inb {
	display: inline-block;
}

.bold {
	font-weight: 700;
}

@media screen and (min-width: 671px) {
	.pc_hidden {
		display: none !important;
	}
}

@media screen and (max-width: 670px) {
	.sp_hidden {
		display: none !important;
	}
}

.bold {
	font-weight: bold !important;
}

.textCR {
	color: #e90000;
}

.textCB {
	color: #00a0e9;
}

.linkCB {
	color: #00a0e9;
}


/*   ヘッダーの高さ
========================================================================== */

main {
	/* padding-top: 80px; */
	padding-top: 150px;
}

@media screen and (max-width: 670px) {
	main {
		/* padding-top: 60px; */
		padding-top: 130px;
	}
}


/*   header
========================================================================== */

header {
	box-shadow: 0 5px 20px rgba(0, 0, 0, .5);
	position: fixed;
	width: 100%;
	z-index: 999;
}

header .tit_box {
	height: 80px;
	background: #00a0e9;
	display: flex;
	align-items: center;
	text-align: center;
}

header .tit_box img {
	width: 400px;
}

@media screen and (max-width: 670px) {
	header .tit_box {
		height: 60px;
	}

	header .tit_box img {
		width: 250px;
	}
}

header .sponsor_box {
	background: #fff;
	height: 70px;
	display: flex;
	align-items: center;
}

header .sponsor_box>.inner {
	display: flex;
	justify-content: center;
	align-items: center;
}

header .sponsor_box a {
	display: block;
	width: 91px;
	max-width: 23%;
	margin: 0 5px;
}

header .sponsor_box a:first-child {
	width: 190px;
	max-width: 49%;
}

header .sponsor_box a img {
	border: 1px solid #000;
}


/*   main
========================================================================== */

main {
	background: url(../img/map_bg.png);
}


/*   main_image
========================================================================== */

#main_image {
	overflow: hidden;
	max-height: 550px;
}

#main_image>img {
	width: 100%;
}


/*   .sec_intro
========================================================================== */

.sec_intro {
	left: 0;
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 2;
	color: #00a0e9;
	width: 100%;
	padding: 70px 0 0;
	border-radius: 10px;
	text-align: center;
}

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

	/* irregular size */
	.sec_intro {
		padding: 30px 0 0;
		font-size: 2.0rem;
	}
}


/*   #map
========================================================================== */

#map {
	padding: 50px 0 0;
	background: url(../img/map_bg.png);
	text-align: center;
}

@media screen and (max-width: 670px) {
	#map {
		padding: 30px 0 0px;
	}
}

#map .inner {
	position: relative;
}


#map .svg_box {
	max-width: 858px;
	margin: 0 auto;
}

#map .inner_wrp {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: calc(780 / 858 * 100%);
}

#map svg {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}


#map .map_sp_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

#map .map_sp_btn>a {
	display: block;
	width: 48.5%;
	margin: 5px 0;
}

/*   #content
========================================================================== */

#content {
	padding: 70px 0;
}

@media screen and (max-width: 670px) {
	#content {
		padding: 30px 0;
	}
}

.l-variousBox {
	border-radius: 5px;
	padding: 0 0 20px;
	position: relative;
}

.l-variousBox:not(:last-of-type) {
	margin-bottom: 30px;
}

@media screen and (max-width: 670px) {
	.l-variousBox:not(:last-of-type) {
		margin-bottom: 10px;
	}
}

.l-variousBox h2 {
	font-size: 3.2rem;
	font-weight: 700;
	color: #00a0e9;
	position: relative;
	text-align: left;
	margin-bottom: 30px;
}

.l-variousBox h2 {
	border-left: 6px solid #000;
	padding-left: 15px;
}

@media screen and (max-width: 670px) {
	.l-variousBox h2 {
		font-size: 2.4rem;
	}
}

.l-variousBox .cont_area {
	padding-top: 40px;
}

.l-variousBox .cont_box {
	padding: 40px 50px 30px;
	background: #fff;
}

.l-variousBox .cont_box>div {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.l-variousBox>div.btn_more {
	flex-wrap: wrap;
}

@media screen and (max-width: 670px) {
	.l-variousBox .cont_box {
		padding: 30px 20px 20px;
	}

	.l-variousBox .cont_box>div {
		display: block;
	}
}

.l-variousBox .shadow {
	box-shadow: 0 0 20px rgba(0, 0, 0, .2);
}

.l-variousBox .cont_box>div .img_box {
	width: 48%;
	margin-bottom: 30px;
	order: 2;
	font-size: 1.2rem;
}

.l-variousBox .cont_box>div .img_box p {
	margin-top: 10px;
	text-align: right;
}

@media screen and (max-width: 670px) {
	.l-variousBox .cont_box>div .img_box {
		width: 100%;
		margin-bottom: 20px;
	}
}

.l-variousBox .cont_box>div dl {
	width: 48%;
	font-size: 1.4rem;
	margin-bottom: 25px;
}

@media screen and (max-width: 670px) {
	.l-variousBox .cont_box>div dl {
		margin-left: 0;
		width: 100%;
	}
}

.l-variousBox dt {
	font-weight: bold;
	margin-bottom: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	text-align: left;
	border-bottom: 1px solid #ccc;
	color: #00a0e9;
}

.l-variousBox dd {
	margin: 5px 0 15px;
	text-align: left;
	padding-left: 5px;
}

.l-variousBox .btn_more a {
	display: block;
	margin: 20px auto;
	padding: 15px 20px;
	color: #fff;
	font-weight: 600;
	width: 500px;
	max-width: 100%;
	font-size: 2.0rem;
	cursor: pointer;
	text-align: center;
	background: #00a0e9;
}

.l-variousBox .btn_more+.btn_more a {
	margin-top: 0;
}

@media screen and (max-width: 670px) {
	.l-variousBox .btn_more a {
		font-size: 1.6rem;
		margin: 30px auto 10px;
	}
}

.l-variousBox .btn_more a.end {
	position: relative;
	pointer-events: none;
	overflow: hidden;
}

.l-variousBox .btn_more a.end::after {
	position: absolute;
	content: "イベントは終了しました";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgba(255, 255, 255, .9);
	color: #2c90d3;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}



/*   #content カラー設定
========================================================================== */

.l-variousBox--color1 .btn_more a,
.l-variousBox--color1 h2::after {
	background: #851be2;
}

.l-variousBox--color1 h2,
.l-variousBox--color1 h2 span,
.l-variousBox--color1 .cont_box {
	border-color: #851be2;
}

.l-variousBox--color1 h2,
.l-variousBox--color1 .btn_more a.end::after,
.l-variousBox--color1 .color,
.l-variousBox--color1 dt,
.l-variousBox--color1 .link_c {
	color: #851be2;
}

.l-variousBox--color2 .btn_more a,
.l-variousBox--color2 h2::after {
	background: #21d8ca;
}

.l-variousBox--color2 h2,
.l-variousBox--color2 h2 span,
.l-variousBox--color2 .cont_box {
	border-color: #21d8ca;
}

.l-variousBox--color2 h2,
.l-variousBox--color2 .btn_more a.end::after,
.l-variousBox--color2 .color,
.l-variousBox--color2 dt,
.l-variousBox--color2 .link_c {
	color: #21d8ca;
}

.l-variousBox--color3 .btn_more a,
.l-variousBox--color3 h2::after {
	background: #5cd673;
}

.l-variousBox--color3 h2,
.l-variousBox--color3 h2 span,
.l-variousBox--color3 .cont_box {
	border-color: #5cd673;
}

.l-variousBox--color3 h2,
.l-variousBox--color3 .btn_more a.end::after,
.l-variousBox--color3 .color,
.l-variousBox--color3 dt,
.l-variousBox--color3 .link_c {
	color: #5cd673;
}

.l-variousBox--color4 .btn_more a,
.l-variousBox--color4 h2::after {
	background: #2c56ce;
}

.l-variousBox--color4 h2,
.l-variousBox--color4 h2 span,
.l-variousBox--color4 .cont_box {
	border-color: #2c56ce;
}

.l-variousBox--color4 h2,
.l-variousBox--color4 .btn_more a.end::after,
.l-variousBox--color4 .color,
.l-variousBox--color4 dt,
.l-variousBox--color4 .link_c {
	color: #2c56ce;
}

.l-variousBox--color5 .btn_more a,
.l-variousBox--color5 h2::after {
	background: #f7ba00;
}

.l-variousBox--color5 h2,
.l-variousBox--color5 h2 span,
.l-variousBox--color5 .cont_box {
	border-color: #f7ba00;
}

.l-variousBox--color5 h2,
.l-variousBox--color5 .btn_more a.end::after,
.l-variousBox--color5 .color,
.l-variousBox--color5 dt,
.l-variousBox--color5 .link_c {
	color: #f7ba00;
}

.l-variousBox--color6 .btn_more a,
.l-variousBox--color6 h2::after {
	background: #7cd400;
}

.l-variousBox--color6 h2,
.l-variousBox--color6 h2 span,
.l-variousBox--color6 .cont_box {
	border-color: #7cd400;
}

.l-variousBox--color6 h2,
.l-variousBox--color6 .btn_more a.end::after,
.l-variousBox--color6 .color,
.l-variousBox--color6 dt,
.l-variousBox--color6 .link_c {
	color: #7cd400;
}

/*   footer カラー設定
========================================================================== */

footer {
	background: #fff;
	box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.2);
}

footer p {
	padding: 20px;
	background: #00a0e9;
	font-size: 1.2rem;
	color: #fff;
	text-align: center;
}




/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
	color: #333;
	font-size: 0.625rem;
	font-weight: 400;
	line-height: 1.4;
	text-align: justify;
	text-justify: inter-ideograph;
	/* 	font-family: 'FontAwesome', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Noto Sans Japanese', YuGothic, '游ゴシック体', 'Yu Gothic', '游ゴシック', Meiryo, 'メイリオ', Osaka, 'MS PGothic', 'ＭＳ Ｐゴシック', sans-serif; */
	font-family: Font Awesome\ 5 Free, Lato, YakuHanJP_Noto, Noto Sans JP, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, YuGothic, 游ゴシック体, Yu Gothic, 游ゴシック, Meiryo, メイリオ, Osaka, MS PGothic, ＭＳ Ｐゴシック, sans-serif;
	background: #00a0e9;
}

@media screen and (max-width: 670px) {
	body {
		min-width: 320px;
	}
}

i {
	font-style: normal;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}

::selection {
	background: #b3d4fc;
	text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
	resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}


/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
	display: none !important;
}

/*
* Hide only visually, but have it available for screen readers:
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*
* 1. For long content, line feeds are not interpreted as spaces and small width
*    causes content to wrap 1 word per line:
*    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/

.sr-only {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
	/* 1 */
}

/*
* Extends the .sr-only class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/

.sr-only.focusable:active,
.sr-only.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	white-space: inherit;
	width: auto;
}

/*
* Hide visually and from screen readers, but maintain layout
*/

.invisible {
	visibility: hidden;
}

/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
*    `contenteditable` attribute is included anywhere else in the document.
*    Otherwise it causes space to appear at the top and bottom of elements
*    that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
*    `:before` to contain the top-margins of child elements.
*/

.clearfix:before,
.clearfix:after {
	content: " ";
	/* 1 */
	display: table;
	/* 2 */
}

.clearfix:after {
	clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
	/* Style adjustments for viewports that meet the condition */
}

@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
	/* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {

	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		/* Black prints faster */
		-webkit-box-shadow: none !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	/*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}

	pre {
		white-space: pre-wrap !important;
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	/*
     * Printing Tables:
     * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
     */
	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}