@charset "UTF-8";
/* 変数定義
----------------------------------------- */
/* メインビジュアル
----------------------------------------- */
.main_visual {
  position: relative;
  width: 100%;
  height: 70vh;
  max-height: 670px;
}

.slider {
  position: relative;
  width: 100%;
}
.slider .slider-item {
  width: 100%;
}
.slider .slider-item img {
  width: 100%;
  height: 70vh;
  max-height: 670px;
  -o-object-fit: cover;
     object-fit: cover;
}

.curve {
  position: absolute;
  width: 100%;
  bottom: -2px;
  left: 0;
}

.main_title {
  position: relative;
  margin: 104px auto 180px;
}

.main_title_upper {
  margin-bottom: 5px;
  font-weight: 500;
  text-align: center;
}

.main_title_lower {
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
}

.main_title_illust {
  position: absolute;
  display: block;
}

.il01 {
  width: 120px;
  top: -137px;
  left: 15px;
  transform: rotate(13deg);
  transform-origin: center;
  animation: furifuri1 1.51s infinite;
}

.il02 {
  width: 55px;
  top: -187px;
  right: 60px;
  transform: rotate(52deg);
}

.il03 {
  width: 120px;
  bottom: -140px;
  left: 15px;
  transform: rotate(-3deg);
  transform-origin: center;
  animation: agesage 1.51s infinite;
}

.il04 {
  width: 120px;
  bottom: -136px;
  right: 18px;
  transform: rotate(7deg);
  transform-origin: center;
  animation: furifuri2 1.51s infinite;
}

