@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: 100px 0;
}
.secttl {
  width:85%;
  max-width:477px;
  margin: 0 auto 35px;
  position:relative;
  z-index:2;
}
/* -------------------------------------
mainimg
------------------------------------- */
#mainimg {
  text-align: center;
  /*background-color:#003C60;*/
  position: relative;
  overflow-x: clip;
}
#mainimg .ttlbk {
  width:66%;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 59%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
}
#mainimg #title {
  width: 100%;
  margin:0 auto;
  position:relative;
}
#mainimg #title .kicon {
  width:18.7%;
  position:absolute;
  left: 80%;
  top: 113%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
}
#mainimg .ttlbk .date_txt {
  width:65.85%;
  margin: 0 auto 18px;
  position: relative;
  left: -4%;
}
#mainimg .ttlbk .note_txt_blk {
  padding:3px 5px;
  border-radius:15px;
  background-color:#fff;
  width:90%;
  max-width:750px;
  margin :0 auto;
}
#mainimg .ttlbk .note_txt {
  color:#ff0000;
  font-size:16px;
  font-weight:bold;
  line-height:1.4;
}
#mainimg .ttlbk .note_txt span {
  display:inline-block;
}
#mainimg .mvbg {
  background:#003c60 url(../imgs/bg_bl.jpg) center top repeat;
  background-size:cover;
  min-height:465px;
  aspect-ratio:1440 / 808;
  position:relative;
}

/*#mainimg .mvbg .parts {
  width:95.3%;
  margin:0 auto;
  position:absolute;
  top:0;
  left:0;
  right:0;
}*/

.secttl {
  color:#003c60;
  margin: 0 auto 84px;
  padding-left:150px;
  position:relative;
  left:6%;
}
.secttl::before {
  content:"";
  width:141px;
  height:114px;
  background:url(../imgs/secttl_icon.png) center top no-repeat;
  background-size:cover;
  position:absolute;
  left:0;
  top:50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
}
.secttl span {
  font-family: "Noto Serif JP", serif;
  display:block;
  text-align:left;
  letter-spacing:0.18em;
}
.secttl span.en {
  font-size:36px;
  font-weight:900;
}
.secttl span.jp {
  font-size:22px;
  font-weight:700;
}



/* -------------------------------------
special
------------------------------------- */
#special {
}
#special .secttl {
  margin: 0 auto 84px;
}



#special .list {
  justify-content: space-between;
  gap: 0 3.7%;
  width:90%;
  max-width: 1100px;
  margin: 0 auto;
}
#special .list li {
  width: 48%;
  max-width:516px;
}



/* -------------------------------------
event
------------------------------------- */
#event {
  background:url(../imgs/bg_bl.jpg) center top no-repeat;;
  background-size:cover;
}
#event .secttl {
    color: #fff;
}

#event .event_block {
  justify-content:space-between;
  gap:40px;
}
#event .event_block >* {
  width:calc((100% - 40px)/2);
  max-width:630px;
}



/* -------------------------------------
food-drink
------------------------------------- */
#food-drink {
  background-color: #fffbd8;
}
#food-drink .secttl {
  left:0;
}
#food-drink .inblk {
  width:100%;
  max-width:1130px;
  margin:0 auto;
}
#food-drink .imgtxt {
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  margin:0 0 30px auto;
  padding-bottom:30px;
  border-bottom:2px solid #005480;
}
#food-drink .imgtxt img.foodimg {
  width:44.3%;
  max-width:475px;
  margin-left:50px;
}
#food-drink .imgtxt img.foodtxt {
  width:54.8%;
  max-width:588px;
}
#food-drink .imgtxt img:last-child {
   position:relative;
   bottom:40px;
}
#food-drink .rental {
  max-width:967px;
  margin:0 38px 0 auto;
}

