@charset "UTF-8";
/* VARIABLE - RENEWAL 2025
----------------------------------------------------*/
/* MIXIN
----------------------------------------------------*/
/*
* Usage: rem-sp(16) => 1rem
*/
#main .l-container {
  width: 100%;
  margin: 0 auto;
}

#main .is-fixed {
  position: fixed;
  top: 16.6666666667vw;
  left: 0;
  z-index: 2;
  width: 100%;
}

#main .fleft {
  float: left;
}

#main .fright {
  float: right;
}

#main .bg {
  background-color: #fbf7e9;
  position: relative;
}

#main .bg:before {
  content: "";
  background: url(../img/bg_left@2x.png) right center repeat;
  background-size: auto min(2.53vw, 3.1666666667vw);
  width: calc((100% - 100vw) / 2);
  height: 100%;
  position: absolute;
  left: 0;
  z-index: 1;
  top: 0;
}

#main .bg:after {
  content: "";
  background: url(../img/bg_right@2x.png) left center repeat;
  background-size: auto min(2.53vw, 3.1666666667vw);
  width: calc((100% - 100vw) / 2);
  height: 100%;
  position: absolute;
  right: 0;
  z-index: 1;
  top: 0;
}

#main .inner__bg:before {
  content: "";
  background: url(../img/inner__bg@2x.png) right center repeat-y;
  background-size: min(2.67vw, 2.6666666667vw) auto;
  display: block;
  width: calc((100% - 100vw - min(2.67vw, 2.6666666667vw)) / 2);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

#main .inner__bg:after {
  content: "";
  background: url(../img/inner__bg@2x.png) left center repeat-y;
  background-size: min(2.67vw, 2.6666666667vw) auto;
  display: block;
  width: calc((100% - 100vw - min(2.67vw, 2.6666666667vw)) / 2);
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

#main .bg_white {
  padding: min(7.46vw, 7.3333333333vw) 0 min(24.6vw, 26.6666666667vw);
  text-align: center;
}
@media (min-width: 751px) {
  #main .bg_white {
    padding: min(7.46vw, 2.75rem) 0 min(24.6vw, 10rem);
  }
}

#main .title {
  width: min(74.4vw, 82.3333333333vw);
  margin: 0 auto;
}
@media (min-width: 751px) {
  #main .title {
    width: min(74.4vw, 30.875rem);
  }
}

#main .btn {
  margin-top: min(4.8vw, 4.6666666667vw);
}
@media (min-width: 751px) {
  #main .btn {
    margin-top: min(4.8vw, 1.75rem);
  }
}

#main .btn + .btn {
  margin-top: min(2.26vw, 2.1666666667vw);
}
@media (min-width: 751px) {
  #main .btn + .btn {
    margin-top: min(2.26vw, 0.813rem);
  }
}

#main .btn a {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

#main .btn a:hover {
  opacity: 0.7;
}

#main .wrapper {
  width: 100%;
  margin: 0 auto;
}

@media (min-width: 751px) {
  #main .expanding_btn {
    display: none;
  }
}
@media (max-width: 750px) {
  #main {
    background-size: 2vw auto;
  }
  #main .bg {
    margin: 0 5vw;
  }
  #main .bg:before {
    width: 5.3vw;
    left: -5.3vw;
    background-size: auto 2.53vw;
  }
  #main .bg:after {
    width: 5.3vw;
    right: -5.3vw;
    background-size: auto 2.53vw;
  }
  #main .inner__bg:before {
    width: 2.5vw;
    left: -2.5vw;
    background-size: 100% auto;
  }
  #main .inner__bg:after {
    width: 2.5vw;
    right: -2.5vw;
    background-size: 100% auto;
  }
  #main .bg .inner {
    width: 90.625%;
    margin: 0 auto;
  }
  #main .bg_white {
    padding: 5.8333333333vw 0 16.6666666667vw;
    text-align: center;
  }
  .bg_white img {
    width: 75%;
    margin: 0 auto;
  }
  #main .title {
    width: 100%;
    margin: 0 auto;
  }
  .simg {
    width: 80%;
    margin: 0 auto;
  }
  #main .btn {
    width: 96.2963%;
    margin: 4.1666666667vw auto 0;
  }
  #main .expanding_btn {
    width: 55.5555%;
    margin: 2.5vw auto 0;
  }
}
#main #kv {
  text-align: center;
  line-height: 0;
  margin: 0 auto;
}

