@charset "utf-8";
/* ============================
facilities__nav
=============================== */
.facilities__nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: max(70px, 4.86vw) calc(6.67% / 3);
  padding: max(99px, 6.88vw) 0 max(68px, 4.72vw);
}
.facilities__nav-item {
  width: 23.33%;
}
.facilities__nav-item .imgbk .imgbk__in {
  position: relative;
  border: 5px solid #008979;
  overflow: hidden;
}
.facilities__nav-item .imgbk .imgbk__in::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 0.3s ease;
}
.facilities__nav-item .imgbk .bubble {
  font-size: max(20px, 1.39vw);
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}
.facilities__nav-item .imgbk .bubble span {
  position: relative;
  display: block;
  width: 15.28vw;
  min-width: 220px;
}
.facilities__nav-item .imgbk .bubble span::before {
  content: "";
  width: 100%;
  height: 2.66em;
  background: url(../imgs/sports/bg_bubble.svg) no-repeat center top/contain;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -10%);
  z-index: -1;
}
.facilities__nav-item-txt {
  font-size: max(20px, 1.39vw);
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-align: center;
  height: 3.5em;
  padding-top: 0.8em;
  position: relative;
}
.facilities__nav-item-txt::after {
  content: "";
  width: 1.15em;
  height: 0.7em;
  background: url(../imgs/common/down_arow.svg) no-repeat center / contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.2s;
}
.facilities__nav-item a:hover .imgbk__in::after {
  background: rgba(0, 0, 0, 0.5);
}
.facilities__nav-item a:hover .facilities__nav-item-txt::after {
  transform: translate(-50%, 50%);
  transition: 0.2s;
}
/* ============================
facilityItem
=============================== */
.facilityItem:not(:last-child) {
  margin-bottom: max(80px, 5.56vw);
}

/* .facilityItem__head-in {
  width: 100vw;
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
} */
/* --- swiper--- */
.swiperCont {
  width: 100%;
  position: absolute;
  top: 1.74vw;
  left: 50%;
  transform: translate(-50%);
}
.swiper {
  width: 100%;
  padding: 6.94vw 0;
  scale: 1.4489;
}
.swiper-backface-hidden .swiper-slide {
  transition: 0.3s;
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev,
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  background: url(../imgs/sports/swipe_arrow.svg) no-repeat center / contain;
  padding: max(25px, 2.43vw);
  position: absolute;
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 20%;
  top: 50%;
  transform: rotate(180deg);
  z-index: 100;
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 20%;
  top: 50%;
}
.swiper-button-next:focus,
.swiper-rtl .swiper-button-prev:focus,
.swiper-button-prev:focus,
.swiper-rtl .swiper-button-next:focus {
  outline: none;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: none;
}
.swiper .swiper-slide {
  border: clamp(2px, 0.51vw, 5px) solid #00675b;
  transition: 0.3s;
}
.swiper .swiper-slide.swiper-slide-active {
  transform: scale(1.143);
  z-index: 1000;
}
.swiper .swiper-slide .imgbk {
  filter: brightness(50%);
  transition: 0.7s;
}
.swiper .swiper-slide.swiper-slide-active .imgbk {
  filter: brightness(100%);
}

.facilityItem .bg_yl {
  padding: 40.49vw 0 max(70px, 4.86vw);
  border-radius: max(40px, 2.78vw);
}
.facilityItem__head-heading {
  font-size: max(30px, 2.08vw);
  line-height: 1.47;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  width: 11.67em;
  height: 1.9em;
  padding: 0.8em;
  background-color: #efd465;
  clip-path: polygon(0 0, 10.67em 0, 100% 100%, 0 100%);
  position: absolute;
  top: 7.64vw;
}

