/**
 * FGH用スタイル
 * 必要なもののみオーバーライド
 *
 */

.-box-institution {
 display: flex;
 gap: 40px;
}
.-box-institution > div {
 width: auto !important;
}
.-box-institution p {
 width: auto !important;
 font-size: 15px;
}
@media all and (max-width: 767px) {
  .-box-institution {
    flex-direction: column;
    gap: 20px;
  }
  .-box-institution img {
    max-width: 100%;
    width: 100%;
    height: auto;
  }
}

 /**
 * コース詳細のヤーデージ表
 */
.mod-table.-yardage thead td a {
  /* color: #4c4c4c; */
  text-decoration: underline;
}
.mod-table.-yardage.is-fhc thead td:nth-child(2n) {
  background-color: #E2ECD9 !important;
}
.mod-table.-yardage.is-fhc thead td:nth-child(2n+1) {
  background-color: #cadeb9 !important;
}
.mod-table.-yardage thead td a {
  color: #0991f9;
}
.mod-table.-yardage.is-fhc thead td a {
  color: #6EA251;
  text-decoration-color: #6EA251;
}
/**
 * 見出しの別色
 */
#container-second.is-fgh .mod-h3.-health {
  color: #5b923e;
}

/**
 * リストの別色
 */
.mod-list.-health a,
.mod-list.-health i.fa {
  color: #6EA251;
  text-decoration-color: #6EA251;
}

/**
 * ヘッダー
 */
#header {
  padding-bottom: 0;
}
.head-siteid {
  padding-top: 0;
}
@media all and (max-width: 767px) {
  .head-siteid {
    padding: 0;
    width: 45%;
    min-width: 248px;
  }
  .head-contact {
    height: 52px;
  }
  .head-contact .head-tel {
    margin-top: 11px;
    width: calc(100dvw - 172px);
  }
  .head-contact .head-tel img {
    width: auto !important;
    max-width: 100%;
    max-height: 30px;
  }
  .head-contact .head-contact {
    width: 120px;
    font-size: 100%;
  }
  .head-contact .head-btn_gnav {
    padding: 10px 0;
    width: 52px;
  }
}
@media all and (max-width: 425px) {
  .head-contact .head-tel {
    width: calc(100dvw - 162px);
  }
  .head-contact .head-contact {
    width: 110px;
    font-size: 90%;
  }
}
@media all and (min-width: 768px) and (max-width: 849px) {
  .head-siteid {
    padding: 4.5px 0;
    width: 220px;
    float: left;
  }
  .head-contact {
    width: auto;
    float: right;
    margin-top: 20px;
  }
  .head-contact .head-tel {
    max-width: 240px;
    margin-top: 9px;
  }
}
@media all and (min-width: 849px) and (max-width: 1024px) {
  .head-siteid {
    width: 247px;
    float: left;
  }
  .head-contact {
    width: auto;
    float: right;
    margin-top: 20px;
  }
  .head-contact .head-tel {
    max-width: 280px;
    margin-top: 7px;
  }
}
@media all and (min-width: 1024px) {
  .head-siteid {
    width: 247px;
  }
}

/**
 * HOMEヒーロー
 */
#mv-home.is-fgh {
  background-image: url("../fgh/img/mv-home-alter.jpg");
  background-image: image-set(
    url("../fgh/img/mv-home-alter@2x.avif") type("image/avif"),
    url("../fgh/img/mv-home-alter@2x.webp") type("image/webp"),
    url("../fgh/img/mv-home-alter@2x.jpg") type("image/jpeg")
  );
}
/* MVの別バージョン（写真差し替え） */
#mv-home.is-fgh.-alter {
  background-image: url("../fgh/img/mv-home.jpg");
  background-image: image-set(
    url("../fgh/img/mv-home@2x.avif") type("image/avif"),
    url("../fgh/img/mv-home@2x.webp") type("image/webp"),
    url("../fgh/img/mv-home@2x.jpg") type("image/jpeg")
  );
  background-size: cover;
}

