@charset "utf-8";
/* CSS Document */

/*全体設定*/
.abs_matsuri2024{ display: block; margin: 0; width: 100%; }

.abs_matsuri2024 .inner{ color: #333333; text-align: center; margin: 0 auto;}

*{ box-sizing: border-box;}

.matsuri_flex {display: flex;}



/*トップ*/
.matsuri24-top{ width: 100%; background: url("../images/bg_yellow02.png") no-repeat; background-size: cover; padding: 3em 0;}
.top_bg{ margin: 0 auto; max-width: 1250px; padding: 1em;}
.poyon01 { animation: poyon 1.5s;}
@keyframes poyon {
  0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
  15%  { transform: scale(0.9, 0.9) translate(0%, 5%); }
  30%  { transform: scale(1.3, 0.8) translate(0%, 10%); }
  50%  { transform: scale(0.8, 1.3) translate(0%, -10%); }
  70%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

/*フェードイン設定*/
.yon-fadein {
    animation-name: yon-fadein;
    animation-delay: 1500ms;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}
@keyframes yon-fadein {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}


/*==ヘッダーナビ*/
.matsuri-header{ position: sticky; left: 0; top: 0; width: 100%; height: 70px; background: #131313; z-index: 99;}
.matsuri-header,.nav_list,.sns2024 {display: flex; align-items: center;}

.logo{ padding: 10px 15px; width: 300px;}
.nav_list { list-style: none;}
.nav_item { text-align: center; padding: 0 14px;}
.nav_item a { display: block; padding: 8px 0; text-decoration: none; color: #FAFAFA; }
.nav_item a:hover { color: #FF791A; }

.sns2024 { justify-content: space-between;}
.sns2024 img { width: 30px;}

/*コンテンツ*/
.parallax {padding-bottom: 2em;}
.parallax_content{ width: 100%; min-height: 300px; background-position: top; background-repeat: no-repeat; background-attachment: fixed; background-size: cover; color: #fff; font-size: 8em; font-weight: bold; text-align: start; padding-left: 1em;}

.bg_01 {
    background-image: url("../images/stage_bg2.jpg"); }
.bg_02 {
    background-image: url("../images/event_bg2.jpg");}
.bg_03 {
    background-image: url("../images/event_bg3.jpg");}
	


/*フッター*/
.footer2024 {width: 100%; padding: 1.5em 0;background: #3E3E3E; }
.footer-in{ width: 980px; margin: 0 auto; color: #EFEFEF; text-align: center;}


.smp{display: none;}	


/* SMP表示---------------------------------------------- */
@media screen and (max-width:768px) {
.pc { display: none;}
.smp{display: block;}    

.bg_01 {
    background-image: url("../images/stage_bg2smp.jpg"); }
.bg_02 {
    background-image: url("../images/event_bg2smp.jpg");}
.bg_01,.bg_02 { background-attachment: local; background-position: center;}    
    
/*ハンバーガー*/
.ham_nav{ position: fixed; right: -320px; /* 右から出てくる */ top: 0; width: 300px; height: 100vh; padding-top: 60px; background-color: #262626; transition: all .6s; z-index: 200; overflow-y: auto;}
.nav_list { display: block; padding: 50% 0;}
.nav_item a { font-size: 1.3em;}
.sns2024 { justify-content: space-evenly;}    
    
.hamburger { position: absolute; right: 15px; top: 8px; width: 40px; height: 40px; cursor: pointer; z-index: 300; }
.hamburger_border { position: absolute; left: 11px; width: 22px; height: 2px; background-color: #EEEEEE; transition: all .6s;}
.hamburger_border_top { top: 14px;}
.hamburger_border_center { top: 20px;}
.hamburger_border_bottom { top: 26px;}
.black_bg { position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 100; background-color: #333; opacity: 0;    visibility: hidden; transition: all .6s; cursor: pointer; }

  /* 表示された時用のCSS */
  .nav-open .ham_nav { right: 0;}
  .nav-open .black_bg { opacity: .8; visibility: visible;}
  .nav-open .hamburger_border_top { transform: rotate(45deg); top: 20px;}
  .nav-open .hamburger_border_center { width: 0; left: 50%;}
  .nav-open .hamburger_border_bottom { transform: rotate(-45deg); top: 20px;}

.footer-in {width: 100%;} 
    

	
}/* SMP表示---------------------------------------------- */