/*! 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: 150px;
}
@media screen and (max-width: 670px) {
main{
	padding-top: 130px;
}
}

#content .inner .various_box{
	padding-top: 100px;
	margin-top: -100px;
}


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

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

/*
header .main_box{
	height: 80px;
	background: #00A0E9;
	display: flex;
	align-items: center;
}
header .main_box>.inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header .logo_box{
	width: 150px;
	order: 2;
}
*/

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;
/* 	padding: 40px 0 0; */
}
#main_image>img{
	width: 100%;
}
/*
@media screen and (max-width: 670px) {
#main_image{
	padding: 30px 0 0;
}
}
*/


/*   #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 p{
/* 	position: absolute; */
/* 	top: 20px; */
	left: 0;
	font-weight: 700;
	font-size: 2.0rem;
	line-height: 1.8;
	text-align: left;
	color: #00A0E9;
	width: 100%;
	padding: 30px 20px;
	background: #fff;
	border-radius: 10px;
	text-align: center;
}
@media screen and (max-width: 670px) { /* irregular size */
#map p{
	position: static;
	width: 100%;
/* 	margin-bottom: 30px; */
	font-size: 1.4rem;
}
}

#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: 50px 0;
}
@media screen and (max-width: 670px) {
#content {
	padding: 30px 0;
}
}

#content .various_box{
	border-radius: 5px;
	padding: 0 0 20px;
}
#content .various_box:not(:last-of-type){
	margin-bottom: 20px;
}
@media screen and (max-width: 670px) {
#content .various_box:not(:last-of-type){
	margin-bottom: 10px;
}
}

#content .various_box h2{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 2.4rem;
	font-weight: 700;
	background: #333;
	color: #fff;
	height: 60px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 5px 5px 0 0;
}
@media screen and (max-width: 670px) {
#content .various_box h2{
	font-size: 2.0rem;
	height: 50px;
}
}

#content .various_box .cont_box{
	padding: 40px 40px 30px;
	background: #fff;
	border-radius: 0 0 5px 5px;
}
#content .various_box .cont_box>div{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
#content .various_box>div.btn_more{
	flex-wrap: wrap;
}
@media screen and (max-width: 670px) {
#content .various_box .cont_box{
	padding: 20px;
}
#content .various_box .cont_box>div{
	display: block;
}
}

#content .various_box .shadow{
	box-shadow: 0 0 20px rgba(0,0,0,.3);
	border-radius: 5px;
}

#content .various_box>div img{
	width: 40%;
	margin-bottom: 30px;
}
@media screen and (max-width: 670px) {
#content .various_box>div img{
	width: 100%;
	margin-bottom: 20px;
}
}

#content .various_box>div dl{
	width: 57%;
	font-size: 1.4rem;
	margin-bottom: 20px;
}
@media screen and (max-width: 670px) {
#content .various_box>div dl{
	margin-left: 0;
	width: 100%;
}
}

#content .various_box dt{
	font-weight: bold;
	margin-bottom: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	text-align: left;
	border-bottom: 1px solid #333;
}

#content .various_box dd{
	margin: 5px 0 15px;
	text-align: left;
	padding-left: 5px;
}

#content .btn_more a{
	display: block;
	margin: 20px auto;
	padding: 15px 20px;
	color: #fff;
	font-weight: 600;
	width: 500px;
	max-width: 100%;
	border-radius: 30px;
	font-size: 2.0rem;
	cursor: pointer;
	text-align: center;
	background: #333;
}
#content .btn_more+.btn_more a{
	margin-top: 0;
}
@media screen and (max-width: 670px) {
#content .btn_more a{
	font-size: 1.6rem;
	margin: 30px auto 10px;
}
}

#content .btn_more a.end{
	position: relative;
	pointer-events: none;
	overflow: hidden;
}
#content .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 カラー設定
========================================================================== */

#content .various_box#tokyo h2,
#content .various_box#tokyo .btn_more a{
	background: #851be2;
}
#content .various_box#tokyo dt{
	border-bottom: 1px solid #851be2;
}
#content .various_box#tokyo .btn_more a.end::after,
#content .various_box#tokyo .color{
	color: #851be2;
}

#content .various_box#kanazawa h2,
#content .various_box#kanazawa .btn_more a{
	background: #21d8ca;
}
#content .various_box#kanazawa dt{
	border-bottom: 1px solid #21d8ca;
}
#content .various_box#kanazawa .btn_more a.end::after,
#content .various_box#kanazawa .color{
	color: #21d8ca;
}

#content .various_box#nagoya h2,
#content .various_box#nagoya .btn_more a{
	background: #5cd673;
}
#content .various_box#nagoya dt{
	border-bottom: 1px solid #5cd673;
}
#content .various_box#nagoya .btn_more a.end::after,
#content .various_box#nagoya .color{
	color: #5cd673;
}

#content .various_box#koriyama h2,
#content .various_box#koriyama .btn_more a{
	background: #2c56ce;
}
#content .various_box#koriyama dt{
	border-bottom: 1px solid #2c56ce;
}
#content .various_box#koriyama .btn_more a.end::after,
#content .various_box#koriyama .color{
	color: #2c56ce;
}





/*   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;
/* 	font-weight: bold; */
	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;
  }
}

