/* Sass Document */

#fv {
  position: relative;
  max-height: 108rem;
  overflow: hidden;
}
@media screen and (max-width: 840px) {
  #fv {
    max-height: 89vh;
  }
}
#fv .splide__slide img {
  -webkit-transition: 30s ease-out;
  transition: 30s ease-out;
  opacity: 0.7;
}
#fv .splide__slide.is-active img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  opacity: 1;
}
#fv .splide__slide img {
  width: auto;
  height: 100%;
}
#fv .fv_txt_area {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -12rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 1400px) {
  #fv .fv_txt_area {
    margin-top: -6.9444444444vw;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_txt_area {
    margin-top: -16.4vw;
  }
}
#fv .fv_txt_area .main_title {
  width: 69rem;
  margin: 0 auto 6rem;
  text-align: center;
}
@media screen and (max-width: 1400px) {
  #fv .fv_txt_area .main_title {
    width: 47.9166666667vw;
    margin: 0 auto 2.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_txt_area .main_title {
    width: 80vw;
    margin: 0 auto 6.6666666667vw;
  }
}
#fv .fv_txt_area .btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.6rem;
}
@media screen and (max-width: 1400px) {
  #fv .fv_txt_area .btn_area {
    gap: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_txt_area .btn_area {
    gap: 0.8vw;
  }
}
#fv .fv_txt_area .btn_area p {
  width: 32.6rem;
}
@media screen and (max-width: 1400px) {
  #fv .fv_txt_area .btn_area p {
    width: 22.6388888889vw;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_txt_area .btn_area p {
    width: 43.4666666667vw;
  }
}
#fv .fv_txt_area .btn_area p a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 8rem;
  padding: 0 3.2rem;
  font-size: 2.3rem;
  font-weight: 900;
  background: #fff;
  overflow: hidden;
}
@media screen and (max-width: 1400px) {
  #fv .fv_txt_area .btn_area p a {
    height: 5.5555555556vw;
    padding: 0 2.2222222222vw;
    font-size: 1.5972222222vw;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_txt_area .btn_area p a {
    height: 14.6666666667vw;
    padding: 0 2.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
#fv .fv_txt_area .btn_area p.btn_left a {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  color: #CE312A;
  background: url(../img/top/bg_btn_left.svg) no-repeat left bottom, #fff;
  background-size: auto 100%;
  border-radius: 5rem 0 0 5rem;
}
@media screen and (max-width: 1400px) {
  #fv .fv_txt_area .btn_area p.btn_left a {
    border-radius: 3.4722222222vw 0 0 3.4722222222vw;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_txt_area .btn_area p.btn_left a {
    background: url(../img/top/bg_btn_left_sp.svg) no-repeat left bottom, #fff;
    border-radius: 13.3333333333vw 0 0 13.3333333333vw;
  }
}
#fv .fv_txt_area .btn_area p.btn_right a {
  color: #0A51B8;
  background: url(../img/top/bg_btn_right.svg) no-repeat right bottom, #fff;
  background-size: auto 100%;
  border-radius: 0 5rem 5rem 0;
}
@media screen and (max-width: 1400px) {
  #fv .fv_txt_area .btn_area p.btn_right a {
    border-radius: 0 3.4722222222vw 3.4722222222vw 0;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_txt_area .btn_area p.btn_right a {
    background: url(../img/top/bg_btn_right_sp.svg) no-repeat right bottom, #fff;
    border-radius: 0 13.3333333333vw 13.3333333333vw 0;
  }
}
#fv .fv_mountain {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 13.7rem 0 3rem;
  /*background: url(../img/top/bg_fv_mountain.svg) repeat-x center bottom;
  background-size: auto 100%;*/
  background: url(../img/top/bg_fv_mountain.svg) no-repeat center bottom;
  background-size: cover;
}
@media screen and (max-width: 1400px) {
  #fv .fv_mountain {
    padding: 9.5138888889vw 0 2.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_mountain {
    padding: 13.3333333333vw 0 3.2vw;
    background: url(../img/top/bg_fv_mountain_sp.svg) no-repeat center top;
    background-size: 100% auto;
  }
}
#fv .fv_mountain .title02 {
  padding-bottom: 2.2rem;
  margin-bottom: 2.2rem;
  font-size: 2rem;
  text-align: center;
  font-weight: 700;
  background: url(../img/top/bg_fukidashi.svg) no-repeat center bottom;
  background-size: 29.2rem auto;
}
@media screen and (max-width: 1400px) {
  #fv .fv_mountain .title02 {
    padding-bottom: 1.5277777778vw;
    margin-bottom: 1.5277777778vw;
    font-size: 1.3888888889vw;
    background-size: 20.2777777778vw auto;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_mountain .title02 {
    padding-bottom: 3.7333333333vw;
    margin-bottom: 3.2vw;
    font-size: 3.6vw;
    background-size: 52.8vw auto;
  }
}
#fv .fv_mountain .title02 span {
  display: block;
  font-size: 1.6rem;
}
@media screen and (max-width: 1400px) {
  #fv .fv_mountain .title02 span {
    font-size: 1.1111111111vw;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_mountain .title02 span {
    font-size: 3.3333333333vw;
  }
}
#fv .fv_mountain .shop_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.5rem;
}
@media screen and (max-width: 1400px) {
  #fv .fv_mountain .shop_list {
    gap: 1.7361111111vw;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_mountain .shop_list {
    gap: 3.4666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_mountain .shop_list li:nth-of-type(2) {
    margin-left: -1.8666666667vw;
  }
}
#fv .fv_mountain .shop_list figure {
  width: 13rem;
  aspect-ratio: 1/1;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 1400px) {
  #fv .fv_mountain .shop_list figure {
    width: 9.0277777778vw;
    border-radius: 0.6944444444vw;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_mountain .shop_list figure {
    width: 18.6666666667vw;
    margin: auto;
    border-radius: 1.3333333333vw;
  }
}
#fv .fv_mountain .shop_list figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#fv .fv_mountain .shop_list p {
  margin-top: 1em;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1400px) {
  #fv .fv_mountain .shop_list p {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #fv .fv_mountain .shop_list p {
    margin-top: 1.3333333333vw;
    font-size: 2.6666666667vw;
    line-height: 1.4;
  }
}

