@charset "UTF-8";

article {
  text-align: center;
  overflow-x: clip;
}

img {
  width: 100%;
  height: auto;
}

.tsuk {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.gsn {
  font-family: gill-sans-nova, sans-serif;
  font-weight: 900;
  font-style: normal;
}

.blk {
  padding: 75px 0;
}
.secttl {
  width: 85%;
  max-width: 438px;
  margin: 0 auto 35px;
  position: relative;
  z-index: 2;
}
/* -------------------------------------
mainimg
------------------------------------- */
#mainimg {
  text-align: center;
  background-color: #40210f;
  position: relative;
  overflow-x: clip;
  height: 55.42vw;
  min-height: 550px;
}
#mainimg .ttlbk {
  width: 66%;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 47%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
}
#mainimg #title {
  width: 100%;
  max-width: 932px;
  margin: 0 auto 1%;
  position: relative;
  z-index: 2;
}
#mainimg #title .kicon {
  max-width: 531px;
  min-width: 259px;
  width: 57%;
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-52%, -35%);
  z-index: -1;
}
#mainimg .ttlbk .date_txt {
  width: 90%;
  max-width: 799px;
  margin: 0 auto 18px;
}
#mainimg .ttlbk .note_txt {
  color: #fff;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.4;
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
  padding: 3px 5px;
  border-radius: 15px;
  background-color: #40210f;
}
#mainimg .ttlbk .note_txt span {
  display: inline-block;
}
#mainimg .mvbg {
  height: 55.42vw;
  min-height: 550px;
  position: relative;
}

#mainimg .mvbg .parts {
  width: 95.3%;
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.sakura_bg {
}
.sakura_bg .sicon {
  position: absolute;
}
.sakura_bg .sicon.sk2 {
  width: 60.14vw;
  min-width: 413px;
  top: 0;
  left: 50%;
  transform: translate(132px, -8%);
}

.sakura_bg .sicon.sk3 {
  width: 60vw;
  max-width: 858px;
  top: -8vw;
  right: 62.1vw;
  z-index:1;
}
.sakura_bg .sicon.sk4 {
  width: 12.2vw;
  max-width: 175px;
  top: 31.6vw;
  left: 87.7vw;
}
.sakura_bg .sicon.sk5 {
    width: 15.7vw;
    max-width: 226px;
    top: -0.8vw;
    right: 66vw;
}
.sakura_bg .sicon.sk6 {
    width: 8.8vw;
    max-width: 128px;
    top: 78vw;
    left: 85vw;
}

.sakura_bg .sicon.sk7 {
  width: 20.6vw;
  max-width: 297px;
  top: -0.5vw;
  right: 72vw;
}
.sakura_bg .sicon.sk8 {
    width: 58.8vw;
    max-width: 848px;
    top: -6vw;
    left: 59vw;
    z-index: 2;
}
.sakura_bg .sicon.sk9 {
  width: 19vw;
  max-width: 273px;
  top: -13vw;
  right: 83vw;
}
.sakura_bg .sicon.sk10 {
  width: 60vw;
  max-width: 858px;
  top: -14vw;
  right: 65.1vw;
  z-index:6;
}

/* -------------------------------------
special
------------------------------------- */
#special {
  background: url(../imgs/special_bg.png) center top repeat-y;
  background-size: 100% auto;
  padding-bottom:max(75px,8vw);
}
#special .secttl {
  margin: 0 auto;
}
#special .special_guest {
  width:100%;
  max-width:900px;
  margin:0 auto 50px;
}
#special .list {
  justify-content: center;
  gap: 0 3.7%;
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}
#special .list li {
  width: 48%;
  max-width: 520px;
}
#special .list li:last-child {
  position: relative;
}

/* -------------------------------------
event
------------------------------------- */
#event {
  background: url(../imgs/event_bg.png) center top no-repeat;
  background-size: 100% auto;
  position: relative;
  padding-top:max(75px,8vw);
}
#event::before {
  content:"";
  display:block;
  width:100%;
  height:10vw;
  background: url(../imgs/special_bg.png) center top no-repeat;
  background-size: 100% auto;
  position:absolute;
  top:0;
  z-index:-1;
}


#event .event_block {
  justify-content: space-between;
  gap: 40px;
}
#event .event_block > * {
  width: 47%;
  max-width: 575px;
}
#event .event_block .event2 {
  position: relative;
  right: -18px;
}
.event_icon {
    width: 74%;
    max-width: 425px;
    position: absolute;
    bottom: 71.4%;
    left: 29%;
}



