@charset "utf-8";
/* CSS Document */
#adminBox, .acms-admin-box,
.tss_comprehensiveHead{
  position: relative;
  z-index: 100;
}

img{max-width: 100%;}
a{text-decoration: none;}


/*重要なお知らせ（中止のお知らせ）*/
.ngf_noticebox{
  position: relative;
  padding: 24px 0;
  line-height: 1.75;
  color: #666666;
  background-color: rgba(255,255,255,0.96);
  z-index: 99;
}
.ngf_noticebox strong,
.ngf_noticebox b{font-weight: bold;}
.ngf_noticebox a{
  text-decoration: underline;
  color: #006DEC;
}


.ngf_body{
  line-height: 1.5;
  padding-bottom: 56px;
  background-color: #61C3F2;
}

.ngf_bg{
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.ngf_bgkey{
  position: absolute;
  left: 50%;
  top: 0;
  max-width: 1300px;
  width: 60%;
  transform: translateX(-50%);
}
.ngf_bgkey picture{
  display: block;
  margin: auto;
  aspect-ratio: 325/317;
}
.ngf_bgkey picture img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ngf_bgdeco{
  position: absolute;
  left: 50%;
  top: 0;
  max-width: 1844px;
  min-width: 1280px;
  width: 96%;
  transform: translateX(-50%);
}
.ngf_bgdeco picture{
  display: block;
  margin: auto;
  aspect-ratio: 461/271;
}
.ngf_bgdeco picture img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ngf_decoil{
  position: fixed;
}
/*背景が縮みだす1932で割る*/
.ngf_il1{
  top: 36.23vw;
  right: 4.55vw;
  width: 2.69vw;
  transform-origin: center top;
  animation: note 4s linear infinite;
}
.ngf_il2{
  top: 9.93vw;
  right: 13.56vw;
  width: 3.41vw;
  transform-origin: center -50px;
  animation: leaf 5s linear infinite;
}
.ngf_il3{
  top: 7.76vw;
  left: 8.38vw;
  width: 7.55vw;
  animation: sun 3s steps(1) infinite;
}
.ngf_il4{
  top: 39.13vw;
  left: 3vw;
  width: 6vw;
  transform-origin: left center;
  animation: fish 0.5s steps(1) infinite;
}
.ngf_il5{
  top: 30.33vw;
  left: 9.16vw;
  width: 3.83vw;
  animation: nuts 5s steps(6) infinite;
}
@media screen and (min-width:1932px){
  .ngf_il1{
    top: 700px;
    right: calc(50% - 878px);
  }
  .ngf_il2{
    top: 192px;
    right: calc(50% - 704px);
  }
  .ngf_il3{
    top: 150px;
    left: calc(50% - 804px);
  }
  .ngf_il4{
    top: 756px;
    left: calc(50% - 908px);
  }
  .ngf_il5{
    top: 586px;
    left: calc(50% - 814px);
  }
}
@media screen and (max-width:1348px){
  .ngf_il1{
    top: 486px;
    right: calc(50% - 609px);
    width: 36px;
  }
  .ngf_il2{
    top: 132px;
    right: calc(50% - 489px);
    width: 46px;
  }
  .ngf_il3{
    top: 103px;
    left: calc(50% - 559px);
    width: 102px;
  }
  .ngf_il4{
    top: 525px;
    left: calc(50% - 630px);
    width: 81px;
  }
  .ngf_il5{
    top: 407px;
    left: calc(50% - 566px);
    width: 52px;
  }
}
@keyframes note{
  0%{transform: rotate(0);}
  25%{transform: rotate(25deg);}
  50%{transform: rotate(0);}
  75%{transform: rotate(-25deg);}
  100%{transform: rotate(0);}
}
@keyframes leaf{
  0%{transform: rotate(0);}
  18%{transform: rotate(-22deg);}
  24%{transform: rotate(-24.5deg);}
  25%{transform: rotate(-25deg);}
  26%{transform: rotate(-24.5deg);}
  32%{transform: rotate(-22deg);}
  68%{transform: rotate(22deg);}
  74%{transform: rotate(24.5deg);}
  75%{transform: rotate(25deg);}
  76%{transform: rotate(24.5deg);}
  82%{transform: rotate(22deg);}
  100%{transform: rotate(0);}
}
@keyframes sun{
  0%{transform: scale(1);}
  20%{transform: scale(1.2);}
  40%{transform: scale(1);}
  60%{transform: scale(0.9);}
  80%{transform: scale(1.2);}
  100%{transform: scale(1);}
}
@keyframes fish{
  0%{transform: rotateY(0deg);}
  25%{transform: rotateY(-15deg);}
  50%{transform: rotateY(0deg);}
  75%{transform: rotateY(15deg);}
  100%{transform: rotateY(0deg);}
}
@keyframes nuts{
  0%{transform: rotate(0deg);}
  100%{transform: rotate(360deg);}
}


.ngf_main{
  position: relative;
  padding: 0 16px;
  z-index: 50;
}
.ngf_main h1{
  padding-top: 80px;
  text-align: center;
}
.ngf_main h1 picture{
  display: block;
  max-width: 538px;
  width: 30%;
  margin: auto;
  aspect-ratio: 269/381;
}
.ngf_main h1 picture img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.grm_contents{
  margin: 40px 0;
}

.ngf_date{
  margin-bottom: 24px;
  text-align: center;
}
.ngf_date img{
  width: 20%;
  max-width: 380px;
}
.ngf_nishimuramsg{
  margin-bottom: 56px;
  text-align: center;
}
.ngf_nishimuramsg picture{
  display: block;
  max-width: 1000px;
  width: 53%;
  margin: auto;
  aspect-ratio: 500/131;
}
.ngf_nishimuramsg picture img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}