#fv {
  min-height: calc(1020 / 1920 * 100vw); /* PC画面の高さ確保 */
}
@media screen and (max-width: 840px) {
  #fv {
    min-height: 89vh; /* スマホは既存の指定を活かす */
  }
}
#fv .splide__track {
  aspect-ratio: 1920 / 1020; /* 画像の比率に合わせる */
  overflow: hidden;
}
#fv .splide__list {
  height: 100%;
}
#fv .splide__slide img {
  width: 100%;
  height: auto;
  display: block;
}
#fv .splide__slide:first-child {
  opacity: 1 !important;
  z-index: 1;
}
@media screen and (max-width: 840px) {
  #fv .splide__track {
    aspect-ratio: 750 / 1100;
  }
}

#info_area {
  padding: 2.4rem 0;
  background: #0A51B8;
}
@media screen and (max-width: 1200px) {
  #info_area {
    padding: 2vw 0;
  }
}
@media screen and (max-width: 840px) {
  #info_area {
    padding: 5.3333333333vw 0;
  }
}
#info_area .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 840px) {
  #info_area .wrap {
    display: block;
  }
}
#info_area .wrap .title02 {
  width: 18.4rem;
  font-size: 2rem;
  color: #fff;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #info_area .wrap .title02 {
    width: 15.3333333333vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #info_area .wrap .title02 {
    width: 100%;
    font-size: 4.5333333333vw;
    text-align: left;
  }
}
#info_area .wrap .news_slick {
  width: calc(100% - 18.4rem);
  /*padding: 0 8rem 0 3.5rem;*/
  border-left: 0.1rem dotted #fff;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  #info_area .wrap .news_slick {
    width: calc(100% - 15.3333333333vw);
    /*padding: 0 6.6666666667vw 0 2.9166666667vw;*/
  }
}
@media screen and (max-width: 840px) {
  #info_area .wrap .news_slick {
    width: 100%;
    /*padding: 0 11.7333333333vw 0 0;*/
    margin-top: 2.1333333333vw;
    border-left: none;
  }
}

#info_area .wrap p {
  width: 100% !important;
}
#info_area .wrap p a {
  display: block;
  width: 100%;
  font-size: 1.6rem;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 8rem 0 3.5rem;
  position: relative;
}
@media screen and (max-width: 1200px) {
  #info_area .wrap p a {
    font-size: 1.3333333333vw;
    padding: 0 6.6666666667vw 0 2.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #info_area .wrap p a {
    font-size: 4vw;
    padding: 0 11.7333333333vw 0 0;
  }
}
#info_area .wrap p a .arrow {
  position: absolute;
  top: 50%;
  right: 3rem;
  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: 2.7rem;
  aspect-ratio: 1/1;
  border: 0.1rem solid #fff;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  #info_area .wrap p a .arrow {
    right: 2.5vw;
    width: 2.25vw;
  }
}
@media screen and (max-width: 840px) {
  #info_area .wrap p a .arrow {
    right: 0;
    width: 6.1333333333vw;
    border: 0.125rem solid #fff;
  }
}
#info_area .wrap p a .arrow:after {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  border-top: solid 0.125rem #fff;
  border-right: solid 0.125rem #fff;
  -webkit-transform: translate(-0.1rem) rotate(45deg);
          transform: translate(-0.1rem) rotate(45deg);
}
@media screen and (max-width: 1200px) {
  #info_area .wrap p a .arrow:after {
    width: 0.3333333333vw;
    height: 0.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #info_area .wrap p a .arrow:after {
    width: 1.3333333333vw;
    height: 1.3333333333vw;
  }
}

