@charset "UTF-8";
.section {
  /* width: 390px; */
  margin-left: auto;
  margin-right: auto;
  /* min-height: 100vh; */
  position: relative;
  background-color: #fff;
}
#breadcrumb {
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
  padding: 1em;
}

#faireast .pc {
  display: none;
}
#page-top {
  display: none!important;
}
/* フェード */
.fadein {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.fadein.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.logo_east {
  display: none;
}

/* //////////////// KV //////////////// */
.kv {
  width: 100%;
  position: relative;
}
.kv_inr {
  width: 100%;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.fairttl {
  position: absolute;
  width: 100%;
  top: calc(325vw / 3.9);
  z-index: 2;
}
.ic_25th {
  position: absolute;
  width: calc(60vw / 3.9);
  left: .7rem;
  top: .7rem;
  z-index: 2;
}
.ic_newtas {
  position: absolute;
  width: calc(60vw / 3.9);
  right: .6rem;
  top: .6rem;
  z-index: 2;
}
/* KVのエリア別コピー */
.kv_txt_blue {
  width: calc(106vw / 3.9);
  top: calc(90vw / 3.9);
  left: calc(35vw / 3.9);
}
.kv_txt_pink {
  width: calc(105vw / 3.9);
  top: calc(82vw / 3.9);
  left: calc(276vw / 3.9);
}
.kv_txt_orange {
  width: calc(93vw / 3.9);
  top: calc(230vw / 3.9);
  left: calc(8vw / 3.9);
}
.kv_img {
  position: absolute;
  z-index: 2;
}
.kv_img01 {
  width: calc(163vw / 3.9);
  top: calc(11vw / 3.9);
  left: calc(179vw / 3.9);
}
.kv_img02 {
  width: calc(123vw / 3.9);
  top: calc(5vw / 3.9);
  left: calc(76vw / 3.9);
}
.kv_img03 {
  width: calc(140vw / 3.9);
  top: calc(117vw / 3.9);
  left: calc(43vw / 3.9);
}
.kv_img04 {
  width: calc(128vw / 3.9);
  top: calc(224vw / 3.9);
  left: calc(164vw / 3.9);
}
.kv_img05 {
  width: calc(143vw / 3.9);
  top: calc(129vw / 3.9);
  left: calc(230vw / 3.9);
}
.kv_img06 {
  width: calc(144vw / 3.9);
  top: calc(242vw / 3.9);
  left: calc(12vw / 3.9);
}
/* にゅざらし */
.kv_nz_iwate {
  width: calc(52vw / 3.9);
  top: calc(4vw / 3.9);
  left: calc(168vw / 3.9);
}
.kv_nz_niigata {
  width: calc(63vw / 3.9);
  top: calc(137vw / 3.9);
  left: calc(199vw / 3.9);
}
.kv_nz_chiba {
  width: calc(53vw / 3.9);
  top: calc(197vw / 3.9);
  left: calc(176vw / 3.9);
}
.kv_nz_miyagi {
  width: calc(73vw / 3.9);
  top: calc(250vw / 3.9);
  left: calc(300vw / 3.9);
}
.kv_nz_nagano {
  width: calc(56vw / 3.9);
  top: calc(147vw / 3.9);
  left: calc(15vw / 3.9);
}
.kv_nz_kanagawa {
  width: calc(48vw / 3.9);
  top: calc(308vw / 3.9);
  left: calc(14vw / 3.9);
}

/* KVのスライダー */
.slider-wrapper {
  position: absolute;
  display: flex;
  overflow: hidden;
  width: 100%;
  top: calc(525vw / 3.9);
}
.slider {
  animation: scroll-left 60s infinite linear .5s both;
  display: flex; 
}
/* スライド */
.slide {
  width: calc(118vw / 3.9);
  margin-left: .5rem;
}
.sl02,.sl06,.sl09 {
  width: calc(134vw / 3.9);
}
/* スライドの画像 */
.slide img {
  display: block;
  width: 100%;
}
/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}

/* //////////////// first //////////////// */
#faireast {
  position: relative;
}
#faireast .first {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0 3rem;
  isolation: isolate;
  position: relative;
}
.first_txt00 {
  display: block;
  margin-bottom: 2rem;
}
.first_txt01 {
  display: block;
  margin-bottom: 1.5rem;
  margin-left: auto;
  margin-right: auto;
}
.first_btn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
}
.btn_first {
  width: calc(150vw / 3.9);
}