#main #sub_menu .wrapper {
  padding-left: 0;
  padding-right: 0;
  background: #f5b5bf;
  margin: 0 auto;
}

#main #sub_menu ul {
  position: relative;
  overflow: hidden;
}

#main #sub_menu ul:before {
  content: "";
  width: 100%;
  border-top: 0.6666666667vw dotted #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  z-index: 11;
  display: block;
  height: 0.1666666667vw;
}
@media (min-width: 751px) {
  #main #sub_menu ul:before {
    border-top: 0.25rem dotted #fff;
    height: 0.063rem;
  }
}

#main #sub_menu ul li {
  float: left;
  width: 33.33333%;
  padding: 0.6666666667vw 0;
}
@media (min-width: 751px) {
  #main #sub_menu ul li {
    padding: 0.25rem 0;
  }
}

#main #sub_menu ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-size: min(3.4vw, 3.3333333333vw);
  font-weight: 700;
  height: min(18.2vw, 18.1666666667vw);
  text-decoration: none;
}
@media (min-width: 751px) {
  #main #sub_menu ul li a {
    font-size: min(3.4vw, 1.25rem);
    height: min(18.2vw, 6.813rem);
  }
}

#main #sub_menu ul li:not(:nth-child(3n+1)) a {
  border-left: 0.6666666667vw dotted #fff;
}
@media (min-width: 751px) {
  #main #sub_menu ul li:not(:nth-child(3n+1)) a {
    border-left: 0.25rem dotted #fff;
  }
}

#main #sub_menu ul li:nth-child(3),
#main #sub_menu ul li:nth-child(4),
#main #sub_menu ul li:nth-child(5) {
  width: 33.33333%;
}

#main #sub_menu ul li img {
  width: 100%;
  vertical-align: top;
}

#main #sub_menu ul li a:hover {
  opacity: 0.7;
}

#main #sub_menu ul li a span:before {
  content: "";
  position: absolute;
  bottom: max(-1.6vw, -1.6666666667vw);
  left: 0;
  right: 0;
  margin: auto;
  width: 1.6666666667vw;
  height: 1.6666666667vw;
  border: 0.3333333333vw solid;
  border-color: transparent transparent #fff #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media (min-width: 751px) {
  #main #sub_menu ul li a span:before {
    bottom: max(-1.6vw, -0.625rem);
    width: 0.625rem;
    height: 0.625rem;
    border: 0.125rem solid;
    border-color: transparent transparent #fff #fff;
  }
}

#main #sub_menu ul li a span {
  position: relative;
  display: inline-block;
  text-align: center;
  line-height: 1.1;
}

#main #umajo {
  margin: min(28vw, 28vw) 0 min(21.5vw, 21.5vw);
  text-align: center;
}
@media (min-width: 751px) {
  #main #umajo {
    margin: min(28vw, 10.5rem) 0 min(21.5vw, 8.063rem);
  }
}

#main #umajo .title {
  width: min(74.4vw, 82.3333333333vw);
  margin: 0 auto;
  margin-bottom: min(7.2vw, 7.1666666667vw);
}
@media (min-width: 751px) {
  #main #umajo .title {
    width: min(74.4vw, 30.875rem);
    margin-bottom: min(7.2vw, 2.688rem);
  }
}

.spot__01 {
  width: min(75.86vw, 84vw);
  margin: 0 auto;
  display: block;
}
@media (min-width: 751px) {
  .spot__01 {
    width: min(75.86vw, 31.5rem);
  }
}

@media (max-width: 750px) {
  #main #umajo {
    margin: 15vw 0 20vw;
  }
  #main #umajo .wrapper {
    padding-left: 0;
    padding-right: 0;
  }
  #main #umajo .title {
    width: 80%;
    margin-bottom: 5.8333333333vw;
  }
  #main #umajo .fleft {
    width: 100%;
    margin-bottom: 4.1666666667vw;
  }
  #main #umajo .fright {
    width: 92%;
    margin-right: 3%;
  }
}
.stand__contents {
  width: min(74.4vw, 82.3333333333vw);
  margin: 0 auto;
}
@media (min-width: 751px) {
  .stand__contents {
    width: min(74.4vw, 30.875rem);
  }
}