#news_area {
  padding: 10.4rem 0 11rem;
}
@media screen and (max-width: 1200px) {
  #news_area {
    padding: 8.6666666667vw 0 9.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #news_area {
    padding: 10.6666666667vw 0 12.5333333333vw;
  }
}
#news_area .title_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 5.7rem;
}
@media screen and (max-width: 1200px) {
  #news_area .title_flex {
    margin-bottom: 4.75vw;
  }
}
@media screen and (max-width: 840px) {
  #news_area .title_flex {
    margin-bottom: 6.6666666667vw;
  }
}
#news_area .news_ttl {
  font-size: 1.5rem;
  font-weight: 600;
  margin-top: .5em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  #news_area .news_ttl {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #news_area .news_ttl {
    font-size: 3.7333333333vw;
  }
}
#news_area .title_flex .title_area {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4.7rem;
}
@media screen and (max-width: 1200px) {
  #news_area .title_flex .title_area {
    gap: 3.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #news_area .title_flex .title_area {
    gap: 4.5333333333vw;
  }
}
#news_area .splide__pagination {
  gap: 1rem;
  margin-top: 2.8rem;
}
@media screen and (max-width: 1200px) {
  #news_area .splide__pagination {
    gap: 0.8333333333vw;
    margin-top: 2.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #news_area .splide__pagination {
    gap: 1.8666666667vw;
    margin-top: 2.6666666667vw;
  }
}
#news_area .splide__pagination li .splide__pagination__page {
  width: 1rem;
  height: 1rem;
  background: #DDD;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (max-width: 1200px) {
  #news_area .splide__pagination li .splide__pagination__page {
    width: 0.8333333333vw;
    height: 0.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #news_area .splide__pagination li .splide__pagination__page {
    width: 1.8666666667vw;
    height: 1.8666666667vw;
  }
}
#news_area .splide__pagination li .splide__pagination__page.is-active, #news_area .splide__pagination li .splide__pagination__page:hover {
  background: #0A51B8;
}
@media screen and (max-width: 840px) {
  #news_area .btn_more {
    margin-top: 8.5333333333vw;
    text-align: center;
  }
}

#about {
  padding: 12.4rem 0 50.6rem;
  background: #0A51B8;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  #about {
    padding: 10.3333333333vw 0 42.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #about {
    padding: 14.6666666667vw 0 72vw;
  }
}
#about .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  max-width: 192rem;
  width: 100%;
}
@media screen and (max-width: 840px) {
  #about .wrap {
    display: block;
  }
}
#about .wrap .about_slide_wrap {
  width: 172rem;
  margin-left: -70rem;
  border-radius: 0 2rem 2rem 0;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  #about .wrap .about_slide_wrap {
    width: 125vw;
    margin-left: -50vw;
    border-radius: 0 1.6666666667vw 1.6666666667vw 0;
  }
}
@media screen and (max-width: 840px) {
  #about .wrap .about_slide_wrap {
    width: 100%;
    margin-left: -6.6666666667vw;
    border-radius: 0 4vw 4vw 0;
  }
}
@media screen and (max-width: 840px) {
  #about .wrap .about_slide_wrap #about_slide {
    margin-left: -4vw;
  }
}
#about .wrap .about_in {
  width: 58.5rem;
  margin-left: 12rem;
}
@media screen and (max-width: 1200px) {
  #about .wrap .about_in {
    width: 48.75vw;
    margin-left: 5vw;
  }
}
@media screen and (max-width: 840px) {
  #about .wrap .about_in {
    width: 88.8vw;
    margin: 10.1333333333vw auto 0;
  }
}
#about .wrap .about_in .title_area {
  margin-bottom: 4.2rem;
}
@media screen and (max-width: 1200px) {
  #about .wrap .about_in .title_area {
    margin-bottom: 3.5vw;
  }
}
@media screen and (max-width: 840px) {
  #about .wrap .about_in .title_area {
    margin-bottom: 10.6666666667vw;
  }
}
#about .wrap .about_in .title_area * {
  color: #fff;
}
#about .wrap .about_in .title03 {
  margin-bottom: 2.3rem;
  font-size: 2.5rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1200px) {
  #about .wrap .about_in .title03 {
    margin-bottom: 1.9166666667vw;
    font-size: 2.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #about .wrap .about_in .title03 {
    margin-bottom: 5.3333333333vw;
    font-size: 5.3333333333vw;
    line-height: 1.65;
  }
}
#about .wrap .about_in p {
  font-size: 1.7rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.9411;
}
@media screen and (max-width: 1200px) {
  #about .wrap .about_in p {
    font-size: 1.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #about .wrap .about_in p {
    font-size: 4vw;
    line-height: 1.86666;
  }
}
#about .wrap .about_in .btn {
  margin-top: 4.5rem;
}
@media screen and (max-width: 1200px) {
  #about .wrap .about_in .btn {
    margin-top: 3.75vw;
  }
}
@media screen and (max-width: 840px) {
  #about .wrap .about_in .btn {
    margin-top: 8vw;
  }
}

