@charset "utf-8";
/* ■wrap
--------------------------------------------------- */
#wrapper{
}
section.pagetop{
  width:100%;
  margin:0 auto;
  padding:0 2%;
}

/* ■header
--------------------------------------------------- */
header{
  display:block;
  border-top:10px solid #313131;
  background:#ffe100;
}
header:before{
  content:"";
  display:block;
  width:100%;
  height:10px;
  background:#d60021;
  position:absolute;
}
.header_logo{
  width:100%;
  margin:0 auto;
  position:relative;
  top:-10px;
  text-align:center;
}
.header_logo img{
  width:280px;
  text-align:center;
}

/* ■content
--------------------------------------------------- */
#content{
  width:100%;
}
#content_wrap:after{content:""; display:block; clear:both;}
#content_wrap{display:inline-block;} 
#content_wrap{display:block;}
#content_wrap{
  max-width:100%;
  margin:0 auto;
}
#main-content{
  width:100%;
  margin:0 auto;
  padding:0 0%;
  float:none;
}
#sub-content{
  width:100%;
  height:1200px;
  background:pink;
}

/* wide */
.widearea #sub-content{
display:none;
}

/* ■footer
--------------------------------------------------- */

footer{
  position:relative;
  display: flex;
  flex-direction:column;
  justify-content:center;
  width:100%;
  padding:0px 0 18px 0;
  border-top:4px solid #313131;
  background:#ffe100;
  font-size: 10px;
}
footer:before{
  content:"";
  display:block;
  width:100%;
  height:4px;
  margin:0 0 14px 0;
  padding:0;
  background:#d60021
}

.footer_note1{
  display: inline-block;
  margin:0 auto;
}
.footer_note1 > li{
  padding: 0 0 0 3em;
  text-indent: -3em;
}
.footer_note1 .sp_block:before{
  content:"\A";
  white-space:pre;
}

.footer_sponsor{
  display: inline-flex;
  flex-wrap:wrap;
  flex-direction:column;  
  align-items:center;
  margin:8px auto 0;
  padding: 0 0 0 0;
  text-indent:0;
}

.footer_sponsor ul{
  display: inline-flex;
  margin:0 0 8px 0;
}
.footer_sponsor ul li{
  margin:0 0 0 8px;
}
.footer_sponsor ul li:first-child{
  margin:0 0 0 0;
}
.sponsor_icon{
  display: inline-block;
  width:107px;
  margin:0;
  padding: 0;
}
.alcohol_caution{
  display: inline-flex;
  font-size:10px;
}
.alcohol_caution .icon{
  margin:0 8px 0 0;
}

/* ■icon
--------------------------------------------------- */
.icon{display:inline-block;}
.arrow--down,.arrow--next,.arrow--up,.icon--a,.icon--caution,.icon--q{
  width:28px;
  height:41px;
  background-image:url(../img/sprite-img_2023_03.png);
  background-position:0 -333px;
}
.arrow--down,.arrow--next,.arrow--up,.icon--a,.icon--q{
  width:38px;
  height:38px;
  background-position:0 -290px;
}
.arrow--down,.arrow--next,.arrow--up,.icon--a{
  background-position:-43px -290px;
}
.arrow--down,.arrow--next,.arrow--up{
  width:17px;
  height:17px;
  background-position:-132px -290px;
}
.arrow--down,.arrow--next{
  width:19px;
  height:19px;
  background-position:-86px -290px;
}
.arrow--next{
  width:14px;
  height:14px;
  background-size:364px;
  background-position:-88px -232px;
}

/* ■h2
--------------------------------------------------- */
h2{
  position:relative;
  width:100%;
  margin:0 0 12px;
  padding:20px 0 12px;
  text-align:center;
  border-top:4px solid #313131;
  background:#ffe100;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
}
h2:before{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  content:'';
  background:#d60021;
}
.sub_title{
  display:block;
  margin:0;
  font-family:'Century Gothic',sans-serif;
  font-size:10px;
  color:#dc0000;
  font-weight:300;
  line-height:1.6;
}
#whats,#about,#event{
  display:block;
  margin:-65px 0 0 0;
  padding:65px 0 0 0;
}