/* -------------------------------------
food-drink
------------------------------------- */
#food-drink {
  background: url(../imgs/food_bg.png) top center no-repeat;
  background-size: cover;
  position: relative;
  padding-top:max(75px,10vw);
}
#food-drink::before {
  content:"";
  display:block;
  width:100%;
  height:10vw;
  background: url(../imgs/event_bg.png) center bottom no-repeat;
  background-size: 100% auto;
  position:absolute;
  top:0;
  z-index:-1;
}


#food-drink .inblk {
  width: 100%;
  max-width: 1034px;
  margin: 0 auto;
  padding-top: 3.5vw;
}
#food-drink .imgtxt {
  width: 100%;
  max-width: 927px;
  margin: 0 auto 30px;
  padding-bottom: 30px;
  border-bottom: 2px dotted #005480;
}
#food-drink .rental {
}

/* -------------------------------------
sell
------------------------------------- */
#sell {
  background-color: #f2f2f2;
}
#sell .sttl {
  color: #002f4e;
  font-size: 25px;
  margin-bottom: 30px;
}
#sell .sell-list {
  color: #002f4e;
  font-size: 20px;
  font-weight: bold;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 860px;
  margin: 0 auto;
  gap: 30px;
}
#sell .sell-list > * {
  width: calc((100% - 30px) / 2);
  border: 3px solid #002f4e;
  background-color: #fff;
}
#sell .sell-list table tr {
  border-bottom: 1px solid #002f4e;
}
#sell .sell-list table th {
  text-align: left;
  padding: 10px 15px;
}
#sell .sell-list table td {
  text-align: right;
  width: 112px;
  padding: 5px 15px;
  border-left: 1px solid #002f4e;
}

/* -------------------------------------
access
------------------------------------- */
#access {
  background:url(../imgs/access_bg_top.png) top center no-repeat;
  background-size:100% auto;
  padding-top:130px;
  position: relative;
}
#access .secttl {
  margin: 0 auto 50px;
}
#access .access_notice {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  padding: 7px 15px;
  margin-bottom: 25px;
  background-color: #e50012;
}
#access .access_flame {
  display: flex;
  align-items: center;
  padding: 47px 35px;
  border-radius: 14px;
  border: 1px dashed #002f4e;
}
#access .access_flame.bus_bk {
  background-color: #efffff;
  justify-content: space-around;
  margin-bottom: 20px;
}
#access .access_flame.jr_bk {
  background-color: #fff7ec;
  justify-content: space-between;
}
#access .access_flame ul {
  display: flex;
}
#access .access_flame.bus_bk .ac_sttl {
  width: 31%;
  max-width: 358px;
}
#access .access_flame.bus_bk ul {
  justify-content: space-between;
  width: 66%;
  max-width: 703px;
  gap: 20px;
}
#access .access_flame.jr_bk .ac_sttl {
  width: 16.5%;
  max-width: 191px;
}
#access .access_flame.jr_bk .ac_sttl img {
  width: 75%;
  max-width: 141px;
}
#access .access_flame.jr_bk ul {
  justify-content: space-between;
  width: 82%;
  max-width: 960px;
  gap: 20px;
}

@media screen and (max-width: 1260px) {
}

@media screen and (max-width: 1060px) {
  #event .frame .icon.icon2 {
    bottom: 0;
  }
}

@media screen and (max-width: 980px) {
#event {
    background-size: cover;
}
.event_icon {
    width: 65%;
    max-width:265px;
    left: 35%;
}


#access {
    background-size: 980px auto;
}



}

@media screen and (max-width: 920px) {
}

@media screen and (max-width: 800px) {
}

@media screen and (max-width: 768px) {
  /* -------------------------------------
event
------------------------------------- */
  #event {
    background-size: cover;
    padding-bottom: 0;
  }
  #event .event_block {
    gap:max(90px, 30vw);
  }
  #event .event_block > * {
    width: 100%;
    max-width: 575px;
    margin: 0 auto;
  }
  #event .event_block .event1,
  #event .event_block .event2 {
    padding: 5% 0 5% 5%;
    position: relative;
    right: 0;
    z-index: 2;
  }

  /*#event .event_block .event1:before {
  content:"";
  display:block;
  width:100vw;
  background: url(../imgs/event_1_bg.jpg) 0 0 repeat;
  background-size:cover;
  position:absolute;
  left:50%;;
  top:0;
  bottom:0;
  z-index:-1;  
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}*/
  #event .event_block .event2:before {
    content: "";
    display: block;
    width: 100vw;
    margin: 0 auto;
    background: url(../imgs/event_2_bg.jpg) 0 0 repeat;
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    z-index: -1;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  /* -------------------------------------
access
------------------------------------- */
  #access .access_flame {
    flex-direction: column;
    gap: 25px;
    padding: 7% 5%;
  }
  #access .access_flame.bus_bk .ac_sttl {
    width: 40%;
  }
  #access .access_flame.bus_bk ul {
    width: 73%;
  }
  #access .access_flame.jr_bk .ac_sttl {
    width: 40%;
  }
  #access .access_flame.jr_bk .ac_sttl img {
    width: 60%;
  }
  #access .access_flame.jr_bk ul {
    width: 100%;
  }
}