#shop_guide {
  position: relative;
  padding: 22rem 0 11rem;
  margin-top: -37rem;
  background: url(../img/top/bg_shop_guide.svg) no-repeat center top;
  background-size: auto 34.842rem;
}
@media screen and (max-width: 1200px) {
  #shop_guide {
    padding: 18.3333333333vw 0 9.1666666667vw;
    margin-top: -30.8333333333vw;
    background-size: auto 29.035vw;
  }
}
@media screen and (max-width: 840px) {
  #shop_guide {
    padding: 31.2vw 0 14.9333333333vw;
    margin-top: -59.7333333333vw;
    background: url(../img/top/bg_shop_guide_sp.svg) no-repeat center top;
    background-size: 100% auto;
  }
}
#shop_guide:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 30rem);
  background: #F5F1EB;
}
@media screen and (max-width: 1200px) {
  #shop_guide:after {
    height: calc(100% - 25vw);
  }
}
@media screen and (max-width: 840px) {
  #shop_guide:after {
    height: calc(100% - 37.3333333333vw);
  }
}
#shop_guide .wrap {
  position: relative;
  max-width: 150rem;
  z-index: 2;
}
#shop_guide .title_area {
  margin-bottom: 9rem;
}
@media screen and (max-width: 1200px) {
  #shop_guide .title_area {
    margin-bottom: 7.5vw;
  }
}
@media screen and (max-width: 840px) {
  #shop_guide .title_area {
    margin-bottom: 13.3333333333vw;
  }
}
#shop_guide .article_area .splide__track {
  overflow: unset;
}
#shop_guide .article_area .splide__track .splide__list {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  gap: 3.5rem;
}
@media screen and (max-width: 1200px) {
  #shop_guide .article_area .splide__track .splide__list {
    gap: 2.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop_guide .article_area .splide__track .splide__list {
    gap: 0;
  }
}
#shop_guide .article_area .in {
  position: relative;
  width: calc((100% - 10.8rem) / 4);
  padding: 0 0 4.6rem 3.4rem;
  border-left: 0.1rem solid #DDD2C0;
  border-bottom: 0.1rem solid #DDD2C0;
}
@media screen and (max-width: 1200px) {
  #shop_guide .article_area .in {
    width: calc((100% - 8.75vw) / 4);
    padding: 0 0 3.8333333333vw 2.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop_guide .article_area .in {
    width: 75.9866666667vw;
    padding: 0 0 7.4666666667vw 6.6666666667vw;
  }
}
#shop_guide .article_area .in .area {
  position: absolute;
  top: -2rem;
  right: -1.4rem;
  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: 6.4rem;
  aspect-ratio: 1/1;
  font-size: 1.6rem;
  color: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 1.25;
  background: #CE312A;
  border-radius: 50%;
}
@media screen and (max-width: 1200px) {
  #shop_guide .article_area .in .area {
    top: -1.6666666667vw;
    right: -1.1666666667vw;
    width: 5.3333333333vw;
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop_guide .article_area .in .area {
    top: -3.4666666667vw;
    right: -4vw;
    width: 13.3333333333vw;
    font-size: 3.2vw;
  }
}
#shop_guide .article_area .in figure {
  max-width: 31.5rem;
  width: 100%;
  margin-bottom: 2rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  #shop_guide .article_area .in figure {
    margin-bottom: 1.6666666667vw;
    border-radius: 0.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop_guide .article_area .in figure {
    margin-bottom: 5.3333333333vw;
    border-radius: 2.6666666667vw;
  }
}
#shop_guide .article_area .in figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#shop_guide .article_area .in .title03 {
  margin-bottom: 2rem;
  font-size: 2.2rem;
  color: #0A51B8;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  #shop_guide .article_area .in .title03 {
    margin-bottom: 1.6666666667vw;
    font-size: 1.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop_guide .article_area .in .title03 {
    margin-bottom: 4.2666666667vw;
    font-size: 5.3333333333vw;
  }
}
#shop_guide .article_area .in p {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.86666;
}
@media screen and (max-width: 1200px) {
  #shop_guide .article_area .in p {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #shop_guide .article_area .in p {
    font-size: 3.7333333333vw;
  }
}

