@charset "UTF-8";
:root{
  --mainColor:#17724c;
  --pointColor:#fff128;
  --fontColor:#333333;
  --GRY:#757575;
  --GRN:#00892E;
  --RED:#D8000C;
  --BLU:#1077CF;
  --mainAnime:all .3s ease;
  --vw2:min(2.22vw,16px);
  --vw3:min(3.33vw,24px);
  --vw4:min(4.44vw,32px);
  --vw5:min(5.56vw,40px);
  --vw6:min(6.67vw,48px);
  --vw7:min(7.78vw,56px);
  --vw8:min(8.89vw,64px);
  --vw10:min(10vw,72px)

}
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Poppins:wght@400;700&display=swap');
body {
  font-family:'Poppins', 'Noto Sans JP', sans-serif;
  font-weight:400;
  font-size:14px;
  line-height:1.6;
  background:url(../img/bg_BEG.jpg) #f3e1c9;
  color:var(--fontColor)
}

/* ヘッダー */
header {
  overflow:hidden;
  position:relative;
  background:url(../img/bg_BLU.jpg) #a2d6e3
}
header::after{
  content:"";
  position:absolute;
  bottom:0;left:0;right:0;
  width:100%;
  height:min(40vw,215px);
  background:url(../img/head_bg.png) no-repeat 50% 0/auto min(40vw,500px);
}
header .inner{
  position:relative;
}
header .inner h1{
  text-align:center;
}
.headKinen{
  position:absolute;
  top:0;left:1.5vw;
  width:min(9vw,80px);
}
.headImg1,.headImg2,.headImg3,.headImg4{
  position:absolute;
  width:min(35vw,254px);
}
.headImg1{top:45vw;right:-5vw;}
.headImg2{top:52vw;right:20vw;}
.headImg3{top:73vw;left:-2vw;z-index:1;}
.headImg4{top:78vw;left:17vw;}
.headImg5{
  position:relative;
  z-index:1;
  margin:min(15vw,88px) 0 0;
  padding:0 4vw;
  text-align:center;
}
.headImg5 img{
  width:min(100vw,796px);
  max-width:none;
  transform:translateX(-8vw)
}
.navToggle {
  position:fixed;
  top:-100px;
  right:0;
  transition:top 0.3s ease;
  z-index:100;
  width:60px;
  height:60px;
  border:none;
  background:var(--fontColor);
  cursor:pointer;
}
.navToggle.fixed {
  top:0;
  right:0;
}
.navToggle.fixed.show {
  top:0;
}
.navToggle span {
  position:absolute;
  left:15px;
  width:30px;
  height:3px;
  background-color:#FFF;
  border-radius:3px;
  transition:all .4s;
}
.navToggle span:nth-of-type(1) {
  top:19px;
}
.navToggle span:nth-of-type(2) {
  top:29px;
}
.navToggle span:nth-of-type(3) {
  top:39px;
}

/* メニューオープン時 */
.open .navToggle span:nth-of-type(1) {
  transform:translateY(9px) rotate(-45deg);
}
.open .navToggle span:nth-of-type(2) {
  opacity:0;
}
.open .navToggle span:nth-of-type(3) {
  transform:translateY(-11px) rotate(45deg);
}
#gNav {
  position:fixed;
  top:0;left:0;
  z-index:90;
  width:100%;
  max-width:40em;
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:min(6vw,24px);
  background-color:#fff;
  box-shadow:2px 0 4px rgba(0,0,0,.1);
  transform:translateX(-150vw);
  opacity:0;
  transition:transform .4s;
}
.open #gNav{
  opacity:1;
  transform:translateX(0);
}
#gNav li a{
  position: relative;
  display:block;
  padding:.5em;
  color:var(--fontColor);
  font-size:min(4.8vw,1.7em);
  text-align:center;
  font-weight:bold;
}
.c-txt.line {
  padding-bottom: 5px;
  
}
#gNav li a::before {
  background:var(--pointColor);
  content: '';
  width: 100%;
  height:.8em;
  position: absolute;
  left:0;
  bottom:.5em;
  z-index:-1;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
#gNav li a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}