/* //////////////// fair //////////////// */
.fair {
  background-color: #f9dbe8;
  padding: 3.15rem 0 .5rem;
}
.fair_ttl {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.25rem;
}
.fair_food_list {
  position: relative;
  width: calc(360vw / 3.9);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4.3rem;
}
.btn_fair_cat {
  width: calc(260vw / 3.9);
  position: absolute;
  top: calc(303vw / 3.9);
  left: 50%;
  transform: translateX(-50%);
}
.notes {
  text-align: center;
  font-size: 81.25%;
  font-weight: 700;
}

/* //////////////// cp //////////////// */
.cp {
  background-color: #fdeabe;
  padding: 4rem 0 3.75rem;
}
.cp_block {
  background-color: #fff;
  border-radius: calc(20vw / 3.9);
  width: calc(360vw / 3.9);
  margin-left: auto;
  margin-right: auto;
  padding: 1.7rem 0 3.7rem;
}
.btn_cp {
  display: block;
  width: calc(320vw / 3.9);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
}
.btn_cp + .notes {
  margin-bottom: 1rem;
  line-height: 1.5;
}
.notes_s {
  width: calc(320vw / 3.9);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.5rem;
  font-size: 62.5%;
}
.end {
  padding: .8rem 0 2rem;
  text-align: center;
  font-size: 62.5%;
  border-bottom: 1px solid #3f8d42;
}



/* //////////////// にゅざらし //////////////// */
.slider-wrapper02 {
  display: flex; /* スライドのグループを横並び */
  overflow: hidden; /* はみ出たスライドを隠す */
  width: 100%;
  padding: 2rem 0;
}
.slider02 {
  animation: scroll-left 80s infinite linear .5s both;
  display: flex;
  align-items: center;
}
/* スライド */
.slide02 {
  max-width: 100px;
  width: calc(100vw / 3.9);
  margin-left: 2rem;
  align-self: flex-end;
}
.nz06 {
  max-width: 180px;
  width: calc(180vw / 3.9);
}
/* スライドの画像 */
.slide02 img {
  display: block;
  width: 100%;
}

/* //////////////// modal //////////////// */
.modal_overlay {
  z-index:4;
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  background-color:rgba(0,0,0,0.75);
}

.modal_open{
  cursor: pointer;
}

.modal_content {
  z-index:5;
  position:fixed;
  top: 85px;
  bottom: 40px;
  display:none;
  max-width: 1000px;
  width:90%;
  height: auto;
  margin:0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.modal_content::-webkit-scrollbar {
  width: 4px;
}

.modal_content::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 10px;
}

.modal_content::-webkit-scrollbar-track {
  background: transparent;
}

.modal_close_box {
  width: 100%;
  text-align: center;
}

.modal_close {
  width: calc(260vw / 3.9);
  cursor: pointer;
  margin-left: auto;
  margin-right: auto;
}

/* モーダル表示中 */
body.is-modal-open,
html.is-modal-open {
  overflow: hidden!important;
}
.modal_cat {
  border-radius: calc(35vw / 3.9);
  /* overflow-y: scroll; */
  scrollbar-width: thin; /* Firefox用 */
  scrollbar-color: #999 transparent; /* Firefox用 */
  padding: 0 0 3.2rem;
}

.modal_cat01 {
  background-color: #fdeabe;
}
.modal_cat02 {
  background-color: #f9dbe8;
}
.modal_cat03 {
  background-color: #d2ecfa;
}
.modal_nz {
  background-color: #f2f2f2;
  padding-top: 15px;
}
.cat_list {
  display: flex;
  justify-content: flex-start;
  gap: 2.4rem;
  flex-wrap: wrap;
}
.m_catttl {
  width: 100%;
}
.cat_item {
  width: calc(430vw / 3.9);
  padding: 0 15px;
}

/* //////////////// 追従ボタン //////////////// */
.fixbtns {
  position: fixed;
  inset: auto 0 0 0;
  opacity: 0;
  transform: translate(0, 110%);
  transition: opacity 100ms linear 0ms, transform 250ms ease-in 0ms;
  z-index: 3;
}
.fixbtns_box {
  background: transparent;
  padding: 1rem 2.8rem;
}
.fixbtns_list {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1.6rem;
}  