/* 動画バージョン */
#mv-home.is-fgh:has(video) {
  background: none;
  background-color: black;
}
#mv-home.is-fgh video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  overflow-clip-margin: content-box;
  overflow: clip;
}

#mv-home h2 {
  top: 16%;
  right: auto;
  bottom: auto;
  box-sizing: border-box;
}

#mv-home.-alter h2,
#mv-home.is-fgh:has(video) h2 {
  top: auto;
  bottom: 20%;
}
#mv-home h2 span.word {
  margin-top: 0;
  font-size: 78px;
  font-weight: 100;
  letter-spacing: 0;
  display: inline;
  opacity: 0;
  color: transparent;
}
#mv-home.is-active h2 span.word {
  animation: blur 1.2s cubic-bezier(.22,.61,.36,1) .5s forwards;
}

#mv-home h2 span.word:nth-child(1) { animation-delay: 0.5s; }
#mv-home h2 span.word:nth-child(2) { animation-delay: 0.7s; }
#mv-home h2 span.word:nth-child(3) { animation-delay: 0.9s; }
#mv-home h2 span.sub {
  font-weight: bold;
  display: block;
  margin-top: 20px;
  letter-spacing: 0.08em;
  opacity:0;
  filter:blur(2px);
  mask-image:linear-gradient(90deg,#000 0 0);
  mask-size:0% 100%;
  mask-repeat:no-repeat;
}
#mv-home.is-active h2 span.sub {
  animation:
    kv-rise 2s cubic-bezier(.22,.61,.36,1) .9s forwards,
    kv-reveal 1.7s cubic-bezier(.22,.61,.36,1) .9s forwards;
}
#mv-home .kv-br {
  display: none;
}
@keyframes blur {
  0%    {text-shadow:  0 0 100px #fff; opacity:0; }
  5%    {text-shadow:  0 0 90px #fff; }
  15%   {opacity: 1; }
  100%  {text-shadow:  0 0 0px #fff; opacity:1; }
}
@keyframes kv-rise{
  0%   { opacity:0; filter:blur(10px); }
  60%  { filter:blur(0); }
  100% { opacity:1; filter:blur(0); }
}
@keyframes kv-reveal{
  to{
    mask-size:100% 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  #mv-home .word,
  #mv-home .sub {
    animation:none !important;
    opacity:1 !important;
    filter:none !important;
    text-shadow:none !important;
    mask:none !important;
  }
}

@media all and (max-width: 613px) {
  #mv-home {
    height: calc(100dvh - 110px - 52px);
    background-size: cover !important;
  }
}
@media all and (max-width: 767px) {
  #mv-home {
    height: calc(100dvh - 110px - 52px);
    background-size: cover !important;
  }
  #mv-home h2 {
    bottom: 10%;
    width: 100%;
    font-size: 11dvw;
  }
  #mv-home span:not(.word, .sub) {
    margin-top: 20px;
    font-size: 40%;
    font-weight: 100;
    line-height: 1.6;
  }
  #mv-home h2 span.word {
    font-size: 11dvw;
  }
  #mv-home h2 span.sub {
    font-size: 40%;
    font-weight: 100;
    line-height: 1.6;
  }
  #mv-home .kv-br {
    display: block;
  }
}
@media all and (min-width: 768px) {
  #mv-home {
    height: calc(100dvh - 130px);
  }
}
@media all and (min-width: 1381px) {
  #mv-home {
    background-size: cover !important;
  }
}
@media all and (min-width: 768px) and (max-width: 1380px) {
  #mv-home {
    background-size: cover !important;
  }
}
@media all and (min-width: 768px) and (max-width: 1400px) {
  @-moz-document url-prefix() {
    #mv-home {
    background-size: cover !important;
    }
	}
}


/**
 * コースガイド
 */
