@charset "UTF-8";
/*-----------------
基本設定
------------------*/
html {
  scroll-behavior: smooth;
}

img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

body {
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #222222;
  line-height: 2;
  font-feature-settings: "palt";
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  body {
    line-height: 1.8;
  }
}

.inner {
  max-width: 1040px;
  margin: 0 auto;
  width: 72.22%;
}

.en-font {
  font-family: "Italiana", sans-serif;
}

.mincho {
  font-family: "Hina Mincho", serif;
}

.textCenter {
  text-align: center;
}

.border-dashed {
  background-image: linear-gradient(to right, #ADADAD 5px, transparent 5px);
  background-size: 10px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

.only-pc {
  display: block;
}

.pc-tab1280 {
  display: block;
}

.pc-tab1024 {
  display: block;
}

.tab1280 {
  display: none;
}

.tab1280-tab1024 {
  display: none;
}

.tab1280-sp {
  display: none;
}

.tab1024 {
  display: none;
}

.tab1024-sp {
  display: none;
}

.only-sp {
  display: none;
}

@media screen and (max-width: 1280px) {
  .only-pc {
    display: none;
  }
  .pc-tab1280 {
    display: block;
  }
  .pc-tab1024 {
    display: block;
  }
  .tab1280 {
    display: block;
  }
  .tab1280-tab1024 {
    display: block;
  }
  .tab1280-sp {
    display: block;
  }
  .tab1024 {
    display: none;
  }
  .tab1024-sp {
    display: none;
  }
  .only-sp {
    display: none;
  }
  .inner {
    width: 89.333%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1024px) {
  .only-pc {
    display: none;
  }
  .pc-tab1280 {
    display: none;
  }
  .pc-tab1024 {
    display: block;
  }
  .only-tab1280 {
    display: none;
  }
  .tab1280-tab1024 {
    display: block;
  }
  .tab1280-sp {
    display: block;
  }
  .only-tab1024 {
    display: block;
  }
  .tab1024-sp {
    display: block;
  }
  .only-sp {
    display: none;
  }
  .inner {
    width: 86.66%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .only-pc {
    display: none;
  }
  .pc-tab1280 {
    display: none;
  }
  .pc-tab1024 {
    display: none;
  }
  .only-tab1280 {
    display: none;
  }
  .tab1280-tab1024 {
    display: none;
  }
  .tab1280-sp {
    display: block;
  }
  .only-tab1024 {
    display: none;
  }
  .tab1024-sp {
    display: block;
  }
  .only-sp {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 14px;
  }
  .inner {
    width: 92%;
  }
}
.l-center {
  margin-right: auto;
  margin-left: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.l-left {
  margin-left: 0;
  margin-right: auto;
}

.l-right {
  margin-right: 0;
  margin-left: auto;
}

/*===========================
ボタン
===========================*/
.bl-btn {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
}
.bl-btn a {
  display: flex;
  width: 300px;
  height: 50px;
  font-weight: 400;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  line-height: 1;
  border-radius: 25px;
  box-shadow: 0 4px 4px rgba(51, 51, 51, 0.3);
  border: 1px solid #FFFFFF;
  transition: all 0.5s;
  position: relative;
}
.bl-btn a:hover {
  transition: all 0.5s;
}
.bl-btn a:active {
  box-shadow: 0 4px 4px rgba(51, 51, 51, 0);
}
.bl-btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(-45deg);
  width: 7px;
  height: 7px;
  border-bottom: 1px solid #222222;
  border-right: 1px solid #222222;
  transition: all 0.5s;
}

.bl-btn--bk a {
  background-color: #333;
}
.bl-btn--bk a:hover {
  background-color: #FFFFFF;
  border: 1px solid #333333;
  color: #333333;
}
.bl-btn--bk a::after {
  border-bottom: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
}

.bl-btn--strawberry a {
  background-color: #D4383B;
}
.bl-btn--strawberry a:hover {
  background-color: #FFFFFF;
  border: 1px solid #D4383B;
  color: #D4383B;
}
.bl-btn--strawberry a:hover::after {
  border-bottom: 1px solid #D4383B;
  border-right: 1px solid #D4383B;
  transition: all 0.5s;
}
.bl-btn--strawberry a::after {
  border-bottom: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
}

.bl-btn--wh a {
  background-color: #FFFFFF;
  color: #D4383B;
  letter-spacing: -0.03em;
  box-shadow: 0 4px 4px rgba(212, 56, 59, 0.3);
  border: 1px solid #D4383B;
}
.bl-btn--wh a:hover {
  background-color: rgba(212, 56, 59, 0.5);
  color: #FFFFFF;
}
.bl-btn--wh a:hover::after {
  border-bottom: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
  transition: all 0.5s;
}
.bl-btn--wh a::after {
  border-bottom: 1px solid #D4383B;
  border-right: 1px solid #D4383B;
  right: 13px;
}

.bl-btn--leaf a {
  background-color: #1DA21B;
  box-shadow: 0 4px 4px rgba(29, 162, 27, 0.3);
}
.bl-btn--leaf{
	position: relative;
}

.bl-btn--leaf a:hover {
  background-color: #FFFFFF;
  border: 1px solid #1DA21B;
  color: #1DA21B;
}
.bl-btn--leaf a:hover::after {
  border-bottom: 1px solid #1DA21B;
  border-right: 1px solid #1DA21B;
  transition: all 0.5s;
}
.bl-btn--leaf a::after {
  border-bottom: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
}

.bl-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.bl-flex__rowCenter {
  justify-content: center;
}

.bl-flex__leftAlignment {
  justify-content: flex-start;
}

.bl-flex__rightAlignment {
  justify-content: flex-end;
}

.bl-flex__topAlignment {
  align-items: flex-start;
}

.bl-flex__bottomAlignment {
  align-items: flex-start;
}

/*===========================
ヘッダー
===========================*/
.head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100px;
  position: fixed;
  top: 0;
  left: 0;
  border-bottom: 1px solid #222222;
  padding: 0 6.25%;
  z-index: 9;
  opacity: 0;
  -webkit-animation-name: loadingAnime;
          animation-name: loadingAnime;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@media screen and (max-width: 1024px) {
  .head {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .head {
    height: 50px;
  }
}

@-webkit-keyframes loadingAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes loadingAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.head__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.head__nav {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: 335px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .head__nav {
    display: none;
  }
}

.headNav-list {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 3.33vw;
}

.head__nav--side-r .headNav-list {
  justify-content: flex-end;
	gap: 5vw;
}

.headNav-list__item {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.headNav-list__item a {
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  text-align: center;
  letter-spacing: 0;
  transition: all 0.5s;
  line-height: 1.5;
}
.headNav-list__item a:hover {
  color: #D4383B;
  transition: all 0.5s;
}

.head__centerBlock {
  width: 15%;
  position: relative;
  z-index: 2;
  min-width: 250px;
}
@media screen and (max-width: 1024px) {
  .head__centerBlock {
    width: 30%;
    margin: 5px auto 0;
  }
}
@media screen and (max-width: 768px) {
  .head__centerBlock {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
}

.head__logo {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .head__logo {
    max-height: 54px;
  }
}
@media screen and (max-width: 768px) {
  .head__logo {
    width: 121px;
    margin: 0 auto;
  }
}

.head__logo-txt {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  line-height: 1;
  margin-top: 5px;
  text-align: center;
  font-size: clamp(13px, 1.11vw, 16px);
}
@media screen and (max-width: 1024px) {
  .head__logo-txt {
    font-size: 14px;
    margin-top: 8px;
  }
}
@media screen and (max-width: 768px) {
  .head__logo-txt {
    font-size: 12px;
    margin-top: 3px;
  }
}

/*========= ナビゲーションのためのCSS ===============*/
.burger-nav {
  position: fixed;
  z-index: -1;
  top: 0;
  right: 0;
  transform: translateX(100%);
  width: 73%;
  height: 100vh;
  pointer-events: none;
  transition: all 0.3s;
  border-radius: 50px 0 0 50px;
}
.burger-nav::after {
  content: "";
  position: absolute;
  top: 100px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .burger-nav::after {
    top: 50px;
  }
}

.burger-bg {
  position: absolute;
  width: 100%;
  height: 100%;
}
.burger-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50px 0 0 50px;
  opacity: 0.9;
  -o-object-position: bottom;
     object-position: bottom;
}

.burger-nav__menu-ttl {
  width: 86px;
  position: relative;
  margin: 31px 0 0 40px;
}
@media screen and (max-width: 768px) {
  .burger-nav__menu-ttl {
    width: 52px;
    margin: 10px 0 0 40px;
  }
}

.burger-nav.panelactive {
  opacity: 1;
  z-index: 999;
  pointer-events: all;
  transform: translateX(0);
}

.burger-nav.panelactive .burger-nav__listWrap {
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 100%;
  height: calc(100vh - 100px); /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
.burger-nav .burger-nav__list {
  display: none;
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64%;
  min-width: 197px;
}

.burger-nav__list .burger-nav__item:not(:first-of-type) {
  margin-top: 28.8px;
}

.burger-nav.panelactive .burger-nav__list {
  display: block;
}

.burger-nav .burger-nav__item {
  list-style: none;
  position: relative;
}
.burger-nav .burger-nav__item::before {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  background-color: #FFFFFF;
  border-radius: 50%;
  top: 12px;
  left: -15px;
}

.burger-nav .burger-nav__item a {
  color: #FFFFFF;
  text-decoration: none;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
  line-height: 1.8;
  font-size: 16px;
  font-weight: 400;
}
.burger-nav .burger-nav__item a.now {
  color: #D4383B;
}

/*========= ボタンのためのCSS ===============*/
.openbtn1 {
  position: fixed;
  z-index: 9999;
  top: 12px;
  right: 20px;
  cursor: pointer;
  width: 80px;
  height: 80px;
  border: 1px solid #222;
  transition: all 0.5s;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .openbtn1 {
    top: 6px;
    right: 10px;
    width: 40px;
    height: 40px;
  }
}
/*
.openbtn1:hover {
  border: 1px solid #D4383B !important;
  transition: all 0.5s;
}*/

.openbtn1.active {
  border: 1px solid #FFFFFF;
  transition: all 0.5s;
}

/*×に変化*/
.openbtn1 span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 50%;
  height: 1px;
  border-radius: 2px;
  background-color: #222222;
  width: 40px;
  transform: translateX(-50%);
  transition: all 0.5s;
}
@media screen and (max-width: 768px) {
  .openbtn1 span {
    width: 29px;
    height: 1px;
  }
}

.openbtn1 span:nth-of-type(1) {
  top: 35px;
}
@media screen and (max-width: 768px) {
  .openbtn1 span:nth-of-type(1) {
    top: 16px;
  }
}

.openbtn1 span:nth-of-type(2) {
  bottom: 35px;
}
@media screen and (max-width: 768px) {
  .openbtn1 span:nth-of-type(2) {
    bottom: 16px;
  }
}

.openbtn1.active span:nth-of-type(1) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  width: 29px;
}

.openbtn1.active span:nth-of-type(2) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 29px;
}

.openbtn1.active span {
  background-color: #FFFFFF;
}

/*
.openbtn1:hover span {
  background-color: #D4383B !important;
}*/

.burger-open-bg-wrap {
  width: 100%;
  height: 100%;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9;
  pointer-events: none;
}
.burger-open-bg-wrap.appear {
  opacity: 1;
  pointer-events: all;
}

.burger-open-bg {
  width: 100%;
  height: 100%;
  background-color: #222222;
  opacity: 0.4;
}
@media screen and (max-width: 1024px) {
  .burger-open-bg {
    display: block;
  }
}

/*---------------------------
フッター
---------------------------*/
.foot {
  padding: 100px 0 39px;
  margin-top: -465px;
  position: relative;
  z-index: 7;
}
@media screen and (max-width: 768px) {
  .foot {
    padding: 50px 0 20px;
    margin-top: -50px;
  }
}

.foot__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.foot__bg img {
  -o-object-fit: unset;
     object-fit: unset;
}
@media screen and (max-width: 768px) {
  .foot__bg img {
    border-radius: 50px 50px 0 0;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.summary {
  position: relative;
  z-index: 3;
}

.summary-txt__ja {
  font-size: 25px;
  text-align: center;
  font-weight: 400;
  line-height: 1.2;
  color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .summary-txt__ja {
    font-size: 16px;
  }
}

.summary-txt__en {
  width: 19%;
  margin: 7.5px auto 0;
}
@media screen and (max-width: 768px) {
  .summary-txt__en {
    width: 208px;
    margin: 20px auto 0;
  }
}

.summarySlider {
  width: 100%;
  padding: 0 30% 113px; /* 左右に余白をつけて「チラ見せ」 */
  box-sizing: border-box;
  margin-top: 83px;
}
@media screen and (max-width: 768px) {
  .summarySlider {
    padding: 0 18% 60px;
    margin-top: 48px;
  }
}

.summarySlider .swiper-slide {
  text-align: center;
  transition: transform 0.3s ease;
}

.summarySlider img {
  width: 100%;
  aspect-ratio: 1/0.75;
}

/* 矢印の共通スタイル */
.summarySlider .summarySlider-nav {
  display: flex;
  justify-content: center; /* 中央寄せ */
  gap: 40px;
  margin-top: 44px; /* スライダーと矢印の間隔 */
  position: relative;
}

.summarySlider .custom-prev,
.summarySlider .custom-next {
  color: #FFFFFF;
  font-size: 0;
  font-weight: bold;
  cursor: pointer;
  transform: none;
  width: 69px;
  height: 69px;
  border: 1px solid #FFFFFF;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .summarySlider .custom-prev,
.summarySlider .custom-next {
    width: 40px;
    height: 40px;
  }
}

.summarySlider .custom-prev {
  left: 10px;
}

.summarySlider .custom-next {
  right: 10px;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: 20px;
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .swiper-button-next:after, .swiper-button-prev:after {
    font-size: 13px;
  }
}

.foot__mainTxt {
  width: 100%;
  margin-top: 90px;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .foot__mainTxt {
    margin-top: 0;
  }
}
.foot__mainTxt::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #FFFFFF;
  bottom: 3.2vw;
  left: 0;
}
@media screen and (max-width: 768px) {
  .foot__mainTxt::after {
    bottom: 6.2vw;
  }
}

.foot__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.4%;
}
@media screen and (max-width: 1024px) {
  .foot__wrap {
    display: block;
  }
}

.foot__side-l {
  width: 345px;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 1024px) {
  .foot__side-l {
    width: 100%;
  }
}

.foot-logo {
  width: 72.4%;
}
@media screen and (max-width: 1024px) {
  .foot-logo {
    width: 46%;
  }
}

.foot__side-r {
  width: calc(97.6% - 345px);
}
@media screen and (max-width: 1024px) {
  .foot__side-r {
    width: 100vw;
    margin-left: -8vw;
    margin-top: 27px;
  }
}

.under-foot-logo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 25px;
}
@media screen and (max-width: 1024px) {
  .under-foot-logo {
    margin-top: 16px;
    display: block;
  }
}

.foot-address {
  font-weight: 400;
  line-height: 1.6;
  color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .foot-address {
    font-size: 12px;
  }
}

.sns-icon {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
}
@media screen and (max-width: 1024px) {
  .sns-icon {
    position: absolute;
    top: unset;
    right: unset;
    left: 54%;
    bottom: 40%;
  }
}

.sns-icon__item {
  width: 60px;
  height: 60px;
}

.foot-strawberry-img {
  width: 100%;
  height: auto;
  position: relative;
}

.foot-txt__onStrawberry-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.foot-reserve-txt {
  font-size: 14px;
  color: #FFFFFF;
  line-height: 1.5;
  text-align: center;
}

.bl-btn--foot {
  margin: 14px auto 0;
}
@media screen and (max-width: 768px) {
  .bl-btn--foot {
    margin-top: 19px;
  }
}

.foot__copy {
  margin-top: 60px;
  text-align: center;
  color: #FFFFFF;
  font-size: 14px;
  position: relative;
  z-index: 3;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .foot__copy {
    margin-top: 20px;
    font-size: 10px;
  }
}

.inner--foot {
  width: 83.33%;
  max-width: 1200px;
}
@media screen and (max-width: 1024px) {
  .inner--foot {
    width: 84%;
  }
}

/*---------------------------
ページ共通
---------------------------*/
/*====== 動き =====*/
.fadeUp {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fadeUp.is-show {
  opacity: 1;
  transform: translateY(0);
}

.emphasis-color {
  color: #D4383B;
}

.bl-ttl {
  font-size: 35px;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding-bottom: 28px;
  position: relative;
  margin: 0 auto;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .bl-ttl {
    font-size: 24px;
    padding-bottom: 21px;
  }
}
.bl-ttl::after {
  content: "";
  position: absolute;
  width: 100px;
  height: 1px;
  background-color: #222222;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.overview-txt {
  margin-top: 50px;
  text-align: center;
  font-size: 18px;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .overview-txt {
    text-align: left;
    font-size: 14px;
    margin-top: 38px;
    margin-top: 40px;
  }
}

.page-top-btn {
  position: fixed;
  bottom: 15px;
  right: 2.66%;
  z-index: 99;
  opacity: 0;
  pointer-events: none;
  transition: all 0.5s;
}
.page-top-btn.appear {
  transition: all 0.5s;
  opacity: 1;
  pointer-events: all;
}
.page-top-btn a {
  width: 40px;
  height: 40px;
  background-color: rgba(188, 227, 187, 0.7);
  border: 1px solid #386E38;
  border-radius: 50%;
  display: block;
  position: relative;
}
.page-top-btn a img {
  position: absolute;
  width: 18px;
  height: auto;
  left: 50%;
  top: 50%;
  transform: translateX(-50%);
}
.page-top-btn a::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 1px solid #386E38;
  border-left: 1px solid #386E38;
  top: 25%;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}

/*---------------------------
TOPページ
---------------------------*/
.fv-wrap {
  position: relative;
  padding-bottom: 200px;
}
@media screen and (max-width: 1024px) {
  .fv-wrap {
    padding-bottom: 100px;
  }
}

@-webkit-keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}

.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}

.scroll-infinity__list--left {
  -webkit-animation: infinity-scroll-left 60s infinite linear 0.5s both;
          animation: infinity-scroll-left 60s infinite linear 0.5s both;
}

.scroll-infinity__item {
  width: 194vw;
	margin-right: 7vw;
}

.scroll-infinity__item > img {
  width: 100%;
}

/*
body{
    width: 100%;
    height: 100vh;
    overflow: hidden;
    animation-name: loadingFvSizeAnime;
    animation-delay: 5.5s;
    animation-duration: .3s;
    animation-fill-mode: forwards;
}
@keyframes loadingFvSizeAnime{
    0%{
    height: 100vh;
    overflow: hidden;
    }
    100%{
    height: auto;
    overflow: unset;
    }
}*/
/*========== 追従ボタン ============*/
.follow-btn {
  position: fixed;
  bottom: 30px;
  right: 4%;
  z-index: 8;
  opacity: 0;
  -webkit-animation-name: loadingAnime;
          animation-name: loadingAnime;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  transition: all 0.3s;
  pointer-events: auto;
}
@media screen and (max-width: 768px) {
  .follow-btn {
    bottom: 60px;
    left: 50%;
    right: unset;
    transform: translateX(-50%);
  }
}

.follow-btn.hidden {
  opacity: 0 !important;
  pointer-events: none;
  transition: all 0.3s;
}

/*========== fv ============*/
.fv {
  width: 100%;
  height: 100vh;
  padding: 160px 0 0;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .fv {
    padding-top: 120px;
  }
}
@media screen and (max-width: 768px) {
  .fv {
	  height: 100vh; 
  height: 100dvh; 
    padding-top: 70px;
  }
}

.fv-bg {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.fv-bg img {
  -o-object-fit: unset;
     object-fit: unset;
}

.fv-mainTxt {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 2;
  opacity: 0;
  -webkit-animation-name: loadingAnime;
          animation-name: loadingAnime;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.fv-berry {
  width: 100%;
  height: 100%;
  top: calc(160px + 9.45vw);
  left: 0;
  position: absolute;
  z-index: 1;
  opacity: 0;
  -webkit-animation-name: loadingAnime;
          animation-name: loadingAnime;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@media screen and (max-width: 1024px) {
  .fv-berry {
    top: calc(120px + 18.7vw);
    height: calc(100% - 120px - 18.7vw);
  }
  .fv-berry img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (max-width: 768px) {
  .fv-berry {
    top: calc(70px + 18.7vw);
    height: calc(100% - 70px - 18.7vw);
  }
}

.fv-berry-img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.fv-berry-img img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {

.fv-berry-img {
  top: -0.4vw;
	}
}

.fv-catch {
  position: absolute;
  top: 57%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  opacity: 0;
  -webkit-animation-name: loadingAnime;
          animation-name: loadingAnime;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 1024px) {
  .fv-catch {
    top: 45%;
  }
}

.fv-catch__ja {
  font-size: 25px;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.2;
  color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .fv-catch__ja {
    font-size: 18px;
    line-height: 1.6;
  }
}

.fv-catch__en {
  width: 273.5px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .fv-catch__en {
    width: 178px;
  }
}

.fv-info {
  max-width: 1040px;
  width: 72.22%;
  position: absolute;
  bottom: 55px;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 3.5%;
  padding: 18px 5.1%;
  z-index: 2;
  opacity: 0;
  -webkit-animation-name: loadingAnime;
          animation-name: loadingAnime;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-delay: 3.5s;
          animation-delay: 3.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@media screen and (max-width: 768px) {
  .fv-info {
    width: 92%;
    bottom: 200px;
    gap: 26px;
    padding: 10px 20px;
  }
}

.fv-info_ttl-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 3.8%;
  width: 145px;
}
@media screen and (max-width: 768px) {
  .fv-info_ttl-wrap {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    display: block;
    position: relative;
  }
  .fv-info_ttl-wrap::after {
    content: "";
    position: absolute;
    width: 0.5px;
    height: 14px;
    background-color: #000;
    top: 50%;
    right: -12px;
    transform: translateY(-50%);
  }
}

.fv-info__ttl {
  font-size: 20px;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .fv-info__ttl {
    font-size: 12px;
  }
}

.fv-indo__icon {
  width: 50px;
  height: auto;
}

.fv-info__txt {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .fv-info__txt {
    font-size: 12px;
  }
}

.fv__deco {
  width: 38%;
  height: auto;
  position: absolute;
  top: 50.8%;
  right: 9.2%;
  max-width: 550px;
  z-index: 2;
  opacity: 0;
  -webkit-animation-name: loadingAnime;
          animation-name: loadingAnime;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@media screen and (max-width: 1024px) {
  .fv__deco {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .fv-info {
    bottom: calc(200px + env(safe-area-inset-bottom));
  }

  .follow-btn {
    bottom: calc(60px + env(safe-area-inset-bottom));
  }
}
/*========== 初めての方へ ============*/
.newPeople {
  padding: 80px 0 290px;
  margin-top: -200px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .newPeople {
    margin-top: -100px;
    padding: 50px 0 200px;
  }
}

.newPeople__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.newPeople__bg img {
  -o-object-position: top;
     object-position: top;
}
@media screen and (max-width: 1024px) {
  .newPeople__bg img {
    border-radius: 50px 50px 0 0;
  }
}

@media screen and (max-width: 768px) {
  .overview-txt--newPeople {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
.feature-wrap {
  margin: 30px auto 0;
  width: 84%;
  max-width: 1210px;
  aspect-ratio: 1/0.5;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .feature-wrap {
    margin: 36px auto 0;
    width: 80%;
    aspect-ratio: unset;
  }
}

.feature__list {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .feature__list {
    height: auto;
  }
}
.feature__list .feature__item:first-of-type {
  top: 0;
  left: 0;
}
.feature__list .feature__item:nth-of-type(2) {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .feature__list .feature__item:nth-of-type(2) {
    top: 0;
    left: 0;
    transform: unset;
  }
}
.feature__list .feature__item:last-of-type {
  top: 8.3%;
  right: 0;
}
@media screen and (max-width: 768px) {
  .feature__list .feature__item:last-of-type {
    top: 0;
    left: 0;
  }
}

.feature__item {
  width: 31.62%;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .feature__item {
    position: relative;
    width: 100%;
  }
}

.feature-num {
  width: 31%;
}

.feature-img {
  width: 100%;
  position: relative;
}

.feature-annotation {
  font-family: "Noto Sans JP", sans-serif;
  color: #FFFFFF;
  text-align: center;
  line-height: 1;
  font-size: 14px;
  font-weight: 400;
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .feature-annotation {
    font-size: 11.5px;
    bottom: 10px;
  }
}

.feature-txt {
  position: absolute;
  top: 18.25%;
  right: 0;
  width: 63.1%;
}
@media screen and (max-width: 768px) {
  .feature-txt {
    width: 195px;
    right: unset;
    left: 37%;
  }
}
.feature-txt span {
  display: block;
  font-size: clamp(13px, 1.38vw, 23px);
  line-height: 1;
  padding: 10px;
  background-color: #D4383B;
  color: #FFFFFF;
  font-weight: 700;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 768px) {
  .feature-txt span {
    font-size: 16px;
  }
}
.feature-txt span:first-of-type {
  margin-right: auto;
  margin-left: 0;
}
.feature-txt span:last-of-type {
  margin-left: auto;
  margin-right: 0;
  margin-top: 10px;
}

.feature-allAnnotation {
  font-size: 14px;
  font-weight: 400;
  text-align: center;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .feature-allAnnotation {
    display: none;
  }
}

.feature-deco-list {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.feature-deco-list .feature-deco-item:first-of-type {
  width: 34.5%;
  bottom: -1.7%;
  left: 3.4%;
}
@media screen and (max-width: 768px) {
  .feature-deco-list .feature-deco-item:first-of-type {
    width: 71.6%;
    bottom: unset;
    left: -3.6%;
    top: 24%;
  }
}
.feature-deco-list .feature-deco-item:nth-of-type(2) {
  width: 34.5%;
  top: 12.36%;
  right: 17.7%;
}
@media screen and (max-width: 768px) {
  .feature-deco-list .feature-deco-item:nth-of-type(2) {
    width: 71.6%;
    top: unset;
    right: 0.7%;
    bottom: 21%;
  }
}
.feature-deco-list .feature-deco-item:last-of-type {
  width: 34.5%;
  bottom: 0;
  right: 2%;
  transform: translateY(55%);
}
@media screen and (max-width: 768px) {
  .feature-deco-list .feature-deco-item:last-of-type {
    width: 83.28%;
    right: unset;
    transform: translateY(95%);
    left: -2%;
  }
}

.feature-deco-item {
  position: absolute;
}

.afterFeature-txt {
  margin-top: 91px;
  text-align: center;
  font-size: 18px;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .afterFeature-txt {
    text-align: left;
    font-size: 14px;
    margin-top: 45px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}

.newPeople-closing {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 87px auto 0;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .newPeople-closing {
    margin-top: 40px;
  }
}

.newPeople-closing__ja {
  text-align: center;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .newPeople-closing__ja {
    font-size: 16px;
  }
}

.newPeople-closing__en {
  width: 410px;
  margin: 20px auto 0;
}
@media screen and (max-width: 768px) {
  .newPeople-closing__en {
    width: 178px;
    margin-top: 27px;
  }
}

/*========== 料金・営業時間のご案内 ============*/
.price-time {
  padding: 0 0 205px;
  margin-top: -225px;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .price-time {
    margin-top: -122px;
    padding: 0;
  }
}

.price-time-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.price-time-bg img {
  -o-object-position: top;
     object-position: top;
  -o-object-fit: unset;
     object-fit: unset;
}

.inner--price-time {
  padding: 80px 7%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .inner--price-time {
    padding: 50px 2.1% 189px;
  }
}

.price-time-content-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}
.price-time-content-bg img {
  -o-object-fit: unset;
     object-fit: unset;
}

.price-time__content {
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 768px) {
  .overview-txt--price-time {
    width: 86.9%;
    margin-left: auto;
    margin-right: auto;
  }
}
.overview-txt--price-time .emphasis-color {
  font-weight: 700;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .overview-txt--price-time .emphasis-color {
    font-size: 14px;
  }
}

.event-period {
  margin-top: 45px;
}
@media screen and (max-width: 768px) {
  .event-period {
    margin-top: 60px;
  }
}

.price-time__ttl {
  font-size: 25px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .price-time__ttl {
    font-size: 20px;
  }
}

.price-time__emphasis {
  margin-top: 15px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .price-time__emphasis {
    font-size: 18px;
    margin-top: 15px;
  }
}

.price-time__annotation {
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  .price-time__annotation {
    font-size: 12px;
    text-align: left;
    margin: 8px auto 0;
    width: 228px;
  }
}

.business-hour {
  margin-top: 70px;
}
@media screen and (max-width: 768px) {
  .business-hour {
    margin-top: 50px;
  }
}

.price-time-table {
  width: 100%;
  border: 1px solid #222222;
  margin-top: 10px;
}

.price-time-table__body {
  width: 100%;
  display: block;
}

.price-time-table__body--businessHour .price-time-table__row:not(:last-of-type) {
  border-bottom: 1px solid #FFFFFF;
}

.price-time-table__row {
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
}

.price-time-table__head {
  width: max(30%, 120px);
  font-weight: 400;
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  color: #FFFFFF;
  background-color: #222222;
  font-size: 20px;
  letter-spacing: 0.01em;
  line-height: 1.5;
  border-right: 1px solid #FFFFFF;
}
@media screen and (max-width: 768px) {
  .price-time-table__head {
    padding: 8px 0;
    font-size: 12px;
  }
}

.price-time-table__data {
  display: block;
}

.price-time-table__data--businessHour {
  font-size: 25px;
  width: min(70%, 100% - 120px);
  padding: 20px 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .price-time-table__data--businessHour {
    padding: 8px 0;
    font-size: 16px;
  }
}

.regular-fee {
  margin-top: 65px;
}
@media screen and (max-width: 768px) {
  .regular-fee {
    margin-top: 52px;
  }
}

.price-time-table--regular-fee {
  position: relative;
}

.price-time-table__rowspan {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 140px;
  color: #D4383B;
}
@media screen and (max-width: 768px) {
  .price-time-table__rowspan {
    height: 60%;
  }
}

.price-time-table__head--regular-fee {
  width: min(23.333%, (100% - 120px) / 3);
  padding: 10px 0;
}
.price-time-table__head--regular-fee span {
  display: block;
  font-size: 14px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .price-time-table__head--regular-fee span {
    font-size: 8px;
  }
}
@media screen and (max-width: 768px) {
  .price-time-table__head--regular-fee {
    padding: 8px 0;
  }
}

.price-time-table__data--regular-fee {
  width: min(23.333%, (100% - 120px) / 3);
  text-align: center;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .price-time-table__data--regular-fee {
    font-size: 16px;
  }
}
.price-time-table__data--regular-fee .unit {
  font-size: 16px;
  padding-left: 5px;
  padding-top: 13px;
}
@media screen and (max-width: 768px) {
  .price-time-table__data--regular-fee .unit {
    font-size: 10px;
    padding-top: 3px;
    padding-left: 3px;
  }
}

.price-time-table__data--none {
  width: min(23.333%, (100% - 120px) / 3);
  display: none;
}

.table-border-bottom {
  border-bottom: 1px solid #FFFFFF;
}

.table-border-left {
  border-left: 1px solid #FFFFFF;
}

.price-time__annotation--regular-fee {
  text-align: left;
  margin-top: 15px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .price-time__annotation--regular-fee {
    width: 86.9%;
    margin: 11px auto 0;
    line-height: 1.5;
  }
}

.price-time__attention {
  padding: 21px 4% 29px;
  background-color: rgba(255, 255, 255, 0.6);
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .price-time__attention {
    width: 96.9%;
    margin: 43px auto 0;
    padding: 25px 3% 30px;
  }
}

.price-time__attention-txt {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .price-time__attention-txt {
    margin-top: 12px;
  }
}
.price-time__attention-txt span {
  font-weight: 900;
}
@media screen and (max-width: 768px) {
  .price-time__attention-txt span {
    font-weight: 500;
  }
}

.price-time__reservation-wrap {
  margin-top: 50px;
}
.price-time__reservation-wrap .bl-btn {
  margin-top: 20px;
}

.price-time__reservation-txt {
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

/*===== ご予約〜いちご狩り開始の流れについて =====*/
.flow {
  padding: 75px 0 295px;
  margin-top: -205px;
  position: relative;
  z-index: 4;
}
@media screen and (max-width: 768px) {
  .flow {
    margin-top: -100px;
    padding: 50px 0 210px;
  }
}

.flow-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.flow-bg img {
  background-position: top;
  -o-object-fit: unset;
     object-fit: unset;
}
@media screen and (max-width: 768px) {
  .flow-bg img {
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50px 50px 0 0;
  }
}

@media screen and (max-width: 768px) {
  .inner--flow {
    width: 84%;
  }
}
.flow__list {
  margin-top: 60px;
  padding: 0 4%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .flow__list {
    margin-top: 37px;
    padding: 0;
  }
}
.flow__list .flow__item:not(:first-of-type) {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .flow__list .flow__item:not(:first-of-type) {
    margin-top: 20px;
  }
}
.flow__list .flow__item:nth-of-type(2) {
  margin-top: 45px;
}
@media screen and (max-width: 768px) {
  .flow__list .flow__item:nth-of-type(2) {
    margin-top: 20px;
  }
}

.flow__item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6.9%;
}
@media screen and (max-width: 768px) {
  .flow__item {
    display: block;
  }
}

.flow-img {
  width: 20%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .flow-img {
    width: 46.4%;
    margin-left: auto;
    margin-right: 0;
  }
}

.flow-num {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(49.5%, -25%);
  width: 56.6%;
}
@media screen and (max-width: 768px) {
  .flow-num {
    width: 28%;
    transform: translateY(-100%);
    right: unset;
    left: -2%;
  }
}

.flow-dot {
  position: absolute;
  bottom: -7%;
  width: 6%;
  right: 25%;
  transform: translateY(100%);
}
@media screen and (max-width: 768px) {
  .flow-dot {
    position: absolute;
    bottom: unset;
    right: unset;
    transform: unset;
    top: 60%;
    left: 10%;
    width: 1.6%;
  }
}

.flow-list__side-r {
  width: 73.1%;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .flow-list__side-r {
    width: 100%;
    position: relative;
    margin-top: -40px;
  }
}

.flow__ttl-label {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  padding: 10px;
  color: #FFFFFF;
  background-color: #333333;
}
@media screen and (max-width: 768px) {
  .flow__ttl-label {
    font-size: 16px;
    margin-left: 8%;
  }
}

.flow-txt {
  font-size: 18px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .flow-txt {
    font-size: 14px;
    margin-top: 12px;
    padding-left: 17%;
  }
}

.bl-btn--flow {
  margin: 20px auto 0;
}
@media screen and (max-width: 768px) {
  .bl-btn--flow {
    display: none;
  }
}

.access-box {
  margin-top: 90px;
  background-color: rgba(241, 241, 241, 0.5);
  padding: 90px 11% 64px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .access-box {
    margin-top: 72px;
    padding: 50px 5.2% 63px;
    border-radius: 30px;
  }
}

.bl-ttl--map {
  color: #D4383B;
}
.bl-ttl--map::after {
  background-color: #D4383B;
}

.park-map {
  margin: 88px auto 0;
  width: 62.57%;
}
@media screen and (max-width: 768px) {
  .park-map {
    width: 100%;
    margin: 48px auto 0;
  }
}

/*====== いちご品種 ======*/
.variety {
  padding: 68px 0 274px;
  margin-top: -135px;
  position: relative;
  z-index: 4;
}
@media screen and (max-width: 768px) {
  .variety {
    padding: 50px 0 187px;
    margin-top: -130px;
  }
}

.variety-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.variety-bg img {
  background-position: top;
  -o-object-fit: unset;
     object-fit: unset;
}
@media screen and (max-width: 768px) {
  .variety-bg img {
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50px 50px 0 0;
  }
}

.inner--variety {
  position: relative;
  z-index: 3;
}

.variety__content {
  position: relative;
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .variety__content {
    margin-top: 40px;
  }
}

.variety__list {
  width: 90%;
  aspect-ratio: 1/1;
  position: relative;
  z-index: 2;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .variety__list {
    width: 100%;
    aspect-ratio: unset;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px 2.8%;
    flex-wrap: wrap;
  }
}
.variety__list .variety__item:first-of-type {
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .variety__list .variety__item:first-of-type {
    top: unset;
    left: unset;
  }
}
.variety__list .variety__item:nth-of-type(2) {
  top: 8.6%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .variety__list .variety__item:nth-of-type(2) {
    top: unset;
    left: unset;
    transform: unset;
  }
}
.variety__list .variety__item:nth-of-type(3) {
  top: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  .variety__list .variety__item:nth-of-type(3) {
    top: unset;
    left: unset;
  }
}
.variety__list .variety__item:nth-of-type(4) {
  top: 48%;
  left: 0;
}
@media screen and (max-width: 768px) {
  .variety__list .variety__item:nth-of-type(4) {
    top: unset;
    left: unset;
  }
}
.variety__list .variety__item:nth-of-type(5) {
  top: 56%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .variety__list .variety__item:nth-of-type(5) {
    top: unset;
    left: unset;
    transform: unset;
  }
}
.variety__list .variety__item:last-of-type {
  top: 48%;
  right: 0;
}
@media screen and (max-width: 768px) {
  .variety__list .variety__item:last-of-type {
    top: unset;
    left: unset;
  }
}

.variety__item {
  position: absolute;
  width: 30%;
}
@media screen and (max-width: 768px) {
  .variety__item {
    width: 47.2%;
    position: relative;
  }
}

.variety-img {
  width: 100%;
  aspect-ratio: 1/1;
  border: 1px solid #D4383B;
  border-radius: 50%;
  background-color: rgba(212, 56, 59, 0.1);
  position: relative;
}
.variety-img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 79%;
  height: auto;
}

.variety-name {
  margin-left: 8.3%;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  padding: 10px;
  background-color: #D4383B;
  color: #FFFFFF;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-top: -30px;
  position: relative;
	z-index: 4;
}
@media screen and (max-width: 768px) {
  .variety-name {
    font-size: 14px;
    margin-left: 0;
    margin-top: -25.5px;
  }
}

.variety-explain {
  margin-left: 8.3%;
  margin-top: 15px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .variety-explain {
    margin-top: 10px;
    margin-left: 0;
    font-size: 12px;
  }
}

.variety___deco-top {
  position: absolute;
  width: 40%;
  top: 0;
  left: 8%;
  transform: translateY(-50%);
  height: auto;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .variety___deco-top {
    display: none;
  }
}

.variety___deco-bottom {
  position: absolute;
  width: 40%;
  top: 34%;
  right: 17%;
  height: auto;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .variety___deco-bottom {
    display: none;
  }
}

.variety-annotation {
  margin-top: 50px;
  text-align: center;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .variety-annotation {
    font-size: 12px;
    width: 86%;
    margin: 40px auto 0;
    text-align: left;
  }
}

/*======  お知らせ ======*/
.instagram {
  padding: 100px 0 451px;
  margin-top: -200px;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .instagram {
    padding: 64px 0 163px;
    margin-top: -115px;
  }
}

.instagram-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.instagram-bg img {
  -o-object-fit: unset;
     object-fit: unset;
}
@media screen and (max-width: 768px) {
  .instagram-bg img {
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50px 50px 0 0;
  }
}

.inner--instagram {
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .inner--instagram {
    width: 82.13%;
    margin: 0 auto;
  }
}

.bl-ttl--instagram {
  color: #FFFFFF;
}
.bl-ttl--instagram::after {
  background-color: #FFFFFF;
}

.overview-txt--instagram {
  color: #FFFFFF;
}

.instagram__content {
	margin: 60px auto 0;
    width: 62.5%;
    padding: 15px 20px 8px;
    background-color: #fff;
    border-radius: 50px;
}
@media screen and (max-width: 768px) {
  .instagram__content {
    margin: 29px auto 0;
    width: 100%;  
	padding: 5px 10px 0px;
    background-color: #fff;
    border-radius: 20px;
  }
}

/*=====  シーズンチケット年関契約プラン =====*/
.ticket {
  padding: 80px 0 320px;
  position: relative;
  margin-top: -325px;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .ticket {
    padding: 64px 0 160px;
    margin-top: -100px;
  }
}

.ticket-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.ticket-bg img {
  -o-object-fit: unset;
     object-fit: unset;
}
@media screen and (max-width: 768px) {
  .ticket-bg img {
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50px 50px 0 0;
  }
}

.ticket-content {
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .ticket-content {
    width: 80%;
    margin: 0 auto;
  }
}

.ticket-list-wrap {
  position: relative;
  width: 74.3%;
  max-width: 1071px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .ticket-list-wrap {
    width: 89.33%;
  }
}
@media screen and (max-width: 768px) {
  .ticket-list-wrap {
    width: 80%;
  }
}

.ticket__list {
  margin-top: 68px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 5.5%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .ticket__list {
    display: block;
    margin-top: 64px;
  }
}
.ticket__list .ticket__item:first-of-type .ticket-txt {
  left: 30%;
}
@media screen and (max-width: 768px) {
  .ticket__list .ticket__item:first-of-type .ticket-txt {
    left: 50%;
    transform: translate(-34%, -20%);
  }
}
.ticket__list .ticket__item:nth-of-type(2) {
  margin-top: 5%;
}
@media screen and (max-width: 768px) {
  .ticket__list .ticket__item:nth-of-type(2) {
    margin-top: 45px;
  }
}
.ticket__list .ticket__item:nth-of-type(2) .ticket-txt {
  transform: translate(-10%, -20%);
}
@media screen and (max-width: 768px) {
  .ticket__list .ticket__item:last-of-type {
    margin-top: 45px;
  }
}
.ticket__list .ticket__item:last-of-type .ticket-txt {
  transform: translateX(-20%);
}

.ticket__item {
  width: 29.66%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .ticket__item {
    width: 100%;
  }
}

.ticket-img {
  width: 100%;
  position: relative;
}

.ticket-img__txt {
  font-size: 14px;
  position: absolute;
  left: 50%;
  bottom: 26px;
  transform: translateX(-50%);
  text-align: center;
  color: #FFFFFF;
  font-weight: 400;
}

.ticket-txt {
  position: absolute;
  top: -20px;
  left: 37%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 768px) {
  .ticket-txt {
    left: 40%;
    top: -10px;
  }
}
.ticket-txt span {
  display: block;
  font-size: clamp(13px, 1.38vw, 23px);
  line-height: 1;
  padding: 10px;
  background-color: #D4383B;
  color: #FFFFFF;
  font-weight: 700;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 768px) {
  .ticket-txt span {
    font-size: 16px;
  }
}
.ticket-txt span:first-of-type {
  margin-right: auto;
  margin-left: -20px;
}
.ticket-txt span:last-of-type {
  margin-left: auto;
  margin-right: 0;
  margin-top: 10px;
}

.ticket-list-annotation {
  font-size: 14px;
  line-height: 1.2;
  margin-top: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .ticket-list-annotation {
    font-size: 12px;
    margin-top: 25px;
  }
}

.ticket-list__deco-left {
  position: absolute;
  width: 39%;
  bottom: 0;
  left: 19%;
  transform: translateY(40%);
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .ticket-list__deco-left {
    display: none;
  }
}

.ticket-list__deco-right {
  position: absolute;
  width: 31%;
  top: 0;
  right: 22%;
  transform: translateY(-20%);
}
@media screen and (max-width: 768px) {
  .ticket-list__deco-right {
    display: none;
  }
}

/*====== 年間プラン料金 ======*/
.inner--plan {
  width: 750px;
  margin: 85px auto 0;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 1024px) {
  .inner--plan {
    width: 89.33%;
  }
}
@media screen and (max-width: 768px) {
  .inner--plan {
    width: 88%;
    margin: 75px auto 0;
  }
}

.plan__ttl {
  font-size: 25px;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .plan__ttl {
    font-size: 20px;
  }
}

.plan {
  position: relative;
}

.plan-table {
  width: 100%;
  margin-top: 37px;
  border: 1px solid #222222;
}
@media screen and (max-width: 768px) {
  .plan-table {
    margin-top: 14px;
  }
}

.plan-table__body {
  width: 100%;
  display: block;
}

.plan-table__row {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
}

.plan-table__head {
  width: 34.935%;
  padding: 20px 0;
  text-align: center;
  background-color: #333333;
  color: #FFFFFF;
  font-size: 20px;
  letter-spacing: 0.01em;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .plan-table__head {
    width: 34.85%;
    padding: 10px 0;
    font-size: 12px;
    font-weight: 400;
  }
  .plan-table__head.plan-table__head--planName {
    text-align: left;
    padding: 10px;
    justify-content: flex-start;
  }
  .plan-table__head span {
    font-size: 10px;
  }
}
.plan-table__head.plan-table__head--left-head {
  width: 30.13%;
}
@media screen and (max-width: 768px) {
  .plan-table__head.plan-table__head--left-head {
    width: 30.3%;
  }
}
.plan-table__head.plan-table__head--left-head span {
  font-size: 16px;
}
.plan-table__head.plan-table__head--left-head span.sp-none {
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .plan-table__head.plan-table__head--left-head span.sp-none {
    display: none;
  }
}
.plan-table__head.plan-table__head--row {
  font-weight: 400;
}

.plan-table__data {
  width: 34.935%;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .plan-table__data {
    font-size: 14px;
    width: 34.85%;
  }
}
.plan-table__data .unit {
  font-size: 16px;
  letter-spacing: 1.5;
  padding-top: 8px;
  padding-left: 8px;
}
@media screen and (max-width: 768px) {
  .plan-table__data .unit {
    font-size: 10px;
    padding-top: 5px;
    padding-left: 5px;
  }
}

.plan__emphasis {
  font-size: 18px;
  font-weight: 700;
  margin-top: 15px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 768px) {
  .plan__emphasis {
    width: 90.9%;
    margin: 15px auto 0;
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .plan__annotation-list {
    width: 90.9%;
    margin: 10px auto 0;
  }
}

.plan__annotation-item {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 14px;
}
@media screen and (max-width: 768px) {
  .plan__annotation-item {
    gap: 12px;
    font-size: 12px;
  }
}

.plan-deco {
  position: absolute;
  width: 69%;
  bottom: 0;
  right: 0;
  transform: translate(20%, 43%);
}
@media screen and (max-width: 1024px) {
  .plan-deco {
    width: 52%;
    transform: translate(10%, 38%);
  }
}
@media screen and (max-width: 768px) {
  .plan-deco {
    display: none;
  }
}

/*========== 年間プランお申し込み方法 ==========*/
.subscription {
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  .subscription {
    margin-top: 100px;
  }
}

.subscription__overview {
  margin-top: 50px;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .subscription__overview {
    font-size: 14px;
    font-weight: 500;
    width: 90.9%;
    margin: 35px auto 0;
  }
}

.subscription__explain {
  margin-top: 33px;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .subscription__explain {
    font-size: 12px;
    width: 90.9%;
    margin: 24px auto 0;
  }
}

.contactForm {
  margin: 50px auto 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .contactForm {
    width: 90.9%;
    margin: 37px auto 0;
  }
}
.contactForm form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px 30px;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .contactForm form {
    flex-direction: column;
    gap: 20px;
  }
}

.formDl {
  width: calc(50% - 15px);
}
@media screen and (max-width: 768px) {
  .formDl {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .formDl {
    display: block;
  }
}

.formDl--maxWidth-box {
  width: 100%;
}

.formDt {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .formDt {
    flex-wrap: wrap;
  }
}
.formDt .sp-block {
  display: none;
}
@media screen and (max-width: 768px) {
  .formDt .sp-block {
    display: block;
    width: 100%;
    font-size: 12px;
    font-weight: 500;
  }
}
@media screen and (max-width: 768px) {
  .formDt {
    flex-wrap: wrap;
  }
}

.formTtl {
  margin-right: 8px;
  font-size: 18px;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .formTtl {
    margin-right: 15px;
    font-size: 14px;
  }
}

.formRequired {
  font-size: 14px;
  color: #D4383B;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .formRequired {
    font-size: 12px;
  }
}
.formRequired span {
  color: #222222;
  padding-left: 13px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .formRequired span.sp-none {
    display: none;
  }
}

.formDd {
  width: 100%;
}

input[type=text],
input[type=email],
textarea,
.selectbox select {
  padding: 10px 20px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 5px;
  border: 1px solid #222;
  color: #222222;
  width: 100%;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  input[type=text],
input[type=email],
textarea,
.selectbox select {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  input[type=text].address-box {
    height: 90px;
  }
}
textarea {
  height: 200px;
}

input[type=text].postCode {
  width: 165px;
  margin-right: 18px;
}
@media screen and (max-width: 768px) {
  input[type=text].postCode {
    margin-right: 15px;
    width: 120px;
  }
}

.prefectures {
  padding: 13px 30px;
  background-color: #FFFFFF;
  border-radius: 30px;
  color: #222222;
  width: 165px;
}
@media screen and (max-width: 1024px) {
  .prefectures {
    padding: 5.3px 18px;
    font-size: 11px;
    width: 120px;
  }
}

.selectbox select {
  width: 100%;
  box-sizing: border-box;
}

.selectbox {
  position: relative;
}
.selectbox::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 15px solid #222222;
  border-bottom: 0;
  top: 35%;
  right: 24px;
  pointer-events: none;
}

.policy-ttl {
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .policy-ttl {
    font-size: 14px;
  }
}

.policy-block {
  width: 100%;
  height: 150px;
  overflow-y: scroll;
  padding: 15px 36px 15px 15px;
  background-color: rgba(255, 255, 255, 0.5);
  border: 1px solid #222;
  margin-top: 5px;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .policy-block {
    padding: 15px;
    margin-top: 0;
  }
}

.policy-txt {
  font-size: 14px;
  line-height: 1.5;
}

.policy-check {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 20px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .policy-check {
    margin: 15px auto 0 0;
  }
}

input[type=checkbox] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 2px solid #222;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  input[type=checkbox] {
    border: 1px solid #222;
  }
}

input[type=checkbox]:checked:before {
  position: absolute;
  top: -2px;
  left: 3px;
  transform: rotate(50deg);
  width: 7px;
  height: 12px;
  border-right: 2px solid #222;
  border-bottom: 2px solid #222;
  content: "";
}

.privacy-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 50px auto 30px;
  color: #222222;
}
@media screen and (max-width: 768px) {
  .privacy-wrap {
    margin: 0 auto;
  }
}

.submit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin: 0 auto;
}

.submitBtn {
  width: 200px;
  height: 50px;
  margin: 0 auto;
  font-size: 20px;
  font-weight: 400;
  color: #FFFFFF;
  border-radius: 25px;
  background-color: #333;
  box-shadow: 0 4px 4px rgba(51, 51, 51, 0.3);
  border: 1px solid #FFFFFF;
  transition: all 0.5s;
  line-height: 1;
  text-align: center;
  transition: all 0.5s;
}
@media screen and (max-width: 768px) {
  .submitBtn {
    margin-top: 10px;
  }
}

.submit:hover .submitBtn {
  transition: all 0.5s;
  background-color: #FFFFFF;
  border: 1px solid #333333;
  color: #333333;
}

.submit:active .submitBtn {
  box-shadow: 0 4px 4px rgba(51, 51, 51, 0);
}

.afterSubscrption-reserve__txt {
  text-align: center;
  margin: 75px auto 26px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .afterSubscrption-reserve__txt {
    margin: 50px auto 23px;
    text-align: left;
  }
}

/*========== お問い合わせ ==========*/
.contact {
  padding: 70px 0 500px;
  margin-top: -250px;
  position: relative;
  z-index: 6;
}
@media screen and (max-width: 768px) {
  .contact {
    padding: 50px 0 104px;
    margin-top: -44px;
  }
}

.contact-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.contact-bg img {
  -o-object-fit: unset;
     object-fit: unset;
}
@media screen and (max-width: 768px) {
  .contact-bg img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top;
       object-position: top;
    border-radius: 50px 50px 0 0;
  }
}

.bl-ttl--contact {
  color: #FFFFFF;
}
.bl-ttl--contact::after {
  background-color: #FFFFFF;
}

.contact-card {
  width: 100%;
  background-color: rgba(217, 217, 217, 0.2);
  padding: 71px 0 90px;
  position: relative;
  z-index: 3;
  margin-top: 62px;
}
@media screen and (max-width: 768px) {
  .contact-card {
    margin-top: 40px;
    padding: 40px 0 61px;
    border-radius: 30px;
    overflow: hidden;
  }
}

.contact-card-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

.contact-card__ttl {
  font-size: 18px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .contact-card__ttl {
    font-size: 14px;
  }
}

.contact-time {
  margin-top: 28px;
  text-align: center;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .contact-time {
    font-size: 18px;
    margin-top: 27px;
  }
}

.contact-card__btn-wrap {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 14px auto 0;
}
@media screen and (max-width: 768px) {
  .contact-card__btn-wrap {
    margin-top: 18px;
  }
}
.contact-card__btn-wrap .bl-btn:last-of-type {
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  .contact-card__btn-wrap .bl-btn:last-of-type {
    margin-top: 20px;
  }
}

/*========== アクセス ==========*/
.access {
  padding: 105px 0 553px;
  margin-top: -337px;
  position: relative;
  z-index: 7;
}
@media screen and (max-width: 768px) {
  .access {
    padding: 50px 0 115px;
    margin-top: -50px;
  }
}

.access-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.access-bg img {
  -o-object-fit: unset;
     object-fit: unset;
}
@media screen and (max-width: 768px) {
  .access-bg img {
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 50px 50px 0 0;
  }
}

.access__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.08%;
  position: relative;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .access__content {
    display: block;
    margin-top: 35px;
  }
}

.access__side-l {
  width: 330px;
}
@media screen and (max-width: 768px) {
  .access__side-l {
    width: 100%;
  }
}

.access-logo {
  width: 98%;
}
@media screen and (max-width: 768px) {
  .access-logo {
    width: 60.8%;
    max-width: 280px;
    margin: 34px auto 0;
  }
}

.access-address {
  font-size: 25px;
  font-weight: 700;
  margin-top: 35px;
}
@media screen and (max-width: 768px) {
  .access-address {
    font-size: 16px;
    margin-top: 20px;
    padding-left: 5.7%;
  }
}

.access-explain {
  margin-top: 50px;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .access-explain {
    font-size: 14px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin: 13px auto 0;
  }
}

.access__side-r {
  width: calc(87.92% - 330px);
}
@media screen and (max-width: 768px) {
  .access__side-r {
    width: 100%;
  }
}

.bl-btn--access {
  margin: 66px auto 0;
  position: relative;
  margin-top: 40px;
}
/*# sourceMappingURL=style.css.map */


.error-page__content{
		padding: 150px 0;
		margin-top: 80px;
		background-color: #fff;
		position: relative;
		z-index: 3;
		color: #D4383B;
	}
	
	.error-page__ttl{
      font-size: 40px;
      font-weight: 700;
	}
	@media screen and (max-width: 768px) {
		.error-page__content{
		margin-top: 50px;
	}
	
		.error-page__ttl{
			font-size: 30px;
			font-weight: 700;
		}
	}

  .wpcf7-spinner{
display: none!important;
}




.preparation{
    position: relative;
}

.preparation::before{
        content: '';
        position: absolute;
        width: 100%;
        aspect-ratio: 1/1;
        background-color: rgba(0,0,0,.6);
        top: 0;
        left:0;
        border-radius: 50%;
        z-index: 2;
    }

.preparation::after{
        position: absolute;
        content: '準備中';
        color: #fff;
        top: 50%;
        left: 50%;
        transform: translate(-50% , -50%);
        z-index: 3;
    }




.confirm {
  padding: 100px 0 558px;
  position: relative;
  z-index: 5;
}

.confirm-bg{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  img{
    object-fit: cover;
    object-position: bottom;
  }
}

.submit-wrap{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 80px auto;
    gap: 30px;

}

	@media screen and (max-width: 768px) {
.submit-wrap{
	flex-direction: column;
	gap: 30px;
}
}


.bl-btn--thanks{
	margin: 100px auto 0;
}

.subscription__overview--thanks{
text-align: center;
}
	@media screen and (max-width: 768px) {

.bl-btn--thanks{
	margin: 50px auto 0;
}
		

.confirm {
  padding: 100px 0;
}

}


.bl-btn--leaf__comingSoon{
	width: 100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	background-color: rgba(0,0,0,.5);
	color: #ffffff;
	font-weight: 700;
	z-index: 9;
  border-radius: 25px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

.access__parking{
	position: relative;
	margin: 80px auto 0;
}

.parking-ttl{
	text-align: center;
	font-size: 25px;
	font-weight: 700;
}

.parking-eplain{
	font-size: 25px;
	text-align: center;
	font-weight: 700;
	color: #D4383B;
	margin-top: 50px;
}

.parking-img{
    width: 60%;
    max-width: 750px;
    margin: 50px auto 0;
}

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


.access__parking{
	margin: 50px auto 0;
}

.parking-ttl{
	font-size: 20px;
}

.parking-eplain{
    font-size: 16px;
    margin-top: 20px;
}

.parking-img{
    width: 100vw;
    margin: 20px auto 0;
    margin-left: -4vw;
}
}