.facilityItem__detail-catch {
  font-size: max(25px, 1.74vw);
  line-height: 1.44;
  letter-spacing: 0.1em;
  margin-bottom: 0.5em;
}
.facilityItem__detail-catch-txt {
  font-size: max(17px, 1.18vw);
  line-height: 1.77;
  letter-spacing: 0;
  margin-bottom: 1em;
}
.facilityItem__detail-cont:not(:last-child) {
  margin-bottom: 1.8em;
}
.facilityItem__detail-cont-heading {
  font-size: max(20px, 1.39vw);
  line-height: 1.45;
  letter-spacing: 0.1em;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 0.5em;
  margin-bottom: 0.3em;
}
.facilityItem__detail-cont-heading span:first-child {
  flex-shrink: 0;
}
.facilityItem__detail-cont-heading span:first-child::before {
  content: "●";
  color: #00675b;
}
.facilityItem__detail-cont-heading .sml {
  font-size: 75%;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.01em;
}
/* -- 特徴 -- */
.facilityItem__detail-cont .featuresList {
  font-size: max(20px, 1.39vw);
  line-height: 1.75;
  letter-spacing: 0.01em;
  padding: 1.8% 2.5%;
}
.facilityItem__detail-cont .featuresList-item {
  display: flex;
  align-items: flex-start;
}
.facilityItem__detail-cont .featuresList-item:not(:last-child) {
  margin-bottom: 0.6em;
}
.facilityItem__detail-cont .featuresList-item dt {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.5em;
  width: 8.8em;
}
.facilityItem__detail-cont .featuresList-item p.road {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5em;
}
.facilityItem__detail-cont .featuresList-item dt::before,
.facilityItem__detail-cont .featuresList-item p.road::before {
  content: "";
  width: 1.25em;
  height: 1.35em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.facilityItem__detail-cont .featuresList-item dt.area::before {
  background-image: url(../imgs/sports/ic_1.png);
}
.facilityItem__detail-cont .featuresList-item dt.available::before {
  background-image: url(../imgs/sports/ic_2.png);
}
.facilityItem__detail-cont .featuresList-item dt.time::before {
  background-image: url(../imgs/sports/ic_3.png);
}
.facilityItem__detail-cont .featuresList-item dt.training::before {
  background-image: url(../imgs/sports/ic_4.png);
}
.facilityItem__detail-cont .featuresList-item p.road::before {
  background-image: url(../imgs/sports/ic_5.png);
}
.facilityItem__detail-cont .featuresList-item dd {
  position: relative;
  padding-left: 2em;
}
.facilityItem__detail-cont .featuresList-item dd::before {
  content: "";
  width: 1.5em;
  height: 1px;
  border-bottom: 1px dashed #707070;
  position: absolute;
  left: 0;
  top: 0.87em;
}
/* -- 使用料 -- */
.facilityItem__detail-cont .feeTable {
  width: 100%;
  padding-bottom: 10px;
  overflow-x: auto;
}
.facilityItem__detail-cont .feeTable table {
  width: 100%;
  min-width: 735px;
  border-bottom: 1px solid #707070;
}
.facilityItem__detail-cont .feeTable.layout-fix table {
  table-layout: fixed;
}
.facilityItem__detail-cont .feeTable table th,
.facilityItem__detail-cont .feeTable table td {
  font-size: max(16px, 1.39vw);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.01em;
  text-align: center;
  word-break: break-word;
}
.facilityItem__detail-cont .feeTable table th span,
.facilityItem__detail-cont .feeTable table td span {
  display: inline-block;
}
.facilityItem__detail-cont .feeTable thead {
  background: #00675b;
}
.facilityItem__detail-cont .feeTable thead th {
  border-right: 1px solid #fff;
  padding: 0.55em 0.5em 0.75em;
}
.facilityItem__detail-cont .feeTable thead th.w-unit {
  min-width: 4em;
  white-space: nowrap;
}

.facilityItem__detail-cont .feeTable thead th:last-child {
  border-right: none;
}

.facilityItem__detail-cont .feeTable tbody {
  background: #fff;
}

.facilityItem__detail-cont .feeTable tbody th,
.facilityItem__detail-cont .feeTable tbody td {
  border: none;
  border-right: 1px solid #707070;
  border-bottom: 1px solid #707070;
  text-align: center;
  padding: 0.6em 0.5em;
}
.facilityItem__detail-cont .feeTable tbody tr th:last-child,
.facilityItem__detail-cont .feeTable tbody tr td:last-child {
  border-right: none;
}
.facilityItem__detail-cont .feeTable table tr.bg_beige td {
  background-color: #fdf6da;
}
/* -------------
多目的
---------------- */
#ground .facilityItem__detail-cont .feeTable thead th:nth-child(1) {
  width: 33.33%; /* 1列目＋2列目で33.33%になる */
}
#ground .facilityItem__detail-cont .feeTable thead th:nth-child(2),
#ground .facilityItem__detail-cont .feeTable thead th:nth-child(3),
#ground .facilityItem__detail-cont .feeTable thead th:nth-child(4) {
  width: 22.22%;
}
/* -------------
トレーニングルーム
---------------- */
#training_room .facilityItem__detail-cont .featuresList-item dt {
  width: 10.8em;
}
/* -------------
ロードコース
---------------- */
/* #road_course .facilityItem__detail-flex {
  display: flex;
  gap: 1em 30px;
} */
#road_course .link_wrap .link_txt {
  color: #00675b;
  display: inline-block;
  margin-bottom: 0.5em;
}
#road_course .link_wrap .link_txt span {
  text-decoration: underline;
  display: block;
}
#road_course .link_wrap .qr-code {
  width: max(100px, 6.94vw);
}