main .inner{
  width:min(88vw,1040px);
  margin-left:auto;
  margin-right:auto;
  padding:min(6vw,56px) 0 min(9vw,72px);
}
main h2{
  margin:0 auto .3em;
  padding-top:2.6vw;
  background:url(../img/h2_bg.png) no-repeat 50% 0/100% auto;
  max-width:420px;
  height:calc(88vw * 95 / 420);
  max-height:95px;
  font-size:min(7.8vw,2.45em);
  text-align:center;
  line-height:1.4;
  color:#FFF;
}
main h3{
  font-size:min(5vw,1.5em);
}
.scrollCont{
  width:100%;
  margin-bottom:8px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-color:var(--fontColor)
}
.mapWrap > div{
  width:calc(100vw * 980 / 570);
  max-width:980px;
  padding:16px 0;
}
.scheWrap > div{
  width:calc(140vw * 1040 / 646);
  max-width:1040px;
}
.scrollCont div img{
  vertical-align:top
}
.scrollCont::-webkit-scrollbar{
  -webkit-appearance:none;
  width:10px;
  height:10px;
  background:rgba(255,255,255,.6)
}
.scrollCont::-webkit-scrollbar-thumb{
  border-radius:4px;
  background-color:var(--fontColor)
}
p.scrollTxt{
  margin-bottom:2em;
}
.mapBox{
  position:relative;
  padding:min(2.5vw,24px);
  margin-bottom:min(6vw,24px);
  border:2px solid var(--fontColor);
  background:rgba(255,255,255,.6);
}
.mapB-img{
  text-align:center;
}
.mapB-point{
  position:absolute;
  top:-8px;right:-8px;
  display:inline-block;
  min-width:6em;
  border-radius:4px;
  padding:.3em .5em;
  background-color:#c0dd98;
  line-height:1;
  text-align:center;
}
.mapB-point.RED{


  background-color:#d1141b;
  color:#FFF;
}
.mapB-txt h3{
  margin-bottom:8px;
  font-size:min(6.5vw,2em);
  line-height:1;
}
.mapB-txt h3 span{
  display:inline;
  background:linear-gradient(transparent 60%, var(--pointColor) 0%);
  line-height:1.5;
}
.mapB-txt h3 span.fontS{
  font-size:min(4vw,.75em);
}
.mapB-txt dl{
  display:flex;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.mapB-txt dl dt{
  width:3em;
  padding:.3em 0;
  margin-right:1px;
  border-bottom:1px dotted #666
}
.mapB-txt dl dd{
  width:calc(100% - 3em - 1px);
  padding:.3em 0;
  border-bottom:1px dotted #666
}
.mapB-txt dl dd span{
  display:inline-block;
  width:1.6em;
  height:1.6em;
  border-radius:1.6em;
  margin-right:.3em;
  background-color:#000;
  color:#FFF;
  line-height:1.6;
  text-align:center;
  font-weight:bold;
}
.mapB-etc{
  padding:10px;
  border:1px solid var(--fontColor);
}
.bgBLK{
  display:inline-block;
  padding:.2em .3em;
  margin-bottom:0 !important;
  border-radius:4px;
  background-color:#000;
  line-height:1;
  color:#FFF;
}
#schedule{
  background:url(../img/bg_BLU.jpg) #a2d6e3;
}
.acceImg{
  margin-bottom:8px;
}
.sponList{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  padding:0;
  margin:0 -5px min(2vw,24px);
}
.sponList li{
  width:50%;
  max-width:250px;
  padding:0 5px 10px;
}
.sponList2 dt{
  padding:.3em;
  color:#eb685d;
  font-weight:bold;
}
.sponList2 .spon1{
  font-size:1.2em;
}
.sponList2 dd{
  padding:.3em;
}
.sponList2 dd a{
  display:inline-block;
  color:var(--fontColor);
}
footer{
  padding:min(4vw,40px);
  background-color:var(--mainColor);
  color:#FFF
}
#contact h2{
  margin-bottom:0;
  font-size:min(5vw, 1.6em);
}
#contact h2 span{
  display:inline-block;
  border:1px solid #FFF;
  padding:.3em .5em;
  margin-right:.5em;
  line-height:1;
}
.footTel{
  font-size:min(6.5vw, 2em);
  font-weight:bold;
}
.copyright{
  text-align:center;
  font-size:.75em;
}

/* SP only */
@media screen and (max-width:767px){
  .mapB-img img{
    max-height:50vw;
    margin-bottom:10px;
  }
}
/* TB over */
@media screen and (min-width:768px){
  header .inner{
    max-width:1040px;
    margin:0 auto;
  }
  .headImg1{top:280px;right:-34px;}
  .headImg2{top:360px;right:160px;}
  .headImg3{top:486px;left:-10px;}
  .headImg4{top:525px;left:120px;}
  main h2{
    padding-top:.4em;
  }
  .mapCont{

  }
  .mapBox{
    display:flex;
    flex-wrap:wrap;
  }
  .mapB-img{
    order:1;
    width:40%;
    padding-left:min(2.5vw,24px);
  }
  .mbox3 .mapB-img,.mbox5 .mapB-img{
    width:60%;
  }
  .mapB-txt{
    width:60%;
  }
  .mbox3 .mapB-txt,.mbox5 .mapB-txt{
    width:40%;
  }
  .sponList2{
    display:flex;
    flex-wrap:wrap;
  }
  .sponList2 dt{
    width:60px;
    text-align:center;
  }
  .sponList2 dd{
    width:calc(100% - 60px);
  }
  footer .inner{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:flex-end;
  }

}
/* PC over */
@media screen and (min-width:1020px){
  .headImg1{top:20px;right:24px;}
  .headImg2{top:130px;left:40px;right:auto;}
  .headImg3{top:316px;right:-10px;left:auto;}
  .headImg4{top:410px;right:90px;left:auto;}
  .headImg5{margin-top:-120px;}
}

/* PC over */
@media screen and (min-width:1114px){
  #map p.scrollTxt{
    display:none;
  }
  .mapWrap{
    margin-bottom:2em;
  }
}
@media screen and (min-width:1182px){
  #schedule p.scrollTxt{
    display:none;
  }
}
/* .mapWrap > div{
  width:calc(100vw * 980 / 570);
  max-width:980px;
  padding:16px 0;
}
.scheWrap > div{
  width:calc(140vw * 1040 / 646);
  max-width:1040px;
} */