#bland_list {
  padding: 8rem 0 9.6rem;
}
@media screen and (max-width: 1200px) {
  #bland_list {
    padding: 6.6666666667vw 0 8vw;
  }
}
@media screen and (max-width: 840px) {
  #bland_list {
    padding: 12.5333333333vw 0 15.4666666667vw;
  }
}
#bland_list .title_area {
  margin-bottom: 5rem;
}
@media screen and (max-width: 1200px) {
  #bland_list .title_area {
    margin-bottom: 4.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #bland_list .title_area {
    margin-bottom: 5.8666666667vw;
  }
}
#bland_list .btn {
  margin-top: 5rem;
}
@media screen and (max-width: 1200px) {
  #bland_list .btn {
    margin-top: 4.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #bland_list .btn {
    margin-top: 8vw;
  }
}
#bland_list .btn a {
  margin: auto;
}

#club_area {
  padding: 11rem 0 12rem;
  background-image: url(../img/top/bg_club.jpg);
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1200px) {
  #club_area {
    padding: 9.1666666667vw 0 10vw;
  }
}
@media screen and (max-width: 840px) {
  #club_area {
    padding: 16.8vw 0 48.5333333333vw;
    background-image: url(../img/top/bg_club_sp.jpg);
    background-attachment: unset;
  }
}
#club_area .title_area {
  margin-bottom: 2.7rem;
}
@media screen and (max-width: 1200px) {
  #club_area .title_area {
    margin-bottom: 2.25vw;
  }
}
@media screen and (max-width: 840px) {
  #club_area .title_area {
    margin-bottom: 5.3333333333vw;
  }
}
#club_area .title_area * {
  color: #fff;
}
#club_area .title_area .title02 {
  font-size: 5.3rem;
}
@media screen and (max-width: 1200px) {
  #club_area .title_area .title02 {
    font-size: 4.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #club_area .title_area .title02 {
    font-size: 9.6vw;
  }
}
#club_area p {
  font-size: 1.6rem;
  color: #fff;
  font-weight: 500;
  line-height: 2.125;
}
@media screen and (max-width: 1200px) {
  #club_area p {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #club_area p {
    font-size: 4vw;
    line-height: 1.86666;
  }
}
#club_area .btn_more {
  margin-top: 4.3rem;
}
@media screen and (max-width: 1200px) {
  #club_area .btn_more {
    margin-top: 3.5833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #club_area .btn_more {
    margin-top: 6.6666666667vw;
    text-align: right;
  }
}