.fixbtns:not(.is-shown) {
  pointer-events: none;
}
.fixbtns.is-shown {
  opacity: 1;
  transform: translate(0, 0%);
}

/* //////////////////////////////////////////////////////////////////////////////// PC //////////////////////////////////////////////////////////////////////////////// */
@media screen and (min-width: 769px) {
  #faireast .pc {
    display: inherit;
  }
  #faireast .sp {
    display: none;
  }
  /* //////////////// KV //////////////// */
  .kv {
    width: 100%;
    position: relative;
  }
  .kv_inr {
    max-width: 1200px;
  }
  .kv_bg {
  display: block;
  width: auto;
  height: calc(950vw / 12);
  }
  .kv_bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  }
  .fairttl {
    position: absolute;
    width: calc(570vw / 12);
    top: calc(339vw / 12);
    left: calc(630vw / 12);
    z-index: 2;
  }
  .logo_east {
    /* opacity: 0; */
    transform: translateX(-110%);
    transition: transform .5s ease;
    display: block;
    position: fixed;
    top: 1rem;
    left: 0;
    width: calc(150vw / 12);
    z-index: 3;
  }
  #faireast.is-visible .logo_east {
    /* opacity: 1; */
    transform: translateX(0);
  }
  .ic_25th {
    /* position: absolute; */
    width: calc(150vw / 12);
    left: 1.25rem;
    top: 1.25rem;
    /* z-index: 2; */
  }
  .ic_newtas {
    /* position: absolute; */
    width: calc(100vw / 12);
    right: 1.25rem;
    top: 1.25rem;
    /* z-index: 2; */
  }
  .kv_img {
    position: absolute;
    z-index: 2;
  }
  /* KVのエリア別コピー */
  .kv_txt_blue {
    width: calc(205vw / 12);
    top: calc(525vw / 12);
    left: calc(302vw / 12);
  }
  .kv_txt_pink {
    width: calc(202vw / 12);
    top: calc(73vw / 12);
    left: calc(208vw / 12);
  }
  .kv_txt_orange {
    width: calc(180vw / 12);
    top: calc(31vw / 12);
    left: calc(762vw / 12);
  }
  .kv_img01 {
    width: calc(406vw / 12);
    top: calc(1vw / 12);
    left: calc(366vw / 12);
  }
  .kv_img02 {
    width: calc(386vw / 12);
    top: calc(57vw / 12);
    left: calc(702vw / 12);
  }
  .kv_img03 {
    width: calc(270vw / 12);
    top: calc(288vw / 12);
    left: calc(355vw / 12);
  }
  .kv_img04 {
    width: calc(247vw / 12);
    top: calc(518vw / 12);
    left: calc(401vw / 12);
  }
  .kv_img05 {
    width: calc(362vw / 12);
    top: calc(136vw / 12);
    left: calc(21vw / 12);
  }
  .kv_img06 {
    width: calc(305vw / 12);
    top: calc(467vw / 12);
    left: calc(42vw / 12);
  }
  /* にゅざらし */
  .kv_nz_iwate {
    width: calc(108vw / 12);
    top: calc(646vw / 12);
    left: calc(367vw / 12);
  }
  .kv_nz_niigata {
    width: calc(127vw / 12);
    top: calc(195vw / 12);
    left: calc(403vw / 12);
  }
  .kv_nz_chiba {
    width: calc(110vw / 12);
    top: calc(270vw / 12);
    left: calc(580vw / 12);
  }
  .kv_nz_miyagi {
    width: calc(119vw / 12);
    top: calc(347vw / 12);
    left: calc(104vw / 12);
  }
  .kv_nz_nagano {
    width: calc(115vw / 12);
    top: calc(634vw / 12);
    left: calc(33vw / 12);
  }
  .kv_nz_kanagawa {
    width: calc(110vw / 12);
    top: calc(182vw / 12);
    left: calc(929vw / 12);
  }

  /* KVのスライダー */
  .slider-wrapper {
    top: calc(790vw / 12);
  }
  /* スライド */
  .slide {
    width: calc(220vw / 12);
    margin-left: .5rem;
  }
  .sl02,.sl06,.sl09 {
    width: calc(250vw / 12);
  }

  /* //////////////// first //////////////// */
  #faireast .first {
    padding: 0 0 4.4rem;
  }
  .first_txt00 {
    display: block;
    margin-bottom: 4rem;
  }
  .first_txt01 {
    max-width: 800px;
    width: calc(800vw / 12);
    margin-bottom: 3rem;
  }
  .btn_first {
    max-width: 180px;
    width: calc(180vw / 12);
  }

  /* //////////////// fair //////////////// */
  .fair {
    padding: 4rem 0 .5rem;
  }
  .fair_ttl {
    display: block;
    max-width: 800px;
    width: calc(800vw / 12);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
  }
  .fair_food_list {
    max-width: 760px;
    width: calc(760vw / 12);
    margin-bottom: 5rem;
  }
  .btn_fair_cat {
    max-width: 270px;
    width: calc(270vw / 12);
    top: calc(624vw / 12);
  }
  .notes {
    font-size: 87.5%;
  }

  /* //////////////// cp //////////////// */
  .cp {
    padding: 4rem 0 4.4rem;
  }
  .cp_block {
    border-radius: calc(35vw / 12);
    max-width: 760px;
    width: calc(760vw / 12);
    padding: 3rem;
  }
  .btn_cp {
    max-width: 270px;
    width: calc(270vw / 12);
    margin-bottom: 1rem;
  }
  .cp_txt0304 {
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  .notes_s {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2.5rem;
    font-size: 62.5%;
  }
  .end {
    padding: 5rem 0;
    text-align: center;
    font-size: 87.5%;
    line-height: 1.5;
    border-bottom: 1px solid #3f8d42;
  }



  /* //////////////// にゅざらし //////////////// */
  .slider-wrapper02 {
    display: flex; /* スライドのグループを横並び */
    overflow: hidden; /* はみ出たスライドを隠す */
    width: 100%;
    padding: 3rem 0;
  }
  .slider02 {
    animation: scroll-left 80s infinite linear .5s both;
    display: flex; /* スライド3枚を横並び */
  }
  /* スライド */
  .slide02 {
    width: calc(100vw / 12);
    margin-left: 2rem;
  }
  .nz06 {
    width: calc(180vw / 12);
  }
  /* スライドの画像 */
  .slide02 img {
    display: block;
    width: 100%;
  }

  /* //////////////// modal //////////////// */

  .modal_content {
    z-index:5;
    position:fixed;
    top: 85px;
    bottom: 40px;
    display:none;
    width:90%;
    height: auto;
    margin:0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .modal_close_box {
    width: 100%;
    text-align: center;
  }
  .modal_cat {
    border-radius: calc(35vw / 12);
    padding: 0 0 5rem;
  }
  .modal_nz {
    padding-top: 15px;
  }
  .cat_list {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 2.5rem;
    flex-wrap: wrap;
  }
  .cat01_item_last {
    margin-right: auto;
    margin-left: 3.1rem;
  }
  .nz_item_last {
    margin-right: auto;
    margin-left: 4.1rem;
  }
  .modal_close {
    width: calc(338vw / 12);
    /* cursor: pointer;
    margin-left: auto;
    margin-right: auto; */
  }

  .m_catttl {
    width: 100%;
  }
  .cat_item {
    width: calc(430vw / 12);
    padding: 0;
  }

  /* //////////////// 追従ボタン //////////////// */
  .fixbtns {
    position: fixed;
    inset: auto 2rem 2rem auto;
    opacity: 0;
    transform: translate(0, 110%);
    transition: opacity 100ms linear 0ms, transform 250ms ease-in 0ms;
    z-index: 3;
    width: calc(120vw / 12);
  }
  .fixbtns_box {
    background: transparent;
  }
  .fixbtns_box > img {
    width: 100%;
    margin-bottom: 4rem;
  }
  .fixbtns_list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    column-gap: unset;
  }
  .fixbtns_list a {
    display: block;
    width: calc(120vw / 12);
    margin-bottom: 2rem;
  }
  .fixbtns:not(.is-shown) {
    pointer-events: none;
  }
  .fixbtns.is-shown {
    opacity: 1;
    transform: translate(0, 0%);
  }
}