@keyframes furifuri1 {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(0deg);
  }
  51% {
    transform: rotate(-5deg);
  }
  99% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes furifuri2 {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(0deg);
  }
  51% {
    transform: rotate(6deg);
  }
  99% {
    transform: rotate(6deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes agesage {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(0);
  }
  51% {
    transform: translateY(8px);
  }
  99% {
    transform: translateY(8px);
  }
  100% {
    transform: translateY(0);
  }
}
/* twitter
----------------------------------------- */
.twitter {
  padding: 20px;
  text-align: center;
}

.twitter_text {
  position: relative;
  display: inline-block;
  margin-bottom: 25px;
  font-weight: 500;
  text-align: center;
}
.twitter_text::before, .twitter_text::after {
  position: absolute;
  content: "";
  top: 0;
  width: 1px;
  height: 100%;
  background: #452C17;
  border-radius: 3px;
}
.twitter_text::before {
  left: -24px;
  transform: rotate(-35deg);
}
.twitter_text::after {
  right: -24px;
  transform: rotate(35deg);
}

.twitter_upper .wave_white {
  display: block;
  width: 100%;
  transform: scaleY(-1);
}

.twitter_lower .wave_white {
  display: block;
  width: 100%;
}

.twitter_feedarea {
  width: 100%;
  max-width: 412px;
  margin: 0 auto;
}

.twitter-timeline iframe {
  width: 95%;
}

/* メイン部分共通事項
----------------------------------------- */
.top_section_title {
  font-size: 2.8rem;
  font-weight: 500;
  text-align: center;
}

.top_section_title_jp {
  margin-bottom: 34px;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0em;
}

/* 営業のご案内
----------------------------------------- */
.top_openhour_title {
  width: 100%;
  margin: 35px auto 30px;
  padding: 8px;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  color: #F4EAD7;
  background-color: #452C17;
}

.top_openhour_wrapper {
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
  padding: 0 20px;
}

.top_openhour_subtitle {
  margin-bottom: 15px;
  font-size: 1.8rem;
  font-weight: 500;
}
.top_openhour_subtitle img {
  width: 22px;
  margin-right: 5px;
  vertical-align: middle;
}

.top_openhour_hour {
  width: 100%;
  margin-bottom: 40px;
  font-size: 1.4rem;
  background-color: #FEFDFD;
  border-collapse: collapse;
  border: 1px solid #452C17;
}
.top_openhour_hour th, .top_openhour_hour td {
  padding: 7px 10px 6px;
  font-weight: 500;
  text-align: center;
  border-collapse: collapse;
  border: 1px solid #452C17;
}
.top_openhour_hour th {
  width: 36%;
}
.top_openhour_hour td {
  width: 64%;
}

.top_openhour_calendar {
  margin-bottom: 10px;
}

.top_openhour_calendar_text1 {
  position: relative;
  margin-bottom: 5px;
  padding-left: 18px;
}
.top_openhour_calendar_text1::before {
  position: absolute;
  content: "";
  width: 14px;
  height: 14px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #cb4644;
}

.top_openhour_calendar_text1-2 {
  position: relative;
  margin-bottom: 5px;
  padding-left: 18px;
}
.top_openhour_calendar_text1-2::before {
  position: absolute;
  content: "";
  width: 14px;
  height: 14px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #e09190;
}

.top_openhour_calendar_text1-3 {
  position: relative;
  margin-bottom: 5px;
  padding-left: 18px;
}
.top_openhour_calendar_text1-3::before {
  position: absolute;
  content: "";
  width: 14px;
  height: 14px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #82acda;
}

.top_openhour_calendar_text1-4 {
  position: relative;
  margin-bottom: 5px;
  padding-left: 18px;
}
.top_openhour_calendar_text1-4::before {
  position: absolute;
  content: "";
  width: 14px;
  height: 14px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #ffe272;
}

.top_openhour_calendar_text2 {
  margin-bottom: 60px;
}

.fc .fc-toolbar.fc-header-toolbar {
  margin-bottom: 14px;
}

.fc .fc-button {
  padding: 0.2em 0.5em;
  font-size: 1.4rem;
  border: none;
}

.fc .fc-button-primary {
  color: #F4EAD7;
  background-color: #452C17;
  border-color: #452C17;
}
.fc .fc-button-primary:hover {
  color: #F4EAD7;
  background-color: #452C17;
  border-color: #452C17;
}

.fc .fc-toolbar-title {
  font-size: 1.8rem;
  font-weight: 500;
}

.fc .fc-toolbar.fc-header-toolbar {
  border: none;
}

.fc-theme-standard td, .fc-theme-standard th {
  border: none;
}

.fc-col-header-cell {
  background-color: #dbdbdb;
}

.fc .fc-col-header-cell-cushion {
  font-size: 1.4rem;
  font-weight: 500;
}

.fc-daygrid-day {
  font-weight: 400;
  background: #FEFDFD;
}

.fc .fc-daygrid-day-frame {
  height: 32px;
}

.fc .fc-daygrid-day-top {
  justify-content: center;
  align-items: center;
}

.fc .fc-daygrid-body-natural .fc-daygrid-day-events {
  margin-bottom: 0;
}

.fc-daygrid-day-number {
  font-weight: 500;
}

.fc .fc-daygrid-day.fc-day-today {
  font-weight: 700;
  background-color: #FEFDFD;
  border: 1px solid #8b8989;
}

.fc-daygrid-day:has(.cell-teikyuubi) {
  background-color: #cb4644 !important;
}

.fc-daygrid-day:has(.cell-kashikiri) {
  background-color: #e09190 !important;
}

.fc-daygrid-day:has(.cell-ichibukashikiri) {
  background-color: #82acda !important;
}

.fc-daygrid-day:has(.cell-rinji) {
  background-color: #ffe272 !important;
}

.fc .fc-daygrid-body-natural .fc-daygrid-day-events {
  display: none;
}

.fc-day-sat .fc-daygrid-day-number {
  color: #4b8ac0;
}

.fc-day-sun .fc-daygrid-day-number {
  color: #dd5f5f;
}

.top_attention {
  position: relative;
  width: 95%;
  max-width: 400px;
  margin: 0 auto;
  padding: 32px 20px 44px;
  text-align: center;
  background-image: url(../images/bg_attention.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.top_attention p {
  font-weight: 500;
  text-align: left;
}
.top_attention p.underline {
  text-decoration: underline;
  text-underline-offset: 3px;
  line-height: 1.6em;
}

.top_attention_title {
  position: relative;
  display: inline-block;
  margin-bottom: 16px;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  z-index: 0;
}
.top_attention_title::after {
  position: absolute;
  content: "";
  bottom: 2px;
  left: 50%;
  width: 135%;
  height: 10px;
  background-color: #FFE350;
  transform: translateX(-50%);
  z-index: -1;
}

.attention_illust {
  position: absolute;
  width: 70px;
  top: -34px;
  right: 32px;
}

/* アクセス
----------------------------------------- */
.top_access {
  position: relative;
  margin: 80px auto 90px;
  text-align: center;
  overflow: hidden;
}

.access_illust1,
.access_illust2 {
  position: absolute;
  display: block;
  top: 0;
  height: 48px;
}

.access_illust1 {
  left: -13px;
}

.access_illust2 {
  right: -13px;
}

.map_outer {
  max-width: 540px;
  margin: 0 auto;
}

.map_container {
  position: relative;
  width: 100%;
  padding-top: 73%;
}
.map_container iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.top_access_text {
  position: relative;
  display: inline-block;
  margin: 18px auto;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}
.top_access_text::before, .top_access_text::after {
  position: absolute;
  content: "";
  top: 0;
  width: 1px;
  height: 100%;
  background: #452C17;
  border-radius: 3px;
}
.top_access_text::before {
  left: -20px;
  transform: rotate(-35deg);
}
.top_access_text::after {
  right: -20px;
  transform: rotate(35deg);
}

/* インスタグラム
----------------------------------------- */
.top_instagram_upper {
  position: relative;
}

.white_curve {
  width: 100%;
}

.top_instagram_illust1 {
  position: absolute;
  width: 63px;
  bottom: -12%;
  left: 52px;
  transform: rotate(-19deg);
}

.top_instagram_illust2 {
  position: absolute;
  width: 53px;
  top: -37px;
  right: 57px;
  transform: rotate(13deg);
}

.top_instagram_container {
  padding: 45px 20px 50px;
  text-align: center;
  background-color: #FEFDFD;
}
.top_instagram_container .yellow_button {
  font-weight: 700;
}
.top_instagram_container .yellow_button img {
  width: 29px;
}

.top_instagram_title {
  position: relative;
  display: inline-block;
  margin-bottom: 30px;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
}
.top_instagram_title::before, .top_instagram_title::after {
  position: absolute;
  content: "";
  width: 60px;
  top: 54%;
  border-bottom: 3px dotted #452C17;
}
.top_instagram_title::before {
  left: -52px;
  transform: rotate(62deg);
}
.top_instagram_title::after {
  right: -52px;
  transform: rotate(-62deg);
}

.insta_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 540px;
  margin: 0 auto 40px;
}
.insta_list li {
  position: relative;
  width: 49%;
  margin-bottom: 10px;
}
.insta_list li::before {
  display: block;
  content: "";
  padding-top: 100%;
}
.insta_list a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.insta_list img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ドッグランのご紹介
----------------------------------------- */
.top_dogrun_bg {
  width: 100%;
  background-image: url(../images/bg_top_dogrun.jpg);
  background-repeat: repeat;
}

.top_dogrun_upper {
  position: relative;
}

.top_dogrun_upper .white_curve {
  width: 100%;
  transform: scaleY(-1);
}

.top_dogrun_illust {
  position: absolute;
  width: 124px;
  top: 10%;
  right: 24px;
}

.top_dogrun_wrapper {
  padding: 65px 20px 0;
}

.top_dogrun_inner {
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
}

.top_dogrun_image {
  width: 100%;
  padding: 0 20px;
  margin-bottom: 20px;
}

.top_dogrun_text {
  width: 100%;
  padding: 0 20px;
  margin-bottom: 60px;
}

.top_dogrun_document {
  width: 100%;
  margin: 30px auto 40px;
  padding: 0 20px;
}
.top_dogrun_document a {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.top_dogrun_lower {
  position: relative;
  width: 100%;
  padding-bottom: 19%;
}
.top_dogrun_lower .curve_toward {
  position: absolute;
  width: 100%;
  bottom: -2px;
  left: 0;
}

/* フード・ドリンクのご案内
----------------------------------------- */
.top_food_bg {
  position: relative;
  width: 100%;
}

.top_food_wrapper {
  padding: 40px 20px 50px;
}

.top_food_inner {
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
}

.top_food_image {
  width: 100%;
  margin-bottom: 20px;
}

.top_food_text {
  width: 100%;
  margin-bottom: 5px;
}

.top_food_text_small {
  width: 100%;
  font-size: 1.4rem;
  margin-bottom: 50px;
}

.top_food_lower {
  position: relative;
  width: 100%;
}
.top_food_lower .curve_toward {
  position: absolute;
  width: 100%;
  top: -2px;
  left: 0;
  transform: scaleY(-1);
  z-index: 1;
}

/* 施設のご案内
----------------------------------------- */
.top_facilities_wrapper {
  position: relative;
  width: 100%;
  padding: 19% 20px 70px;
  background-color: #FEFDFD;
}

.top_facilities_illust1 {
  position: absolute;
  width: 60px;
  top: -16px;
  left: 25px;
  z-index: 1;
  transform: rotate(-6deg);
}

.top_facilities_illust2 {
  position: absolute;
  width: 108px;
  top: -27px;
  right: 16px;
  z-index: 1;
}

.top_facilities_inner {
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
}

.top_facilities_text {
  margin-bottom: 40px;
  text-align: center;
}

.top_facilities_container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  padding-bottom: 0 30px;
}

.top_facilities_item {
  width: 48%;
  margin-bottom: 30px;
}

.top_facilities_image {
  position: relative;
  width: 100%;
  margin-bottom: 8px;
  padding-top: 86%;
}
.top_facilities_image img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.top_facilities_name {
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
}/*# sourceMappingURL=home.css.map */