#main #sweets {
  margin-bottom: 8.3333333333vw;
}
@media (min-width: 751px) {
  #main #sweets {
    margin-bottom: 3.125rem;
  }
}

#main #event {
  margin-bottom: 8.3333333333vw;
}
@media (min-width: 751px) {
  #main #event {
    margin-bottom: 3.125rem;
  }
}

#main #calendar {
  margin-bottom: 8.3333333333vw;
}
@media (min-width: 751px) {
  #main #calendar {
    margin-bottom: 3.125rem;
  }
}

#main #map .bg_white ul.chuuibox {
  margin-top: 6.6666666667vw;
  text-align: left;
}
@media (min-width: 751px) {
  #main #map .bg_white ul.chuuibox {
    margin-top: 2.5rem;
  }
}

#main #map .bg_white ul.chuuibox li {
  color: #000;
  font-size: min(2.66vw, 2.6666666667vw);
  line-height: 2.1;
  display: block;
  position: relative;
}
@media (min-width: 751px) {
  #main #map .bg_white ul.chuuibox li {
    font-size: min(2.66vw, 1rem);
  }
}

#main #map .bg_white ul.chuuibox li:before {
  content: "※";
  float: left;
  display: block;
  position: relative;
}

.map__contents {
  width: 100%;
  max-width: min(73.38vw, 81.1666666667vw);
  margin: 0 auto;
}
@media (min-width: 751px) {
  .map__contents {
    max-width: min(73.38vw, 30.438rem);
  }
}

@media (max-width: 750px) {
  #main #map .bg_white .fleft {
    width: 100%;
  }
  #main #map .bg_white .fright {
    width: 100%;
  }
  #main #map .bg_white ul.chuuibox {
    margin-top: 3.3333333333vw;
  }
}
#main #popup-background {
  position: fixed;
  /* 位置の固定 */
  top: 0;
  /* 表示位置 */
  left: 0;
  /* 表示位置 */
  height: 100%;
  /* 画面全体に表示 */
  width: 100%;
  /* 画面全体に表示 */
  background: #000;
  /* 背景色 */
  opacity: 0.6;
  /* 透明度 */
  margin: 0;
  /* 余白の削除 */
  padding: 0;
  /* 余白の削除 */
  z-index: 1000;
  /* 要素のz座標 */
}

#main #popup-item {
  position: fixed;
  /* 位置の固定 */
  top: 50%;
  /* 表示位置(真ん中に表示) */
  left: 50%;
  /* 表示位置(真ん中に表示) */
  margin: 0;
  /* 余白の削除 */
  padding: 0;
  /* 余白の削除 */
  z-index: 1001;
  /* 要素のz座標 */
}

#main .clearfix {
  zoom: 1;
  /*margin-left: 13%;*/
  /*display: flex;
  justify-content: space-around;*/
}

.fleft {
  width: 46%;
}

.fright {
  width: 46%;
}

#main .clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  line-height: 0;
  visibility: hidden;
}

#main .clear {
  clear: both;
}


#map .bg_white img {
  width: 100%;
  vertical-align: top;
}

#map .bg_white .map__03 {
  width: min(13.4vw, 15vw);
  display: block;
  margin: min(3.4vw, 3.3333333333vw) 0 0;
}
@media (min-width: 751px) {
  #map .bg_white .map__03 {
    width: min(13.4vw, 5.625rem);
    margin: min(3.4vw, 1.25rem) 0 0;
  }
}

.bg_white .sweets02 {
  margin-bottom: 11%;
}

#main .event__02 {
  position: relative;
}