.btm_bnr {
  width: 34.72vw;
  min-width: 500px;
  margin: 0 auto;
}
@media screen and (max-width: 1440px) {
  .facilities__nav-item .imgbk .bubble span {
    min-width: 11em;
  }
  .btm_bnr {
    width: 100%;
    max-width: 500px;
    min-width: initial;
    margin: 0 auto;
  }
}
@media screen and (max-width: 980px) {
  /* ============================
	facilities__nav
	=============================== */
  .facilities__nav {
    gap: clamp(45px, 5.86vw, 70px) 2%;
  }
  .facilities__nav-item {
    width: 32%;
  }
  .facilities__nav-item .imgbk .bubble {
    font-size: clamp(16px, 2.04vw, 20px);
  }
  .facilities__nav-item-txt {
    font-size: clamp(18px, 2.04vw, 20px);
  }
  /* ============================
	facilityItem
	=============================== */
  .facilityItem__head-heading {
    font-size: clamp(25px, 3.06vw, 30px);
  }
  .facilityItem__detail-catch {
    font-size: clamp(22px, 2.55vw, 25px);
  }
  .facilityItem__detail-catch-txt {
    font-size: clamp(15px, 3.95vw, 17px);
  }
  .facilityItem__detail-cont-heading {
    font-size: clamp(18px, 2.04vw, 20px);
  }
  /* -- 特徴 -- */
  .facilityItem__detail-cont .featuresList {
    font-size: clamp(18px, 2.04vw, 20px);
  }
}
@media screen and (max-width: 768px) {
  .facilities__nav {
    padding: clamp(50px, 12.89vw, 99px) 0 clamp(40px, 8.85vw, 68px);
  }

  .swiperCont {
    top: 0;
    width: 100%;
    padding: 0 20px;
  }
  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: 10px;
  }
  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    left: 10px;
  }
  .swiper-button-next,
  .swiper-rtl .swiper-button-prev,
  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    padding: clamp(20px, 3.13vw, 24px);
  }

  .swiper-backface-hidden .swiper-slide.swiper-slide-active {
    transform: scale(1.3);
  }
  .facilityItem .bg_yl {
    padding: 54.04vw 0 max(70px, 4.86vw);
    border-radius: clamp(20px, 2.78vw, 5.21vw);
  }
  .facilityItem__head-heading {
    font-size: clamp(20px, 3.26vw, 25px);
    top: -10px;
  }
  .facilityItem__detail-catch {
    font-size: clamp(20px, 2.86vw, 22px);
  }
  /* -- 特徴 -- */
  .facilityItem__detail-cont .featuresList {
    font-size: clamp(16px, 2.34vw, 18px);
  }
  /* -------------
ロードコース
---------------- */
}
@media screen and (max-width: 640px) {
  .facilities__nav {
    gap: clamp(20px, 7.03vw, 45px) 2%;
  }
  .facilities__nav-item {
    width: 49%;
    max-width: 236px;
  }
}

@media screen and (max-width: 430px) {
  .facilities__nav-item .imgbk .bubble {
    font-size: clamp(13px, 3.72vw, 16px);
  }
  .facilities__nav-item-txt {
    font-size: clamp(14px, 4.19vw, 18px);
  }
  .facilityItem__detail-cont .featuresList-item {
    flex-direction: column;
  }
  #baseball_field .facilityItem__detail-cont .featuresList-item {
    flex-direction: row;
  }
}