@media screen and (max-width: 710px) {
}

@media screen and (max-width: 640px) {
  /* -------------------------------------
mainimg
------------------------------------- */
  #mainimg {
    width: 100%;
    min-width: 360px;
    height: auto;
    min-height: 743px;
    padding-bottom: 0;
    background-color: transparent;
  }
  #mainimg .mvbg {
    width: 100%;
    min-width: 360px;
    height: auto;
    min-height: 743px;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    object-position: center;
    -o-object-position: center;
  }

  #mainimg .ttlbk {
    padding: 107px 0 0;
    width: 89%;
    max-width: 380px;
    height: 100%;
  }
  #mainimg #title {
    margin: 0 auto 12%;
  }
  #mainimg #title .kicon {
    width: 71.94vw;
    max-width: 259px;
    min-width: initial;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-29%, -5%);
    z-index: -1;
  }

  #mainimg .ttlbk .date_txt {
    width: 76.11%;
  }
  #mainimg .ttlbk .note_txt {
    font-size: clamp(12px, 3.89vw, 16px);
    width: 100%;
    padding: 14px 5px;
    border-radius: 0;
    position: absolute;
    bottom: 43px;
    left: 0;
    right: 0;
  }

.sakura_bg .sicon.sk2 {
    width: 77.7vw;
    max-width: 492px;
    top: 0;
    left: 7%;
}


  /*.sakura_bg .sicon.sk1 {
    width: 51vw;
    top: 12vw;
    left: -19vw;
  }
  .sakura_bg .sicon.sk2 {
    width: 43vw;
    top: 14vw;
    right: -7vw;
  }
  .sakura_bg .sicon.sk3 {
    width: 35.6vw;
    top: 44vw;
    right: 76vw;
  }
  .sakura_bg .sicon.sk4 {
    width: 52.8vw;
    top: -14vw;
    left: 69vw;
  }
  .sakura_bg .sicon.sk5 {
    top: -22vw;
  }
  .sakura_bg .sicon.sk6 {
    width: 25.7vw;
    max-width: 226px;
    top: 209px;
    left: 77vw;
    z-index: 3;
  }
  .sakura_bg .sicon.sk7 {
    width: 41.7vw;
    top: -2vw;
    right: 79vw;
  }
  .sakura_bg .sicon.sk8 {
    width: 44vw;
    top: -12vw;
    left: 67vw;
  }
  .sakura_bg .sicon.sk9 {
    width: 27vw;
    top: -24vw;
    right: 83vw;
  }
  .sakura_bg .sicon.sk10 {
    width: 26.3vw;
    top: -124vw;
    left: 82vw;
  }*/

  /* -------------------------------------
special
------------------------------------- */
  #special .list {
    flex-direction: column;
    gap: 20px;
    max-width: 330px;
  }
  #special .list li {
    width: 100%;
  }
  #special .list li:last-child {
    position: relative;
    top: 0;
  }

  /* -------------------------------------
food-drink
------------------------------------- */
  #sell .sell-list {
    justify-content: center;
    flex-direction: column;
    max-width: 412px;
    gap: 0;
  }
  #sell .sell-list > * {
    width: 100%;
  }
  #sell .sell-list .lft {
    border-bottom: 0;
  }
  #sell .sell-list .rgt {
    border-top: 0;
  }

  /* -------------------------------------
access
------------------------------------- */
  #access .access_flame.bus_bk .ac_sttl {
    width: 70%;
  }
  #access .access_flame.bus_bk ul {
    flex-direction: column;
    width: 70%;
    max-width: 322px;
  }
  #access .access_flame.jr_bk .ac_sttl {
    width: 50%;
  }
  #access .access_flame.jr_bk ul {
    flex-direction: column;
    max-width: 461px;
  }
}

@media screen and (max-width: 500px) {

}

@media screen and (max-width: 400px) {
}

@media screen and (max-width: 320px) {
}

@media screen and (min-width: 769px) {
}