@media (max-width: 750px) {
  #sub_menu .clearfix .only-sp {
    margin-left: 0%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #main #sub_menu ul li:nth-child(3),
  #main #sub_menu ul li:nth-child(4),
  #main #sub_menu ul li:nth-child(5) {
    width: 33.33333%;
  }
  .bg_white img {
    width: 100%;
  }
  #main .btn {
    width: 100%;
    margin: 0.8333333333vw auto 0;
  }
}
@media (max-width: 750px) and (min-width: 751px) {
  #main .btn {
    margin: 0.313rem auto 0;
  }
}
@media (max-width: 750px) {
  #main #map .bg_white {
    padding: 6.6666666667vw 0.8333333333vw;
  }
}
@media (max-width: 750px) and (min-width: 751px) {
  #main #map .bg_white {
    padding: 2.5rem 0.313rem;
  }
}
@media (max-width: 750px) {
  .bg_white .sweets02 {
    margin-bottom: 18%;
  }
  #sub_menu .clearfix {
    margin-left: 0%;
  }
  #map .clearfix {
    margin-top: 5%;
    margin-bottom: 6%;
  }
}
#main .btn-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(80vw, 88.5vw);
  margin: min(6.66vw, 6.6666666667vw) auto 0;
}
@media (min-width: 751px) {
  #main .btn-area {
    width: min(80vw, 33.188rem);
    margin: min(6.66vw, 2.5rem) auto 0;
  }
}

#main .btn-area__brn {
  display: block;
  margin-left: min(1.8vw, 2vw);
  width: min(56vw, 61.8333333333vw);
}
@media (min-width: 751px) {
  #main .btn-area__brn {
    margin-left: min(1.8vw, 0.75rem);
    width: min(56vw, 23.188rem);
  }
}

#main .btn-area__detail {
  width: min(22vw, 24.5vw);
}
@media (min-width: 751px) {
  #main .btn-area__detail {
    width: min(22vw, 9.188rem);
  }
}

#main .event__item:not(:first-of-type) {
  margin-top: min(10.6vw, 10.6666666667vw);
}
@media (min-width: 751px) {
  #main .event__item:not(:first-of-type) {
    margin-top: min(10.6vw, 4rem);
  }
}

#main .event__item__contents {
  width: min(74.4vw, 82.3333333333vw);
  margin: 0 auto;
}
@media (min-width: 751px) {
  #main .event__item__contents {
    width: min(74.4vw, 30.875rem);
  }
}

#main .event__02 .event__item__contents {
  width: min(74.4vw, 82.3333333333vw);
}
@media (min-width: 751px) {
  #main .event__02 .event__item__contents {
    width: min(74.4vw, 30.875rem);
  }
}

#main .event__03 .event__item__contents {
  width: min(74.4vw, 82.3333333333vw);
}
@media (min-width: 751px) {
  #main .event__03 .event__item__contents {
    width: min(74.4vw, 30.875rem);
  }
}

#main .event__04 .event__item__contents {
  width: min(82.26vw, 91.1666666667vw);
  margin: 0 auto;
}
@media (min-width: 751px) {
  #main .event__04 .event__item__contents {
    width: min(82.26vw, 34.188rem);
  }
}

#main .event__02 .event__item__contents img {
  max-width: none;
  width: min(80vw, 87vw);
}
@media (min-width: 751px) {
  #main .event__02 .event__item__contents img {
    width: min(80vw, 32.625rem);
  }
}

#main .event__03 .event__item__contents img {
  max-width: none;
  width: min(80vw, 87vw);
}
@media (min-width: 751px) {
  #main .event__03 .event__item__contents img {
    width: min(80vw, 32.625rem);
  }
}

#main .schedule02 {
  width: min(75vw, 83.6666666667vw);
}
@media (min-width: 751px) {
  #main .schedule02 {
    width: min(75vw, 31.375rem);
  }
}

#main .sweets02 {
  width: min(76.9vw, 85.3333333333vw);
}
@media (min-width: 751px) {
  #main .sweets02 {
    width: min(76.9vw, 32rem);
  }
}

#main .sweets03 {
  width: min(76.39vw, 84.6666666667vw);
}
@media (min-width: 751px) {
  #main .sweets03 {
    width: min(76.39vw, 31.75rem);
  }
}

@media (min-width: 751px) {
  .page-event {
    position: relative;
  }
  .page-event .bg-sticky {
    position: absolute;
    display: block !important;
  }
  .page-event .bg-sticky:after {
    display: none;
  }
  .page-event .bg-sticky .col-left {
    background: url(../img/bg_01.png) right top repeat-y, url(../img/bg_02.png) right top repeat;
    background-size: auto 1.1875rem;
  }
  .page-event .bg-sticky .col-right {
    background: url(../img/bg_01.png) left top repeat-y, url(../img/bg_02.png) left top repeat;
    background-size: auto 1.1875rem;
  }
  #main .bg:before,
  #main .bg:after {
    display: none;
  }
}