/* ■main_v
--------------------------------------------------- */
section.main_v{
  background:url(../img/top/bg_hero_top.png) center bottom no-repeat;
  background-size:cover;
}
h1{position:relative;width:100%;margin:0 auto}
h1 img{
  display:block;
  width:96%;
  max-width:763px;
  margin:0 auto;
}
/* 2019-2020
section.main_v_2019{
  background:url(../img/top/bg_main_v_2019.png) center bottom no-repeat;
  background:url(../img/top/bg_main_v_2023ff.jpg) center bottom no-repeat;
  background-size:cover;
}
 */
/* 2023ff */
section.main_v_2019{
  /*background:url(../img/top/bg_main_v_2023ff.jpg) center bottom no-repeat;*/
  background:url(../img/top/bg_main_v_2019.png) center bottom no-repeat;
  background-size:cover;
}
section.main_v_2019 h1{position:relative;width:100%;margin:0 auto}
section.main_v_2019 h1 img{
  display:block;
  width:96%;
  max-width:763px;
  margin:0 auto;
}

/* ■navarea
--------------------------------------------------- */
section.navarea{
  display:none;
}

/* ■whatsfest
--------------------------------------------------- */
section.whatsfest{
  position:relative;
  width:96%;
  margin:0 auto 10%;
  padding:0 3%;
  border-radius:8px;
  background-color:#fff;
}

/* ■aboutfest
--------------------------------------------------- */
section.aboutfest{
  width:96%;
  margin:0 auto 10%;
  padding:0 3%;
  border-radius:8px;
  background-color:#fff;
}
.section_img{
  display:table;
  width:100%;
  margin:0 auto;
  padding-top:3%;
}
.section_img-item{
  display:table-cell;
  width:34%;
  padding:0 0px 0 2%;
}
.section_img-item:first-child{
  width:32%;
  padding:0 0 0 0;
}
.section_text{
  margin:0 0 0 0;
  padding:2% 0;
  font-size:12px;
}
.section_text p{
  margin:0 0 0 0;
}
.section_text p+p{
  margin:0 0 0 0;
  padding-top:5%;
}
.section_text .text-indent{
  margin:0 0 0 5%;
  text-indent:-5%;
}

/* ■collaboration 2025-08 
--------------------------------------------------- */

section.cooperation{
  width:96%;
  margin:0 auto 10%;
  padding:20px 3%;
  border-radius:8px;
  background-color:#fff;
}
section.cooperation h3{
  width:80%;
  max-width:500px;
  margin:0 auto;
  padding:5px 0px 30px;
}
.cooperation_content{
  font-size:12px;
}
section.cooperation h4{
  margin:0 0 0.35em;
  font-size: 18px;
  font-weight: 700;
  color:#b31e24;
}
.prevent_date {
  display: flex;
  flex-wrap:wrap;
  align-items:center;
  margin:0 0 0.5em;
  font-size:14px;

}
.prevent_date dt{
  width:5em;
  height:2.7em;
  margin:0 0 0.5em;
  padding:0.6em 1em;
  border-radius:4px;
  background-color:#b31e24 ;
  color:#fff;
  text-align:justify;
text-align-last:justify;

}
.prevent_date dd{
  width:calc(100% - 5em);
  margin:0 0 0.5em;
  padding:0.5em 1em;
  padding:0em 1em;
  color:#b31e24 ;
  font-weight: 700;
  line-height: 1.5em;
}

.prevent_content{
  margin:0 0 1em;
}

.waiwaiwain_overview{
  width:100%;
  margin:1em 0 0 0;
  padding:1.25em;
  border: 1px solid #76171d ; 
  border: 1px solid #b31e24 ; 
  border-radius: 10px; 
}
.waiwaiwain_info{
  display: flex;
  flex-wrap:wrap;
  width:100%;
}
.waiwaiwain_info dt{
  width: 5em;
  padding:0 0em 0 1em;
  position: relative;
  text-align:justify;
text-align-last:justify;
}
.waiwaiwain_info dt:after{
  content:"■";
  position: absolute;
  left:0;
}
.waiwaiwain_info dd{
  width: calc(100% - 5em);
  text-indent: -1em;
  padding-left: 1em;
}
.waiwaiwain_info dd:before{
  content:"：";
}
.waiwaiwain_sitelink{
  margin:0.5em 0 0 0;
}
.waiwaiwain_sitelink a{
  text-decoration: underline;
  color:#b31e24 ;
}
.waiwaiwain_sitelink a:hover{
  text-decoration: underline;
  color:#b31e24 ;
  opacity: 0.6;
}
/* ■event
--------------------------------------------------- */
section.eventinfo{
  width:96%;
  margin:0 2% 10%;
  border-radius:8px;
  background-color:#fff;
}