/* //////////////////////////////////////////////////////////////////////////////// PC 1200px以上 //////////////////////////////////////////////////////////////////////////////// */
@media screen and (min-width: 1200px) {
  /* //////////////// KV //////////////// */
  .kv {
    width: 100%;
    position: relative;
  }
  .kv_wrap {
    max-width: 100%;
    height: 950px;
    background: url(../img/kv_bg_pc_l.png) no-repeat 50% 0;
    background-size: cover;
  }
  .kv_bg {
    display: none;
  }
  .fairttl {
    width: 570px;
    top: 339px;
    left: 630px;
    z-index: 2;
  }
  .logo_east {
    top: 1.25rem;
    left: 1rem;
    width: 150px;
  }
  .logo_east.logo_fixed {
    position: fixed;
  }

  .ic_25th {
    /* position: absolute; */
    width: 150px;
    left: 1.25rem;
    top: 1.25rem;
    /* z-index: 2; */
  }
  .ic_newtas {
    /* position: absolute; */
    width: 100px;
    right: 1.25rem;
    top: 1.25rem;
    /* z-index: 2; */
  }
  .kv_img {
    position: absolute;
    z-index: 2;
  }
  /* KVのエリア別コピー */
  .kv_txt_blue {
    width: 205px;
    top: 525px;
    left: 302px;
  }
  .kv_txt_pink {
    width: 202px;
    top: 73px;
    left: 208px;
  }
  .kv_txt_orange {
    width: 180px;
    top: 31px;
    left: 762px;
  }
  .kv_img01 {
    width: 406px;
    top: 1px;
    left: 366px;
  }
  .kv_img02 {
    width: 386px;
    top: 57px;
    left: 702px;
  }
  .kv_img03 {
    width: 270px;
    top: 288px;
    left: 355px;
  }
  .kv_img04 {
    width: 247px;
    top: 518px;
    left: 401px;
  }
  .kv_img05 {
    width: 362px;
    top: 136px;
    left: 21px;
  }
  .kv_img06 {
    width: 305px;
    top: 467px;
    left: 42px;
  }
  /* にゅざらし */
  .kv_nz_iwate {
    width: 108px;
    top: 646px;
    left: 367px;
  }
  .kv_nz_niigata {
    width: 127px;
    top: 195px;
    left: 403px;
  }
  .kv_nz_chiba {
    width: 110px;
    top: 270px;
    left: 580px;
  }
  .kv_nz_miyagi {
    width: 119px;
    top: 347px;
    left: 104px;
  }
  .kv_nz_nagano {
    width: 115px;
    top: 634px;
    left: 33px;
  }
  .kv_nz_kanagawa {
    width: 110px;
    top: 182px;
    left: 929px;
  }

  /* KVのスライダー */
  .slider-wrapper {
    top: 790px;
  }
  /* スライド */
  .slide {
    width: 220px;
    margin-left: .5rem;
  }
  .sl02,.sl06,.sl09 {
    width: 250px;
  }

  /* //////////////// first //////////////// */
  .first_txt01 {
    margin-bottom: 3rem;
  }

  /* //////////////// fair //////////////// */
  /* .fair {
    padding: 210px 0 0;
  }
  .fair::before {
    height: 110px;
    clip-path: ellipse(60% 100% at 50% 0%);
  } */
  .btn_fair_cat {
    width: 338px;
    top: 624px;
  }

  /* //////////////// cp //////////////// */
  .cp {
    padding: 4rem 0 4.4rem;
  }
  .cp_block {
    border-radius: 35px;
  }

  /* //////////////// にゅざらし //////////////// */
  /* スライド */
  .slide02 {
    width: 100px;
  }
  .nz06 {
    width: 180px;
  }

  /* //////////////// modal //////////////// */
  /* モーダル表示中 */
  .modal_cat {
    border-radius: 35px;
    padding: 0 0 5rem;
  }
  .modal_nz {
    padding-top: 15px;
  }
  .modal_close {
    width: 338px;
  }
  .cat_item {
    width: 430px;
    padding: 0;
  }

  /* //////////////// 追従ボタン //////////////// */
  .fixbtns {
    width: 120px;
  }
  .fixbtns_list a {
    display: block;
    width: 120px;
    margin-bottom: 2rem;
  }
}
