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

.bold {
    font-size: 1em;
    font-weight: bold;
}

.pr {
    display: block;
	justify-content: center;
	align-items: center;
}

.box {
	margin: 0;
}

.box:last-child {
    margin-right: 0;
}

m0 {
	margin-right:0!important;
}

.s_img {
	width:25%;
	display: block;
	margin: 0 auto;
} 

.m_img {
	 width: 50%;
	padding-top: 3em;
	margin: 0 auto!important;
}

.m_img  img{
	padding-bottom: 2em;
}

.w50 {
	width:50%;
	display: block;
	margin: 0 auto!important;
}

.w85 {
	width:85%;
	display: block;
	margin: 0 auto!important;
}

.tac {
    text-align: center;
}

.tar {
    text-align: right;
}

.hr {
    border-bottom: 2px dashed #e3e3e3;
    padding-bottom: 2em;
}

.soft {
    font-size: 0.9em;
    /*color: #9F9F9F;*/
}

.ff {
    font-size: 1.2em;
    font-weight: bold;
    color: #dc0000;
}

.sns_link {
	color: #3E78CF;
}

.sp_t {
	text-align: center;
}

a.textkink{
color:blue;
text-decoration: underline;
}
a.textkink:visited{
color:blue;
text-decoration: underline;
}

/* ■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(../common/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(../common/img/top/bg_main_v_2023ff.jpg) center bottom no-repeat;*/
  background:url(../common/img/top/bg_main_v_2019.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;
}

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

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

.accessroot{
}
.accessroot dl{
width:100%;
margin-bottom:2em;
}

.accessroot dl dt{
margin:0 0 0.3em;
border-bottom: 1px dotted #000;
line-height: 2em;
font-weight: 700;
}
.accessroot dl dd{
line-height: 1.75em;
}

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

section.faq .box img {
    min-width: 308px;
}

.faq_list {
	line-height: 2.0;
	padding-top: 2em;
}

.faq__a,.faq__q {
    position: relative;
    padding-left: 55px;
	margin-bottom: 2em;
}
.faq__q{
line-height:1.3;
}
.faq__a .icon{
    position: absolute;
    top: -7px;
    left: 0;
}

.faq__q .icon {
    position: absolute;
    top: -10px;
    left: 0;
}

.section_img img {
}

.section_img-item {
    display: table-cell;
    width: 308px;
    padding: 0 0px 0 24px;
}

.section_img-item:first-child {
    width: 284px;
    padding: 0 0 0 0;
}

.section_text p {
    margin: 0 0 0 0;
}

.section_text p+p {
    margin: 0 0 0 0;
    padding-top: 20px;
}

.section_text .text-indent {
    margin: 0 0 0 15px;
    text-indent: -15px;
}

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

.notes ul {
    padding-left: 25px;
	font-size: 1.1em;
	line-height: 1.8;
}

.notes li {
    list-style-type: disc;
}

/* eventitem */
.eventitem:after {
    content: "";
    display: block;
    clear: both;
}

.eventitem {
    display: inline-block;
}

.eventitem {
    display: block;
}

.eventitem {
    width: 924px;
    margin: 0 auto;
    padding-top: 25px;
}

.eventitem li {
    width: 308px;
    margin: 0 0 25px;
    padding: 0 12px;
    float: left;
}

.eventitem li a {
    display: block;
}

.eventitem li a:hover {
    color: #313131;
    text-decoration: underline;
}

.section_img-title {
    font-size: 18px;
    font-weight: 700;
    margin: 10px 0 5px;
    color: #313131
}

.section_img-title .icon {
    margin-right: 5px;
    vertical-align: middle
}

.section_img-txt {
    margin: 0 0 0 0;
    font-size: 14px;
    color: #313131;
}

/* official */
.official {
    overflow: hidden;
    padding: 25px;
}

.official_timeline {
    float: left;
    width: 438px
}

.official_timeline+.official_timeline {
    margin-left: 24px;
}

.inner_title {
margin-bottom:8px;
    font-size: 16px;
    font-weight: 700;
    color: #000;
    /*
    height: 3em;
    line-height: 3em;
    */
}

.inner_title:before {
    display: inline-block;
    content: '■';
    color: #ffe100;
}

.inner_img {
    display: inline;
    width: auto;
    vertical-align: middle;
	height: 70px;
	padding: 0 0.5em;
}

.event h4 {
	font-size: 1em;
    font-weight: bold;
    margin-bottom: 20px;
    padding: 15px 8px 8px;
    background-color: #ebebeb;
}

 h4 .inner_img {
    display: inline;
    vertical-align: middle;
	height: 30px;
	padding: 0 0.3em;
	transform: translateY(-5px);
}

.pad30 {
	padding-right: 1em;
	width: 35%;
	display: block;
	margin-left: auto;
	transform: translateY(-6em);
}

/* ■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開催中止のお知らせ
--------------------------------------------------- */
section.whatsfest{
  position:relative;
  width:96%;
  margin:0 auto 10%;
  padding:0 3%;
  border-radius:8px;
  background-color:#fff;
}

.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;
}