.course-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
@media all and (max-width: 767px) {
  .course-list {
    flex-direction: column;
    gap: 30px;
  }
}
.course-list__item {
  flex: 1;
  background-color: #fafafa;
}
.course-list__item h2 {
  padding: 9px 10px 10px;
  height: 40px;
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  box-sizing: border-box;
}
.course-list__item--greenhill h2 {
  background-color: #2BBEF7;
}
.course-list__item--health h2 {
  background-color: #6EA251;
}
.course-list__content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  height: calc(100% - 40px);
  box-sizing: border-box;
}
@media all and (max-width: 767px) {
  .course-list__content {
    padding: 20px 10px;
  }
}
.course-list__image-wrap {
  box-sizing: border-box;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 230px;
  border: 1px solid #ccc;
  background-color: #fff;
}
.course-list__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}
.course-list__content p {
  margin: 20px 0 0;
  font-size: 14px;
  line-height: 1.5;
}
.course-list__button {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 10px;
  width: 58%;
  border-radius: 5px;
  color: #fff !important;
  font-size: 16px;
  text-align: center;
  text-decoration: none;
}
.course-list__button:hover {
  opacity: 0.8;
}
.course-list .course-list__button {
  margin: 30px auto 0;
}
.course-list__button::after {
  content: "";
  display: block;
  width: 11px;
  height: 35px;
  mask-image: url("../fgh/img/icon-arrow-white.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #fff;
}
.course-list__button--greenhill {
  background-color: #2BBEF7;
}
.course-list__button--health {
  background-color: #6EA251;
}
.course-list__button--sub {
  background-color: #fff;
  border: 1px solid #09BCF9;
  color: #09BCF9 !important;
}
.course-list__button--sub::after {
  background-color: #09BCF9;
}
.course-list__content > p:has(.course-list__button) {
  margin-top: auto;
}

/* コースガイド：コース詳細 */
.course-title {
  position: relative;
  z-index: 0;
  margin-bottom: 40px;
  padding: 10px 20px 9px;
  border-radius: 3px;
  font-size: 18px;
  color: #fff;
  /* overflow: hidden; */
}
.course-title::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 3px 0 0 3px;
  clip-path: polygon(0 0, 250px 0, 230px 100%, 0 100%);
}
.course-title--greenhill {
  background-color: #CDF0FD;
}
.course-title--greenhill:after {
  background-color: #2BBEF7;
}
.course-title--health {
  background-color: #E2ECD9;
}
.course-title--health:after {
  background-color: #6EA251;
}