/*以下 情報公開用*/
.ngf_navi{
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 6px;
  margin-bottom: 48px;
}
.ngf_navi li{width: 260px;}
.ngf_navi li a{
  display: flex;
  align-items: flex-end;
  height: 54px;
}
.ngf_navi li a img{width: 100%;}
.ngf_navi li.ngf_comson{filter: grayscale(100%);}
.ngf_navi li.ngf_comson a{
  pointer-events: none;
  background-color: #FFFFFF;
  border-radius: 40px;
}
.ngf_navi li.ngf_comson a img{opacity: 0.75;}



.ngf_eventarea{
  position: relative;
  width: calc(100% + 32px);
  margin-left: -16px;
  margin-bottom: 56px;
}
.ngf_eventarea h2{
  position: absolute;
  top: -32px;
  width: 100%;
  text-align: center;
  z-index: 5;
}
.ngf_eventwrap{display: flex;}
.ngf_eventwrap > div{
  position: relative;
  width: 50%;
  min-height: 430px;
}
.ngf_videobox{
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.ngf_videobox video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: top;
}
.ngf_eventbox{
  position: relative;
  max-width: 500px;
  width: 100%;
  height: 100%;
  padding: 28px 16px 40px;
}
.ngf_rantanevent .ngf_eventbox{
  margin: 0 0 0 auto;
  background: linear-gradient(rgba(96, 23, 0, 0.71) 0%, rgba(96, 23, 0, 0.7) 73.64%, #000 100%);
}
.ngf_bubbleevent .ngf_eventbox{
  background: linear-gradient(rgba(27, 28, 127, 0.7) 0%, rgba(27, 28, 127, 0.7) 77.21%, #000 100%);
}
.ngf_eventbox h3{
  margin-bottom: 14px;
  text-align: center;
}
.ngf_eventdate{
  margin-bottom: 16px;
  text-align: center;
}
.ngf_eventtxt{
  max-width: 440px;
  margin: 0 auto 34px;
  font-size: clamp(0.75rem, 0.612rem + 0.51vw, 0.875rem);/*12-14 430-820*/
  color: #FFFFFF;
}
.ngf_eventtxt.during{
  text-align:center;
  margin-top:0.5em;
  margin-bottom:0;
}
.ngf_rantanevent .ngf_eventbox div{
  width: fit-content;
  margin: 0 auto 16px;
  font-weight: bold;
  text-decoration: underline;
  text-align: center;
  font-size: 0.875rem;
  color: #FFFFFF;
  cursor: pointer;
}
.ngf_rantanevent .ngf_eventbox > a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 42px;
  margin: auto;
  font-weight: bold;
  text-align: center;
  font-size: 0.875rem;
  color: #361B00;
  border-radius: 21px;
  background: #FFDD00;
  box-shadow: 0px 2px 0px rgba(0, 0, 0, 0.16);
}
.ngf_bubbleevent .ngf_eventbox div{text-align: right;}
.ngf_bubbleevent a{
  text-decoration: underline;
  font-size: 0.875rem;
  color: #FFFFFF;
}
.ngf_bubbleevent a img{margin-right: 8px;}



.ngf_section{
  max-width: 1080px;
  margin: 0 auto 32px;
  background-color: #FFFFFF;
  border: 10px solid #D18E4A;
}
.ngf_section::before{
  content: "";
  display: block;
  height: 90px;
  background: url(../img/top/il_flag.svg) center top no-repeat;
  background-color: #FFF6CF;
}
.ngf_section h2{
  position: relative;
  top: -8px;
  margin-bottom: 32px;
  text-align: center;
}
.ngf_section h2::after{
  content: "";
  display: block;
  width: 80px;
  margin: 12px auto 0;
  border-top: 2px solid #F08A1C;
}
.ngf_sectioncontainer{
  padding: 0 16px 24px;
}
.ngf_detail{
  display: flex;
  flex-wrap: wrap;
  max-width: 860px;
  margin: 0 auto 32px;
  border-bottom: 1px solid #C6C6C6;
}
.ngf_detail > dt{
  width: 214px;
  padding-top: 24px;
  padding-bottom: 24px;
  font-weight: bold;
  font-size: clamp(0.875rem, 0.73rem + 0.54vw, 1rem);/*14-16 430-800*/
  color: #747E04;
  border-top: 1px solid #C6C6C6;
}
.ngf_detail > dd{
  width: calc(100% - 214px);
  padding-top: 24px;
  padding-bottom: 24px;
  font-size: clamp(0.875rem, 0.73rem + 0.54vw, 1rem);/*14-16 430-800*/
  border-top: 1px solid #C6C6C6;
}
.ngf_schedule{
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
}
.ngf_schedule dt{
  width: 160px;
  text-align: right;
}
.ngf_schedule dd{
  width: calc(100% - 192px);
}
.ngf_detail > dd ul li{
  padding-left: 1em;
  text-indent: -1em;
}
.ngf_detail > dd ul li:nth-last-of-type(n+2){margin-bottom: 0.75em;}

.ngf_eventpdf{text-align: center;}
.ngf_eventpdf a{
  display: inline-block;
  padding: 8px 32px;
  text-decoration: none;
  font-weight: bold;
  color: #E21F13;
  border: solid 2px #E21F13;
  border-radius: 100vw;
  background-color: #FFF6CF;
}

.ngf_map{
  max-width: 1000px;
  margin: auto;
}
.ngf_map div{
  height: 500px;
  margin-bottom: 24px;
}
.ngf_map div iframe{
  width: 100%;
  height: 100%;
}
.ngf_map p{font-size: clamp(0.875rem, 0.73rem + 0.54vw, 1rem);/*14-16 430-800*/}



.ngf_sponsor{
  margin-bottom: 80px;
  padding: 0 16px;
}
.ngf_sponsor dt{
  margin-bottom: 24px;
  text-align: center;
}
.ngf_sponsor dd{
  margin-bottom: 40px;
}
.ngf_sponsor dd ul{
  display: flex;
  flex-wrap: wrap;
  gap: 1em 1%;
  max-width: 1000px;
  margin: auto;
}
.ngf_sponsor dd ul.ngf_few{justify-content: center;}
.ngf_sponsor ul li{
  width: 19.2%;
  background-color: #FFFFFF;
}
.ngf_sponsor ul li img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/**/

/* 1027 情報更新*/
.ngf_rantanevent .ngf_eventbox div.ngf_rt_otd{
  color:#FFF;
  font-size:1.125rem;
  text-decoration:none;
  cursor: unset;
  text-align:left;
}
.ngf_rantanevent .ngf_eventbox div.ngf_rt_otd p:nth-of-type(2){
  color: #ffdd00;
  text-align:center;
  font-size:1.375rem;
  padding-top:8px;
}
.ngf_rt_otd span{
  font-size:0.75rem;
  text-align:center;
  display:block;
}

.ngf_modal{
  line-height: 1.75;
  font-size: clamp(0.75rem, 0.612rem + 0.51vw, 0.875rem);/*12-14 430-820*/
}
.ngf_modal dt{
  margin-bottom: 4px;
  font-weight: bold;
}
.ngf_modal dd:nth-last-of-type(n+2){margin-bottom: 14px;}
.ngf_modal dd a{
  color: #1880AF;
  text-decoration: underline;
}



.ngf_tohp{text-align: center;}
.ngf_tohp a{
  display: inline-block;
  border-radius: 8px;
  background-color: #FFFFFF;
}

/*-- 右部ボタン --*/
.grm_rightbtn{
  position:fixed;
  right:0;
  bottom: 40px;
  z-index:300;
}
.grm_rightbtn ul{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.modaal-image .modaal-inner-wrapper {
  padding-left:120px;
  padding-right:120px;
}


.tss_gotop{
  right:10%;
}

.tss_footer{
  position: relative;
  background-color: #008129;
}




@media screen and (min-width:801px){
  .ngf_noticebox a:hover{text-decoration: none;}

  .ngf_navi li a:hover img{
    transform: scale(0.95);
    transform-origin: center bottom;
  }
  .ngf_rantanevent .ngf_eventbox div:hover{text-decoration: none;}
  .ngf_rantanevent .ngf_eventbox > a:hover{background-color: #FFF8C7;}
  .ngf_bubbleevent a:hover{text-decoration: none;}
  .ngf_eventpdf a:hover{background-color: #FFDCAF;}
  .ngf_tohp a:hover img{opacity: 0.5;}
}



@media screen and (max-width:1200px){
  .ngf_navi li a{height: 4.5vw;}
}
@media screen and (max-width:880px){/*デザイン依存*/
  .ngf_eventwrap{
    flex-wrap: wrap;
    justify-content: center;
  }
  .ngf_eventwrap > div{
    width: 100%;
  }
  .ngf_rantanevent .ngf_eventbox,
  .ngf_bubbleevent .ngf_eventbox{margin: auto;}
}
@media screen and (max-width:800px){
  .ngf_body{padding-bottom: calc(17.5vw + 120px);}

  .ngf_bgkey{
    top: 4%;
    width: 95%;
  }
  .ngf_decoil{display: none;}

  .ngf_main h1{padding-top: max(10vw, 40px);}
  .ngf_main h1 picture{width: 75%;}
  .ngf_date{margin-bottom: max(3vw, 16px);}
  .ngf_date img{width: 60%;}
  .ngf_nishimuramsg{margin-bottom: max(7vw, 32px);}
  .ngf_nishimuramsg picture{
    width: 90%;
    aspect-ratio: 375/164;
  }



  /*以下 情報公開用*/
  .ngf_section::before{
    height: max(11.25vw, 40px);
    background-size: auto 64%;
  }

  .ngf_section h2{
    top: min(-12px, -1vw);
    margin-bottom: max(4vw, 16px);
  }
  .ngf_section h2 img{height: max(3.625vw, 16px);}

  .ngf_detail > dt{width: 29%;}
  .ngf_detail > dd{width: 71%;}
  /**/



  .ngf_tohp a{width: max(60%, 300px);}
}
@media screen and (max-width:640px){/*デザイン依存*/
  .ngf_navi{flex-wrap: wrap;}
  .ngf_navi li{width: 49%;}
  .ngf_navi li a{height: 9.375vw;}


  .ngf_detail > dt{
    width: 100%;
    padding-top: 12px;
    padding-bottom: 8px;
  }
  .ngf_detail > dd{
    width: 100%;
    padding-top: 0;
    padding-bottom: 12px;
    border-top: none;
  }
  
  /*-- 右部ボタン --*/
  .grm_rightbtn{
    position:fixed;
    right:0;
    bottom: 120px;
    z-index:300;
  }
  .grm_rightbtn ul{
    display:flex;
    flex-direction:column;
    gap:8px;
  }


  .ngf_sponsor dt h2 img{height: max(6vw, 24px);}/*38÷640=5.9375*/
  .ngf_sponsor ul li{width: 49%;}
}
@media screen and (max-width:430px){
  .ngf_schedule{gap: 0 16px;}
  .ngf_schedule dt{width: 140px;}
  .ngf_schedule dd{width: calc(100% - 156px);}




  .modaal-content-container{padding: 16px;}
}