#group_area {
  padding: 13rem 0 29rem;
  background: #F5F1EB;
}
@media screen and (max-width: 1200px) {
  #group_area {
    padding: 10.8333333333vw 0 24.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area {
    padding: 16vw 0 22.4vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .wrap {
    width: 100%;
  }
}
#group_area .title_area {
  margin-bottom: 13.5rem;
}
@media screen and (max-width: 1200px) {
  #group_area .title_area {
    margin-bottom: 11.25vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .title_area {
    margin-bottom: 11.4666666667vw;
  }
}
#group_area .group_in {
  position: relative;
}
@media screen and (max-width: 840px) {
  #group_area .group_in {
    padding-top: 44.5333333333vw;
  }
}
#group_area .group_in + .group_in {
  margin-top: 15rem;
}
@media screen and (max-width: 1200px) {
  #group_area .group_in + .group_in {
    margin-top: 12.5vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .group_in + .group_in {
    margin-top: 13.3333333333vw;
  }
}
#group_area .group_in figure {
  position: absolute;
  top: -6.5rem;
  max-width: 77.5rem;
}
@media screen and (max-width: 1200px) {
  #group_area .group_in figure {
    top: -5.4166666667vw;
    width: 60%;
    border-radius: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .group_in figure {
    top: 0;
    width: 93.3333333333vw;
  }
}
#group_area .group_in figure img {
  border-radius: 2rem;
}
#group_area .group_in .group_in_txt {
  max-width: 109.9rem;
  width: 91.5833333333%;
  padding: 10.2rem 5.5rem 5rem;
  background: #fff;
  border-radius: 2rem;
}
@media screen and (max-width: 1200px) {
  #group_area .group_in .group_in_txt {
    padding: 8.5vw 4.5833333333vw 4.1666666667vw;
    border-radius: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .group_in .group_in_txt {
    width: 100%;
    padding: 33.0666666667vw 6.6666666667vw 12vw;
    border-radius: 0;
  }
}
#group_area .group_in .group_in_txt .group_in_txt_title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 1200px) {
  #group_area .group_in .group_in_txt .group_in_txt_title {
    margin-bottom: 2.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .group_in .group_in_txt .group_in_txt_title {
    margin-bottom: 5.0666666667vw;
  }
}
#group_area .group_in .group_in_txt .group_in_txt_title p {
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  color: #0A51B8;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  #group_area .group_in .group_in_txt .group_in_txt_title p {
    margin-bottom: 0.4166666667vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .group_in .group_in_txt .group_in_txt_title p {
    margin-bottom: 1.3333333333vw;
    font-size: 4.8vw;
  }
}
#group_area .group_in .group_in_txt .group_in_txt_title .title03 {
  font-size: 3rem;
  color: #0A51B8;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  #group_area .group_in .group_in_txt .group_in_txt_title .title03 {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .group_in .group_in_txt .group_in_txt_title .title03 {
    font-size: 6.1333333333vw;
  }
}
#group_area .group_in .group_in_txt p {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8666;
}
@media screen and (max-width: 1200px) {
  #group_area .group_in .group_in_txt p {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .group_in .group_in_txt p {
    font-size: 3.7333333333vw;
  }
}
#group_area .group_in .group_in_txt .btn {
  margin-top: 4rem;
}
@media screen and (max-width: 1200px) {
  #group_area .group_in .group_in_txt .btn {
    margin-top: 3.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .group_in .group_in_txt .btn {
    margin-top: 6.6666666667vw;
  }
}
#group_area .group_in:nth-child(even) figure {
  right: 0;
}
@media screen and (max-width: 840px) {
  #group_area .group_in:nth-child(even) figure img {
    border-radius: 4vw 0 0 4vw;
  }
}
#group_area .group_in:nth-child(even) .group_in_txt {
  padding-right: 74.6rem;
}
@media screen and (max-width: 1200px) {
  #group_area .group_in:nth-child(even) .group_in_txt {
    padding-right: 55%;
  }
}
@media screen and (max-width: 840px) {
  #group_area .group_in:nth-child(even) .group_in_txt {
    padding-right: 6.6666666667vw;
  }
}
#group_area .group_in:nth-child(odd) figure {
  left: 0;
}
@media screen and (max-width: 840px) {
  #group_area .group_in:nth-child(odd) figure img {
    border-radius: 0 4vw 4vw 0;
  }
}
#group_area .group_in:nth-child(odd) .group_in_txt {
  padding-left: 74.6rem;
  margin-left: auto;
}
@media screen and (max-width: 1200px) {
  #group_area .group_in:nth-child(odd) .group_in_txt {
    padding-left: 55%;
  }
}
@media screen and (max-width: 840px) {
  #group_area .group_in:nth-child(odd) .group_in_txt {
    padding-left: 6.6666666667vw;
  }
}
#group_area .flex {
  gap: 1.3rem;
  margin-top: 8.5rem;
}
@media screen and (max-width: 1200px) {
  #group_area .flex {
    gap: 1.0833333333vw;
    margin-top: 7.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 5.8666666667vw 2.6666666667vw;
    width: 92vw;
    margin: 13.3333333333vw auto 0;
  }
}
#group_area .flex .in {
  width: calc((100% - 3.9rem) / 4);
}
@media screen and (max-width: 1200px) {
  #group_area .flex .in {
    width: calc((100% - 3.25vw) / 4);
  }
}
@media screen and (max-width: 840px) {
  #group_area .flex .in {
    width: calc((100% - 2.6666666667vw) / 2);
  }
}
#group_area .flex .in a {
  display: block;
}
#group_area .flex .in a figure {
  width: 100%;
  aspect-ratio: 1/0.6172413793;
  border-radius: 0.8rem;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  #group_area .flex .in a figure {
    border-radius: 0.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .flex .in a figure {
    aspect-ratio: 1/0.617245509;
    border-radius: 2.1333333333vw;
  }
}
#group_area .flex .in a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#group_area .flex .in a p {
  margin-top: 1em;
  font-size: 1.7rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #group_area .flex .in a p {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #group_area .flex .in a p {
    margin-top: 2.1333333333vw;
    font-size: 3.7333333333vw;
  }
}