/* mapのリンク */
.map-image { position: relative; }
.hole-links {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.hole-links a {
  position: absolute;
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.map.only-sp .hole-links a {
  width: 4.76%;
  height: auto;
  aspect-ratio: 1 / 1;
}

/* Greenhill PC */
.map--greenhill.only-pc .hole-1  { top: 156px; left: 145px; }
.map--greenhill.only-pc .hole-2  { top: 215px; left: 160px; }
.map--greenhill.only-pc .hole-3  { top: 252px; left: 131px; }
.map--greenhill.only-pc .hole-4  { top: 296px; left: 163px; }
.map--greenhill.only-pc .hole-5  { top: 452px; left: 273px; }
.map--greenhill.only-pc .hole-6  { top: 401px; left: 274px; }
.map--greenhill.only-pc .hole-7  { top: 382px; left: 320px; }
.map--greenhill.only-pc .hole-8  { top: 365px; left: 363px; }
.map--greenhill.only-pc .hole-9  { top: 282px; left: 286px; }
.map--greenhill.only-pc .hole-10 { top: 230px; left: 394px; }
.map--greenhill.only-pc .hole-11 { top: 291px; left: 429px; }
.map--greenhill.only-pc .hole-12 { top: 237px; left: 516px; }
.map--greenhill.only-pc .hole-13 { top: 156px; left: 689px; }
.map--greenhill.only-pc .hole-14 { top: 138px; left: 625px; }
.map--greenhill.only-pc .hole-15 { top:  90px; left: 620px; }
.map--greenhill.only-pc .hole-16 { top:  52px; left: 712px; }
.map--greenhill.only-pc .hole-17 { top:  74px; left: 561px; }
.map--greenhill.only-pc .hole-18 { top: 178px; left: 395px; }
/* Greenhill SP */
.map--greenhill.only-sp .hole-1  { top: 28.3%; left: 17.3%; }
.map--greenhill.only-sp .hole-2  { top: 38.9%; left: 19.2%; }
.map--greenhill.only-sp .hole-3  { top: 45.6%; left: 15.65%; }
.map--greenhill.only-sp .hole-4  { top: 53.3%; left: 19.5%; }
.map--greenhill.only-sp .hole-5  { top: 81.5%; left: 32.6%; }
.map--greenhill.only-sp .hole-6  { top: 72.2%; left: 32.65%; }
.map--greenhill.only-sp .hole-7  { top: 68.8%; left: 38.1%; }
.map--greenhill.only-sp .hole-8  { top: 65.8%; left: 43.2%; }
.map--greenhill.only-sp .hole-9  { top: 50.9%; left: 34.15%; }
.map--greenhill.only-sp .hole-10 { top: 41.6%; left:   47%; }
.map--greenhill.only-sp .hole-11 { top: 52.4%; left: 51.15%; }
.map--greenhill.only-sp .hole-12 { top: 42.7%; left: 61.4%; }
.map--greenhill.only-sp .hole-13 { top: 28.3%; left: 81.95%; }
.map--greenhill.only-sp .hole-14 { top: 25.1%; left: 74.3%; }
.map--greenhill.only-sp .hole-15 { top: 16.3%; left: 73.7%; }
.map--greenhill.only-sp .hole-16 { top:  9.6%; left: 84.85%; }
.map--greenhill.only-sp .hole-17 { top: 13.6%; left: 66.7%; }
.map--greenhill.only-sp .hole-18 { top: 32.25%; left: 47.05%; }

/* Health PC */
.map--health.only-pc .hole-1  { top: 228px; left: 100px; }
.map--health.only-pc .hole-2  { top: 149px; left: 48px; }
.map--health.only-pc .hole-3  { top: 154px; left: 187px; }
.map--health.only-pc .hole-4  { top: 130px; left: 226px; }
.map--health.only-pc .hole-5  { top: 114px; left: 283px; }
.map--health.only-pc .hole-6  { top: 219px; left: 473px; }
.map--health.only-pc .hole-7  { top: 141px; left: 431px; }
.map--health.only-pc .hole-8  { top: 136px; left: 368px; }
.map--health.only-pc .hole-9  { top: 237px; left: 331px; }
.map--health.only-pc .hole-10 { top: 231px; left: 151px; }
.map--health.only-pc .hole-11 { top: 198px; left: 184px; }
.map--health.only-pc .hole-12 { top: 300px; left: 338px; }
.map--health.only-pc .hole-13 { top: 285px; left: 485px; }
.map--health.only-pc .hole-14 { top: 243px; left: 674px; }
.map--health.only-pc .hole-15 { top: 295px; left: 695px; }
.map--health.only-pc .hole-16 { top: 347px; left: 694px; }
.map--health.only-pc .hole-17 { top: 342px; left: 569px; }
.map--health.only-pc .hole-18 { top: 381px; left: 366px; }
/* Health SP */
.map--health.only-sp .hole-1 { top: 47%; left: 12%; }
.map--health.only-sp .hole-2 { top: 30.8%; left: 5.7%; }
.map--health.only-sp .hole-3 { top: 32%; left: 22.3%; }
.map--health.only-sp .hole-4 { top: 27%; left: 27%; }
.map--health.only-sp .hole-5 { top: 23.5%; left: 33.7%; }
.map--health.only-sp .hole-6 { top: 45.3%; left: 56.3%; }
.map--health.only-sp .hole-7 { top: 29.2%; left: 51.3%; }
.map--health.only-sp .hole-8 { top: 28.1%; left: 43.8%; }
.map--health.only-sp .hole-9 { top: 49%; left: 39.4%; }
.map--health.only-sp .hole-10 { top: 47.8%; left: 18%; }
.map--health.only-sp .hole-11 { top: 41%; left: 22%; }
.map--health.only-sp .hole-12 { top: 62%; left: 40.3%; }
.map--health.only-sp .hole-13 { top: 58.9%; left: 57.8%; }
.map--health.only-sp .hole-14 { top: 50.4%; left: 80.2%; }
.map--health.only-sp .hole-15 { top: 61%; left: 82.7%; }
.map--health.only-sp .hole-16 { top: 71.7%; left: 82.7%; }
.map--health.only-sp .hole-17 { top: 70.6%; left: 67.7%; }
.map--health.only-sp .hole-18 { top: 78.8%; left: 43.5%; }

.course-links {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
}
.course-links .course-list__button {
  width: 48%;
}
@media all and (max-width: 767px) {
  .course-links {
    margin-top: 25px;
    gap: 20px;
  }
  .course-links .course-list__button {
    width: 64%;
  }
}

/* カルーセル / モーダル */
.course-carousel {
  margin: 20px 0;
  padding: 15px 40px;
  background-color: #fafafa;
}
/* ---- サムネ（ボタン） ---- */
.course-carousel .thumb {
  appearance: none;
  border: 0;
  padding: 0;
  background: none;
  cursor: pointer;
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
  outline-offset: 3px;
}
.course-carousel .thumb:hover {
  opacity: 0.8;
}
.course-carousel .thumb img {
  display: block;
  width: 100%;
  height: auto;
}
.course-carousel .thumb__hole {
  position: absolute;
  inset: auto auto 10px 10px;
  color: #fff;
  text-shadow: 0 0 8px rgba(0,0,0,.6);
  font-size: .75rem;
  line-height: 1;
  pointer-events: none;
}

/* ---- Splide ナビ矢印微調整（上にかぶらないように） ---- */
.course-carousel .splide__arrow { background: none; z-index: 0; }
.course-carousel .splide__arrow svg { width: 1.6em; height: 1.6em; }
.course-carousel .splide__arrow--prev { left: -30px; }
.course-carousel .splide__arrow--next { right: -30px; }

/* ---- モーダル ---- */
.modal[aria-hidden="true"] {  }
.modal[aria-hidden="false"] {
  opacity: 1;
  pointer-events: auto;
}
.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
}
.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0);
  transition: background-color .24s ease;
  backdrop-filter: blur(3px);
}
.modal[aria-hidden="false"] .modal__overlay {
  background: rgba(0,0,0,.7);   /* 0.7にフェード */
}
.modal__dialog {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, calc(-50% - 40px));
  opacity: 0;
  transition: transform .24s ease, opacity .24s ease;
  width: min(calc(92vw - 36px), 800px); /* ボタン 22px gap 20px video 800px */
  color: #fff;
  border-radius: 14px;
  padding: clamp(.75rem, 1.5vw, 1rem);
}
.modal[aria-hidden="false"] .modal__dialog {
  transform: translate(-50%, -50%);
  opacity: 1;
}
/* モーションを減らしたいユーザー配慮 */
@media (prefers-reduced-motion: reduce) {
  .modal, .modal__overlay, .modal__dialog {
    transition: none !important;
  }
}