/* eventitem */
.eventitem:after{content:""; display:block; clear:both;}
.eventitem{display:inline-block;} 
.eventitem{display:block;}
.eventitem{
  width:100%;
  margin:0 auto;
  padding-top:3%;
}

.eventitem li{
  width:48.5%;
  margin:0 0 5%;
  padding:0 0% 0 3%;
  float:left;
}
.eventitem li a{
  display: block;
}
.eventitem li a:hover{
  color:#313131; 
}
.section_img-title{
  font-size:13px;
  font-weight:700;
  margin:6px 0 1px;
  color:#313131;
}
.section_img-title .icon{
  margin-right:3px;
  vertical-align:middle;
}
.section_img-txt{
  margin:0 0 0 0;
  font-size:12px;
  line-height:1.4;
  color:#313131;
}

/* official */
.official{
  overflow:hidden;
  padding:20px 4% 0px;
}
.official_timeline{
  width:100%;
  max-width:438px;
  margin:0 auto 30px;
}
.inner_title{
  font-size:18px;
  font-weight:700;
  margin-bottom:0px;
  color:#000;
}
.inner_title:before{
  display:inline-block;
  content:'■';
  color:#ffe100;
}

/* facebook */
.official_timeline p.inner_title{
  max-width:438px;
  margin:0 auto;
  text-align:center;
}
.fb-page.fb_iframe_widget{
display: block;
width: 100%;
max-width:438px;
margin:0 auto;
}
.fb-page.fb_iframe_widget.fb_iframe_widget_fluid > span{
display: block;
width: 100%;
}

/* instagram */
.official_timeline.insta_code{
  text-align: center;
}

/* ■pagetop
--------------------------------------------------- */
.totop{
  font-size:12px;
  margin:18px auto;
  text-align:right
}
.totop .icon{margin-right:5px;vertical-align:middle}


/* ■endinfo
--------------------------------------------------- */
.end-info{
  padding:1em 0;
  background:#f8efdb;
  }
.end-info__txt{
  font-size:12px;
  font-weight:700;
  margin:0 auto;
  text-align:center;
  color:#f10000;
  }
  
/* ■mmenu
--------------------------------------------------- */
nav:not(.mm-menu) {
  display: none;
}
.mm-menu {
  background: #eee;
  border-color:#FFF;
  color: #888;
}
.hover-item:hover {
  opacity: 0.6;
}
.mm-menu .mm-navbar a,
.mm-menu .mm-navbar>* {
  color: rgba(0, 0, 0, .3);
}
.menu-btn{
  display:block;
  width:87.5px;
  height:22.5px;
  margin:-2px auto 0;
}
.menu-btn img{
  width:87.5px;
  height:22.5px!important;
}
header{
	height:65px;
  position:fixed;
  width:100%;
  top: 0;
  left:0;
}
#content{
padding-top:65px!important;
}
/* ■2020開催中止のお知らせ
--------------------------------------------------- */
.info_discontinued{
padding:20px 4% 30px;
}
.info_discontinued_tit{
font-size:14px;
font-weight: 700;
text-align: center;
color:#d65b00;
padding:0 0 0.5em;
border-bottom: 1px dotted #888;
}
.info_discontinued_tit span{
display: block;
}


/* ■2022新型コロナウイルス感染拡大防止
--------------------------------------------------- */
#top_info{
width:96%;
margin:0 auto;
text-align: center;
}

#top_info div{
display:flex;
max-width:38em;
flex-direction:column;
margin:20px auto;
padding:30px 30px;
background: #fff;
text-align: left;
}
#top_info div p{
font-size:12px;
}

#top_info div p.top_info_tit{
padding:0 0 0.5em 0;
font-size:14px;
color:#639eda;
letter-spacing: .02em;
border-bottom:1px solid #639eda;
}
.top_info_link{
margin:.5em 0 0;
}
.top_info_link a{
display: block;
color:#fff;
background:#639eda;
border-radius: 6px;
text-align: center;
font-size:11px;
line-height:3em;


}
.top_info_link a span.material-icons{
margin-left:.2em;
vertical-align:-6px;
}