#field_area {
  position: relative;
  padding: 18rem 0 11rem;
  margin-top: -19rem;
  background: url(../img/top/bg_field_area.svg) no-repeat center top;
  background-size: auto 32.299rem;
}
@media screen and (max-width: 1200px) {
  #field_area {
    padding: 15vw 0 9.1666666667vw;
    margin-top: -15.8333333333vw;
    background-size: auto 26.9158333333vw;
  }
}
@media screen and (max-width: 840px) {
  #field_area {
    padding: 25.0666666667vw 0 18.6666666667vw;
    margin-top: -13.3333333333vw;
    background-size: auto 25.0666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #field_area .wrap {
    width: 92vw;
  }
}
#field_area .title_area {
  margin-bottom: 5rem;
}
@media screen and (max-width: 1200px) {
  #field_area .title_area {
    margin-bottom: 4.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #field_area .title_area {
    margin-bottom: 10.6666666667vw;
  }
}
#field_area .flex {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.3rem 1.3rem;
}
@media screen and (max-width: 1200px) {
  #field_area .flex {
    gap: 1.9166666667vw 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #field_area .flex {
    gap: 2.9333333333vw;
  }
}
#field_area .flex .in {
  position: relative;
  width: calc((100% - 3.9rem) / 4);
  aspect-ratio: 1/0.6172413793;
  border-radius: 0.8rem;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  #field_area .flex .in {
    width: calc((100% - 3.25vw) / 4);
    border-radius: 0.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #field_area .flex .in {
    width: calc((100% - 2.9333333333vw) / 2);
    aspect-ratio: 1/0.617245509;
    border-radius: 2.1333333333vw;
  }
}
#field_area .flex .in a {
  display: block;
}
#field_area .flex .in figure {
  width: 100%;
  height: 100%;
}
#field_area .flex .in figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#field_area .flex .in p {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  font-size: 2.3rem;
  color: #fff;
  font-weight: 700;
  text-align: center;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 1200px) {
  #field_area .flex .in p {
    font-size: 1.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #field_area .flex .in p {
    font-size: 4.2666666667vw;
  }
}
#field_area .btn {
  margin-top: 5.5rem;
}
@media screen and (max-width: 1200px) {
  #field_area .btn {
    margin-top: 4.5833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #field_area .btn {
    margin-top: 8vw;
  }
}
#field_area .btn a {
  margin: auto;
}

#for_government {
  position: relative;
  max-width: 150rem;
  width: 95%;
  padding: 6.7rem 0 7rem;
  margin: auto;
  background: #0A51B8;
  border-radius: 4rem;
  overflow: hidden;
  z-index: 2;
}
@media screen and (max-width: 1200px) {
  #for_government {
    padding: 5.5833333333vw 0 5.8333333333vw;
    border-radius: 3.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #for_government {
    width: 92vw;
    padding: 14.1333333333vw 6.6666666667vw 10.6666666667vw;
    /*background: url(../img/top/bg_for_government_sp.jpg) no-repeat center center;
    background-size: cover;*/
    border-radius: 5.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #for_government .wrap {
    width: 100%;
  }
}
#for_government .wrap .title02 {
  margin-bottom: 2.6rem;
  font-size: 4.5rem;
  color: #fff;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  #for_government .wrap .title02 {
    margin-bottom: 2.1666666667vw;
    font-size: 3.75vw;
  }
}
@media screen and (max-width: 840px) {
  #for_government .wrap .title02 {
    margin-bottom: 5.0666666667vw;
    font-size: 7.2vw;
  }
}
#for_government .wrap p {
  font-size: 1.6rem;
  color: #fff;
  text-align: center;
  font-weight: 500;
  line-height: 2.125;
}
@media screen and (max-width: 1200px) {
  #for_government .wrap p {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #for_government .wrap p {
    font-size: 4vw;
    line-height: 1.86666;
  }
}
#for_government .wrap .flex {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 4.6rem;
}
@media screen and (max-width: 1200px) {
  #for_government .wrap .flex {
    margin-top: 3.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #for_government .wrap .flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.1333333333vw;
    margin-top: 8vw;
  }
}
#for_government .wrap .flex .in {
  max-width: 59rem;
  width: 49.2%;
  padding: 2.3rem 2.9rem;
  background: #fff;
  background: transparent;
  backdrop-filter: blur(0.8rem);
  background-color: rgba(255, 255, 255, 0.12);
  border-radius: 0.7rem;
}
@media screen and (max-width: 1200px) {
  #for_government .wrap .flex .in {
    padding: 1.9166666667vw 2.4166666667vw;
    backdrop-filter: blur(0.6666666667vw);
    border-radius: 0.5833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #for_government .wrap .flex .in {
    width: 100%;
    padding: 5.8666666667vw 5.3333333333vw;
    backdrop-filter: blur(2.1333333333vw);
    border-radius: 2.6666666667vw;
  }
}
#for_government .wrap .flex .in .title03 {
  margin-bottom: 1.8rem;
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  #for_government .wrap .flex .in .title03 {
    margin-bottom: 1.5vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #for_government .wrap .flex .in .title03 {
    margin-bottom: 4vw;
    font-size: 4.2666666667vw;
  }
}
#for_government .wrap .flex .in p {
  font-size: 1.6rem;
  color: #fff;
  text-align: left;
  font-weight: 500;
  line-height: 1.6875;
}
@media screen and (max-width: 1200px) {
  #for_government .wrap .flex .in p {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #for_government .wrap .flex .in p {
    font-size: 4vw;
    line-height: 1.6;
  }
}
#for_government .wrap .btn_more {
  margin-top: 5rem;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #for_government .wrap .btn_more {
    margin-top: 4.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #for_government .wrap .btn_more {
    margin-top: 8vw;
  }
}