.modal__header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.5rem;
}
@media all and (max-width: 767px) {
  .modal__dialog {
    width: min(92vw, 800px);
  }
  .modal__header {
    padding: 0;
  }
}
.modal__headerBtns { display:flex;
  align-items:center;
  gap:.25rem;
}
.modal__title {
  font-size: 22px;
  font-weight: normal;
  margin: 0;
  color: #e8e8e8;
}
.modal__close {
  appearance: none;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  transition: .2s;
}
.modal__close:hover {
  opacity: .8;
}

.modal__body {
  margin-top: 10px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
@media all and (max-width: 767px) {
  .modal__title {
    font-size: 16px;
  }
  .modal__close img {
    width: 18px;
  }
  .modal__body {
    gap: 5px;
  }
}

.video-thumb-wrap {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.video-thumb-wrap video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 9;
  background: #000;
}

.modal__control {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.modal__nav {
  position: absolute;
  top: 50%;
  border:0;
  cursor:pointer;
  width:22px;
  height:auto;
  border-radius:8px;
  background:transparent;
  color:#fff;
  font-size:18px;
  appearance:none;
  transform: translateY(calc(-50% - 15px));
  transition: .2s;
}
.modal__nav:hover {
  opacity: .8;
}
.modal__nav--next {
  right: -40px;
  transform: translateY(calc(-50% - 15px)) rotate(180deg);
}
.modal__nav--prev {
  left: -40px;
}
/* 現在地表示 */
.modal__counter {
  padding: 4px 10px;
  font-size: 16px;
  line-height: 1.2;
  color: #fff;
  pointer-events: none; /* クリックを邪魔しない */
  user-select: none;
}
@media all and (max-width: 767px) {
  .modal__nav {
    position: relative;
    top: auto;
    /* bottom: 0; */
    /* z-index: 2; */
    width: 11px;
  }
  .modal__nav--next {
    right: auto;
    transform: rotate(180deg) scale(0.6);
  }
  .modal__nav--prev {
    left: auto;
    transform: scale(0.6);
  }
  .modal__counter {
    right: 50%;
    bottom: 2px;
  }
}

/**
 * コースガイド：ホール詳細
 */
.box-course:has(.box-course__header) {
  padding: 0;
}
.box-course__header {
  padding: 10px;
  background-color: #CDF0FD;
}
.box-course__header.-health {
  background-color: #E2ECD9;
}
.box-course__header .box-course__nav {
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.box-course__header .box-course__nav .course__nav {
  margin-top: 0;
  border: none;
}
.box-course__header.-health .box-course__nav .course__nav.-preview a,
.box-course__header.-health .box-course__nav .course__nav.-next a,
.box-course__header.-health .box-course__nav .course__nav.-preview i.fa,
.box-course__header.-health .box-course__nav .course__nav.-next i.fa {
  color: #6EA251;
}
.box-course__content-wrap {
  padding: 20px;
  box-sizing: border-box;
}
.box-course__content {
  margin: 0 auto;
  background-color: #fff;
  box-sizing: border-box;
}
.box-course__content + .box-course__content {
  margin-top: 20px;
}
.box-course__content-title {
  margin: 0;
  padding: 9px 20px;
  background-color: #d3d9df;
  font-size: 18px;
  font-weight: 400;
  box-sizing: border-box;
  text-align: center;
}
.box-course__content-inner {
  padding: 20px;
  background-color: #fff;
}
.box-course__content > video {
  margin-bottom: 20px;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
.box-course__content .box-course__img {
  margin-top: 20px;
  width: 100%;
}
.box-course__content .mod-table th {
  white-space: nowrap;
}

@media (min-width: 1024px) {
  .box-course__content {
    width: 60%;
  }
}
@media (max-width: 1024px) {
  .box-course__content {
    width: 100%;
  }
  .box-course__content-title {
    font-size: 16px;
  }
}

/* Hole Splide */
.box-course__content .splide {
  background-color: #d3d9df;
}
.box-course__content .splide video,
.box-course__content .splide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#thumbnail-carousel {
  padding: 10px 35px;
}
#thumbnail-carousel:not(.is-overflow) .splide__list {
  justify-content: center;
}
#thumbnail-carousel .splide__slide {
  border: 2px solid transparent;
}
#thumbnail-carousel .splide__slide.is-active {
  border: 2px solid #fff;
}
#thumbnail-carousel .splide__arrow {
  background: transparent;
}
#thumbnail-carousel .splide__arrow--prev {
  left: 5px;
}
#thumbnail-carousel .splide__arrow--next {
  right: 5px;
}
.splide__video__play {
  visibility: hidden !important;
}