/* -------------------------------------
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 {
  position:relative;
}
#access .secttl {
  margin: 0 auto 50px;
}
#access .transportation {
  width:97%;
  max-width:1196px;
  padding:42px 0;
  margin:0 auto; 
}
#access .access_flame {
  display:flex;
  align-items:center;
  padding:47px 35px;
  border-radius:14px;
  /*border:1px dashed #002f4e;*/
  margin-bottom:20px;
}
#access .access_flame.bus_bk {
  background-color:#efffff;
  justify-content:space-around;
}
#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;
}
#access .access_notice {
  font-size:21px;
  font-weight:bold;
  line-height:1.4;
  letter-spacing:0.04em;
  padding:7px 15px;
  background-color:#e50012;
  border-radius:5px;
}


@media screen and (max-width: 1300px) {
#access .access_notice {
    font-size: clamp(14px,1.61vw,21px);
}

}

@media screen and (max-width: 1260px) {
#food-drink .imgtxt img.foodimg {
  margin-left:0;
}

}

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



}

@media screen and (max-width: 980px) {
.blk {
  padding: min(10.2vw,100px) 0;
}

.secttl span.en {
  font-size:clamp(28px,3.67vw,36px);
}
.secttl span.jp {
  font-size:clamp(16px,2.24vw,22px);
}


#food-drink .rental {
    max-width: 100%;
    margin: 0 auto;
}

.secttl {
    margin-bottom:min(8.57vw,84px)!important;
}


}

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

@media screen and (max-width: 880px) {
#mainimg .mvbg {
  height:30vh;
}


}

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

/* -------------------------------------
event
------------------------------------- */
#event {
}

#event .event_block {
}
#event .event_block >* {
  width:100%;
  max-width:575px;
  margin:0 auto;
}


/* -------------------------------------
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: 768px) {
/* -------------------------------------
mainimg
------------------------------------- */
#mainimg {
    overflow-x: hidden;
}
#mainimg .mvbg {
    width:100%;
    /*height: 100vh;*/
    overflow-x: hidden;
    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;
    overflow:clip;
}

#mainimg .ttlbk {
    /*padding:10% 0;*/
  width:78.4%;
  /*max-width:564px;*/
  max-width:450px;
  /*position:static;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;*/
}
#mainimg #title {
    margin-bottom:7%;
    z-index:1;
}
#mainimg #title .kicon {
    width: 33.7%;
    left: 69%;
    top: 89%;
}
#mainimg .ttlbk .date_txt {
  width: 80%;
  margin-bottom: 10vw;
  left: 0;
}
#mainimg .ttlbk .note_txt {
    font-size: clamp(12px,2.5vw,16px);
    text-align: left;
    width: 100%;
    padding: 14px 15px;
}
#mainimg .ttlbk .note_txt span {
  display:inline-block;
}




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


/* -------------------------------------
food-drink
------------------------------------- */
#food-drink .imgtxt {
    flex-direction:column-reverse;
}
#food-drink .imgtxt img.foodimg {
    width: 90%;
    margin:0;
}
#food-drink .imgtxt img.foodtxt {
    width: 100%;
    position:relative;
    left:5%;
}
#food-drink .imgtxt img:last-child {
  bottom:0;
}
#food-drink .rental img {
    width:90%;
    max-width: 500px;
    margin:0 auto;
}

#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: 640px) {
#mainimg .ttlbk .note_txt_blk {
    width: 80%;
    margin: 0 auto 0 0;
}

.secttl {
    text-align:center;
    padding-top: 100px;
    padding-left: 0;
    position: relative;
    left: 0;
}
.secttl::before {
    content: "";
    width: 23.5vw;
    height: auto;
    aspect-ratio:141 / 114;
    margin:0 auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    z-index: 1;
}
.secttl span {
  text-align:center;
}



}

@media screen and (max-width: 500px) {
#mainimg {
        height: 100svh;
}
#mainimg .mvbg {
    width:100%;
    height: 100svh;
}


#event .page {
  width:100%;
}


}


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

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

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