#insta_area {
  position: relative;
  padding: 40.3rem 0;
  margin-top: -28.2rem;
  background: #F5F1EB;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  #insta_area {
    padding: 33.5833333333vw 0;
    margin-top: -23.5vw;
  }
}
@media screen and (max-width: 840px) {
  #insta_area {
    padding: 36.5333333333vw 0 37.3333333333vw;
    margin-top: -21.8666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #insta_area .wrap {
    width: 92vw;
  }
}
#insta_area .title_area {
  margin-bottom: 6rem;
}
@media screen and (max-width: 1200px) {
  #insta_area .title_area {
    margin-bottom: 5vw;
  }
}
@media screen and (max-width: 840px) {
  #insta_area .title_area {
    margin-bottom: 9.3333333333vw;
  }
}
#insta_area #sbi_images {
  gap: 1.3rem;
}
@media screen and (max-width: 1200px) {
  #insta_area #sbi_images {
    gap: 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #insta_area #sbi_images {
    gap: 1.3333333333vw;
  }
}
#insta_area .btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.2rem;
  margin-top: 4.5rem;
}
@media screen and (max-width: 1200px) {
  #insta_area .btn_area {
    gap: 1vw;
    margin-top: 3.75vw;
  }
}
@media screen and (max-width: 840px) {
  #insta_area .btn_area {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.1333333333vw;
    margin-top: 9.3333333333vw;
  }
}
#insta_area .btn_area .btn_insta {
  width: calc((100% - 2.4rem) / 3);
}
@media screen and (max-width: 1200px) {
  #insta_area .btn_area .btn_insta {
    width: calc((100% - 2vw) / 3);
  }
}
@media screen and (max-width: 840px) {
  #insta_area .btn_area .btn_insta {
    width: 100%;
  }
}
#insta_area .btn_area .btn_insta a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.7rem;
  padding: 1.7rem 2.5rem;
  background: #fff;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  #insta_area .btn_area .btn_insta a {
    gap: 1.4166666667vw;
    padding: 1.4166666667vw 2.0833333333vw;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #insta_area .btn_area .btn_insta a {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2.6666666667vw;
    padding: 2.4vw 4.5333333333vw;
    border-radius: 1.3333333333vw;
  }
}
#insta_area .btn_area .btn_insta a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.6rem;
  width: 0.8rem;
  height: 0.8rem;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
  border-top: solid 0.15rem #0A51B8;
  border-right: solid 0.15rem #0A51B8;
}
@media screen and (max-width: 1200px) {
  #insta_area .btn_area .btn_insta a:after {
    width: 0.6666666667vw;
    height: 0.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #insta_area .btn_area .btn_insta a:after {
    width: 1.6vw;
    height: 1.6vw;
  }
}
#insta_area .btn_area .btn_insta a img {
  width: 4rem;
}
@media screen and (max-width: 1200px) {
  #insta_area .btn_area .btn_insta a img {
    width: 3.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #insta_area .btn_area .btn_insta a img {
    width: 5.0666666667vw;
    margin-top: 1.3333333333vw;
  }
}
#insta_area .btn_area .btn_insta a .txt {
  width: calc(100% - 4rem - 1.7rem);
}
@media screen and (max-width: 1200px) {
  #insta_area .btn_area .btn_insta a .txt {
    width: calc(100% - 3.3333333333vw - 1.4166666667vw);
  }
}
@media screen and (max-width: 840px) {
  #insta_area .btn_area .btn_insta a .txt {
    width: calc(100% - 5.0666666667vw - 2.6666666667vw);
  }
}
#insta_area .btn_area .btn_insta a .txt p {
  font-size: 1.7rem;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  #insta_area .btn_area .btn_insta a .txt p {
    font-size: 1.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #insta_area .btn_area .btn_insta a .txt p {
    font-size: 4.2666666667vw;
  }
}
#insta_area .btn_area .btn_insta a .txt .small {
  margin-top: 0.5rem;
  font-size: 1.5rem;
  font-weight: 500;
}
@media screen and (max-width: 1200px) {
  #insta_area .btn_area .btn_insta a .txt .small {
    margin-top: 0.4166666667vw;
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #insta_area .btn_area .btn_insta a .txt .small {
    margin-top: 0.8vw;
    font-size: 3.4666666667vw;
  }
}