/* コース図 */
.hole-details {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  width: 100%;
}
.hole-details__hole {
  position: relative;
  width: 63%;
}
.hole-details__elevation-diff {
  width: 37%;
}
.hole-details__hole img,
.hole-details__elevation-diff img {
  width: 100%;
  height: auto;
  display: block;
}
.mt-fuji {
  position: absolute;
  width: 60px;
  height: 40px;
}
@media (max-width: 652px) {
  .hole-details {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .hole-details__hole {
    width: 100%;
  }
  .hole-details__elevation-diff {
    width: 60%;
  }
  .mt-fuji {
    position: absolute;
    width: 30px;
    height: 20px;
  }
}
.mt-fuji.mt-fuji--gh-hole01 { top: 10px; left: 10px; }
.mt-fuji.mt-fuji--gh-hole05 { top: 10px; right: 10px; }
.mt-fuji.mt-fuji--gh-hole06 { top: 10px; left: 10px; }
.mt-fuji.mt-fuji--gh-hole09 { top: 10%; left: 10px;}
.mt-fuji.mt-fuji--h-hole01 { top: 10px; left: 10px; }
.mt-fuji.mt-fuji--h-hole03 { bottom: 5px; right: 10px; }
.mt-fuji.mt-fuji--h-hole05 { left: 50%; position: relative; transform: translateX(-50%); bottom: -5px; }
.mt-fuji.mt-fuji--h-hole06 { top: 50%; left: 10px;}
.mt-fuji.mt-fuji--h-hole07 { top: 5px; left: 10px;}
.mt-fuji.mt-fuji--h-hole09 { top: 5px; left: 10px; }
.mt-fuji.mt-fuji--h-hole18 { top: 5px; right: 10px; }

/* グリーン図 */
.box-course__content--2col {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  background-color: transparent;
}
.box-course__content--2col > div {
  width: calc((100% - 20px) / 2);
}
.box-course__content--2col > div img {
  width: 100%;
  height: auto;
  display: block;
}


@media (max-width: 652px) {
  .box-course__content--2col {
    flex-direction: column;
  }
  .box-course__content--2col > div {
    width: 100%;
  }
  .box-course__content--2col > div img {
    margin: 0 auto;
    min-width: 200px;
    width: 60%;
  }
}


/* point表 */
.table-wrap {

}
.table-wrap.-table-wrap-cols {
  display: flex;
}
.scroll-side-grad {
  position: relative;
}
.scroll-side-grad::before,
.scroll-side-grad::after {
  content: '';
  position: absolute;
  top: 0;
  z-index: 2;
  display: block;
  width: 20px;
  height: 100%;
}
.scroll-side-grad::before {
  left: 0;
  background-image: linear-gradient(to left, transparent, #fff);
}
.scroll-side-grad::after {
  right: 0;
  background-image: linear-gradient(to right, transparent, #fff);
}
.table-wrap.-table-wrap-scroll {
  position: relative;
  overflow-x: auto;
}
.table-wrap.-table-wrap-scroll table {
  min-width: 630px;
}
@media (max-width: 519px) {
  .table-wrap.-table-wrap-cols {
    flex-direction: column;
  }
  .table-wrap.-table-wrap-cols td {
    width: 50%;
  }
  .table-wrap.-table-wrap-cols table:not(:first-child) thead {
    display: none;
  }
  .table-wrap.-table-wrap-cols table:not(:first-child) {
    border-top: none;
  }

}