@charset "utf-8";
/*+++++++++++++++++++++++++++++++++++++++++
  　施設案内
  　/facility
*+++++++++++++++++++++++++++++++++++++++++*/
.facility .page__head {
  background-image: url(../images/facility/KV.jpg);
}
/* リスト */
@media ( max-width: 767px ) {
  .facility__list img {
    width: 100%;
  }
  .facility__list-text {
    line-height: 1.4;
  }
  .facility .page__head {
    background-image: url(../images/facility/KV_sp.jpg);
  }
}

/* 特設ブロック */
.facility-feature:nth-of-type(n+2) .bg {
  padding-bottom: min( 7.87vw, 85px );
}
.facility-feature:nth-of-type(n+2) {
  margin-top: min( 1.48vw, 16px );
}
.facility-feature__box {
  display: flex;
  flex-direction: column;
}
.facility-feature__box-text {
  margin-top: min( 3.52vw, 38px );
}
.facility-feature__profile {
  margin-top: min( 3.8vw, 41px );
  display: flex;
  flex-direction: row;
  gap: min( 1.48vw, 16px );
}
.facility-feature__profile__img {
  width: min( 12.96vw, 140px );
  height: min( 12.96vw, 140px );
}
.facility-feature__profile__cnt {
  margin-top: max( -0.46vw, -5px );
  width: calc(100% - min( 14.44vw, 156px ));
}
.facility-feature__profile__cnt dt span {
  margin-bottom: min( 1.48vw, 7px );
  display: block;
  font-size: min( 1.11vw, 12px );
}
.facility-feature__profile__cnt dd {
  margin-top: min( 1.2vw, 13px );
  font-size: min( 1.2vw, 13px );
}
.facility-feature__box-btn {
  margin-top: min( 5.19vw, 56px );
}
.facility-feature__img {
  margin-top: min( 0.19vw, 2px );
}
@media ( max-width: 767px ) {
  .facility-featureArea {
    margin-top: 50px;
  }
  .facility-feature:nth-of-type(n+2) {
    margin-top: 16px;
  }
  .facility-feature:nth-of-type(n+2) .bg {
    padding-bottom: 56px;
  }
  .facility-feature .grid {
    gap: 30px;
  }
  .facility-feature__box {
    order: 2;
  }
  .facility-feature__box-text {
    margin-top: 25px;
  }
  .facility-feature__profile {
    margin-top: 27px;
    gap: 16px;
  }
  .facility-feature__profile__img {
    width: 80px;
    height: 80px;
  }
  .facility-feature__profile__cnt {
    margin-top: -5px;
    width: calc(100% - 96px );
  }
  .facility-feature__profile__cnt dt span {
    margin-bottom: 4px;
    font-size: 11px;
  }
  .facility-feature__profile__cnt dd {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.4;
  }
  .facility-feature__img {
    order: 1;
  }
  .facility-feature__img img {
    width: 100%;
  }
  .facility-feature__box-btn {
    margin-top: 34px;
  }
}
/* その他施設 */
.facility-other {
  margin-top: min( 6.94vw, 75px );
}
.facility-other.facility-nofeature .inner {
  border-top: var(--gray07_5) solid 1px;
  padding-top: min( 6.94vw, 75px );
}
.facility-other .grid {
  margin-top: min( 3.98vw, 43px );
}
.facility-other__box {
  display: flex;
  flex-direction: row;
  gap: min( 1.48vw, 16px );
}
.facility-other__box--img {
  width: min( 7.41vw, 80px );
}
.facility-other__box--img img {
  margin-top: min( 0.37vw, 4px );
}
.facility-other__box--cnt {
  display: flex;
  flex-direction: column;
  gap: min( 0.83vw, 9px );
  width: calc( 100% - min( 8.89vw, 96px ));
}
.facility-other__box--cnt dt {
  font-size: min( 1.67vw, 18px );
}
@media ( max-width: 767px ) {
  .facility-other {
    margin-top: 50px;
  }
  .facility-other.facility-nofeature .inner {
    padding-top: 50px;
  }
  .facility-other .grid {
    margin-top: 28px;
    gap: 28px;
  }
  .facility-other__box {
    gap: 16px;
  }
  .facility-other__box--img {
    width: 80px;
  }
  .facility-other__box--cnt {
    gap: 6px;
    width: calc( 100% - 96px);
  }
  .facility-other__box--cnt dt {
    font-size: 15px;
    letter-spacing: 0.02em;
  }
  .facility-other__box--cnt dd {
    line-height: 1.4;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　トピックス詳細
*+++++++++++++++++++++++++++++++++++++++++*/
.topics {
  margin-top: min( 7.41vw, 80px );
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.topics__head {
  padding-top: min( 6.85vw, 74px );
  display: flex;
  flex-direction: row;
  gap: min( 5.19vw, 56px );
}
.topics__head-img {
  margin-top: min( 0.65vw, 7px );
  max-width: 590px ;
  width: 54.63vw;
}
.topics__head-img img {
  border-radius: 0 min( 0.83vw, 9px ) min( 0.83vw, 9px ) 0;
}
.topics__head-cnt {
  margin-right: min( 12.59vw, 136px );
  width: calc(100% - 54.63vw - 5.19vw);
}
.topics__title {
  font-size: min( 2.96vw, 32px );
  letter-spacing: 0.04em;
}
.topics__date {
  margin-top: min( 1.67vw, 18px );
  font-size: min( 1.67vw, 18px );
}
.topics__intro {
  margin-top: min( 1.2vw, 13px );
  line-height: 1.8;
}

.topics__content > section {
  margin-top: min( 10.19vw, 110px );
}
.topics__content section > * {
  margin-top: min( 2.96vw, 32px );
}
.topics__content h2 {
  font-size: min( 2.04vw, 22px );
  font-weight: var(--f_weight-700);
  letter-spacing: 0.04em;
}
.topics__content p {
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.topics__content ul {
  list-style: none;
}
.topics__content ul li {
  position: relative;
  padding-left: min(calc(100vw/1080 * 20),20px);
}
.topics__content ul li::before {
  content: '';
  position: absolute;
  top: min(calc(100vw/1080 * 8),8px);
  left: min(calc(100vw/1080 * 6),6px);
  border-radius: 50%;
  background-color: var(--gray03);
  width: min(calc(100vw/1080 * 4),4px);
  height: min(calc(100vw/1080 * 4),4px);
}
.topics__content ol {
  margin-left: min(calc(100vw/1080 * 16),16px);
  list-style: decimal;
}
.topics__content li:nth-of-type(n+2) {
  margin-top: min( 1.48vw, 16px );
}
.topics__content img {
  margin: min(calc(100vw/1080 * 80),80px) 0;
  display: block;
  max-width: min( 51.48vw, 556px );
}
.topics__content-link {
  padding-right: min( 2.5vw, 27px );
  display: block;
  position: relative;
  color: var(--gold01);
  width: fit-content;
}
.topics__content-link::after {
  content: url(../images/icon/arrows_gold.svg);
  position: absolute;
  top: 0;
  right: 0;
  width: min( 2.22vw, 24px );
  height: min( 2.22vw, 24px );
}
.topics__content-link.topics__content-otherlink::after {
  content: url(../images/icon/otherlink_gold.svg);
}
.topics__content-link.topics__content-pdf::after {
  background: url(../images/icon/pdf_news_gold.png);
  content: "";
  background-size: contain;
}
.topics__content-link:hover {
  opacity: 0.6;
}
.topics__content section .topics__content-caption {
  margin-top: min( 0.19vw, 2px );
  font-size: min( 1.2vw, 13px );
  letter-spacing: 0.04em;
  color: var(--gray05);
}

.topics__content a {
  color: var(--gold01);
  font-weight: var(--f_weight-500);
}
.topics__content a:hover {
  opacity: 0.8;
}

@media ( min-width: 768px ) {
  .topics__head.inner {
    max-width: 100%;
  }
}
@media ( max-width: 767px ) {
  .topics {
    margin-top: 60px;
  }
  .topics__head {
    padding-top: 34px;
    flex-direction: column;
    gap: 19px;
  }
  .topics__head-img {
    max-width: 100%;
    width: 100%;
  }
  .topics__head-img img {
    border-radius: 5px;
  }
  .topics__head-cnt {
    margin-right: 0;
    width: 100%;
  }
  .topics__title {
    font-size: 24px;
  }
  .topics__date {
    margin-top: 15px;
    font-size: 14px;
  }
  .topics__intro {
    margin-top: 7px;
    line-height: 1.6;
  }

  .topics__content > section {
    margin-top: 71px;
  }
  .topics__content section > * {
    margin-top: 21px;
  }
  .topics__content h2 {
    font-size: 18px;
  }
  .topics__content p {
    line-height: 1.6;
  }
  .topics__content ul li {
    padding-left: 16px;
  }
  .topics__content ul li::before {
    top: 8px;
    left: 5px;
    width: 4px;
    height: 4px;
  }
  .topics__content ol {
    margin-left: 15px;
  }
  .topics__content li:nth-of-type(n+2) {
    margin-top: 11px;
  }
  .topics__content img {
    margin: 48px 0;
    max-width: 100%;
  }
  .topics__content-link {
    padding-right: 27px;
    display: block;
    position: relative;
    color: var(--gold01);
    width: fit-content;
  }
  .topics__content-link::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 24px;
    height: 24px;
  }
  .topics__content-link:hover {
    opacity: 0.6;
  }
  .topics__content section .topics__content-caption {
    margin-top: 2px;
    font-size: 13px;
    letter-spacing: 0.04em;
    color: var(--gray05);
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　イベント(一覧）
*+++++++++++++++++++++++++++++++++++++++++*/
.eventArea {
  margin-top: min( 5vw, 54px );
}
.event__newsList {
  margin-top: min( 5.28vw, 57px );
}

.cardList {
  margin-top: min( 11.2vw, 121px );
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: min( 7.41vw, 80px ) min( 5.19vw, 56px );
}
.cardList li {
  border: 1px solid var(--gray07_5);
}

.cardList-img {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding-top: 70.4545%;
}
.cardList-img img {
  transition-duration: 0.5s;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.cardList-box {
  padding: min( 1.67vw, 18px ) min( 2.96vw, 32px ) min( 1.39vw, 15px ) min( 2.96vw, 32px );
  background: var(--desert10_5);
}
.cardList-cnt {
  height: min( 11.3vw, 122px );
}
.cardList-date {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.cardList-title {
  margin-top: min( 0.37vw, 4px );
  font-size: min( 2.04vw, 22px );
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.cardList-label {
  margin-top: min( 0.74vw, 8px );
  padding: min( 0.37vw, 4px ) min( 0.74vw, 8px ) min( 0.46vw, 5px );
  width: fit-content;
  border-radius: 2px;
  background: var(--gray04);
  line-height: 1.1;
  font-size: min( 1.02vw, 11px );
  font-weight: var(--f_weight-500);
  letter-spacing: 0.02em;
  color: var(--white);
}
.cardList-label.cardList-label-red {
  background: var(--red01);
}

.cardList-link {
  margin-top: min( 2.41vw, 26px );
  padding-top: min( 1.11vw, 12px );
  border-top: 1px solid var(--gray07_5);
  text-align: center;
}
.cardList-link span {
  position: relative;
  font-size: min( 1.2vw, 13px );
  font-weight: var(--f_weight-500);

  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.cardList-link span::after {
  content: '';
  display: inline-block;
  border-top: 1px solid var(--gray03);
  border-right: 1px solid var(--gray03);
  transform: rotate(45deg);
  width: 8px;
  height: 8px;
  margin-left: 15px;
  position: relative;
  top: 1px;
  right: 8px;
}

.cardList a:hover:hover img {
  transform: scale( 1.15, 1.15 );
  transition-duration: 0.5s;
}
.cardList a:hover .cardList-link span {
  color: var(--gold);
}
.cardList a:hover .cardList-link span::after {
  border-color: var(--gold);
}

/* 記事がない時 */
.events__none__text {
  margin-top: min(calc(100vw/1080 * 60),60px);
}
.events__none__text a {
  text-decoration: underline;
  text-underline-offset: 2px;
  color: var(--gold01);
}
.events__none__text a:hover {
  opacity: 0.6;
}

@media ( max-width: 767px ) {
  .eventArea {
    margin-top: 32px;
  }
  .event__newsList {
    margin-top: 26px;
  }
  .newsList li a {
    flex-direction: column;
    gap: 8px;
    padding: 16px 28px 12px 0;
  }
  .cardList {
    margin-top: 72px;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 60px;
  }
  .cardList li {
    width: 100%;
  }
  .cardList li img {
    width: 100%;
  }
  .cardList-img {
    padding-top: 70.6395%;
  }
  .cardList-box {
    padding: 18px 23px 15px 23px;
  }
  .cardList-cnt {
    height: 110px;
  }
  .cardList-title {
    margin-top: 8px;
    font-size: 18px;
    line-height: 1.4;
  }
  .cardList-label {
    margin-top: 11px;
    padding:3px 7px 4px;
    font-size: 11px;
  }
  .cardList-link {
    margin-top: 23px;
    padding-top: 14px;
  }
  .cardList-link span {
    font-size: 13px;
  }
  .cardList-link span::after {
    right: 10px;
  }
  /* 記事がない時 */
  .events__none__text {
    margin-top: 47px;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　イベント(詳細）
*+++++++++++++++++++++++++++++++++++++++++*/
/* イベント情報
=================================*/
.eventDetail {
  padding-top: min(7.41vw, 80px);
}
.eventDetail__attention {
  padding: min( 3.98vw, 43px ) 0;
  background: var(--red10);
  color: var(--red01);
}

.eventDetail__area {
  margin-top: min( 6.94vw, 75px );
  width: calc(100% - calc(50vw - (min(91.25vw, 1168px))/2));
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  gap: min( 5.19vw, 56px );
}
.eventDetail__area-img {
  width: min( 45.19vw, 488px );
  /* margin-top: min( 0.56vw, 6px ); */
}
.eventDetail__area-img img {
  width: 100%;
}
.eventDetail__area-cnt {
  width: calc(100% - min( 50.37vw, 544px ));
}

.eventDetail__info {
  max-width: min( 51.48vw, 556px );
}
.eventDetail__title {
  margin-top: min( 0.83vw, 9px );
  font-size: min( 2.78vw, 30px );
}
.eventDetail__intro {
  margin-top: min( 0.83vw, 9px );
  max-width: min( 42.04vw, 454px );
  line-height: 1.8;
}

.eventDetail__pdf {
  margin-top: min( 1.02vw, 11px );
  padding: min( 0.28vw, 3px ) min( 2.78vw, 30px ) min( 0.28vw, 3px ) 0;
  display: block;
  position: relative;
  width: fit-content;
}
.eventDetail__pdf::after {
  content: "";
  position: absolute;
  top: calc((100% - min( 2.22vw, 24px ))/2);
  right: 0;
  width: min( 2.22vw, 24px );
  height: min( 2.22vw, 24px );
  background: url(../images/icon/pdf_black.svg) no-repeat;
  background-size: min( 2.22vw, 24px );
}
.eventDetail__btn {
  margin-top: min( 3.52vw, 38px );
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: min( 2.22vw, 24px );
}
.eventDetail__btn .btn {
  width: min( 25.93vw, 280px );
}
.eventDetail__list {
  margin-top: min( 5.56vw, 60px );
}
.eventDetail__list dl {
  border-top: 1px solid var(--gray07_5);
  padding: min( 1.67vw, 18px ) 0;
  display: flex;
  flex-direction: row;
  position: relative;
}
.eventDetail__list dl:last-of-type {
  border-bottom: 1px solid var(--gray07_5);
}
.eventDetail__list dt {
  width: min( 11.11vw, 120px );
  font-weight: var(--f_weight-500);
}
.eventDetail__list dd {
  width: calc(100% - min( 11.11vw, 120px ));
}
.eventDetail__list-comment {
  margin-top: min( 1.02vw, 11px );
  font-size: min( 1.2vw, 13px );
}
.eventDetail__list-comment p:nth-of-type(n+2) {
  margin-top: min( 0.28vw, 3px );
}
@media ( min-width: 768px ) {
  .eventDetail__area.inner {
    max-width: 100%;
  }
}
@media ( max-width: 767px ) {
  .eventDetail {
    padding-top: 60px;
  }
  .eventDetail__attention {
    padding: 23px 0;
  }
  .eventDetail__area {
    width: 100%;
    max-width: min(91.25vw, 1168px);
    margin: 0 auto;
    margin-top: 34px;
    flex-direction: column;
    gap: 24px;
  }
  .eventDetail__area-img,
  .eventDetail__info,
  .eventDetail__area-cnt {
    width: 100%;
    max-width: 100%;
  }
  .eventDetail__area-cnt {
    padding-right: 0;
  }
  .eventDetail__title {
    margin-top: 10px;
    font-size: 24px;
  }
  .eventDetail__intro {
    margin-top: 11px;
    line-height: 1.6;
    max-width: 100%;
  }
  .eventDetail__pdf {
    margin-top: 21px;
    padding: 3px 30px 3px 0;
  }
  .eventDetail__pdf::after {
    width: 24px;
    height: 24px;
    background-size: 24px;
    top: calc((100% - 24px )/2);
  }
  .eventDetail__btn {
    margin-top: 40px;
    flex-direction: column;
    gap: 20px;
  }
  .eventDetail__btn .btn {
    width: 100%;
    max-width: 100%;
    height: 56px;
  }
  .eventDetail__btn .btn::after {
    right: 15px;
  }
  .eventDetail__list {
    margin-top: 56px;
    max-width: 100%;
  }
  .eventDetail__list dl {
    padding: 19px 0;
  }
  .eventDetail__list dt {
    width: 80px;
  }
  .eventDetail__list-comment {
    margin-top: 16px;
    font-size: 12px;
  }
  .eventDetail__list-comment p:nth-of-type(n+2) {
    margin-top: 3px;
  }
}

/* 賞品一覧
=================================*/
.eventDetail__prize {
  margin-top: min( 6.02vw, 65px );
}
.eventDetail__prize__list {
  margin-top: min( 3.8vw, 41px );
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: min( 5.19vw, 56px );
}
.eventDetail__prize__caption {
  margin-top: min(calc(100vw/1080 * 12),12px);
  font-size: min( 1.67vw, 18px );
  line-height: 1.4;
}
@media ( max-width: 767px ) {
  .eventDetail__prize {
    margin-top: 65px;
  }
  .eventDetail__prize__list {
    margin-top: 28px;
    grid-template-columns: 1fr 1fr;
    gap: 28px 16px;
  }
  .eventDetail__prize__caption {
    margin-top: 10px;
    font-size: 15px;
  }
}

/* その他のイベント / オープンコンペ
=================================*/
.eventDetail__other {
  margin-top: min( 13.43vw, 145px );
}
.eventDetail__other .title02 {
  position: relative;
}
.eventDetail__other .title02::after {
  content: "";
  display: inline-block;
  width: min(1.48vw, 16px);
  height: 2px;
  background-color: var(--gold03);
  position: absolute;
  top: min(calc(100vw/1080 * 21),21px);
  left: max( -4vw, -56px );
}

.eventDetail__other .scrolls {
  width: 100%;
  -ms-overflow-style: none;
  scrollbar-width: none;
  cursor: grab;
}
.eventDetail__other .scrolls .cardList:active {
  cursor: grabbing;
}

.eventDetail__other .cardList {
  margin-top: min( 6.48vw, 70px );
  /* margin-left: calc(50vw - (min(91.25vw, 1168px))/2); */
  display: flex;
}
.eventDetail__other .cardList li {
  width: min(27vw, 352px );
  margin: 0 min(2.59vw, 28px);
  flex-shrink: 0;
}
.eventDetail__other .other__slider .slick-slide {
  width: min(27vw, 352px);
}
.eventDetail__other .other__slider .slick-list {
  padding: 0px calc(50vw - (min(91.25vw, 1168px) / 2));
}
.eventDetail__other .other__slider {
  overflow: hidden;
  padding-bottom: 38px;
}
.eventDetail__other .other__slider .slick-dots {
  position: absolute;
  bottom: 5px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 5px;
  gap: 2px;
}
.eventDetail__other .other__slider .slick-dots li {
  border: none;
  width: 20px;
  margin: 0;
}
.eventDetail__other .other__slider .slick-dots button {
  padding: 0;
  color: transparent;
  outline: none;
  width: 20px;
  border: unset;
  height: 1px;
  display: block;
  background: var(--gray03);
  opacity: 0.3;
  cursor: pointer;
}
.eventDetail__other .other__slider .slick-dots .slick-active button {
  opacity: 1;
}
@media ( max-width: 767px ) {
  .eventDetail__other {
    margin-top: 60px;
  }
  .eventDetail__other .title02 {
    line-height: 1.4;
  }
  .eventDetail__other .title02.inner {
    margin-left: 0;
    padding-left: calc((100vw - min(91.25vw, 1168px))/2);
  }
  .eventDetail__other .title02::after {
    width: 8px;
    height: 2px;
    top: 15px;
    left: 0;
  }
  .eventDetail__other .cardList {
    margin-top: 42px;
    gap: 17px;
  }
  .eventDetail__other .cardList li {
    width: 206px!important;
    margin: 0 8px;
  }

  .eventDetail__other .cardList-box {
    padding: 15px 15px 12px 15px;
  }
  .eventDetail__other .cardList-cnt {
    height: 72px;
  }
  .eventDetail__other .cardList-title {
    margin-top: 9px;
    font-size: 15px;
  }
  .eventDetail__other .cardList-link {
    margin-top: 15px;
    padding-top: 8px;
  }
  .eventDetail__other .cardList-link span {
    font-size: 12px;
  }
  .eventDetail__other .other__slider .slick-dots li {
    width: 20px!important;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　お知らせ（一覧）
*+++++++++++++++++++++++++++++++++++++++++*/
.news__label {
  padding: min( 0.37vw, 4px ) 0;
  border: 1px solid var(--gold01);
  border-radius: 2px;
  width: min( 10.37vw, 112px );
  text-align: center;
  color: var(--gold01);
  font-size: min( 1.11vw, 12px );
  line-height: 1.0;
}
@media ( max-width: 767px ) {
  .news__label {
    padding: 3px 0;
    width: 96px;
    font-size: 11px;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　お知らせ（詳細）
*+++++++++++++++++++++++++++++++++++++++++*/
.newsDetail__head {
  padding-top: min( 4.72vw, 51px );
}
.newsDetail__head-box {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: min( 2.04vw, 22px );
}
.newsDetail__title {
  margin-top: min( 1.94vw, 21px );
  font-size: min( 2.78vw, 30px );
}
.news__content > section:first-of-type {
  margin-top: min( 7.41vw, 80px );
}
.newsDetail__back {
  margin-top: min( 14.81vw, 160px );
  padding-top: min( 5.93vw, 64px );
  border-top: 1px solid var(--gray07_5);
}
.newsDetail__back .btn {
  margin: 0 auto;
}
.newsDetail__btn--pdf::after {
  background: url(../images/icon/pdf_news_gold.png);
  content:"";
  background-size: contain;
}
.newsDetail__btn--pdf:hover::after {
  background: url(../images/icon/pdf_news_white.png);
  content:"";
  background-size: contain;
}
@media ( max-width: 767px ) {
  .newsDetail__head {
    padding-top: 41px;
  }
  .newsDetail__title {
    margin-top: 15px;
    font-size: 24px;
    line-height: 1.4;
  }
  .news__content > section:first-of-type {
    margin-top: 45px;
  }
  .newsDetail__back {
    margin-top: 73px;
    padding-top: 40px;
  }
  .newsDetail__back .btn {
    width: 100%;
    max-width: 100%;
    height: 56px;
  }
  .newsDetail__btn::after {
    right: 22px;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　レストラン
  　/restaurant
*+++++++++++++++++++++++++++++++++++++++++*/
.restaurant .page__head {
  background-image: url(../images/restaurant/KV.jpg);
}

.restaurant .title02 {
  position: relative;
}
.restaurant .title02::before {
  content: "";
  display: inline-block;
  width: min(1.48vw, 16px);
  height: min(0.19vw, 2px);
  background-color: var(--gold03);
  position: absolute;
  top: 50%;
  left: max(-3.7vw, -40px);
}
@media ( max-width: 767px ) {
  .restaurant .page__head {
    background-image: url(../images/restaurant/KV_sp.jpg);
  }
  .restaurant .title02::before {
    height: 2px;
    left: -4.375vw;
    width: 8px;
  }
}
.restaurant__intro {
  margin-top: min( 5.09vw, 55px );
}
.restaurant__intro--img {
  margin-top: min( 0.83vw, 9px );
}
.restaurant__nav {
  margin-top: min( 11.11vw, 120px );
}
.restaurant__news {
  margin-top: min( 10.19vw, 110px );
}
.restaurant__news .newsList {
  margin-top: min( 3.8vw, 41px );
}
.restaurant__season {
  margin-top: min( 7.78vw, 84px );
  padding-top: min( 3.52vw, 38px );
}
.restaurant__season_color  {
  padding-top: min( 10vw, 108px );
  padding-bottom: min( 11.11vw, 120px );
}
.restaurant__season .grid {
  margin-top: min( 6.57vw, 71px );
}
.restaurant__season .restaurant__season_img {
  position: relative;
  width: 100%;
  padding-top: 70.5035%;
}
.restaurant__season .restaurant__season_img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.restaurant__grand_img {
  position: relative;
  width: 100%;
  padding-top: 70.5035%;
}
.restaurant__grand_img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.restaurant__grandmenu {
  padding-top: min( 13.52vw, 146px );
  margin-top: 0;
}
.restaurant__box {
  margin-top: min( 5.65vw,61px );
}
.restaurant__box:nth-of-type(n+2) {
  margin-top: min( 9.63vw, 104px );
}
.restaurant__box .title03 {
  margin-bottom: min( 3.8vw, 41px );
}
.restaurant__grandmenu--lunch {
  row-gap: min( 3.89vw, 42px );
}
.restaurant__box--desc {
  margin-top: max( -0.74vw, -8px );
}
.restaurant__box .title04 {
  margin-top: min( 5.93vw, 64px );
}
.restaurant__box .title04 + .grid {
  margin-top: min( 2.41vw, 26px );
}
.restaurant__box .title04 + p {
  margin-top: min( 1.67vw, 18px );
}
.restaurant__box .title04 + p + .grid {
  margin-top: min( 2.22vw, 24px );
}

.restaurant__drinkmenu {
  padding-top: min( 13.52vw, 146px );
  margin-top: 0;
}
.restaurant__drinkmenu .twoList li {
  padding: min( 2.41vw, 26px ) 0;
}
.restaurant__attention {
  margin-top: min( 2.5vw, 27px );
  font-size: 13px ;
}

.restaurant__drinkbar {
  padding: min( 5.83vw, 62px) min( 6.67vw, 72px ) min( 7.59vw, 82px );
}
.restaurant__drinkbar--list {
  display: grid;
  grid-template-columns: calc(100% - min( 33.33vw, 360px )) min( 28.15vw, 304px );
  gap: min( 5.19vw,56px );
}
.restaurant__drinkbar--catch {
  margin-top: min( 3.15vw, 34px );
  font-size: min( 1.48vw, 18px );
}
.restaurant__drinkbar--text {
  margin-top: min( 1.57vw, 17px );
}

.restaurant__last {
  margin-top: min( 10.56vw, 114px );
  font-size: min( 1.3vw, 14px );
}
.restaurant__last + .breadcrumbs {
  margin-top: min( 3.24vw, 35px );
}

@media ( max-width: 767px ) {
  .restaurant__intro {
    margin-top: 37px;
  }
  .restaurant__intro .grid {
    gap: 29px;
  }
  .restaurant__intro .grid > p {
    order: 2;
  }
  .restaurant__intro--img {
    order: 1;
  }

  .restaurant__nav {
    margin-top: 75px;
  }

  .restaurant__news {
    margin-top: 72px;
  }
  .restaurant__news .newsList {
    margin-top: 26px;
  }

  .restaurant__season {
    padding-top: 110px;
  }
  .restaurant__season .grid {
    margin-top: 49px;
  }
  .restaurant__season .restaurant__season_img {
    padding-top: 70.6395%;
  }
  .restaurant__grandmenu {
    padding-top: 108px;
  }
  .restaurant__box {
    margin-top: 40px;
  }
  .restaurant__box:nth-of-type(n+2) {
    margin-top: 72px;
  }
  .restaurant__box .title03 {
    margin-bottom: 26px;
  }

  .restaurant__grandmenu--lunch li {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .restaurant__grandmenu--lunch li  dt {
    margin-top: 0;
  }

  .restaurant__grandmenu--lunch {
    row-gap: 32px;
  }

  .restaurant__box .title04 {
    margin-top: 43px;
  }

  .restaurant__box .title04 + .grid:not(.twoList) li {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .restaurant__box .title04 + .grid:not(.twoList) {

    gap: 35px;
  }

  .restaurant__box .title04 + .grid {
    margin-top: 27px;
  }

  .restaurant__box .title04 + .grid li dt {
    margin-top: 0;
  }

  .restaurant__box .title04 + p + .grid {
    margin-top: 26px;
  }

  .restaurant__drinkmenu {
    padding-top: 115px;
  }
  .restaurant__drinkmenu .twoList li {
    padding: 19px 0;
  }

  .restaurant__drinkbar {
    padding: 16px;
    padding-bottom: 34px;
  }
  .restaurant__drinkbar--list {
    grid-template-columns: 1fr;
  }
  .restaurant__drinkbar--cnt {
    order: 2;
  }
  .restaurant__drinkbar--img {
    order: 1;
  }
  .restaurant__drinkbar--img img {
    width: 100%;
  }
  .restaurant__drinkbar--catch {
    margin-top: 10px;
    font-size: 15px;
  }
  .restaurant__last {
    margin-top: 96px;
    font-size: 12px;
    margin-right: 17px;
  }

  .restaurant__last + .breadcrumbs {
    margin-top: 36px;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　お知らせ
*+++++++++++++++++++++++++++++++++++++++++*/
/* 共通 */
:is(.news__important, .news__category) .newsList__box {
  display: flex;
  align-items: center;
  gap: min(calc(100vw / var(--basis-width) * 24), 24px);
}
:is(.news__important, .news__category) .newsList li a {
  align-items: center;
}
:is(.news__important, .news__category) .news__cat {
  padding: 2px;
  font-size: min(1.03vw, 12px);
  text-align: center;
  border-radius: 2px;
  font-weight: var(--f_weight-500);
  min-width: min(calc(100vw / var(--basis-width) * 112), 112px);
}
:is(.news__important, .news__category) .news__title {
  width: calc(100% - min(calc(100vw / var(--basis-width) * 280), 280px));
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

/* 重要なお知らせ */
.news__important {
  margin-top: min(calc(100vw / var(--basis-width) * 54), 54px);
}
.news__important .title03 {
  margin-bottom: min(calc(100vw / var(--basis-width) * 41), 41px);
}
.news__important .news__cat {
  background: var(--red01);
  color: var(--white);
}
.news__important .news__title {
  font-weight: var(--f_weight-700);
}

/* カテゴリー */
.news__category {
  margin-top: min(calc(100vw / var(--basis-width) * 98), 98px);
}
.news__category .news__category_tab {
  display: flex;
  position: relative;
}
.news__category .news__category_tab::after {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--gray07_5);
  position: absolute;
  bottom: 0;
  left: 0;
}
.news__category .news__category_tab li {
  padding: min(calc(100vw / var(--basis-width) * 19), 19px)
    min(calc(100vw / var(--basis-width) * 40), 40px);
  text-align: center;
  font-weight: var(--f_weight-500);
  transition: 0.3s;
  position: relative;
  z-index: 2;
  white-space: nowrap;
}
.news__category .news__category_tab .tab.is-active {
  color: var(--gold);
  font-weight: var(--f_weight-700);
}
.news__category .news__category_tab .tab::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: var(--gold);
  bottom: 0;
}
.news__category .news__category_tab .tab:not(.is-active)::after {
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
  z-index: 15;
}
.news__category .news__category_tab .tab:not(.is-active):hover::after {
  transform: scale(1, 1); /*ホバー後、x軸方向に1（相対値）伸長*/
}
.news__category .news__category_tab .tab.is-active::after {
  background: var(--gold);
}
.news__category .news__category_tab .tab:not(.is-active):hover span {
  opacity: 0.6;
}

.news__category .tab-panel {
  padding-top: min(7.41vw, 80px);
}
.news__category .newsList {
  margin-top: min(calc(100vw / var(--basis-width) * 81), 81px);
}
.news__category .newsList li a {
  padding: min(calc(100vw / var(--basis-width) * 34), 34px) min(4.44vw, 48px)
    min(calc(100vw / var(--basis-width) * 34), 34px) 0;
}
.news__category .news__cat {
  color: var(--gold01);
  border: var(--gold05) solid 1px;
}
@media (max-width: 767px) {
  /* 共通 */
  :is(.news__important, .news__category) .newsList li a {
    align-items: flex-start;
  }
  :is(.news__important, .news__category) .newsList__box {
    gap: 8px;
  }
  :is(.news__important, .news__category) .newsList__date {
    width: 100px;
  }
  :is(.news__important, .news__category) .news__cat {
    padding: 2px 9px;
    font-size: 11px;
    min-width: fit-content;
  }
  :is(.news__important, .news__category) .news__title {
    width: 100%;
  }

  /* 重要なお知らせ */
  .news__important {
    margin-top: 32px;
  }
  .news__important .title03 {
    margin-left: 15px;
  }

  /* カテゴリー */
  .news__category {
    margin-top: 49px;
  }
  .news__category .news__category_tab {
    max-width: 100%;
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    width: 100%;
  }
  .news__category .news__category_tab::after {
    border: none;
  }
  .news__category .news__category_tab li {
    padding: 18px 24px;
    min-width: fit-content;
    border-bottom: 1px solid var(--gray07_5);
  }
  .news__category .news__category_tab .tab::after {
    bottom: -1px;
  }
  .news__category .tab-panel {
    padding-top: 40px;
  }
  .news__category .newsList {
    margin-top: 40px;
  }
  .news__category .newsList li a {
    padding: 24px 28px 17px 0;
  }
  .news__category .news__cat {
    width: fit-content;
    min-width: 102px;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　アクセス
*+++++++++++++++++++++++++++++++++++++++++*/
.page_access .title02 {
  position: relative;
  display: inline-block;
  line-height: 1;
  width: 100%;
  margin-bottom: min(4.72vw, 51px);
}
.page_access .title02::before {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  background-color: var(--gold03);
  position: absolute;
  top: 0.5em;
  left: max(-4vw, -56px);
}
.page_access .access__info {
  margin-top: min(10.65vw, 115px);
}
.page_access .access__car {
  padding-top: min(14.35vw, 155px);
  margin-top: 0;
}
.page_access .access__train {
  padding-top: min(13.7vw, 148px);
  margin-top: 0;
}
.page_access .access__bus {
  margin-top: 0;
  padding-top: min(14.35vw, 155px);
}
.page_access .access__factory {
  margin-top: min(13.61vw, 147px);
}
.page_access .access__info p {
  line-height: 1.7;
  letter-spacing: 0.04rem;
}
.page_access .access__info--box {
  margin-top: min(4.72vw, 51px);
  margin-bottom: min(5.46vw, 59px);
}
.page_access .access__info--box p {
  letter-spacing: 0;
  line-height: 1;
}
.page_access .access__info--box--flex {
  margin-top: min(1.11vw, 12px);
  margin-bottom: min(2.22vw, 24px);
  display: flex;
  gap: min(1.48vw, 16px);
}
.page_access .access__info--box--flex p {
  letter-spacing: 0.04rem;
}
.page_access .access__info--box--flex p span {
  margin-right: min(1.39vw, 15px);
}
.page_access .access__info--box--noflex p {
  margin-bottom: min(1.11vw, 12px);
  display: flex;
}
.page_access .access__info--box--noflex p:last-of-type {
  margin-bottom: 0;
}
.page_access .access__info--box--noflex p span {
  width: min(7.04vw, 76px);
  display: block;
}
.page_access .access__info--notes {
  margin-top: min(2.69vw, 29px);
}
.page_access .access__info--notes p {
  font-size: min(1.2vw, 13px);
  letter-spacing: 0.03rem;
  margin-bottom: min(0.83vw, 9px);
  display: flex;
  align-items: flex-start;
}
.page_access .access__info--notes p span {
  margin-right: min(0.28vw, 3px);
}
.page_access .btn--outline::after {
  content: url(../images/icon/otherlink_gold.svg);
  right: 26px;
}
.page_access .btn--outline:hover::after {
  content: url(../images/icon/otherlink_white.svg);
}
.page_access .access__route h2 {
  margin-bottom: min(6.48vw, 70px);
}
.page_access .access__route p {
  line-height: 1.7;
  letter-spacing: 0.04rem;
}
.page_access .access__route .access__route__image {
  margin-top: min(5.83vw, 63px);
}
.page_access .access__route .access__route__image.pc__view:first-of-type {
  margin-top: min(3.89vw, 42px);
}
.page_access .access__route .access__route__flex {
  display: flex;
  margin-top: min(7.31vw, 79px);
  gap: min(5.19vw, 56px);
}
.page_access .access__route .access__route__flex li {
  width: min(32.59vw, 352px);
}
.page_access .access__route .access__route__flex li img {
  width: 100%;
  -webkit-filter:grayscale(100%);
  -moz-filter:grayscale(100%);
  -ms-filter:grayscale(100%);
  filter:grayscale(100%);
  border: var(--gray07_5) solid 1px;
}
.page_access .access__route .access__route__flex li a {
  display: block;
  transition: 0.3s;
}
.page_access .access__route .access__route__flex li a:hover {
  opacity: 0.6;
}
.page_access .access__route .access__route__flex li p {
  margin-top: min(1.39vw, 15px);
  letter-spacing: 0.01rem;
  display: flex;
  align-items: flex-start;
}
.page_access .access__route .access__route__flex li p::after {
  content: url(../images/icon/pdf_black.svg);
  margin-left: min(0.56vw, 6px);
  margin-top: min(0.09vw, 1px);
}
.page_access .access__route .access__route--notes {
  display: flex;
  font-size: min(1.2vw, 13px);
  margin-top: min(2.41vw, 26px);
}
.page_access .access__route .access__route--notes span {
  width: min(1.48vw, 16px);
}
.page_access .access__route .access__route--notes p {
  letter-spacing: 0.035rem;
}
.page_access .access__route .access__route--notes a {
  color: var(--gold01);
  position: relative;
  transition: 0.3s;
}
.page_access .access__route .access__route--notes a::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 0;
  background: var(--gold01);
  width: 100%;
  height: 1px;
}
.page_access .access__route .access__route--notes a:hover {
  opacity: 0.6;
}
.page_access .access__bus .title02 {
  margin-bottom: min(6.39vw, 69px);
}
.page_access .access__bus__flex {
  display: flex;
  align-items: flex-start;
  gap: min(5.09vw, 55px);
}
.page_access .access__bus__flex > div {
  width: 50%;
}
.page_access .access__bus__flex--l > p {
  line-height: 1.8;
  letter-spacing: 0.04rem;
}
.page_access .access__bus .access__info--notes {
  margin-top: min(1.76vw, 19px);
}
.page_access .access__bus .access__info--notes p {
  margin-bottom: min(0.28vw, 3px);
  display: flex;
  align-items: flex-start;
}
.page_access .access__bus .access__info--notes p span:last-of-type {
  display: block;
  width: min(1.2vw, 13px);
}
.page_access .access__bus .access__info--notes p:last-of-type span {
  width: min(1.76vw, 19px);
}
.page_access .access__table {
  width: 100%;
  border: var(--gold06) solid 1px;
  margin-top: min(0.74vw, 8px);
}
.page_access .access__table__th,
.page_access .access__table__td {
  height: min(5.46vw, 59px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.page_access .access__table__thead {
  border-bottom: var(--gold06) solid 1px;
}
.page_access .access__table__tr {
  display: flex;
  border-bottom: var(--gold06) solid 1px;
}
.page_access .access__table__tr:last-of-type {
  border-bottom: none;
}
.page_access .access__table__tr p {
  border-right: var(--gold06) solid 1px;
}
.page_access .access__table__tr p:last-of-type {
  border-right: none;
}
.page_access .access__table__th {
  background: var(--gold10);
}
.page_access .access__table__thead .access__table__th:first-of-type,
.page_access .access__table__tbody .access__table__th {
  width: min(18.89vw, 204px);
}
.page_access .access__table__thead .access__table__th:nth-of-type(n + 2),
.page_access .access__table__tbody .access__table__td {
  width: calc((100% - min(18.89vw, 204px)) / 2);
}
.page_access .access__factory .title02 {
  margin-bottom: min(7.22vw, 78px);
}
.page_access .access__factory__list {
  display: flex;
  gap: min(7.41vw, 80px) min(5.19vw, 56px);
  flex-wrap: wrap;
}
.page_access .access__factory__list li {
  width: calc((100% - min(5.19vw, 56px) * 2) / 3);
}
.page_access .access__factory__list_img {
  margin-bottom: min(1.11vw, 12px);
  padding-top: 70.5035%;
  position: relative;
  width: 100%;
}
.page_access .access__factory__list_img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.page_access .access__factory__list li p {
  margin-top: min(0.37vw, 4px);
  margin-bottom: min(3.33vw, 36px);
}
.page_access .breadcrumbs {
  margin-top: min(14.81vw, 160px);
}
@media (max-width: 767px) {
  .page_access .title02::before {
    left: -4.375vw;
    width: 8px;
  }
  .page_access .title02 {
    margin-bottom: 46px;
    line-height: 1.25;
  }
  .page_access .access__info {
    margin-top: 67px;
  }
  .page_access .access__car {
    padding-top: 113px;
    margin-top: 0;
  }
  .page_access .access__train {
    padding-top: 107px;
    margin-top: 0;
  }
  .page_access .access__bus {
    padding-top: 113px;
    margin-top: 0;
  }
  .page_access .access__factory {
    margin-top: 112px;
  }
  .page_access .access__info--box {
    margin-top: 38px;
    margin-bottom: 35px;
  }
  .page_access .access__info--box--flex {
    margin-top: 13px;
    margin-bottom: 25px;
    gap: 17px;
  }
  .page_access .access__info--box--flex p span {
    margin-right: 12px;
  }
  .page_access .access__info--box--flex p {
    letter-spacing: 0;
  }
  .page_access .access__info--box--noflex p {
    margin-bottom: 13px;
  }
  .page_access .access__info--box--noflex p span {
    width: 64px;
  }
  .page_access .access__info--notes {
    margin-top: 25px;
  }
  .page_access .access__info--notes p {
    font-size: 12px;
    margin-bottom: 9px;
  }
  .page_access .access__info--notes p:last-of-type {
    line-height: 1.5;
  }
  .page_access .access__info--notes p:nth-of-type(3) {
    margin-bottom: 7px;
  }
  .page_access .access__info--notes p span {
    margin-right: 3px;
  }
  .page_access .access__info--notes p:last-of-type span {
    width: 20px;
  }
  .page_access .btn--outline::after {
    right: 16px;
  }
  .page_access .access__route h2 {
    margin-bottom: 46px;
  }
  .page_access .access__route p {
    word-spacing: 0.03rem;
  }
  .page_access .access__route .access__route__image {
    margin-top: 42px;
  }
  .page_access .access__route .access__route__flex {
    margin-top: 65px;
    flex-direction: column;
    gap: 43px;
  }
  .page_access .access__route .access__route__flex li {
    width: 100%;
  }
  .page_access .access__route .access__route__flex li p {
    margin-top: 13px;
  }
  .page_access .access__route .access__route__flex li p::after {
    margin-top: 0;
    margin-left: 6px;
  }
  .page_access .access__route .access__route--notes {
    font-size: 12px;
    margin-top: 23px;
  }
  .page_access .access__route .access__route--notes p {
    line-height: 1.4;
  }
  .page_access .access__route .access__route--notes span {
    width: 19px;
  }
  .page_access .access__bus .title02 {
    margin-bottom: 46px;
  }
  .page_access .access__bus__flex {
    flex-direction: column;
    gap: 23px;
  }
  .page_access .access__bus__flex > div {
    width: 100%;
  }
  .page_access .access__bus__flex--l > p {
    line-height: 1.6;
    letter-spacing: 0.03rem;
  }
  .page_access .access__bus .access__info--notes {
    margin-top: 19px;
  }
  .page_access .access__bus .access__info--notes p {
    margin-bottom: 3px;
  }
  .page_access .access__bus .access__info--notes p span:last-of-type {
    width: 13px;
  }
  .page_access .access__bus .access__info--notes p:last-of-type span {
    width: 28px;
  }
  .page_access .access__bus .access__info--notes p:last-of-type {
    line-height: 1.4;
  }
  .page_access .access__table__th,
  .page_access .access__table__td {
    height: 42px;
  }
  .page_access .access__table__thead .access__table__th:first-of-type,
  .page_access .access__table__tbody .access__table__th {
    width: 119px;
  }
  .page_access .access__table__tbody .access__table__th {
    justify-content: flex-start;
    padding: 0 15px;
  }
  .page_access .access__table__thead .access__table__th:nth-of-type(n + 2),
  .page_access .access__table__tbody .access__table__td {
    width: calc((100% - 119px) / 2);
  }
  .page_access .access__factory .title02 {
    margin-bottom: 51px;
  }
  .page_access .access__factory__list {
    gap: 57px;
  }
  .page_access .access__factory__list li {
    width: 100%;
  }
  .page_access .access__factory__list li img {
    margin-bottom: 15px;
  }
  .page_access .access__factory__list li .title04 {
    font-size: 15px;
    letter-spacing: 0.02rem;
  }
  .page_access .access__factory__list li p {
    margin-top: 6px;
    line-height: 1.4;
    margin-bottom: 24px;
  }
  .page_access .breadcrumbs {
    margin-top: 97px;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　よくあるご質問
*+++++++++++++++++++++++++++++++++++++++++*/
.page_faq .page__head__faq {
  height: min(25.93vw, 280px);
}
.page_faq .page__head__faq .page__head-title {
  margin: 0 0 min(0.37vw, 4px);
  font-size: min(2.78vw, 30px);
  letter-spacing: 0.045em;
}
.page_faq .faq_head ul {
  display: flex;
  flex-wrap: wrap;
  gap: min(2.22vw, 24px) min(5.09vw, 55px);
}
.page_faq .faq_head ul li {
  width: calc((100% - min(5.09vw, 55px) * 2) / 3);
  border-bottom: var(--gold09) solid 1px;
  padding-bottom: min(1.57vw, 17px);
  position: relative;
  transition: 0.3s;
}
.page_faq .faq_head ul li::after {
  content: url(../images/icon/arrows_bottom_gold.svg);
  position: absolute;
  right: 0;
  top: 0;
  width: min(2.22vw, 24px);
  height: min(2.22vw, 24px);
}
.page_faq .faq_head ul li:hover {
  opacity: 0.6;
}
.page_faq .faq_head ul li a {
  width: 100%;
  height: 100%;
  display: block;
  font-weight: var(--f_weight-500);
}
.page_faq .title02 {
  position: relative;
  display: inline-block;
  line-height: 1;
  width: 100%;
  margin-bottom: min(4.72vw, 51px);
}
.page_faq .title02::before {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  background-color: var(--gold03);
  position: absolute;
  top: 0.5em;
  left: max(-4vw, -56px);
}
.page_faq .faq01 {
  margin-top: 0;
  padding-top: min(14.44vw, 156px);
}
.page_faq .faq01 .title02 {
  margin-bottom: min(7.22vw, 78px);
}
.page_faq .common__accordion li {
  border-bottom: var(--gray07_5) solid 1px;
  padding-bottom: min(2.04vw, 22px);
}
.page_faq .common__accordion li:first-of-type {
  border-top: var(--gray07_5) solid 1px;
}
.page_faq .common__accordion .accordion__title {
  margin-top: -1px;
  display: flex;
  transition: 0.3s;
  padding: min(3.89vw, 42px) 0 min(2.22vw, 24px);
}
.page_faq .common__accordion .accordion__title p {
  margin-top: 4px;
}
.page_faq .common__accordion .accordion__title::before,
.page_faq .common__accordion .accordion__title::after {
  top: min(4.54vw, 49px);
}
.page_faq .common__accordion .accordion__title span {
  font-size: min(2.04vw, 22px);
  margin-right: min(1.57vw, 17px);
}
.page_faq .common__accordion .accordion__content {
  padding: 0 0 min(1.85vw, 20px);
  display: flex;
  align-items: flex-start;
  gap: min(1.85vw, 20px);
}
.page_faq .common__accordion .accordion__content span {
  font-size: min(2.04vw, 22px);
  color: var(--gold03);
  width: min(2.31vw, 25px);
}
.page_faq .common__accordion .accordion__content p {
  width: calc(100% - min(1.85vw, 20px) - min(2.31vw, 25px));
  margin-top: min(0.74vw, 8px);
  letter-spacing: 0.04em;
  line-height: 1.7;
}
.page_faq .common__accordion .accordion__content p a {
  text-decoration: underline;
  text-underline-offset: 2px;
  color: var(--gold01);
  transition: 0.3s;
}
.page_faq .common__accordion .accordion__content p a:hover {
  opacity: 0.6;
}
:where(.page_faq section:nth-of-type(n + 3)) {
  margin-top: 0;
  padding-top: min(14.44vw, 156px);
}
.page_faq .faq02 .title02,
.page_faq .faq03 .title02,
.page_faq .faq04 .title02,
.page_faq .faq05 .title02,
.page_faq .faq06 .title02,
.page_faq .faq07 .title02 {
  margin-bottom: min(7.22vw, 78px);
}
.page_faq .breadcrumbs {
  margin-top: min(14.81vw, 160px);
}
@media (max-width: 767px) {
  .page_faq .page__head__faq {
    height: 196px;
  }
  .page_faq .page__head__faq .page__head-title {
    margin: 28px 0 0;
    font-size: 24px;
    letter-spacing: 0.045em;
  }
  .page_faq .title02::before {
    left: -4.375vw;
    width: 8px;
  }
  .page_faq .title02 {
    margin-bottom: 46px;
    line-height: 1.25;
  }
  .page_faq .faq_head ul {
    gap: 0;
  }
  .page_faq .faq_head ul li {
    width: 100%;
    padding: 16px 0 19px;
  }
  .page_faq .faq_head ul li:first-of-type {
    padding: 0 0 19px;
  }
  .page_faq .faq_head ul li a {
    font-size: 14px;
    letter-spacing: 0.03rem;
  }
  .page_faq .faq_head ul li::after {
    width: 24px;
    height: 24px;
    top: calc(50% - 12px);
    right: 8px;
  }
  .page_faq .faq_head ul li:first-of-type::after {
    top: 0;
  }
  .page_faq .faq01 {
    margin-top: 0;
    padding-top: 65px;
  }
  .page_faq .common__accordion li {
    padding-bottom: 13px;
  }
  .page_faq .common__accordion li.accordion__oneline {
    padding-bottom: 12px
  }
  .page_faq .common__accordion .accordion__title {
    display: flex;
    gap: 12px;
    padding: 25px 0 12px;
  }
  .page_faq .common__accordion .accordion__oneline .accordion__title {
    padding: 25px 0 17px;
  }
  .page_faq .common__accordion .accordion__title span {
    font-size: 18px;
    width: 21px;
    margin: 0;
  }
  .page_faq .common__accordion .accordion__title p {
    width: calc(100% - 21px - 48px);
    margin-top: 4px;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.02rem;
  }
  .page_faq .common__accordion .accordion__title::before,
  .page_faq .common__accordion .accordion__title::after {
    width: 24px;
    height: 24px;
    top: 29px;
  }
  .page_faq .common__accordion .accordion__content {
    gap: 12px;
    padding-bottom: 8px;
  }
  .page_faq .common__accordion .accordion__oneline .accordion__content {
    padding-bottom: 10px;
  }
  .page_faq .common__accordion .accordion__content span {
    font-size: 18px;
    width: 18px;
  }
  .page_faq .common__accordion .accordion__content p {
    width: calc(100% - 18px - 12px);
    margin-top: 4px;
    line-height: 1.65;
  }
  :where(.page_faq section:nth-of-type(n + 3)) {
    margin-top: 0;
    padding-top: 70px;
  }
  .page_faq .breadcrumbs {
    margin-top: 88px;
  }
  .page_faq .faq01 .title02,
  .page_faq .faq02 .title02,
  .page_faq .faq03 .title02,
  .page_faq .faq04 .title02,
  .page_faq .faq05 .title02,
  .page_faq .faq06 .title02,
  .page_faq .faq07 .title02 {
    margin-bottom: 32px;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　ご利用案内共通
*+++++++++++++++++++++++++++++++++++++++++*/
/* テーブル
=================================*/
.guide__table {
  border-collapse:  collapse;
  width: 100%;
}
.guide__table th, .guide__table td {
  padding: min(1.67vw, 18px) 5px;
  border: solid 1px var(--gold06);
  text-align: center;
  vertical-align: middle;
  font-weight: var(--f_weight-400);
  line-height: 1.5;
}
.guide__table th {
  background-color: var(--gold10);
}

.guide__table .table-left {
  text-align: left;
  padding: min(6.13vw, 23px) min(9.33vw, 35px);
}

/* テーブル - パターン */
.guide__table--2 tbody th{
  width: min(42.04vw, 454px);
  padding: min(4.8vw, 18px) min(9.33vw, 35px);
}
.guide__table--2 tbody td{
  width: min(28.33vw, 306px);
}
.guide__table--2_5 tbody th{
  width: min(18.89vw, 204px);
}
.guide__table--2_5 tbody td{
  width: min(51.48vw, 556px);
}
.guide__table--3 tbody th{
  width: min(28.33vw, 306px);
}
.guide__table--3 tbody td{
  width: min(21.02vw, 227px);
}
.guide__table--4 tbody th {
  width: min(23.15vw, 250px);
}
.guide__table--4 tbody td{
  width: min(15.74vw, 170px);
}
.guide__table--4_5 tbody th {
  width: min(54.4vw, 204px);
}
.guide__table--4_5 tbody td{
  width: min(74.13vw, 278px);
}
.guide__table--5 tbody th {
  width: min(54.4vw, 204px);
}
.guide__table--5 tbody td{
  width: min(49.41vw, 185.3px);
}

.guide__table .td__comment{
  font-size: min(1.2vw, 13px);
  margin-top: min(0.93vw, 10px);
  margin-bottom: min(5.93vw, 64px);
}
@media ( max-width: 767px ) {
  .guide__table {
    margin-top: 4px;
  }
  .guide__table th, .guide__table td {
    padding: 11px 5px;
  }
  .guide__table thead th {
    padding: 10px 18px;
  }
  .guide__table tbody th {
    padding: 10px 15px;
    vertical-align: middle;
    text-align: left;
  }
  .guide__table .table-left {
    text-align: start !important ;
    padding: 10px 18px;
  }
  .guide__table--2 tbody th{
    width: 232px;
  }
  .guide__table--2 tbody  td{
    width: 112px;
    padding: 5px 10px;
  }
  .guide__table--2_5 tbody  th{
    width: 120px;
  }
  .guide__table--2_5 tbody  td{
    width: 224px;
    padding: 4px 17px;
  }
  .guide__table--3 tbody  th{
    width: 120px;
  }
  .guide__table--3 tbody  td{
    width: 112px;
  }
  .guide__table--4 tbody  th{
    width: 98px;
    padding: 11px 15px;
  }
  .guide__table--4 tbody  td{
    width: 82px;
  }
  .guide__table--4_5 table {
    width: 384px;
  }
  .guide__table--4_5 tbody  th{
    width: 82px;
  }
  .guide__table--4_5 tbody  td{
    width: 110px;
  }
  .guide__table--5 table {
    width: 494px;
  }
  .guide__table--5 tbody  th{
    width: 82px;
  }
  .guide__table--5 tbody  td{
    width: 110px;
  }
  .guide__table .td__comment{
    font-size: 11px;
    margin-top: 10px;
    margin-bottom: 64px;
  }
}

/* ページレイアウト
=================================*/
.guide__area {
  display: flex;
  justify-content: space-between;
  color: var(--gray03);
  /* gap: min(27.2vw, 102px); */
  /* gap: min(14.93vw, 56px); */
  gap: 102px;
  margin-top: min(14.93vw, 56px);
}
.guide__area_link {
  margin-top: min(1.48vw, 16px);
}
@media ( min-width: 768px ) and ( max-width: 1279px )  {
  .guide__area {
    gap: clamp(3.5rem, -0.821rem + 9.002vw, 6.375rem);
  }
}
/* サイドメニュー
---------------------------------*/
.guide__side {
  width: 250px;
  margin-top: min(0.74vw, 8px);
}
.guide__side_link {
  margin-top: min(3.7vw, 40px);
}
@media ( min-width: 768px ) and ( max-width: 1279px )  {
  .guide__side {
    width: clamp(9.375rem, -0.018rem + 19.569vw, 15.625rem);
  }
}
.guide__side li{
border-bottom: 1px solid var(--gold11);
height: min(16.27vw, 61px);
font-weight: var(--f_weight-500);
}
.guide__side a{
height: 100%;
display: flex;
flex-direction: row;
align-items: center;
}
.guide__side a:hover{
opacity: 0.6;
}
.guide__side ul {
border-top: 1px solid var(--gold11);
}
.guide__side_arrow{
position: relative;
display: inline-block;
width: 100%;
}
.guide__side_arrow::after{
  content: '';
  width: min(0.74vw, 8px);
  height: min(0.74vw, 8px);
  border-top: solid 1px var(--gray03);
  border-right: solid 1px var(--gray03);
  transform: rotate(135deg);
  position: absolute;
  top: calc( 50% - min(1.07vw, 4px) );
  right: min(1.33vw, 5px);
}
@media ( max-width: 767px ) {
  .guide__area {
    display: block;
    margin-top: 23px;
  }
  .guide__area_link {
    margin-top: 23px;
  }
  .guide__side {
    width: 100%;
    margin-top: 0;
  }
  .guide__side_link {
    margin-top: 0;
  }
  .guide__side ul {
    border-top: 0;
  }
  .guide__side li{
    font-size: 14px;
    height: auto;
    padding: 12px 0;
  }
  .guide__side li a{
    padding: 5px 0 6px;
    letter-spacing: 0.04em;
  }
  .guide__side_arrow::after{
    width: 11px;
    height: 11px;
    border-top: solid 1px var(--gold01);
    border-right: solid 1px var(--gold01);
    right: 14px;
    top: calc(50% - 9px);
  }
}
/* コンテンツ
---------------------------------*/
.guide__main {
  width: 816px;
  padding-top:  0;
  padding-left: min(15.2vw, 57px);
}
@media ( min-width: 768px ) and ( max-width: 1279px )  {
  .guide__main {
    width: clamp(30.938rem, 0.785rem + 62.818vw, 51rem);
  }
}
.guide__main_sec {
  margin: 0;
  padding-top: min(9.81vw, 106px);
}
.guide__main_sec:first-of-type {
  padding-top: min(4.81vw, 52px);
}
.guide__first_sec:first-of-type {
  padding-top: min(8.52vw, 92px);
}
.guide__main_sec:last-of-type {
  margin-bottom: min(3.06vw, 33px);
}
.guide__main_sec.guide__main_sec-text {
  padding-top: min(10.09vw, 109px);
}
.guide__main_sec .title02 {
  position:relative;
  display:inline-block;
  line-height: 1.0;
  width: 100%;
  margin-bottom: min(4.35vw, 47px);
  font-weight: var(--f_weight-700);
}
.guide__main_sec .title02::before{
  content:"";
  display:inline-block;
  width:16px;
  height:2px;
  background-color:var(--gold03);
  position:absolute;
  top:0.5em;
  left: max(-4vw, -56px);
}
.guide__main_sec .title02.guide__main_sec_title02_mb {
  margin-bottom: min(3.98vw, 43px);
}

.guide__sub_sec {
  margin-top: min(6.02vw, 65px);
}
.guide__sub_sec:first-of-type {
  margin-top: min(4.26vw, 46px);
}
.guide__sub_sec .title03 {
  margin-bottom: min(1.94vw, 21px);
  font-weight: var(--f_weight-700);
}
@media ( max-width: 767px ) {
  .guide__main {
    width: 100%;
    padding: 0;
  }
  .guide__main_sec .title02::before{
    left: -4.375vw;
    width: 8px;
  }
  .guide__main_sec {
    padding-top: 107px;
  }
  .guide__main_sec:first-of-type {
    padding-top: 0;
  }
  .guide__first_sec:first-of-type {
    padding-top: 64px;
  }
  .guide__main_sec:last-of-type {
    margin-bottom: 0;
  }
  .guide__main_sec.guide__main_sec-text {
    padding-top: 107px;
  }
  .guide__main_sec .title02 {
    margin-bottom: 0;
    letter-spacing: 0.04rem;
    line-height: 1.4;
  }
  .guide__main_sec .title02.guide__main_sec_title02_mb {
    margin-bottom: 42px;
  }
  .guide__sub_sec {
    margin-top: 68px;
  }
  .guide__sub_sec .title03 {
    margin-bottom: 26px;
  }
}

/* comment
=================================*/
.guide__comment {
  font-size: min(1.2vw, 13px);
  margin-top: min(1.02vw, 11px);
}
.guide__comment p {
  margin-top: min(0.19vw, 2px);
  letter-spacing: 0.04em;
  padding-left: 15px;
  position: relative;
}
.guide__comment p::before {
  content:"※";
  position: absolute;
  left: 0px;
}
@media ( max-width: 767px ) {
  .guide__comment {
    font-size: 12px;
    margin-top: 11px;
  }
  .guide__comment p {
    margin-top: 2px;
  }
}



/* footer-menu
=================================*/
.guide__footer-menu {
  padding-bottom: min(19.73vw, 74px);
  background-color: var(--gray11);
}
.guide__footer-menu-area {
  height: 100%;
}
.guide__footer-menu-title{
  font-weight: var(--f_weight-700);
  padding-top: min(19.73vw, 74px);
  margin-bottom: min(5.33vw, 20px);
}
.guide__footer-menu-area hr {
  border-color: var(--gray07_5);
}
.guide__footer-menu-area li{
  border-bottom: 1px solid;
  border-color: var(--gray07_5);
  height: min(13.07vw, 49px);
  margin-top: min(7.2vw, 27px);
}
.footer_menu_arrow{
  position: relative;
  display: inline-block;
  width: 100%;
}
.guide__footer-menu li a:hover {
  opacity: 0.6;
}
.footer_menu_arrow::after{
  content: '';
  width: min(2.67vw, 10px);
  height: min(2.67vw, 10px);
  margin-top: min(-0.46vw, -5px);
  border-top: solid 1px var(--gray03);
  border-right: solid 1px var(--gray03);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: min(2.67vw, 10px);
}
.guide__footer-menu-active{
  color: var(--gray05);
}
@media ( max-width: 767px ) {
  .guide__footer-menu {
    padding-bottom: 52px;
  }
  .guide__footer-menu-title{
    padding-top: 52px;
    margin-bottom: 18px;
    font-size: 16px;
  }
  .guide__footer-menu-area li{
    margin-top: 19px;
    height: 41px;
  }
  .footer_menu_arrow::after{
    width: 8px;
    height: 8px;
    margin-top: 0px;
    right: 11px;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　料金について
*+++++++++++++++++++++++++++++++++++++++++*/
.charge__text {
    margin-bottom: min(10.4vw, 39px);
    letter-spacing: 0.04em;
  }
  @media ( max-width: 767px ) {
    .charge__text {
        margin-bottom: 43px;
    }
  }

.charge__table {
    font-size: min(1.48vw, 16px);
    margin-bottom: min(2.13vw, 23px);
    letter-spacing: 0.04em;
  }
  .charge__table th {
    width: min(12.13vw, 131px);
    font-weight: var(--f_weight-700);
    color: var(--gray04_5);
  }
  .charge__table td {
    vertical-align: middle;
    padding-bottom: min(1.94vw, 12px);
  }
  .charge__table tbody tr:last-of-type td {
    padding-bottom: 0;
  }
  .table-left .td__comment2 {
    display: inline-block;
    margin-top: min(1.07vw, 4px);
    font-size: 13px;
  }
  @media ( max-width: 767px ) {
    .charge__table {
      font-size: 14px;
      margin-bottom: 23px;
    }
    .charge__table th {
      width: 127px;
      padding-right: 17px;
    }
    .charge__table td {
      padding-bottom: 9px;
    }
    .charge__junior td{
      line-height: 1.8;
    }
    .table-left .td__comment2 {
      font-size: 11px;
    }
  }
  
  .charge__comment{
    font-size: min(1.2vw, 13px);
    letter-spacing: 0.04em;
    margin-top: min(12.13vw, 116px);
    margin-bottom: 0;
    text-align: end;
  }
  .charge__comment-text{
    margin-bottom: 0;
  }
  @media ( max-width: 767px ) {
    .charge__comment{
      font-size: 12px;
      margin-top: 68px;
      text-align: end;
      margin-bottom: 40px;
    }
  }

.guide__main_sec--charge .guide__sub_sec:first-of-type {
  margin: 0;
}

/*+++++++++++++++++++++++++++++++++++++++++
  　予約/キャンセル
*+++++++++++++++++++++++++++++++++++++++++*/
.reservationCancel .guide__main_sec .title02 {
  margin-bottom: min(3.8vw, 41px);
}
@media ( max-width: 767px ) {
  .reservationCancel .guide__main_sec .title02 {
    margin-bottom: 31px;
  }
}

/* -- ご予約について -- */
.reservationCancel-reserve .guide__sub_sec .title03 {
  margin-bottom: min(2.13vw, 23px);
}

.reservationCancel-reserve__way {
  margin-top: min(5vw, 54px);
}
.reservationCancel-reserve__way .title04 {
  margin-top: min(6.67vw, 72px);
}
.reservationCancel-reserve__way .title04:first-of-type {
  margin-top: min(3.24vw, 35px);
}
.reservationCancel-reserve__way-text {
  margin-top: min(2.22vw, 24px);
}
.reservationCancel-reserve__way .btn {
  margin-top: min(2.78vw, 30px);
  height: min(17.07vw, 64px);
}
.reservationCancel-reserve__way-text + .btn {
  margin-top: min(2.13vw, 23px);
}
@media ( max-width: 767px ) {
  .reservationCancel-reserve__way {
    margin-top: 58px;
  }
  .reservationCancel-reserve__way .title04 {
    margin-top: 51px;
  }
  .reservationCancel-reserve__way .title04:first-of-type {
    margin-top: 49px;
  }
  .reservationCancel-reserve__way-text {
    margin-top: 22px;
  }
  .reservationCancel-reserve__way-text2 {
    margin-top: 18px;
  }
  .reservationCancel-reserve__way .btn {
    margin-top: 23px;
    height: 56px;
    width: 164px;
  }
}

.reservationCancel-reserve__table {
  margin-top: min(1.94vw, 21px);
  font-size: min(4.8vw, 18px);
}
.reservationCancel-reserve__table th {
  width: min(18.93vw, 71px);
  font-weight: var(--f_weight-700);
  color: var(--gray04_5);
  padding-right: min(1.11vw, 12px);
}
.reservationCancel-reserve__table td {
  vertical-align: middle;
  padding-bottom: min(0.93vw, 10px);
  letter-spacing: 0.04em;
}
@media ( max-width: 767px ) {
  .reservationCancel-reserve__table {
    font-size: 15px;
    margin-top: 21px;
  }
  .reservationCancel-reserve__table th {
    width: 58px;
  }
  .reservationCancel-reserve__table td {
    padding-bottom:  8px;
  }
}

.reservation_cancel__tel {
  margin-top: min(0.74vw, 8px);
  display: inline-block;
  color: var(--gold);
  font-size: min(12.8vw, 48px);
  font-weight: var(--f_weight-500);
  letter-spacing: 0.04em;
}
.reservation_cancel__tel_text {
  font-size: min(1.67vw, 18px);
  letter-spacing: 0.04em;
}
@media ( max-width: 767px ) {
  .reservation_cancel__tel {
    margin-top: 8px;
    font-size: 32px;
  }
  .reservation_cancel__tel_text {
    font-size: 15px;
    margin-top: 4px;
  }
}


/* -- キャンセル -- */
.reservationCancel-cancel_text {
  line-height: 1.8;
}
.reservationCancel-cancel .guide__sub_sec {
  margin-top: min(6.39vw, 69px);
}
.reservationCancel-cancel .guide__sub_sec:first-of-type {
  margin-top: min(3.8vw, 41px);
}
.reservationCancel-cancel .guide__sub_sec .title03 {
  margin-bottom: min(1.94vw, 21px);
}
@media ( max-width: 767px ) {
  .reservationCancel-cancel_text {
    line-height: 1.65;
  }
  .reservationCancel-cancel .guide__sub_sec {
    margin-top: 72px;
  }
  .reservationCancel-cancel .guide__sub_sec:first-of-type {
    margin-top: 33px;
  }
  .reservationCancel-cancel .guide__sub_sec:last-of-type {
    margin-bottom: 109px;
  }
  .reservationCancel-cancel .guide__sub_sec .title03 {
    margin-bottom: 26px;
  }
  .reservationCancel-cancel_table td {
    padding: 10.5px 10px;
  }
}

/* -- フッター -- */
.reservationCancel-footer {
  margin-top: min(8.15vw, 88px);

}



/*+++++++++++++++++++++++++++++++++++++++++
  　マナー / ドレスコード
*+++++++++++++++++++++++++++++++++++++++++*/
.manner_dresscode__sec:nth-of-type(n+2) {
  padding-top: min(8.52vw, 92px);
}
.manner_dresscode__sec:last-of-type {
  margin-bottom: min(10.65vw, 115px);
}
.manner_dresscode__sec .title03:nth-of-type(n+2) {
  margin-top: min(6.2vw, 67px);
}
.manner_dresscode .title03 {
  font-weight: var(--f_weight-700);
}
@media ( max-width: 767px ) {
  .manner_dresscode__sec:nth-of-type(n+2) {
    padding-top: 94px;
  }
  .manner_dresscode__sec:last-of-type {
    margin-bottom: 75px;
  }
  .manner_dresscode__sec .title03:nth-of-type(n+2) {
    margin-top: 66px;
  }
  .manner_dresscode .guide__main_sec .title02 {
    margin-bottom: 39px;
  }
  .manner_dresscode .title03 {
    margin-bottom: 21px;
  }
}

.manner_dresscode__list {
  margin-top: min(2.04vw, 22px);
}
.manner_dresscode__list li{
  margin-bottom: min(3.2vw, 12px);
  margin-left: min(5.33vw, 20px);
  display: list-item;
  list-style: disc;
}
.manner_dresscode__list li::marker{
  color: var(--gray03);
}
.manner_dresscode__list li:last-of-type() {
  margin-bottom: 0;
}
.manner_dresscode__list--announce {
  margin-top: max(-0.28vw, -3px);
}
@media ( max-width: 767px ) {
  .manner_dresscode__list li{
    margin-bottom: 12px;
    margin-left: 16px;
  }
  
}

/*+++++++++++++++++++++++++++++++++++++++++
  　年次会員について
*+++++++++++++++++++++++++++++++++++++++++*/
.annual_membership .annual_membership__benefits .title02 {
  margin-bottom: min(5.28vw, 57px);
}
.annual_membership .title03 {
  font-weight: var(--f_weight-700);
}
.annual_membership__underline {
  display: inline;
  font-weight: var(--f_weight-700);
  line-height: 1.8;
  margin-top: max(-2.13vw, -8px);
  border-bottom: 3px dotted var(--gold);
}
.annual_membership__error {
  display: none;
  color: var(--red01);
  border-bottom: 3px dotted var(--red01);
}
.annual_membership__p {
  margin-top: min(2.59vw, 28px);
}
@media ( max-width: 767px ) {
  .annual_membership__p {
    margin-top: 29px;
  }
}

/* ------ 募集のご案内 ----- */
.annual_membership__guidance dl{
  display: flex;
  flex-wrap: wrap;
  margin-top: min(4.07vw, 44px);
}
.annual_membership__guidance dl:nth-of-type(n+2) {
  margin-top: min(1.67vw, 18px);
}
.annual_membership__guidance dt {
  line-height: 1.7;
  width: 103px;
  height: min(7.47vw, 28px);
  background-color: var(--gold03);
  color: var(--white);
  font-weight: var(--f_weight-500);
  font-size: min(4.27vw, 16px);
  text-align: center;
  margin-right: 3%;
  margin-top: min(1.113vw, 12px);
}
.annual_membership__guidance dd {
  width: calc(100% - (103px + 3%));
  font-size: min(8.53vw, 32px);
  color: var(--gold);
  font-weight: var(--f_weight-500);
  line-height: 1.3;
}
/* 期間 */
.annual_membership__guidance--period .annual_membership__text--1:nth-of-type(2n+1) {
  margin-right: min(1.07vw, 4px);
}
.annual_membership__guidance--period .annual_membership__text--1{
  margin-left: min(0.8vw, 3px);
}
.annual_membership__guidance--period br {
  display: none;
}
/* 年間費 */
.annual_membership__guidance--fee dt {
  margin-top: min(1.3vw, 14px);
}
.annual_membership__guidance--fee .annual_membership__text--3{
  margin-left: min(0.8vw, 3px);
}
/* プレー価格 */
.annual_membership__guidance--play dd > div {
  display: flex;
  flex-direction: row;
  align-items: end;
}
.annual_membership__guidance--play dd span {
  margin-bottom: min(1.33vw, 5px);
}
.annual_membership__guidance--play dd .annual_membership__text--0 {
  margin-left: min(0.53vw, 2px);
}

.annual_membership__guidance .guide__comment {
  margin-top: min(1.2vw, 13px);
}

@media ( max-width: 767px ) {
  .annual_membership__guidance .title02 {
    margin-bottom: 46px;
  }
  .annual_membership__guidance dl{
    margin-top: 39px;
  }
  .annual_membership__guidance dl:nth-of-type(n+2) {
    margin-top: 19px;
  }
  .annual_membership__guidance dt {
    width: 80px;
    height: 26px;
    font-size: 13px;
    margin-right: 10px;
    margin-top: 4px;
    line-height: 26px;
  }
  .annual_membership__guidance dd {
    width: calc(100% - 90px);
    font-size: 24px;
  }
  .annual_membership__guidance--play dd span {
    margin-bottom: 5px;
  }
  .annual_membership__guidance--play dd .annual_membership__text--0 {
    margin-left: 4px;
    margin-bottom: 3px;
  }

  /* 年間費 */
  .annual_membership__guidance--fee dt {
    margin-top: 10px;
  }

  .annual_membership__guidance .guide__comment {
    margin-top: 18px;
  }
}

.annual_membership__text--0 {
  font-size: min(4.27vw, 16px);
  font-weight: var(--f_weight-700);
}
.annual_membership__text--1 {
  font-size: min(4.27vw, 16px);
  font-weight: var(--f_weight-700);
}
.annual_membership__text--2 {
  font-size: min(10.67vw, 40px);
}
.annual_membership__text--3 {
  font-size: min(5.87vw, 22px);
  font-weight: var(--f_weight-700);
}
.annual_membership__text--4 {
  display: inline-block;
  width: min(5.74vw, 62px);
  font-size: min(4.27vw, 16px);
  color: var(--gray04_5);
}
@media ( max-width: 1150px ) {
  .annual_membership__text--4 {
    width: 60px;
    margin-right: 10px;
  }
}
.annual_membership__text--5 {
  font-size: min(3.47vw, 13px);
  color: var(--gold);
}
.annual_membership__text--6 {
  font-size: min(4vw, 15px);
  font-weight: var(--f_weight-500);
}
.annual_membership__text--7 {
  font-size: min(7.47vw, 28px);
  font-weight: var(--f_weight-700);
  color: var(--gold);
}
.annual_membership__text--8 {
  font-size: min(4vw, 15px);
  font-weight: var(--f_weight-700);
  color: var(--gold);
}
.annual_membership__text--9 {
  font-size: min(4.27vw, 16px);
}
@media ( max-width: 767px ) {
  .annual_membership__text--0 {
    font-size: 16px;
  }
  .annual_membership__text--1 {
    font-size: 13px;
  }
  .annual_membership__text--2 {
    font-size: 32px;
  }
  .annual_membership__text--3 {
    font-size: 22px;
  }
  .annual_membership__text--4 {
    font-size: 14px;
    width: 44px;
  }
  .annual_membership__text--5 {
    font-size: 11px;
  }
  .annual_membership__text--6 {
    font-size: 14px;
  }
  .annual_membership__text--7 {
    font-size: 24px;
  }
  .annual_membership__text--8 {
    font-size: 14px;
  }
  .annual_membership__text--9 {
    font-size: 13px;
  }
}

/* ------ 7つの特典 ------ */
.annual_membership__benefits--list {
  row-gap: min(5vw, 54px);
}
.annual_membership__benefits--list li {
  padding: min(3.7vw, 40px) min(3.89vw, 42px) ;
  padding-top: min(9.44vw, 102px);
  padding-bottom: min(5vw, 54px);
  background-color: var(--gold10_5);
  border-radius: min(2.13vw, 8px);
  position: relative;
  z-index: -2;
}
/* リボン */
.annual_membership__benefits--ribbon {
  position: absolute;
  top: max(-0.56vw, -6px);
  left: min(2.96vw, 32px);
  display: inline-block;
  width: min(6.85vw, 74px);
  height: min(5.93vw, 64px);
  text-align: center;
  background: var(--gold04);
}
.annual_membership__benefits--ribbon:before,
.annual_membership__benefits--ribbon:after {
  position: absolute;
  content: '';
}
.annual_membership__benefits--ribbon:before {
  z-index: -3;
  right: max(-0.37vw, -4px);
  width: 0;
  height: 0;
  border-right: 4px solid transparent;
  border-bottom: 6px solid var(--gold01);
}
.annual_membership__benefits--ribbon:after {
  z-index: -1;
  top: 50%;
  left: 0;
  display: block;
  height: 50%;
  width: min(6.67vw, 72px);
  border: min(3.43vw, 37px) solid var(--gold04);
  border-bottom-width: min(1.39vw, 15px);
  border-bottom-color: transparent;
}
.annual_membership__benefits--ribbon img {
  margin-top: min(2.22vw, 24px);
}

.annual_membership__benefits--list p {
  letter-spacing: 0.04em;
  line-height: 1.8;
}

.annual_membership__benefits h3 {
  position: relative;
  margin-bottom: min(1.57vw, 17px);
}

.annual_membership__benefits li dl {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: min(1.48vw, 16px);
}
.annual_membership__benefits dl + dl {
  margin-top: max(-0.46vw, -5px);
}
.annual_membership__benefits dt {
  margin-top: min(0.74vw, 8px);
}
.annual_membership__benefits dd span {
  font-weight: var(--f_weight-500);
}

/* 練習場利用割引 */
.annual_membership__benefits--01 h4 {
  letter-spacing: 0.04em;
}
.annual_membership__benefits--01 h4:nth-of-type(n+2) {
  margin-top: min(1.39vw, 15px);
}
.annual_membership__benefits--01 dt {
  width: min(8.15vw, 88px);
}
.annual_membership__benefits--01 .annual_membership__text--7 {
  font-weight: var(--f_weight-500);
}
.annual_membership__benefits--01 .annual_membership__text--8 {
  margin-left: min(0.8vw, 3px);
  font-weight: var(--f_weight-700);
}

/* 割引券12枚贈呈 */
.annual_membership__benefits--02 dt {
  width: min(4.44vw, 48px);
}
.annual_membership__benefits--02 .annual_membership__text--8 {
  margin-left: min(0.8vw, 3px);
  font-weight: var(--f_weight-700);
}


@media ( max-width: 1150px ) {
  .annual_membership__benefits--list {
    margin-top: 33px;
    grid-template-columns: 1fr 1fr;
    column-gap: 17px;
    row-gap: 37px;
  }
  .annual_membership__benefits--list li {
    padding: 81px 39px 33px;
  }
  .annual_membership__benefits--list li:first-of-type {
    width: 100%;
    grid-row: 1 / 2;
    grid-column: 1 / 3;
  }

  /* リボン */
  .annual_membership__benefits--ribbon {
    left: 32px;
    width: 56px;
    height: 54px;
  }
  .annual_membership__benefits--ribbon:after {
    width: 20px;
    border: 28px solid var(--gold04);
    border-bottom-width: 11px;
    border-bottom-color: transparent;
  }
  .annual_membership__benefits--ribbon img {
    margin-top: 18px;
    width: 50%;
  }

  .annual_membership__benefits dd {
    line-height: 1.0;
  }
  .annual_membership__benefits dt {
    margin-top: 5px;
    width: 100%;
  }

  .annual_membership__benefits li:nth-of-type(n+2) .title03 {
    font-size: 16px;
    line-height: 1.5;
  }

  .annual_membership__benefits--list p {
    line-height: 1.5;
  }

  /* 練習場利用割引 */
  .annual_membership__benefits--list li.annual_membership__benefits--01 {
    padding: 92px 39px 45px 39px;
  }
  .annual_membership__benefits--01 .annual_membership__benefits--ribbon {
    left: 32px;
    width: 64px;
    height: 61px;
  }
  .annual_membership__benefits--01 .annual_membership__benefits--ribbon:after {
    border: 32px solid var(--gold04);
    border-bottom-width: 13px;
    border-bottom-color: transparent;
  }
  .annual_membership__benefits--01 .annual_membership__benefits--ribbon img {
    margin-top: 22px;
    width: 37%;
  }
  .annual_membership__benefits--01 h4 {
    font-size: 15px;
  }
  .annual_membership__benefits--01 h4:nth-of-type(n+2) {
    margin-top: 19px
  }
  .annual_membership__benefits--01 dl + dl {
    margin-top: 10px;
  }
  .annual_membership__benefits--01 dt {
    width: 100px;
  }

  /* 割引券12枚贈呈 */
  .annual_membership__benefits--list li.annual_membership__benefits--02 dl {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 5px;
    gap: 5px;
  }
  .annual_membership__benefits--list li.annual_membership__benefits--02 dl:nth-of-type(n+2) {
    margin-top: 2px;
  }
}

@media ( max-width: 767px ) {
  .annual_membership__benefits--list {
    margin-top: 33px;
    grid-template-columns: 1fr 1fr;
    column-gap: 17px;
    row-gap: 37px;
  }
  .annual_membership__benefits--list li {
    padding: 81px 18px 33px;
  }
  .annual_membership__benefits--list li:first-of-type {
    width: 100%;
    grid-row: 1 / 2;
    grid-column: 1 / 3;
  }

  /* リボン */
  .annual_membership__benefits--ribbon {
    left: 16px;
    width: 56px;
    height: 54px;
  }
  .annual_membership__benefits--ribbon:after {
    width: 20px;
    border: 28px solid var(--gold04);
    border-bottom-width: 11px;
    border-bottom-color: transparent;
  }
  .annual_membership__benefits--ribbon img {
    margin-top: 18px;
    width: 50%;
  }

  .annual_membership__benefits dd {
    line-height: 1.0;
  }
  .annual_membership__benefits dt {
    margin-top: 5px;
    width: 100%;
  }

  .annual_membership__benefits li:nth-of-type(n+2) .title03 {
    font-size: 16px;
    line-height: 1.5;
  }

  .annual_membership__benefits--list p {
    line-height: 1.5;
  }

  /* 練習場利用割引 */
  .annual_membership__benefits--list li.annual_membership__benefits--01 {
    padding: 92px 39px 45px 39px;
  }
  .annual_membership__benefits--01 .annual_membership__benefits--ribbon {
    left: 32px;
    width: 64px;
    height: 61px;
  }
  .annual_membership__benefits--01 .annual_membership__benefits--ribbon:after {
    border: 32px solid var(--gold04);
    border-bottom-width: 13px;
    border-bottom-color: transparent;
  }
  .annual_membership__benefits--01 .annual_membership__benefits--ribbon img {
    margin-top: 22px;
    width: 37%;
  }
  .annual_membership__benefits--01 h4 {
    font-size: 15px;
  }
  .annual_membership__benefits--01 h4:nth-of-type(n+2) {
    margin-top: 19px
  }
  .annual_membership__benefits--01 dl + dl {
    margin-top: 10px;
  }
  .annual_membership__benefits--01 dt {
    width: 80px;
  }

  /* 割引券12枚贈呈 */
  .annual_membership__benefits--list li.annual_membership__benefits--02 dl {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 5px;
    gap: 5px;
  }
  .annual_membership__benefits--list li.annual_membership__benefits--02 dl:nth-of-type(n+2) {
    margin-top: 2px;
  }
}


/* ------ 募集要項 ------ */
.annual_membership .annual_membership__recruitment {
  margin-top: min(0.93vw, 10px);
}
.annual_membership__recruitment dl {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid var(--gray07_5);
  margin-bottom: min(8.15vw, 88px);
}
.annual_membership__recruitment dt {
  display: flex;
  padding: min(4.8vw, 18px) 0;
  width: 20%;
  font-weight: var(--f_weight-500);
  border-bottom: 1px solid var(--gray07_5);
}
.annual_membership__recruitment dd {
  display: flex;
  align-items: center;
  width: 80%;
  padding: min(4.8vw, 18px) 0;
  border-bottom: 1px solid var(--gray07_5);
}
.annual_membership .annual_membership__recruitment {
  margin-bottom: min(10.93vw, 118px);
}
@media ( max-width: 767px ) {
  .annual_membership__recruitment dl {
    margin-top: 3px;
    margin-bottom: 81px;
  }
  .annual_membership__recruitment dt {
    width: 36%;
    align-items: start;
    padding: 19px 0;
  }
  .annual_membership__recruitment dd {
    width: 64%;
    padding: 19px 0;
  }
  .annual_membership__recruitment .btn {
    height: 56px;
    max-width: 100%;
    margin-bottom: 78px;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　練習場
*+++++++++++++++++++++++++++++++++++++++++*/
.practice_renge__sec:first-of-type {
  margin-top: min(25.87vw, 97px);
}
.practice_renge__sec {
  margin-top: min(11.73vw, 44px);
}
.practice_renge__sec:last-of-type {
  margin-bottom: min(11.11vw, 120px);
}
.practice_renge__area {
  display: flex;
  justify-content: space-between;
  margin-top: min(3.47vw, 13px);
  column-gap: min(14.93vw, 56px);
}
.practice_renge__image {
  width: min(148.27vw, 556px);
  margin-top: min(2.93vw, 11px);
}
.practice_renge__main {
  width: min(148.27vw, 556px);
}
.practice_renge__main .lineH-18 {
  letter-spacing: 0.04em;
}
.practice_renge__main h4 {
  margin-top: min(9.07vw, 34px);
}
.practice_renge__main .guide__table {
  margin-top: min(6.93vw, 26px);
}
.practice_renge__main .btn {
  margin-top: min(12.53vw, 47px);
}
@media ( max-width: 767px ) {
  .practice_renge__sec:first-of-type {
    margin-top: 0;
  }
  .practice_renge__sec {
    margin-top: 5px;
  }
  .practice_renge__area {
    display: block;
    margin-top: 13px;
  }
  .practice_renge__sec .title02 {
    margin-bottom: 34px;
  }
  .practice_renge__image {
    width: 100%;
    margin-top: 11px;
    margin-bottom: 27px;
  }
  .practice_renge__image img {
    width: 100%;
  }
  .practice_renge__main {
    width: 100%;
  }
  .practice_renge__main h4 {
    font-size: 18px;
    margin-top: 43px;
  }
  .practice_renge__main .guide__table {
    margin-top: 26px;
    width: 100%;
  }
  .practice_renge__main .btn {
    margin-top: 37px;
    width: 164px;
    height: 56px;
  }
}

/* ------ ゴルフレッスン ------ */
.guide .practice_renge__lesson {
  background-color: var(--gold10);
  margin-top: min(32.27vw, 121px);
  padding-top: min(29.33vw, 110px);
  padding-bottom: min(29.87vw, 112px);
  margin-bottom: 0;
}
.practice_renge__people {
  display: flex;
  justify-content: space-between;
  margin-top: min(10.13vw, 38px);
}
.practice_renge__people img {
  width: min(12.96vw, 140px);
  height: min(12.96vw, 140px);
  margin-right: min(4.27vw, 16px);
  margin-top: min(1.07vw, 4px);
}
.practice_renge__people-text {
  font-size: min(2.93vw, 11px);
  margin-bottom: min(1.33vw, 5px);
}
.practice_renge__people .guide__comment {
  margin-top: min(4vw, 15px);
}
@media ( max-width: 767px ) {
  .guide .practice_renge__lesson {
    margin-top: 72px;
    padding-top: 63px;
    padding-bottom: 66px;
  }
  .practice_renge__lesson .title02 {
    margin-bottom: 24px;
  }
  .practice_renge__lesson img {

    margin-bottom: 30px;
  }
  .practice_renge__people {
    margin-top: 21px;
  }
  .practice_renge__people img {
    width: 80px;
    height: 80px;
  }
  .practice_renge__people .guide__comment {
    margin-top: 3px;
    letter-spacing: 0.04em;
  }
}

/* ------ ラウンドレッスン ------ */
.practice_renge__lesson--area {
  display: flex;
  justify-content: space-between;
  margin-top: min(29.6vw, 111px);
}
.practice_renge__lesson--area h3 {
  width: min(66.93vw, 251px);
}
.practice_renge__lesson--main {
  width: min(229.87vw, 862px);
}
.practice_renge__lesson--main h4 {
  margin-top: min(17.33vw, 65px);
  margin-bottom: min(5.33vw, 20px);
}
@media ( max-width: 767px ) {
  .practice_renge__lesson--area {
    display: block;
    margin-top: 67px;
  }
  .practice_renge__lesson--area h3 {
    width: 100%;
    margin-bottom: 20px;
  }
  .practice_renge__lesson--main {
    width: 100%;
  }
  .practice_renge__lesson--main h4 {
    margin-top: 47px;
    letter-spacing: 0.06em;
  }
}

/* ------ スケジュール ------ */
.practice_renge__lesson--main dl {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-top: min(10.13vw, 38px);
  padding-left: min(5.33vw, 20px);
}
.practice_renge__lesson--main dl::before {
  content:"";
  border-left: 2px dotted var(--gold01);
  position: absolute;
  display: inline-block;
  height: 83%;
  left: min(0.8vw, 3px);
  top: min(1.6vw, 6px);
}
.practice_renge__lesson--main dt ,
.practice_renge__lesson--main dd {
  font-weight: var(--f_weight-500);
}
.practice_renge__lesson--main dt {
  color: var(--gold01);
  width: 6%;
  position: relative;
  padding-bottom: min(5.33vw, 20px);
}
.practice_renge__lesson--main dt::before {
  content:"";
  display:inline-block;
  background-color:var(--gold01);
  position:absolute;
  width: min(2.67vw, 10px);
  height: min(2.67vw, 10px);
  border-radius: min(1.33vw, 5px);
  left: max(-5.6vw, -21px);
  top: min(1.6vw, 6px);
}
.practice_renge__lesson--main dd {
  width: 94%;
}
@media ( max-width: 767px ) {
  .practice_renge__lesson--main dl {
    margin-top: 33px;
    padding-left: 26px;
  }
  .practice_renge__lesson--main dl::before {
    left: 12px;
    height: 219px;
  }
  .practice_renge__lesson--area02 dl::before {
    height: 176px;
  }
  .practice_renge__lesson--main dt {
    padding-bottom: 23px;
    width: 15%;
  }
  .practice_renge__lesson--main dt::before {
    left: -18px;
    top: 4px;
  }
  .practice_renge__lesson--main dd {
    width: 84%;
  }
}

/* ------ ボタン ------ */
.practice_renge__lesson--btn {
  display: flex;
  margin-top: min(6.13vw, 23px);
  margin-bottom: min(6.93vw, 26px);
}
.practice_renge__lesson--btn .btn {
  max-width: fit-content;
  padding-right:  min(6.2vw, 67px);
}
.practice_renge__lesson--btn .btn--default {
  margin-right: min(6.67vw, 25px);
}
@media ( max-width: 767px ) {
  .practice_renge__lesson--btn {
    display: block;
    margin-top: 10px;
    margin-bottom: 28px;
  }
  .practice_renge__lesson--btn .btn--default {
    margin-right: 0;
    margin-bottom: 20px;
  }
  .practice_renge__lesson--btn .btn{
    max-width: 344px;
    height: 56px;
  }
}

/* ------ フッター　------ */
.practice_renge__footer section {
  margin-top: 0;
}

/*+++++++++++++++++++++++++++++++++++++++++
  　宿泊施設
*+++++++++++++++++++++++++++++++++++++++++*/
.hotel__area {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
}
.hotel__area img {
  margin-top: min(2.67vw, 10px);
}
.hotel__area_text h3 {
  font-size: min(6.4vw, 24px);
}
.hotel__area_text p {
  margin-top: min(5.07vw, 19px);
}
.hotel__sec {
  margin-top: min(9.87vw, 37px);
}
.hotel__comment {
  font-size: min(2.93vw, 11px);
}
@media ( max-width: 767px ) {
  .hotel .guide__main_sec:first-of-type {
    padding-top: 0;
  }
  .hotel__area {
    display: block;
  }
  .hotel__area img {
    width: 100%;
    height: auto;
  }
  .hotel__area_text h3 {
    font-size: 18px;
  }
  .hotel__area_text p {
    margin-top: 13px;
  }
  .hotel__area .hotel__area_text {
    width: 100%;
    margin-top: 25px;
  }
  .hotel__sec {
    margin-top: 0;
  }
  .hotel__comment {
    font-size: 11px;
  }
}

.hotel__link_area {
  background-color: var(--desert10_5);
  text-align: center;
  padding: min(12.8vw, 48px) 0;
  margin-top: min(19.2vw, 72px);
}
.hotel__link_area p {
  margin-top: min(4.27vw, 16px);
}
.hotel__btn_area {
  display: flex;
  justify-content: center;
  gap: min(6.93vw, 26px);
  margin-top: min(10.93vw, 41px);
  padding-bottom: min(3.73vw, 14px);
}
@media ( max-width: 767px ) {
  .hotel__link_area {
    margin-top: 60px;
    padding: 33px 15px;
  }
  .hotel__link_area br {
    display: none;
  }
  .hotel__link_area p {
    margin-top: 20px;
    text-align: start;
  }
  .hotel__btn_area {
    display: block;
    margin-top: 27px;
    padding-bottom: 7px;
  }
  .hotel__btn_area .btn {
    max-width: 100%;
  }
  .hotel__btn_area .btn--outline {
    margin-top: 24px;
  }
  .hotel__btn_area .btn--outline::after {
    right: 35px;
  }
}

/* ------ 客室一覧　------ */
.hotel__sec01 {
  margin-top: min(11.47vw, 43px);
}
.hotel__sec .grid {
  padding-top: min(5.87vw, 22px);
  row-gap: min(18.13vw, 68px);
}
@media ( max-width: 767px ) {
  .hotel__sec01 {
    margin-top: 3px;
  }
  .hotel__sec .grid {
    padding-top: 4px;
    row-gap: 53px;
  }
  .hotel__sec .grid img {
    width: 100%;
  }
  .hotel .hotel__sec .hotel__guide {
    row-gap: 46px;
    margin-bottom: -10px;
  }
  .hotel .hotel__sec .hotel__guide p {
    margin-bottom: 9px;
  }
}

/* ------ アンカーリンク　------ */
.hotel .hotel__menu {
  margin-top: min(21.87vw, 82px);
}
@media ( max-width: 767px ) {
  .hotel .hotel__menu {
    margin-top: 77px;
  }
}

/* ------ ご利用料金　------ */
.hotel__charge {
  display: flex;
  justify-content: space-between;
  margin-top: min(4vw, 15px);
}
.hotel__charge h3 {
  width: min(53.33vw, 200px);
  margin-right: min(1.07vw, 4px);
}
.hotel__charge:first-of-type {
  margin-bottom: min(28.8vw, 108px);
}
.hotel__charge .hotel__charge_area {
  width: min(257.07vw, 964px);
}
.hotel__charge_area h4 {
  margin-bottom: min(5.87vw, 22px);
}
.hotel__charge_area table {
  margin-top: min(10.67vw, 40px);
}
.hotel__charge_area .hotel__h4 {
  margin-top: min(19.2vw, 72px);
}
.hotel__charge_area .guide__comment {
  margin-top: min(7.47vw, 28px);
}
.hotel__charge_area .charge__table {
  margin-top: min(7.2vw, 27px);
}
.hotel__charge_area .charge__table th {
  width: min(25.07vw, 94px);
}
.hotel__link_text {
  text-decoration: underline;
  text-underline-offset: 2px;
  color: var(--gold01);
}
.hotel__link_text:hover {
  opacity: 0.6;
}
@media ( max-width: 767px ) {
.hotel__charge {
  display: block;
  margin-top: -3px;
}
.hotel__charge:first-of-type {
  margin-bottom: 73px;
}
.hotel__charge .hotel__charge_area {
  width: 100%;
  margin-top: 39px;
}
.hotel__charge_area h4 {
  letter-spacing: 0.08em;
  margin-bottom: 14px;
}
.hotel__charge_area table {
  margin-top: 23px;
}
.hotel__charge_area .hotel__h4 {
  margin-top: 51px;
}
.hotel__charge_area .guide__comment {
  margin-top: 22px;
  line-height: 1.6;
}
.hotel .hotel__charge_area2 .guide__comment {
  margin-top: 18px;
}
.hotel__charge_area2 .guide__comment p {
  letter-spacing: 0.04em;
}
.hotel__charge_area .charge__table {
  margin-top: 16px;
  margin-bottom: 0;
}
.hotel__charge_area .charge__table th {
  width: 75px;
  padding-right: 0;
}
.guide__table_wrap {
  overflow-x: scroll;
}
.guide__table_w {
  white-space: nowrap;
}
}

/* ------ 食事について　------ */
.hotel__sec_food h3 {
  margin-top: min(4.27vw, 16px);
  margin-bottom: min(3.2vw, 12px);
}
.hotel__sec_food img {
  margin-top: min(7.2vw, 27px);
}
.hotel__sec_food .hotel__area_text_box {
  margin-top: min(8.53vw, 32px);
}
.hotel__sec_food .hotel__area_text_box p {
  margin-top: min(4.27vw, 16px);
}
.hotel__sec_food .hotel__area_text_box .hotel__fee {
  margin-top: min(1.6vw, 6px);
}
.hotel__drinkmenu {
  margin-top: min(28.8vw, 108px);
  margin-bottom: min(28.8vw, 108px);
}
.hotel__drinkmenu .restaurant__drinkmenu{
  margin-top: min(5.33vw, 20px);
  padding-top: 0;
}
.hotel__drinkmenu .restaurant__drinkmenu .grid {
  row-gap: 0;
}
.hotel__drinkmenu .restaurant__drinkmenu .guide__comment {
  margin-top: min(8.53vw, 32px);
}
.hotel__breakfast {
  margin-top: min(9.07vw, 34px);
  margin-bottom: min(14.67vw, 55px);
}
@media ( max-width: 767px ) {
  .hotel__sec_food {
    margin-top: 23px;
  }
  .hotel__sec_food h3 {
    margin-top: -4px;
    margin-bottom: 0;
  }
  .hotel__sec_food img {
    margin-bottom: 2px;
  }
  .hotel__sec_food .hotel__area_text_box {
    margin-top: 21px;
  }
  .hotel__sec_food .hotel__area_text_box:last-of-type {
    margin-top: 25px;
  }
  .hotel__sec_food .hotel__area_text_box h4 {
    letter-spacing: 0.08em;
  }
  .hotel__sec_food .hotel__area_text_box p {
    margin-top: 9px;
  }
  .hotel__sec_food .hotel__area_text .guide__comment {
    margin-top: 17px;
    letter-spacing: 0.04em;
  }
  .hotel__drinkmenu {
    margin-top: 73px;
    margin-bottom: 73px;
  }
  .hotel__drinkmenu .restaurant__drinkmenu .guide__comment {
    margin-top: 25px;
  }
  .hotel__breakfast {
    margin-top: 21px;
    margin-bottom: 37px;
  }
}

/* ------ 施設概要　------ */
.hotel__summary {
  margin-top: min(11.2vw, 42px);
}
.hotel__summary_area {
  display: flex;
  justify-content: space-between;
}
.hotel__summary .hotel__summary_area h2 {
  width: min(78.93vw, 296px);
  margin-right: min(2.67vw, 10px);
}
.hotel__summary_list {
  width: min(229.87vw, 862px);
  margin-top: min(2.67vw, 10px);
}
.hotel__summary dl {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid var(--gray07_5);
  margin-bottom: min(3.2vw, 12px);
}
.hotel__summary dt {
  display: flex;
  padding: min(4.8vw, 18px) 0;
  width: 15%;
  font-weight: var(--f_weight-500);
  border-bottom: 1px solid var(--gray07_5);
}
.hotel__summary dd {
  display: flex;
  align-items: center;
  width: 85%;
  padding: min(4.8vw, 18px) 0;
  border-bottom: 1px solid var(--gray07_5);
}
.hotel__summary_comment {
  font-size: min(1.2vw, 13px);
  letter-spacing: 0.04em;
  text-align: end;
  margin-top: min(30.67vw, 115px);
}
@media ( max-width: 767px ) {
  .hotel .hotel__summary {
    margin-top: 4px;
    margin-bottom: 37px;
  }
  .hotel__summary_area {
    display: block;
  }
  .hotel__summary_list {
    width: 100%;
    margin-top: 6px;
  }
  .hotel__summary dl {
    margin-top: 3px;
    margin-bottom: 64px;
  }
  .hotel__summary dt {
    width: 36%;
    align-items: start;
    padding: 19px 0;
  }
  .hotel__summary dd {
    width: 64%;
    padding: 19px 0;
  }
  .hotel__summary .hotel__comment {
    display: inline-block;
    margin-top: 6px;
    line-height: 1.4;
  }
  .hotel__summary_comment {
    font-size: 12px;
    margin-top: 75px;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　採用情報
*+++++++++++++++++++++++++++++++++++++++++*/

/* ------ 採用がない時　------ */
.guide__sec_absent {
  margin-top: min(25.07vw, 94px);
  margin-bottom: min(calc(100vw/var(--basis-width) * 160),160px);
}
.guide__sec_absent_text {
  margin-top: min(16vw, 60px);
}
@media ( max-width: 767px ) {
  .guide__sec_absent {
    margin-top: 63px;
    margin-bottom: 120px;
  }
  .guide__sec_absent_text {
    margin-top: 44px;
  }
}

.recruit .guide__recruit_sec:nth-of-type(n+2) {
  padding-top: min(31.47vw, 118px);
}
.guide__recruit_text {
  margin-top: min(14.93vw, 56px);
}
.guide__recruit_sec img{
  margin-top: min(2.67vw, 10px);
  margin-bottom: min(5.33vw, 20px);
}
.guide__recruit_sec h3 {
  margin-top: min(17.07vw, 64px);
  margin-bottom: min(11.73vw, 44px);
}
.recruit .annual_membership__recruitment dl {
  margin-bottom: 0;
}
.recruit .annual_membership__recruitment dt {
  width: 17%;
}
.recruit .annual_membership__recruitment dd {
  width: 83%;
}
.recruit .guide__recruit_link {
  margin-bottom: min(40.27vw, 151px);
}
.recruit .guide__recruit_link .btn {
  max-width: min(85.87vw, 322px);
}
@media ( max-width: 767px ) {
  .guide__recruit_text {
    margin-top: 35px;
    margin-bottom: 58px;
  }
  .recruit .guide__recruit_sec:nth-of-type(n+2) {
    padding-top: 117px;
  }
  .recruit .guide__recruit_sec:first-of-type {
    padding-top: 69px;
  }
  .guide__recruit_sec img{
    margin-bottom: 27px;
  }
  .guide__recruit_sec h3 {
    margin-top: 43px;
    margin-bottom: 26px;
  }
  .recruit .annual_membership__recruitment dt {
    width: 35%;
  }
  .recruit .annual_membership__recruitment dd {
    width: 65%;
    line-height: 1.45;
  }
  .recruit .guide__recruit_link {
    margin-top: 65px;
    margin-bottom: 121px;
  }
}


/*+++++++++++++++++++++++++++++++++++++++++
  　お問い合わせ
*+++++++++++++++++++++++++++++++++++++++++*/
.contact + .breadcrumbs {
  display: none;
}
/* ------ ヘッダー　------ */
.page__block {
  display: block;
  border-bottom: 1px solid var(--gray07_5);
  background-color: var(--desert10_5);
  padding-top: min(calc(100vw/1280 * 135),135px);
  padding-bottom: min(calc(100vw/1280 * 61),61px);
}
.page__flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.page__heading__title {
  display: block;
  font-size: min(calc(100vw/1280 * 22),22px);
  font-weight: var(--f_weight-700);
  letter-spacing: 0.04em;
}
.page__heading__title span {
  display: block;
  font-size: min(calc(100vw/1280 * 30),30px);
  margin-top: min(calc(100vw/1280 * 6),6px);
}
@media ( max-width: 767px ) {
  .page__block {
    padding-top: 94px;
    padding-bottom: 26px;
  }
  .page__flex {
    margin-top: 24px;
    display: block;
  }
  .page__heading__title {
    font-size: 15px;
    letter-spacing: 0.02em;
    line-height: 1.4;
  }
  .page__heading__title span {
    font-size: 24px;
    letter-spacing: 0;
    line-height: 1.5;
    margin-top: 2px;
  }
  
}

/* ------ ステップ　------ */
.page__step--list {
  position: relative;
  display: flex;
  column-gap: min(calc(100vw/1280 * 100),100px);
  margin-top: min(calc(100vw/1280 * 18),18px);
  margin-right: calc(min(calc(100vw/1280 * 28),28px) * -1);
  z-index: 0;
}
.page__step--list::before,
.page__step--list::after {
  content: '';
  position: absolute;
  top: 16%;
  background-image: radial-gradient(var(--gray05) 20%, transparent 30%);
  background-size: 8px 8px;
  width: 40%;
  height: 8px;
  z-index: -1;
}
.page__step--list::before {
  left: 10%;
}
.page__step--list::after {
  right: 10%;
}
.page__step--list li {
  width: clamp(65px,calc(100vw/1280 * 90),90px);
}
.page__step--list li span {
  display: block;
  font-weight: var(--f_weight-700);
  /* letter-spacing: 0.04em; */
  line-height: min(calc(100vw/1280 * 30),30px);
  color: var(--white);
  text-align: center;
  border-radius: 50%;
  background-color: var(--gray05);
  width: min(calc(100vw/1280 * 32),32px);
  height: min(calc(100vw/1280 * 32),32px);
  margin: 0 auto min(calc(100vw/1280 * 10),10px);

  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.page__step--list li p {
  font-weight: var(--f_weight-500);
  text-align: center;
  color: var(--gray05);
}
.page__step--list.current-step01 li:nth-child(1) span {
  background-color: var(--gold03);
}
.page__step--list.current-step01 li:nth-child(1) p {
  color: var(--gold01);
}
/* 確認 */
.page__step--list.current-step02::before {
  background-image: radial-gradient(var(--gray07_5) 20%, transparent 30%);
}
.page__step--list.current-step02 li:nth-child(1) span {
  background-color: var(--gray07);
}
.page__step--list.current-step02 li:nth-child(1) p {
  color: var(--gray07);
}
.page__step--list.current-step02 li:nth-child(2) span {
  background-color: var(--gold03);
}
.page__step--list.current-step02 li:nth-child(2) p {
  color: var(--gold01);
}
/* 完了 */
.page__step--list.current-step03::before,
.page__step--list.current-step03::after {
  background-image: radial-gradient(var(--gray07_5) 20%, transparent 30%);
}
.page__step--list.current-step03 li span {
  background-color: var(--gray07);
}
.page__step--list.current-step03 li p {
  color: var(--gray07);
}
.page__step--list.current-step03 li:nth-child(3) span {
  background-color: var(--gold03);
}
.page__step--list.current-step03 li:nth-child(3) p {
  color: var(--gold01);
}

@media ( max-width: 767px ) {
  .page__step--list {
    column-gap: 42px;
    margin: 33px 0 0 -12px;
    max-width: 247px;
  }
  .page__step--list::before,
  .page__step--list::after {
    top: 15%;
  }
  .page__step--list li {
    width: 80px;
  }
  .page__step--list li span {
    line-height: 22px;
    width: 24px;
    height: 24px;
    margin: 0 auto 7px;
  }
}


.contact_sec {
  margin-top: min(calc(100vw/var(--basis-width) * 55),55px);
}
@media ( max-width: 767px ) {
  .contact_sec {
    margin-top: 35px;
  }
}
/* ------ よくあるご質問　------ */
.contact__question .btn {
  margin-top: min(calc(100vw/var(--basis-width) * 33),33px);
}
@media ( max-width: 767px ) {
  .contact__question .btn {
    margin-top: 35px;
  }
}

/* ------ お問い合わせ内容入力　------ */
.contact__formArea {
  margin-top: min(calc(100vw/var(--basis-width) * 109),109px);
}

.contact__form {
  margin-top: min(calc(100vw/var(--basis-width) * 70),70px);
}
.contact__form li {
  border-top: 1px solid var(--gray07_5);
}
.contact__form dl {
  display: flex;
  padding: min(calc(100vw/var(--basis-width) * 21),21px) 0;
  gap: min(calc(100vw/var(--basis-width) * 50),50px);
}
.contact__form dt {
  width: min(calc(100vw/var(--basis-width) * 270),270px);
  padding: min(calc(100vw/var(--basis-width) * 12),12px) 0;
  font-size: min(calc(100vw/var(--basis-width) * 18),18px);
  letter-spacing: 0.04em;
  font-weight: var(--f_weight-700);
  line-height: 1.0;
}
.contact__form dt .required {
  font-size: min(calc(100vw/var(--basis-width) * 15),15px);
  color: var(--red01);
  font-weight: var(--f_weight-400);
}

.contact__form dd {
  width: calc(100% - min(calc(100vw/var(--basis-width) * 320),320px));
}
@media ( max-width: 767px ) {
  .contact__formArea {
    margin-top: 63px;
  }

  .contact__form dl {
    flex-direction: column;
    gap: 15px;
    padding: 18px 0 23px;
  }
  .contact__form dt {
    padding: 0;
    width: 100%;
    font-size: 15px;
  }
  .contact__form dt .required {
    font-size: 13px;
  }
  .contact__form dd {
    width: 100%;
  }
}

/* ---- input ---- */
.contact__form  ::placeholder {
  color: var(--gray07);
  font-weight: var(--f_weight-500);
}
.contact__form :is(.form-input, .input__textarea) {
  padding: min(calc(100vw/var(--basis-width) * 10),10px) min(calc(100vw/var(--basis-width) * 11),11px);
  border: 1px solid var(--gray07);
  border-radius: min(calc(100vw/var(--basis-width) * 8),8px);
  background: var(--white);
  width: 100%;
  max-width: min(calc(100vw/var(--basis-width) * 400),400px);
}
.contact__form .form-input::placeholder {
  font-weight: var(--f_weight-400);
}
.contact__form .form-input:focus-visible,
.contact__form .selectbox select:focus-visible {
  border-color: var(--gold)!important;
  outline: 1px solid var(--gold);
}
/* 100% */
.contact__form .form-input-100 {
  max-width: 100%;
}

/* 氏名 */
.contact__form .input__name {
  display: flex;
  flex-direction: row;
  gap: min(calc(100vw/var(--basis-width) * 12),12px);
}
.contact__form .input__name-child {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: min(calc(100vw/var(--basis-width) * 8),8px);
  white-space: nowrap;
  height: fit-content;
}

/* セレクトボックス */
.contact__form .selectbox {
  display: inline-flex;
  align-items: center;
  position: relative;
}
.contact__form .selectbox::after {
  content: '';
  width: min(2.67vw, 10px);
  height: min(2.67vw, 10px);
  border-top: solid 1px var(--gray03);
  border-right: solid 1px var(--gray03);
  position: absolute;
  right: min(4.27vw, 16px);
  top: calc(50% - min(calc(100vw/var(--basis-width) * 6),6px));
  transform: rotate(135deg);
}
.contact__form .selectbox select {
  appearance: none;
  width: min(calc(100vw/var(--basis-width) * 404),404px);
  padding: min(calc(100vw/var(--basis-width) * 10),10px) min(calc(100vw/var(--basis-width) * 11),11px);
  padding-right: min(calc(100vw/var(--basis-width) * 32),32px);
  border: 1px solid var(--gray07);
  border-radius: min(calc(100vw/var(--basis-width) * 8),8px);
  text-align: left;
  cursor: pointer;
}

/* 電話番号 */
.contact__form .input__tel .form-input {
  max-width: min(calc(100vw/var(--basis-width) * 405),405px);
}
@media (max-width: 767px) {
  .contact__form .input__tel .form-input {
    max-width: 100%;
  }
}

/* メールアドレス */
.contact__form .input__email .form-input {
  width: min(226.13vw, 848px);
}

/* エラー */
.contact__form .form-errorBox {
  margin-bottom: min(calc(100vw/var(--basis-width) * 56),56px);
  padding: min(calc(100vw/var(--basis-width) * 40),40px) min(calc(100vw/var(--basis-width) * 48),48px);
  background: var(--red10);
}
.contact__form .form-errorBox .error {
  font-weight: var(--f_weight-700);
}

.contact__form .error {
  font-size: min(3.47vw, 13px);
  color: var(--red01);
}
.contact__form dd .error {
  position: relative;
  margin-top: min(calc(100vw/var(--basis-width) * 8),8px);
  padding-left: min(5.33vw, 20px);
}
.contact__form dd .error::before {
  content:url(../images/icon/alert-triangle_red.svg) ;
  position: absolute;
  left: 0px;
}
.contact__form .form-error {
  border: 1px solid var(--red01);
  outline: 1px solid var(--red01);
  border-radius: min(calc(100vw/var(--basis-width) * 8),8px);
  background-color: var(--red10);
}

@media (max-width: 767px) {
  /* ---- input ---- */
  .contact__form :is(.form-input, .input__textarea) {
    max-width: 100%;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 13px;
  }

  /* 氏名 */
  .contact__form .input__name {
    gap: 12px;
  }

  /* テキストエリア */
  .contact__form .input__textarea {
    height: 176px;
  }

  /* セレクトボックス */
  .contact__form .selectbox {
    display: block;
  }
  .contact__form .selectbox select {
    width: 100%;
    max-width: 100%;
    padding: 10px 48px 10px 16px;
    font-size: 13px;
    border-radius: 8px;
  }
  .contact__form .selectbox::after {
    width: 8px;
    height: 8px;
    right: 18px;
    top: calc(50% - 7px);
  }

  /* エラー */
  .contact__form .form-errorBox {
    margin-bottom: 32px;
    padding: 35px 24px;
  }
  .contact__form .error {
    font-size: 12px;
  }
  .contact__form dd .error {
    margin-top: 8px;
  }
}

/* ------ 次へ　------ */
.contact__btn {
  padding: min(calc(100vw/1080 * 80), 80px) 0;
  margin-top: min(calc(100vw/1080 * 98), 98px);
  border-top: 1px solid var(--gold09);
  background-color: var(--gold10_5);
  text-align: center;
}
.contact__btnbox {
  display: flex;
  justify-content: center;
}
.contact__btn .btn {
  justify-content: center;
  padding: 0;
  max-width: min(calc(100vw/1080 * 352), 352px);
  height: min(calc(100vw/1080 * 88),88px);
}
.contact__btn .btn--default::after,
.contact__btn .btn--outline::after {
  display: none;
}
@media (max-width: 767px) {
  .contact__btnbox {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
  .contact__btn {
    margin-top: 57px;
    padding: 39px 0;
  }
  .contact__btn .btn {
    max-width: 344px;
    min-height: 56px;
  }
  .contact__btn .btn.btn--default {
    height: 72px;
  }
}


/*+++++++++++++++++++++++++++++++++++++++++
  　お問い合わせ（確認）
*+++++++++++++++++++++++++++++++++++++++++*/
.contact--confirm .contact__formArea {
  margin-top: min(calc(100vw/var(--basis-width) * 120),120px);
}
.contact--confirm .contact__form {
  margin-top: 0;
}
.contact--confirm .contact__form dl {
  padding: min(calc(100vw/var(--basis-width) * 41),41px) 0;
}
.contact--confirm .contact__form dt {
  padding: 0;
}
.contact--confirm .contact__form dd {
  font-size: min(calc(100vw/var(--basis-width) * 18),18px);
  letter-spacing: 0.04em;
}
.contact--confirm .contact__btn {
  margin-top: min(calc(100vw/var(--basis-width) * 71),71px);
}
.contact--confirm .contact__btnbox {
  gap: min(calc(100vw/var(--basis-width) * 56),56px);
}
@media (max-width: 767px) {
  .contact--confirm .contact__formArea {
    margin-top: 54px;
  }
  .contact--confirm .contact__form dl {
    padding: 18px 0;
    gap: 21px;
  }
  .contact--confirm .contact__form :is(dt, dd) {
    font-size: 15px;
  }
  .contact--confirm .contact__btn {
    margin-top: 56px;
    padding: 40px 0 56px;
  }
  .contact--confirm .contact__btnbox {
    flex-direction: column;
    gap: 24px;
  }
  .contact--confirm .btn--outline {
    height: 56px;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  　お問い合わせ（完了）
*+++++++++++++++++++++++++++++++++++++++++*/
.contact--complete__text {
  margin-top: min(calc(100vw/var(--basis-width) * 47),47px);
}
.contact--complete .contact__btn {
  margin-top: min(calc(100vw/var(--basis-width) * 112),112px);
}
@media (max-width: 767px) {
  .contact--complete .contact__formArea {
    margin-top: 54px;
  }
  .contact--complete__text {
    margin-top: 28px;
  }
  .contact--complete .contact__btn {
    margin-top: 75px;
  }
}


/*+++++++++++++++++++++++++++++++++++++++++
  　アプリについて
*+++++++++++++++++++++++++++++++++++++++++*/
.app__head {
  padding-top: min(46.4vw, 174px);
  padding-bottom: min(5.33vw, 20px);
}
.app__head h1 {
  font-size: min(8vw, 30px);
}
.app__top_image_sp {
  display: none;
}
.app__top_text {
  padding-top: min(18.93vw, 71px);
}
.app__link_area br {
  display: none;
}
.btn--line {
  background-color: #00B702;
  border-color: #00B702;
}
.btn--line::after {
  content: url(../images/icon/otherlink_white.svg);
}
.btn--line:hover {
  background-color: #00B702;
  border-color: #00B702;
  opacity: 0.6;
}
.app__sec {
  padding-top: min(29.6vw, 111px);
}
.app__sec:first-of-type {
  padding-top: min(28.8vw, 108px);
}
@media (max-width: 767px) {
  .app__head {
    padding-top: calc(60px + 56px);
    padding-bottom: 40px;
  }
  .app__head h1 {
    font-size: 24.7px;
  }
  .app__top_image_pc {
    display: none;
  }
  .app__top_image_sp {
    display: block;
    width: 100%;
  }
  .app__top_text {
    padding-top: 44px;
    padding-bottom: 44px;
  }
  .app__link_area {
    margin-top: calc(44px + 28px);
    margin-bottom: 121px;
  }
  .app__link_area01 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .app__link_area br {
    display: inline;
  }
  .app__link_area p {
    text-align: center;
  }
  .app__sec {
    padding-top: 71px;
  }
  .app__sec:first-of-type {
    padding-top: 120px;
  }
}

/* ------ 機能一覧　------ */
.app__function {
  padding-top: min(5.6vw, 21px);
}
.app__function p {
  padding-top: min(8.53vw, 32px);
  padding-bottom: min(7.2vw, 27px);
}
.app__function img {
  width: min(23.15vw, 250px);
}
.app__wavytop--w,
.app__wavybottom--w {
  position: relative;
  width: fit-content;
  margin-left: 8px;
}
.app__wavytop--w::before {
  content: "";
  position: absolute;
  background-image: url(../images/app/app_wavy_wt.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: block;
  width: calc(100% + 16px);
  aspect-ratio: 11 / 1;
  top: -1px;
  left: -8px;
}
.app__wavybottom--w::after {
  content: "";
  position: absolute;
  background-image: url(../images/app/app_wavy_wb.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: block;
  width: calc(100% + 16px);
  aspect-ratio: 11 / 1;
  bottom: -1px;
  left: -8px;
}
.app__function .guide__comment {
  color: var(--gray05);
}
.app__function .guide__comment p {
  padding-top: 0;
  padding-bottom: 0;
}
.app__function_flex {
  display: flex;
  margin-top: max(-2.67vw, -10px);
  gap: min(14.93vw, 56px);
}
.app__function_flex > div {
  width: calc((100% - min(14.93vw, 56px)) / 2 );
}
.app__function_flex > div img {
  width: 100%;
}
.app__function_flex h4 {
  padding-bottom: min(3.73vw, 14px);
}
.app__function_last {
  margin-top: min(9.07vw, 34px);
}
@media (max-width: 767px) {
  .app__function {
    padding-top: 30px;
  }
  .app__function01 {
    padding-top: 0;
    margin-top: 56px;
  }
  .app__function {
    gap: 74px;
  }
  .app__function h3 {
    letter-spacing: 0.06em;
  }
  .app__function p {
    padding-top: 21px;
    padding-bottom: min(7.2vw, 27px);
    letter-spacing: 0.06em;
  }
  .app__function img {
    width: 164px;
  }
  .app__wavytop--w,
  .app__wavybottom--w {
    margin-left: 5px;
    width: calc(100% - 5px);
  }
  .app__wavytop--w::before {
    width: calc(100% + 10px);
    aspect-ratio: 11 / 1;
    top: -1px;
    left: -5px;
  }
  .app__wavybottom--w::after {
    width: calc(100% + 10px);
    aspect-ratio: 11 / 1;
    bottom: -1px;
    left: -5px;
  }
  .app__function_flex {
    margin-top: -6px;
    width: 100%;
    gap: 20px;
  }
  .app__function_flex > div {
    width: calc((100% - 20px) / 2 );
  }
  .app__function_flex h4 {
    letter-spacing: 0.1em;
  }
  .app__function_flex img {
    width: 100%;
  }
  .app__function_last {
    margin-top: 0;
  }
  .app__function_last br {
    display: none;
  }
}

/* ------ 予約までの流れ　------ */
.app__step_sec {
  margin-top: min(1.85vw, 20px);
  max-width: 100%;
}
.app__step_sec:last-of-type {
  margin-top: min(11.11vw, 120px);
}
.app__step_area {
  display: flex;
  margin-top: min(10.4vw, 39px);
  overflow: hidden;
  /* margin-left: calc(50vw - (min(91.25vw, 1168px))/2); */
}
.app__step_area .slick-list {
  padding: 0px calc(50vw - (min(91.25vw, 1168px) / 2));
}
.app__step {
  background-color: var(--gold10);
  border-radius: 8px;
  text-align: center;
  min-width: min(66.4vw, 249px);
  margin: 0 min(2.59vw, 28px);
  position: relative;
  width: min(23.33vw, 252px);
  min-height: min(49.07vw, 530px);
}
.slick-slide.app__step img.sp__view {
  display: none;
}
.app__step_sec:last-of-type .app__step {
  min-height: min(54.81vw, 592px);
}
.app__step:nth-last-of-type(n+2)::after {
  content: url(../images/app/app_arrows.svg);
  position: absolute;
  top: 47%;
  right: calc((11px + min(2.59vw, 28px)) * -1);
}
.app__step_title {
  height: min(12.8vw, 48px);
  background-color: var(--gold06);
  border-radius: 8px 8px 0 0;
}
.app__step_title p {
  color: var(--white);
  font-weight: var(--f_weight-700);
  font-size: min(3.73vw, 14px);
  padding-top: 2px;
}
.app__step_title span {
  font-size: min(7.47vw, 28px);
  margin-left: min(0.56vw, 6px);
}
.app__step_content {
  display: flex;
  flex-flow: column;
  align-items: center;
  padding: min(8.8vw, 33px) min(5.33vw, 20px);
}
.app__step_content > div {
  height: min(30.83vw, 333px);
}
.app__wavytop--b,
.app__wavybottom--b {
  position: relative;
  height: min(30.83vw, 333px);
}
.app__wavytop--b::before {
  content: "";
  position: absolute;
  background-image: url(../images/app/app_wavy_bb.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: block;
  width: calc(100% + 8px);
  aspect-ratio: 11 / 1;
  top: -1px;
  left: -4px;
}
.app__wavybottom--b::after {
  content: "";
  position: absolute;
  background-image: url(../images/app/app_wavy_bt.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: block;
  width: calc(100% + 8px);
  aspect-ratio: 11 / 1;
  bottom: -1px;
  left: -4px;
}
.app__step_content > div img {
  max-height: 100%;
}
.app__step_content p {
  margin-top: min(5.87vw, 22px);
  line-height: 1.3;
  color: var(--gold01);
  font-weight: var(--f_weight-700);
  width: min(56vw, 210px);
}
.app__step_qr {
  display: flex;
  align-items: center;
}
.app__step_sp {
  display: none!important;
}
.app__step_text_sp {
  display: none!important;
}
.app__sec .hotel__link_area {
  margin-top: min(21.07vw, 79px);
  margin-bottom: min(40.27vw, 151px);
}
.page_app .breadcrumbs {
  margin-top: min(14.81vw, 160px);
}
@media (max-width: 767px) {
  .app__step_sec {
    margin-top: 56px;
  }
  .app__step_sec:last-of-type {
    margin-top: 75px;
  }
  .app__step_sec h3 {
    letter-spacing: 0.06em;
  }
  .app__step_area {
    margin-top: 27px;
  }
  .app__step {
    width: 154px;
    margin:0 8px;
    min-width: auto;
    min-height: 388px;
  }
  .slick-slide.app__step img.sp__view {
    display: block;
  }
  .slick-slide.app__step img.pc__view {
    display: none;
  }
  .app__step_sec:last-of-type .app__step {
    min-height: 440px;
  }
  .app__step:nth-last-of-type(n+2)::after {
    content: url(../images/app/app_arrows_sp.svg);
    top: 48%;
    right: -13px;
  }
  .app__step_title p {
    font-size: 10px;
    padding-top: 6px;
  }
  .app__step_title span {
    font-size: 22px;
    margin-left: 6px;
  }
  .app__step_content {
    padding: 22px 13px;
  }
  .app__step_content > div {
    height: 214px;
  }
  .app__step_content > div.height__sp__min {
    height: 170px;
  }
  .app__wavytop--b,
  .app__wavybottom--b {
    max-height: 214px;
    height: fit-content;
  }
  .app__wavytop--b::before {
  width: calc(100% + 4px);
  aspect-ratio: 11 / 1;
  top: -1px;
  left: -2px;
  }
  .app__wavybottom--b::after {
  width: calc(100% + 4px);
  aspect-ratio: 11 / 1;
  bottom: -1px;
  left: -2px;
  }
  .app__step_content p {
    line-height: 1.4;
    font-size: 12px;
    margin-top: 18px;
    font-weight: var(--f_weight-500);
    width: 138px;
  }
  .app__step_content img {
    width: 100%;
  }
  .app__step_qr {
    display: none!important;
  }
  .app__step_sp {
    display: block!important;
  }
  .app__step_text_pc {
    display: none!important;
  }
  .app__step_text_sp {
    display: block!important;
  }
  .page_app .breadcrumbs {
    margin-top: 120px;
  }
}


/*+++++++++++++++++++++++++++++++++++++++++
  　404
*+++++++++++++++++++++++++++++++++++++++++*/
.not_found {
  text-align: center;
  padding-top: min(31.47vw, 118px);
}
.not_found_title h1 {
   font-size: min(27.73vw, 104px);
}
.not_found_title p {
  font-size: min(11.73vw, 44px);
  text-transform: uppercase;
  margin-top: max(-0.8vw, -3px);
}
.not_found_text {
  margin-top: min(9.33vw, 35px);
}
.not_found_btn {
  display: flex;
  justify-content: center;
  margin-top: min(18.67vw, 70px);
  margin-bottom: min(11.94vw, 129px);
}
.btn--none {
  justify-content: center;
  min-width: min(93.87vw, 352px);
}
.btn--none::after {
  content:"";
  width: 0;
  height: 0;
}
.btn--none:hover::after {
  content:"";
}
@media (max-width: 767px) {
  .not_found {
    padding-top: 100px;
  }
  .not_found_title h1 {
     font-size: 62px;
  }
  .not_found_title p {
    font-size: 28px;
    margin-top: 11px;
  }
  .not_found_text {
    margin-top: 35px;
    line-height: 1.8;
  }
  .not_found_btn {
    margin-top: 49px;
    margin-bottom: 120px;
  }
  .btn--none {
    min-width: 100%;
  }
}


/*+++++++++++++++++++++++++++++++++++++++++
  　お知らせ詳細、トピック詳細
*+++++++++++++++++++++++++++++++++++++++++*/
.topics__content .btn--outline {
  padding-left: min( 2.96vw, 32px );
}
@media (max-width: 767px) {
  .topics__content .btn--outline {
    padding-left: 22px;
  }
}

/*+++++++++++++++++++++++++++++++++++++++++
  ホーム
*+++++++++++++++++++++++++++++++++++++++++*/
body.home section {
  margin-top: 0;
}


/* ピックアップ
=================================*/

.front_pickup {
  margin-bottom: min(4.71vw,80px);
}
.inner_pickup {
  width: min(97vw,1296px);
  margin: 0 auto;
}
.inner_w {
  width: min(97vw,1360px);
  margin: 0 auto;
}
.calendar_area {
  background-color: var(--gray03);
  color: #fff;
}

.calendar_dates {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
ul.calendar_list {
  display: flex;
  justify-content: space-between;
  align-items: center;
position: relative;
  padding-left: min(2.2vw,24px);
}

ul.calendar_list li {
  text-align: center;
width: min(5.74vw,62px);
border-right: 1px solid #666;
}
ul.calendar_list li:last-child {
border:0;
}
.calendar_date {
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
  margin-bottom: 9px;	
}
.plan_count {
  font-size: min(1.2vw,13px);
  line-height: 1;
}
@media (max-width: 767px) {
.plan_count {
  font-size: 10px;
}
}
ul.calendar_list:before {
content: url(../images/top/icon/calendar-dates.svg);
  width: 24px;
  height: 24px;
  position: absolute;
  top: calc(50% - 12px);
  left: -12px;
  z-index: 3;
}
ul.calendar_list li a:hover {
opacity:0.6;
}
.btn_calendar {
  width: min(24.07vw,260px);
  height: min(7.41vw,80px);
  text-align: center;
  background: var(--gray02);
  display: flex;
  align-items: center;
  justify-content: center;
font-size: min(1.48vw,16px);
  font-weight: 700;
transition: ease 0.2s;
}
.btn_calendar:hover {
  background: var(--gray04);
}

.news_pickup {
  background: var(--gray11);
padding: min(1.48vw,16px) 0;
}
ul.pickup_list li {
  border-bottom: 1px solid #d9d9d9;
}

ul.pickup_list li:last-child {
  border: 0;
}
ul.pickup_list li a {
  display: block;
  padding: min(2.22vw,24px) 40px min(2.22vw,24px) 0;
  position: relative;
  transition: ease 0.2s;
}
ul.pickup_list li a::after {
  content: url(../images/icon/arrows_black.svg);
  width: 24px;
  height: 24px;
  position: absolute;
  top: calc(50% - 12px);
  right: 0;
  z-index: 3;
}
ul.pickup_list li a:hover {
opacity:0.6;
}

.news_cat.pickup_cat {
  background: #EB5757;
  color: #fff;
  border: 0;
}
.pickup_title {
  font-weight: 700;
  color: var(--gray03);
}
.plan_topics {
  background: #fff;
  padding: min(3.7vw,40px) 0 min(6.02vw,65px);
}
.plan_topics .title04 {
  font-weight: 700;
  margin-bottom: min(2.96vw,32px);
}
.plan_box {
  background: var(--gray11);
  box-sizing: border-box;
  color: var(--gray03);
}
.plan_box a {
  position: relative;
  display: block;
  padding: min(1.85vw,20px) min(4.07vw,44px) min(1.85vw,20px) min(2.22vw,24px);
  border: 1px solid var(--gray07_5);
  transition: ease 0.2s;
}
.plan_box a::before {
content: '';
position: absolute;
top: 0; bottom: 0; left: 0; right: 0;
border: 2px solid transparent;
transition: ease 0.2s;
}
.plan_box a::after {
content: url(../images/icon/arrows_black.svg);
  width: 24px;
  height: 24px;
  position: absolute;
  top: calc(50% - 12px);
  right: min(1.48vw, 16px);
  z-index: 3;
}
.plan_box a:hover {
/* opacity: 0.6; */
border-color: transparent;
}
.plan_box a:hover::before {
border-color: var(--gold);
}
.plan_date {
  border-bottom: 1px solid #d9d9d9;
  font-weight: 700;
  line-height: 1;
  padding-bottom: min(1.67vw,18px);
  margin-bottom: min(1.67vw,18px);
letter-spacing: 0.04em;
}
.plan_label {
  display: flex;
flex-wrap: wrap;
}
.plan_cat {
  background-color: var(--gold);
  color: #fff;
  width: 76px;
  height: min(2.03vw,22px);
  font-size: min(1.11vw,12px);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
margin-right: min(0.74vw,8px);
}
.plan_cat.pl_g01 {
background-color: var(--gold);
  color: #fff;
}
.plan_cat.pl_g02 {
  color: var(--gold01);
  border: 1px solid var(--gold05);
  background: #fff;
}
.plan_cat.pl_g03 {
  color: var(--gold01);
  border: 1px solid var(--gold05);
  background: var(--gold10);
}
.plan_ttl {
  font-size: min(1.67vw,18px);
  font-weight: 700;
letter-spacing: 0.04em;
margin-top: min(1.11vw,12px);
width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.play_icon {
  display: flex;
margin-top: min(1.11vw,12px);
}
.play_icon img {
  max-width: min(4.82vw,52px);
  width: calc((100% - 7px) / 8);
  height: auto;
  margin-right: 1px;
}
.plan_bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: min(2.22vw,24px);
}
ul.plan_type {
  display: flex;
  align-items: center;
  width: calc(100% - 155px);
}
ul.plan_type li {
  text-align: center;
  max-width: min(5.74vw,62px);
  width: calc(100% / 4);
}
.plan_time {
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
}
.plan_num {
  font-size: min(1.2vw,13px);
  line-height: 1;
  margin-top: min(1.67vw,18px);
}

.plan_price_box {
  border-left: 1px solid #d9d9d9;
  padding-left: min(2.22vw,24px);
  margin-left: auto;
}
.plan_price {
  color: var(--gold);
  font-weight: 700;
font-size: min(1.67vw,18px);
line-height: 1;
}
.plan_price span {
font-size: min(3.15vw,34px);
letter-spacing: 0,02em;
}
.plan_price_tax {
font-size: min(1.2vw,13px);
letter-spacing: 0,04em;
}
.plan_price_tax span {
font-weight: var(--f_weight-700);
}
.plan_area .slick-dots,.topics_list .slick-dots  {
position: absolute;
  right: 0;
  bottom: -16px;
  height: 1px;
  display: flex;
  flex-direction: row;
  gap: 2px;
}
.plan_area .slick-dots .slick-active button,.topics_list .slick-dots .slick-active button {
  opacity: 1;
}
.plan_area .slick-dots button ,.topics_list .slick-dots button {
  padding: 0;
  color: transparent;
  outline: none;
  width: 20px;
  border: unset;
  height: 1px;
  display: block;
  background: var(--gray03);
  opacity: 0.3;
  cursor: pointer;
}


ul.topics_list {
  border-top: 1px solid #d9d9d9;
}

ul.topics_list li {
  border-bottom: 1px solid #d9d9d9;
}
ul.topics_list .slick-slide{
border-bottom-color:#d9d9d9;
}
ul.topics_list li a {
  padding: min(2.04vw,22px) min(3.7vw,40px) min(2.04vw,22px) 0;
  position: relative;
display: flex;
transition: ease 0.2s;
}
ul.topics_list li a::after {
  content: url(../images/icon/arrows_black.svg);
  width: 24px;
  height: 24px;
  position: absolute;
  top: calc(50% - 12px);
  right: 0;
  z-index: 3;
}
ul.topics_list li a:hover {
opacity:0.6;
}
.topics_thumb {
  float: left;
  margin-right: min(1.48vw,16px);
}
.topics_thumb img {
  object-fit: contain;
  width: min(13.7vw, 148px);
  height: min(9.72vw, 105px);
}
.clearfix:after {
visibility: hidden;
height: 0;
display: block;
font-size: 0;
content: " ";
clear: both;
}
.topics_box {
  width: 100%;
  color: var(--gray03);
}
.topics_ttl {
  font-weight: 700;
  line-height: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 1;
}
.topics_box p {
  margin-top: min(1.67vw,16px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

@media (max-width: 1080px) {
.plan_box a::after {
  right: calc(min(1.48vw, 16px) - 5px);
}
}
@media (min-width: 768px) {
  .topics_ttl {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
  }
}
@media (max-width: 767px) {

.inner_pickup {
  width: 100%;
}
.inner_w {
  width: 100%;
}
.calendar_area {
  padding: 14px 0;
}	
.btn_calendar {
  display: none;
}
ul.calendar_list {
  width: 100%;
  padding-left: 24px;
}
ul.calendar_list li {
  width: calc(100%/7);
}	
ul.calendar_list li:nth-child(7) {
  border: 0;
}	
ul.calendar_list li:nth-child(n+8) {
  display: none;
}	
ul.calendar_list:before {
  content: '';
  width: 16px;
  height: 16px;
  top: calc(50% - 8px);
  left: 0;
  background: url(../images/top/icon/calendar-dates.svg) no-repeat;
  background-size: contain;
}	
ul.pickup_list li a {
  padding: 16px 30px 16px 0;
}	
.news_cat.pickup_cat {
  font-size: 11px;
  width: 96px;
}
.pickup_title {
  width: 100%;
  font-size: 13px;
margin-top: 8px;
}

.plan_topics {
  padding-top: 32px;
  padding-bottom: 50px;
}	
.plan_topics .title04 {
  font-size: 18px;
  margin-bottom: 16px;
}	
.plan_box {
  margin: 0 1px;
}	
.plan_box a {
  padding: 16px 8px;
}	
.plan_box a::after {
  content: none;
}	
.plan_date {
  margin-bottom: 12px;
  padding-bottom: 12px;
}	
.plan_cat {
  font-size: 12px;
  height: 22px;
}
.plan_ttl {
  font-size: 16px;
  letter-spacing: 0;
  margin-top: 12px;
}
.play_icon {
  flex-wrap: wrap;
margin-top: 16px;
}	
.play_icon img {
  width: calc((100% - 8px) / 8);
  max-width: none;
  height: auto;
}
.plan_bottom {
  margin-top: 18px;
}	
ul.plan_type li {
  width: 40px;
}
.plan_num {
font-size: 11px;
}
.plan_price_box {
  padding-left: 24px;
}	
.plan_price {
  font-size: 12px;
}
.plan_price span {
  font-size: 25px;
}
.plan_price_tax {
font-size: 11px;
}
ul.topics_list {
  border: 0;
}	
ul.topics_list li a {
  padding: 16px 0;
}	
ul.topics_list li a:after {
content: none;
}	
.topics_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}	
.topics_thumb {
  margin: 0;
}	
.topics_thumb img {
  width: 164px;
  height: 116px;
}	

.topics_ttl {
  font-size: 15px;
  width: calc(100% - 164px);
  box-sizing: border-box;
  padding: 0 25px 0 16px;
  line-height: 1.5;
  position: relative;
  -webkit-line-clamp: 2;
}	
.topics_ttl::after {
  content: url(../images/icon/arrows_black.svg);
  width: 24px;
  height: 24px;
  position: absolute;
  top: calc(50% - 12px);
  right: 0;
  z-index: 3;
}	
.topics_box p {
  clear: both;
  font-size: 13px;
  letter-spacing: 0.04em;
  margin-top: 16px;
}
.front_pickup {
  margin-bottom: 0;
  padding-bottom: 40px;
  background: var(--gold10);
}	



}


/* コースガイド
=================================*/

.front__course {
background-color: var(--white);
padding-bottom: min(14.8vw, 160px);
overflow: hidden;
}
.title_vt_gold {
  position: relative;
}
.title_vt_gold:before {
  content: '';
  display: block;
  width: 1px;
  height: min(11.1vw,120px);
  background-color: var(--gold03);
  opacity: 0.95;
  margin-bottom: min(1.86vw,30px);
}
.top_title_sub {
  color: var(--gold01);
font-size: min(5.83vw, 63px);
  letter-spacing: 0.04em;
line-height: 1;
}
.top_title02 {
  color: var(--gold01);
line-height: 1;
font-size: min(1.85vw, 20px);
letter-spacing: 0.05em;
  margin-top: min(1.48vw,16px);
}
.front__course__cnt{
position: relative;
}
.front__course__cnt_l {
  width: min(50vw, 556px);
margin-top: min(7.41vw,80px);
}
.front_course_img {
  width: min(40.6vw,600px);
  position: absolute;
  top: -25%;
  right: 0;
}
.front_course_feature {
  margin-top: min(5.93vw,64px);
}
.top_title03 {
  font-size: min(1.7vw ,18px);
  line-height: 1;
}
.fr_c_ttl {
  color: var(--gold01);
}
ul.front_course_cnt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: min(2.94vw, 31.8px);
}
ul.front_course_cnt li {
  color: var(--gold01);
font-size: min(6.2vw, 67px);
  padding-left: min(2.9vw,32px);
  padding-right: min(2.9vw,32px);
line-height: 1;
  position: relative;	
}
ul.front_course_cnt li:first-child {
padding-left: 0;
}
ul.front_course_cnt li:last-child {
padding-right: 0;
}
ul.front_course_cnt li p {
  color: var(--gray05);
font-size: min(1.1vw, 12px);
  margin-bottom: min(1.5vw,16px);
}
ul.front_course_cnt li:after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 23%;
  width: 1px;
  height: min(2.22vw,24px);
  background: var(--gray07);
}
ul.front_course_cnt li:last-child:after {
  content: none;
}
dl.front_course_dl {
margin-top: min(2.96vw,32px)
}

dl.front_course_dl dt {
color: var(--gray05);
font-weight: 500;
font-size: min(1.1vw, 12px);
line-height: 1;
margin-bottom: min(1.48vw,16px);
}
dl.front_course_dl dd {
color: var(--gold01);
font-weight: 500;
line-height: 1;
}
dl.front_course_dl.course_rate dd {
  font-size: min(3.15vw,34px);
}
.front__course .btn {
  margin-top: min(3.7vw, 40px);
}


@media (max-width: 767px){

.title_vt_gold:before {
  height: 80px;
  position: relative;
  z-index: 3;
}	
  
.top_title_sub {
  font-size: 38px;
margin-top: 42px;
position: relative;
  z-index: 3;
}	
.top_title02 {
  font-size: 14px;
  margin-top: 14px;
position: relative;
  z-index: 3;
}	
.front__course__cnt_l {
  width: 100%;
  margin-top: 48px;
}
.front_course_img {
  position: relative;
  top: auto;
  right: auto;
  width: 100%;
  max-width: min(91.25vw, 1168px);
  margin-right: auto;
  margin-left: auto;
  margin-top: 32px;
}
.front_course_feature {
  margin-top: 32px;
}	
.top_title03 {
  font-size: 18px;
}	
ul.front_course_cnt {
  margin-top: 32px;
}	
ul.front_course_cnt li {
  font-size: 52px;
padding: 0 20px;
}	
ul.front_course_cnt li p {
  font-size: 11px;	
}	
ul.front_course_cnt li:after {
  height: 20px;
}	
dl.front_course_dl {
  margin-top: 32px;
}
dl.front_course_dl dt {
  font-size: 11px;
  margin-bottom: 12px;
}
dl.front_course_dl.course_rate dd {
  font-size: 26px;
}
.front__course .btn {
  margin-top: 40px;
}


}


/* 特長 slide
=================================*/
.front__feauture{
padding-bottom: min(14.8vw, 160px);	
}
.slider_front_feature .slick-list {
padding: 0 20vw!important;
}
.slider_front_feature .slick-list .slick-track {
display: flex;
}
.slider_front_feature .front_slide_list {
/* height: min(63vw,680px); */
  /* padding-left: min(3.7vw,40px);
padding-right: min(3.7vw,40px); */
height: auto;
margin: 0 40px;
display: flex;
flex-direction: column;
justify-content: flex-end;
width: 720px!important;
}
.slider_front_feature .slick-slide img {
width: 100%;
max-height: 540px;
object-fit: cover;
object-position: center;
}
.front_slide_list p {
  font-size: min(1.67vw,18px);
  line-height: 1.6;
  margin-bottom: min(3.7vw,40px);
  letter-spacing: 0.05em;
  color: var(--gray03);
}

.slider_front_feature .slick-dots {
position: absolute;
  right: 0;
  left: 0;
  bottom: -48px;
  margin: auto;
  height: 1px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 2px;
}
.slider_front_feature .slick-dots .slick-active button {
  opacity: 1;
}
.slider_front_feature .slick-dots button {
  padding: 0;
  color: transparent;
  outline: none;
  width: 20px;
  border: unset;
  height: 1px;
  display: block;
  background: var(--gray03);
  opacity: 0.3;
  cursor: pointer;
}
@media (max-width: 1800px) {
.slider_front_feature .slick-list {
  padding: 0 calc((100vw - 800px) / 2)!important;
}
}
@media (max-width: 1280px) {
.slider_front_feature .front_slide_list {
  margin: 0 min(3.7vw,40px);
}
.slider_front_feature .slick-list {
  padding: 0 10vw!important;
}
}
@media (max-width: 767px){
.front_slide_list p {
  font-size: 13px;
}
.slider_front_feature .slick-list {
padding: 0 calc((100vw - 320px) / 2)!important;
}
.slider_front_feature .front_slide_list {
  margin: 0 12px;
}	
.slider_front_feature .slick-dots {
bottom: -16px;
}
.front__feauture {
  padding-bottom: 72px;
}
.slider_front_feature .slick-slide img {
max-height: 222px;
}
}

/* 特長 レストラン/ 施設案内
=================================*/
.front__ctn {
  background: var(--desert10);
  padding-bottom: min(14.8vw, 160px);
}
.front__ctn__block {
  position: relative;
  background: url(../images/top/restaurant_img_pc.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  padding-bottom: min(11.1vw, 120px);
  overflow: hidden;
}
.front__ctn__block.ctn_facility {
  background-image: url(../images/top/facility_img_pc.jpg);
}
.front__ctn-box {
width: min(54.26vw, 586px);
  background: rgba(255,255,255,0.96);
  padding-left: min(8.15vw,88px);
padding-right: min(8.15vw,88px);
padding-bottom: min(8.15vw,88px);
  margin-left: auto;
}
.front__ctn__block.ctn_facility .front__ctn-box {
margin-left: 0;
}
.front__ctn-box_txt {
  color: var(--gray03);
  margin-top: min(7.41vw,80px);
letter-spacing: 0.04em;
}
.front__ctn-box .btn {
  margin-top: min(11.95vw,129px);
}


@media (max-width: 767px){


.front__ctn {
  padding-bottom: 40px;
}	
.front__ctn__block {
padding-bottom: 0;
/* background-position: center top;
background-size: auto 70%; */
background-position: center top  max(calc(100px - 420 * (100vw - 320px) / 448),-320px);
background-size: 100%;
background-image: url(../images/top/restaurant_img_sp.jpg);
}	
.front__ctn__block.ctn_facility {
background-image: url(../images/top/facility_img_sp.jpg);
}	
.front__ctn-box {
width: 100%;
padding: 0 calc((100vw - 91.25vw) *0.5);
background: none;
position: relative;
}
.front__ctn-box::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 218px;
  background: rgba(255,255,255,0.95);
}	
.front__ctn-box_bottom {
margin-top: 420px;
background: #fff;
width: 100vw;
margin-right: calc(50% - 50vw);
margin-left: calc(50% - 50vw);
padding: 32px calc((100vw - 91.25vw) *0.5) 64px ;
}	
.front__ctn-box_txt {
  margin: 0;
}	

}
@media (max-width: 430px){
.front__ctn__block {
  background-position: center top;
}	
}


/* 特長 その他
=================================*/
.front__ctn_3 {
  background-color: var(--desert09);
  padding-top: min(11.1vw, 120px);
  padding-bottom: min(9.82vw, 106px);
}
.front_ctn_other {
}
.front_ctn_other li {
  background: #fff;
color: var(--gray03);
padding-bottom: min(4.4vw,48px);
position: relative;
}
.front_ctn_other li a {

}
.ctn_3_img{
overflow: hidden;
}
.ctn_3_img img{
transition: all .5s ease;
}
.ctn_3_ttl {
font-size: min(1.67vw,18px);
padding-top:min(2.96vw,32px);
padding-bottom:min(2.96vw,32px);
padding-left:min(3.7vw,40px);
padding-right:min(7.79vw,84px);
position: relative;
font-weight: var(--f_weight-700);
letter-spacing: 0.04em;
transition: ease 0.2s;
}
.ctn_3_ttl:after {
content: url(../images/icon/arrows_black.svg);
  width: 24px;
  height: 24px;
  position: absolute;
  top: calc(50% - 12px);
  right: 35px;
  z-index: 3;
}

.ctn_3_txt {
padding-left:min(3.7vw,40px);
padding-right:min(3.7vw,40px);
}
.front_ctn_other li a:hover .ctn_3_img img {
transform: scale(1.1);
}
.front_ctn_other li a:hover .ctn_3_ttl{
color: var(--gold);
}
.front_ctn_other li a:hover .ctn_3_ttl:after {
content: url(../images/icon/arrows_gold.svg);
}

@media (max-width: 767px){	
.front__ctn_3 {
  padding: 64px 0;
}	
.grid.grid--3.front_ctn_other {
  gap: 16px;
}	
.front_ctn_other li {
  padding: 0;
}	
.front_ctn_other li a {
  padding: 16px 0 24px;
  display: block;
}	
.ctn_3-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.ctn_3_img {
  width: 48%;
}
.ctn_3_ttl {
  width: 48%;
  padding: 0 32px 0 0;
font-size: 15px;
}	
.ctn_3_ttl:after {
  right: 10px;
}	

}



/* 宿泊施設
=================================*/
.front__facility_stay {
  padding-top: min(11.1vw, 120px);
padding-bottom: min(11.1vw, 120px);
}
.stay_card {
  background: #fff;
  padding: min(6.67vw,72px);
}
.stay_card_txt {
  margin-top: min(4.44vw,48px);
color: var(--gray03);
}
.stay_card_cnt .btn {
  margin-top: min(9.26vw,100px);
}

@media (max-width: 767px){
.front__facility_stay {
  padding: 64px 0;
}	
.stay_card.grid.grid--2 {
  gap: 32px;
padding: 16px 16px 42px 16px;
}
.stay_card_txt {
  margin-top: 32px;
}
.stay_card_cnt .btn {
  margin-top: 40px;
}

}


/* アクセス
=================================*/
.front__access {
  padding-top: min(11.1vw, 120px);
  padding-bottom: min(11.1vw, 120px);
  background: url(../images/top/access_bg.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
.access_box {
background: #fff;
text-align: center;
padding-bottom: min(7.41vw,80px);
padding-top: min(11.1vw, 120px);
}
.access_addr {
margin-top: min(5.19vw,56px);
}
.access_Map_link {
color: var(--gold01);
margin-top: min(1.85vw,20px);
}
.access_btn_area {
width: min(54.1vw,584px);
margin: 0 auto;
margin-top: min(3.7vw,40px);
}
.access_Map_link a {
position: relative;
padding-left: 28px;
font-weight: 500;
font-size: min(1.2vw, 13px);
transition: 0.2s ease;
}
.access_Map_link a:hover {
opacity: 0.6;
}
.access_Map_link a:before {
content: url(../images/top/icon/pin_gold.svg);
width: 24px;
height: 24px;
position: absolute;
top: calc(50% - 12px);
left: 0;
z-index: 3;
}
.access_Map_link a:after {
content: '';
  background: url(../images/top/icon/external-link.svg) no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  width: 16px;
  height: 16px;
  top: calc(50% - 8px);
  right: -20px;
  z-index: 3;
}
.access_btn_area.grid.grid--2 {
  column-gap: min(2.22vw,24px);
}
.access_btn_area .btn {
  width: 280px;
}

.ico-car, .ico-train {
  padding-left: min(6.66vw,72px);
}
.ico-car::after, .ico-train::after {
  right: 27px;
}
.ico-car:before,.ico-train:before {
  content: '';
  width: 24px;
  height: 24px;
  position: absolute;
  top: calc(50% - 12px);
  left: 32px;
  background: url(../images/top/icon/car_gold.svg) no-repeat;
}
.ico-train:before {
background-image: url(../images/top/icon/train_gold.svg);
}
.ico-car:hover:before {
  background-image: url(../images/top/icon/car_white.svg);
}
.ico-train:hover:before {
  background-image: url(../images/top/icon/train_white.svg);
}

@media (max-width: 767px){
.front__access {
  padding: 64px 0;
  background: url(../images/top/access_bg_sp.jpg) no-repeat;
  background-size: cover;
}	
.access_box {
  padding: 80px 0;
}
.access_box .top_title_sub {
  margin-top: 0;
}	
.access_addr {
  margin-top: 48px;
}	
.access_Map_link a {
  font-size: 13px;
}	
.access_Map_link a::after {
  background-image: url(../images/icon/arrows_gold.svg);
}	
.access_btn_area.grid.grid--2 {
margin-top: 48px;
  gap: 24px;
width: 219px;
}
.ico-car, .ico-train {
  padding-left: 56px;
}	
.ico-car:before, .ico-train:before {
  left: 24px;
}	
.ico-car::after, .ico-train::after {
  right: 16px;
}	
}


/* NEWS
=================================*/
.front__news {
  background-color: #fff;
  padding: min(14.8vw,120px) 0;
}
.front__news h2, .front__news .top_title_sub {
  text-align: center;
}

ul.news_list {
  border-top: 1px solid #d9d9d9;
margin-top: min(7.41vw, 80px);
}

ul.news_list li {
  border-bottom: 1px solid #d9d9d9;
color: var(--gray03);
}

.news_list li a {
  display: block;
  padding: min(3.24vw,35px) 40px min(3.24vw,35px) 0;
position: relative;
transition: ease 0.2s;
}
ul.news_list li a::after {
  content: url(../images/icon/arrows_black.svg);
  width: 24px;
  height: 24px;
  position: absolute;
  top: calc(50% - 12px);
  right: 0;
  z-index: 3;
}
.news_list li a:hover {
  opacity: 0.6;
}
.news_box {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  align-items: flex-start;
}
.news_date {
  width: 120px;
  margin-right: min(2.22vw, 24px);
}
.news_cat {
  font-size: min(1.11vw, 12px);
width: min(10.37vw, 112px);
text-align: center;
  display: inline-block;
  line-height: 1;
  color: var(--gold01);
  border: 1px solid #BCAE8A;
  border-radius: 2px;
  padding: 6px 0;
margin-right: min(2.22vw, 24px);
  font-weight: 500;
}
.front__news .btn {
  margin: min(7.41vw) auto 0;
}

@media (max-width: 767px){

.front__news {
  padding: 80px 0 64px;
}	
.front__news .top_title_sub {
  margin-top: 0;
}
ul.news_list {
  margin-top: 48px;
}	
.news_list li a {
  padding: 24px 24px 24px 0;
}	
.news_date {
  font-size: 13px;
  width: 100px;
  margin-right: 8px;
}	
.news_box .news_cat {
  width: 96px;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 20px;
  padding: 0;
  margin: 0;
}	
.news_title {
  width: 100%;
  font-size: 13px;
  margin-top: 8px;
}


}


/* JGMアカウント
=================================*/

.front__JGMaccount {
  padding: min(11.1vw, 120px) 0;
}
.title02.JGMaccount_ttl {
  color: var(--gold01);
  font-weight: var(--f_weight-700);
  letter-spacing: 0.02em;
line-height: 1;
}
.JGMaccount_txt {
  color: var(--gray03);
margin-top: min(2.78vw,30px);
  line-height: 1.6;
}
.JGMaccount__block .btn--outline {
  background-color: var(--gold01);
  color: #fff;
margin-top: min(3.7vw,40px);
}
.JGMaccount__block .btn--outline::after {
  content: url(../images/icon/arrows_white.svg);
}
.JGMaccount__block .btn--outline:hover {
background-color: var(--gold);
}
.JGMaccount__block .btn--outline:hover::after {
}
.JGMaccount__block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.JGMaccount__l {
  width: calc(100% - min(61vw,658px) - min(8.51vw,92px));
}
.JGMaccount__r {
  width: min(61vw,658px);
}
ul.account_rate_list {
display: flex;
flex-wrap: wrap;
justify-content: space-between;

}
ul.account_rate_list li {
  background-color: #fff;
  border-radius: 8px;
width: 24%;
text-align: center;
}
.point_label {
  background-color: var(--gold06);
  color: #fff;
  border-radius: 8px 8px 0 0;
font-weight: 700;
  font-size: 11px;
padding: 14px 0 12px;
}
.point_label span {
  font-size: min(2.22vw,24px);
  line-height: 1;
  padding-left: 5px;
}
.point_cnt {
  color: var(--gold01);
  padding: min(1.48vw,16px) 3px min(1.85vw, 20px);
}
.point_icon {
  width: min(5.18vw, 56px);
  margin: 0 auto;
}
ul.account_rate_list li:nth-child(3) .point_icon {
  width: min(5.83vw,63px);
}
.point_txt1 {
  font-size: min(1.11vw,12px);
  font-weight: 700;
  line-height: 1.3;
margin-top: 8px;
}
.point_txt2 {
  font-size: 11px;
  font-weight: 500;
  margin-top: 8px;
}
.point_txt1 span {
  font-size: min(1.67vw,18px);
}

@media (max-width: 1080px){
.JGMaccount__l {
  width: 42%;
}		
.JGMaccount__r {
  width: 52%;
}
ul.account_rate_list li {
  width: 48%;
  margin-bottom: 20px;
}	



}
@media (max-width: 767px){

.front__JGMaccount {
  padding: 64px 0 56px;
}	
.title02.JGMaccount_ttl {
  text-align: center;
}
.JGMaccount__l, .JGMaccount__r {
  width: 100%;
}
.JGMaccount__r {
  margin-top: 32px;
}	
.JGMaccount_txt {
  margin-top: 40px;
  letter-spacing: 0.04em;
  font-size: 13px;
}

ul.account_rate_list li {
  width: 49%;
  margin-bottom: 15px;
}
.point_label span {
  font-size: 22px;
}	
.point_icon {
  width: 48px;
}
ul.account_rate_list li:nth-child(3) .point_icon {
  width: 54px;
}
.point_cnt {
  padding: 18px;
}	
.point_txt1 {
  font-size: 12px;
}	
.point_txt1 span {
  font-size: 18px;
}	
.JGMaccount__block {
  position: relative;
padding-bottom: 112px;
}
.JGMaccount__block .btn {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}	

}


/* バナー
=================================*/
.front__banner {
  background-color: var(--white);
padding-top: min(5.93vw, 64px);
padding-bottom: min(5.93vw, 64px);
}
ul.banner_box {
}
.banner_box_list {
display: flex !important;
  flex-wrap: wrap;
justify-content: space-between;
position: relative;
margin-right: min(3.7vw,40px);
transition: 0.2s ease;
}
.banner_box_list:hover {
opacity: 0.6;
}
.banner_box_list a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.banner_img {
  width: 48.1%;
}
.banner_cnt {
  width: 50%;
}
.banner_cnt dl {
  color: var(--gray03);
}
.banner_cnt dt {
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 3px;
}

.banner_box .slick-dots {
position: absolute;
  right: 0;
  bottom: -24px;
  height: 1px;
  display: flex;
  flex-direction: row;
  gap: 2px;
}
.banner_box .slick-dots .slick-active button {
  opacity: 1;
}
.banner_box .slick-dots button {
  padding: 0;
  color: transparent;
  outline: none;
  width: 20px;
  border: unset;
  height: 1px;
  display: block;
  background: var(--gray03);
  opacity: 0.3;
  cursor: pointer;
}

@media (max-width: 767px){

.front__banner {
  padding: 56px 0;
}	
.banner_img {
  width: 100%;
}
.banner_cnt {
  width: 100%;
margin-top: 16px;
}
.banner_box_list {
  width: 59.8vw;
margin: 0 16px 0 0;
}	
.banner_cnt dt {
  font-size: 13px;
margin-bottom: 16px;
}
.banner_cnt dd {
  font-size: 12px;
}

}


body.home #breadcrumbs {
  display: none;
}



/* 
=================================*/


/*+++++++++++++++++++++++++++++++++++++++++
コースガイド
*+++++++++++++++++++++++++++++++++++++++++*/
.page_courseguide {
color: var(--gray03);
}
.page_courseguide .page__head {
  background-image: url(../images/courseguide/KV.jpg);
}

.title02.left-line {
position: relative;
}
.title02.left-line::before {
content: '';
position: absolute;
top: 0.5em;
left: max( -4vw, -56px );
background-color: var(--gold03);
width: 16px;
height: 2px;
}
@media (max-width: 767px) {
  .page_courseguide .page__head {
    background-image: url(../images/courseguide/KV_sp.jpg);
  }
.title02.left-line::before {
  left: -4.375vw;
  width: 8px;
}
}
/***/
.courseguide__top {
margin: 0;
margin-top: min( calc(0.092625vw * 56), 56px );
}
.courseguide__top__img {
  width: min( calc(0.092625vw * 600), 600px );
  margin: 0 auto;
}
.courseguide__top__block {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: min( calc(0.092625vw * 56), 56px );
margin-top: min( calc(0.092625vw * 64), 64px );
}
.courseguide__top__block table {
width: 100%;
}
.courseguide__top__block table tr {
border: 0px solid var(--gray07_5);
border-top-width: 1px;
}
.courseguide__top__block table tr:last-child {
border-bottom-width: 1px;
}
.courseguide__top__block table tr th,
.courseguide__top__block table tr td {
padding: min( calc(0.092625vw * 26.5), 26.5px ) 0;
}
.courseguide__top__block table tr th {
font-weight: var(--f_weight-500);
width: min( calc(0.092625vw * 176), 176px );
}

@media (max-width: 767px) {
.courseguide__top {
  margin-top: 28px;
}
.courseguide__top__img {
    width: 100%;
}

.courseguide__top__block {
  display: block;
  margin-top: 32px;
}
.courseguide__top__block table tr th,
.courseguide__top__block table tr td {
  padding: 11.1px 0;
}
.courseguide__top__block table tr th {
  width: max(120px, 25vw);
}
}
/***********************
コース設計
***********************/
.courseguide__designer {
padding-top: min( calc(0.092625vw * 80), 80px );
margin: 0;
}
.courseguide__designer-bg {
padding: min( calc(0.092625vw * 70), 70px ) min( calc(0.092625vw * 72), 72px ) min( calc(0.092625vw * 74), 74px );
}
.courseguide__designer-title {
line-height: 1.0;
letter-spacing: 0.06em;
margin-bottom: min( calc(0.092625vw * 48), 48px );
}
.courseguide__designer-flex {
display: flex;
}
.courseguide__designer__wrap {
position: relative;
margin-right : min( calc(0.092625vw * 56), 56px );
padding: min( calc(0.092625vw * 25), 25px ) min( calc(0.092625vw * 40), 40px );
}
.courseguide__designer__wrap::before,
.courseguide__designer__wrap::after {
content: '';
position: absolute;
border: 0px solid var(--gold01);
width: min( calc(0.092625vw * 40), 40px );
height: min( calc(0.092625vw * 40), 40px );
}
.courseguide__designer__wrap::before {
top: 0; left: 0;
border-width: 1px 0 0 1px;
}
.courseguide__designer__wrap::after {
bottom: 0; right: 0;
border-width: 0 1px 1px 0;
}
.courseguide__designer__wrap-text {
font-family: 'Noto Serif JP', serif;
font-size: min( calc(0.092625vw * 17), 17px );
font-weight: var(--f_weight-500);
line-height: 2.0;
letter-spacing: 0.04em;
}
.courseguide__designer__wrap-img {
text-align: right;
width: min( calc(0.092625vw * 195), 195px );
margin-top: min( calc(0.092625vw * 23), 23px );
margin-left: auto;
}
.courseguide__designer__wrap-img img {
mix-blend-mode: multiply;
}
.courseguide__designer__img {
flex-shrink: 0;
}
.courseguide__designer__img img {
width:  min( calc(0.092625vw * 214), 214px );
}
.courseguide__designer__img-text {
margin-top: 8px;
}

@media (max-width: 767px) {
.courseguide__designer {
  padding-top: 56px;
}
.courseguide__designer-bg {
  padding: 34px 16px;
}
.courseguide__designer-title {
  line-height: 1.4;
  letter-spacing: 0.04em;
  margin-bottom: 35px;
}
.courseguide__designer-flex {
  display: block;
}
.courseguide__designer__wrap {
  margin : 0 0 32px;
  padding: 30px 24px 25px;
}
.courseguide__designer__wrap::before,
.courseguide__designer__wrap::after {
  width: 40px;
  height: 40px;
}
.courseguide__designer__wrap-text {
  font-size: 13px;
}
.courseguide__designer__wrap-img {
  width: 95px;
  margin-top: 15px;
}
.courseguide__designer__img img {
  width:  148px;
} 
.courseguide__designer__img-text {
  font-size: 12px;
  letter-spacing: 0.04em;
  margin-top: 12px;
}
}
/***********************
コースレイアウト 
***********************/
.courseguide__layout {
margin: 0;
margin-top: min( calc(0.092625vw * 156), 156px );
overflow: hidden;
}
.courseguide__layout-title2 {
font-weight: var(--f_weight-700);
line-height: 1.0;
margin-bottom: min( calc(0.092625vw * 75), 75px );
}
.courseguide__layout-title3 {
font-weight: var(--f_weight-700);
letter-spacing: 0.04em;
line-height: 1.0;
margin-bottom: min( calc(0.092625vw * 45), 45px );
}
.courseguide__layout__outcourse,
.courseguide__layout__incourse {
position: relative;
}
.courseguide__layout > div.inner > div + div {  /** courseguide__layout__outcourse / courseguide__layout__incourse **/
margin-top: min( calc(0.092625vw * 116), 116px );
}
/* .courseguide__layout__outcourse .courseguide__layout__slider {
width: calc(100% + (100vw - 100%) / 2);
}
.courseguide__layout__incourse .courseguide__layout__slider {
width: calc(100% + (100vw - 100%) / 2);
position: relative;
right: calc((100vw - 100%) / 2);
} */
.courseguide__layout__slider {
width: calc(100% + (100vw - 100%) / 2);
}
.courseguide__layout__slider .slick-list {
padding: 0 10vw 0 0;
}

.courseguide__layout__slider__child {
background-color: var(--desert10);
padding: min( calc(0.092625vw * 36), 36px ) min( calc(0.092625vw * 40), 40px ) min( calc(0.092625vw * 18), 18px );
/* margin-right: min( calc(0.092625vw * 56), 56px ); */
margin-right: min(3.89vw, 56px);
cursor: pointer;
}
/* .courseguide__layout__outcourse .courseguide__layout__slider__child {
margin-right: min( calc(0.092625vw * 56), 56px );
}
.courseguide__layout__incourse .courseguide__layout__slider__child {
margin-left: min( calc(0.092625vw * 56), 56px );
margin-right: min( calc(0.092625vw * 56), 56px );
} */
.courseguide__dots-out,
.courseguide__dots-in,
.courseguide__layout .slick_dots01,
.courseguide__layout .slick_dots02,
.courseguide__layout .slick_dots03 {
position: absolute;
top: 0;
left: min( calc(0.092625vw * 120), 120px );
}
.courseguide__layout .slick_dots01,
.courseguide__layout .slick_dots02 ,
.courseguide__layout .slick_dots03 {
z-index: 1;
}
.courseguide__layout__dotted,
.courseguide__layout .slick-dots {
display: flex;
gap: min( calc(0.092625vw * 55), 55px );
}
.courseguide__layout .slick_dots01::after,
.courseguide__layout .slick_dots02::after,
.courseguide__layout .slick_dots03::after {
content: '';
position: absolute;
bottom: -12px;
left: -16px;
background-color: var(--gold01);
width: min( calc(0.092625vw * 210), 210px );
height: 2px;
transition: 0.5s ease;
}
/* .courseguide__layout .slick_dots01::after {
left: -16px;
}
.courseguide__layout .slick_dots02::after {
left: calc(-16px + min( calc(0.092625vw * 6 * 80), 6 * 80px ));
}
.courseguide__layout .slick_dots03::after {
left: -16px;
} */
.courseguide__layout .pos-0::after {
left: -16px;
}
.courseguide__layout .pos-1::after {
left: calc(-16px + min( calc(0.092625vw * 1 * 80), 1 * 80px ));
}
.courseguide__layout .pos-2::after {
left: calc(-16px + min( calc(0.092625vw * 2 * 80), 2 * 80px ));
}
.courseguide__layout .pos-3::after {
left: calc(-16px + min( calc(0.092625vw * 3 * 80), 3 * 80px ));
}
.courseguide__layout .pos-4::after {
left: calc(-16px + min( calc(0.092625vw * 4 * 80), 4 * 80px ));
}
.courseguide__layout .pos-5::after {
left: calc(-16px + min( calc(0.092625vw * 5 * 80), 5 * 80px ));
}
.courseguide__layout .pos-6::after {
left: calc(-16px + min( calc(0.092625vw * 6 * 80), 6 * 80px ));
}
.courseguide__layout__dotted li,
.courseguide__layout .slick-dots button {
font-size: min( calc(0.092625vw * 18), 18px );
font-weight: var(--f_weight-700);
line-height: 1.3;
letter-spacing: 0.04em;
text-align: center;
width: min( calc(0.092625vw * 25), 25px );
}
.courseguide__layout .slick-dots li:last-child button {
width: min( calc(0.092625vw * 185), 185px );
}
.courseguide__layout .slick-dots button {
color: transparent;
}
/**/
.courseguide__layout__slider-title {
font-weight: var(--f_weight-700);
line-height: 1.0;
}
.courseguide__layout__slider__info {
font-weight: var(--f_weight-700);
margin-top: min( calc(0.092625vw * 6), 6px );
margin-bottom: min( calc(0.092625vw * 28), 28px );
}
.courseguide__layout__slider__info span {
color: var(--gray05);
}
.courseguide__layout__slider-img img {
width: 16.875vw;
margin: 0 auto;
mix-blend-mode: multiply;
transition: .3s ease;
}
.courseguide__layout__slider__list {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0 min( calc(0.092625vw * 36), 36px );
border-bottom: 1px solid var(--gray07_5);
padding-bottom: min( calc(0.092625vw * 20), 20px );
margin-top: min( calc(0.092625vw * 20), 20px );
margin-bottom: min( calc(0.092625vw * 12), 12px );
}
.courseguide__layout__slider__list li {
font-size: min( calc(0.092625vw * 13), 13px );
letter-spacing: 0.04em;
line-height: 1.4;
max-width: 100px;
width: 100%;
display: flex;
align-items: center;
justify-content: flex-start;
gap: 8px;
}
.courseguide__black__circle::before,
.courseguide__blue__circle::before,
.courseguide__white__circle::before,
.courseguide__gold__circle::before,
.courseguide__red__circle::before,
.courseguide__pink__circle::before {
content: '';
display: inline-block;
border-radius: 50%;
width:  min( calc(0.092625vw * 11), 11px );
height:  min( calc(0.092625vw * 11), 11px );
position: relative;
top: 0.1em;
}
.courseguide__black__circle::before {background-color: #333333;}
.courseguide__blue__circle::before {background-color: #2987DD;}
.courseguide__white__circle::before {background-color: #FFFFFF;}
.courseguide__gold__circle::before {background-color: #B2830D;}
.courseguide__red__circle::before {background-color: #CD4444;}
.courseguide__pink__circle::before {background-color: #E97EBE;}

.courseguide__layout__slider__list li span {
display: inline-block;
width: 50px;
}
.courseguide__layout__slider__more {
font-size: min( calc(0.092625vw * 13), 13px );
font-weight: var(--f_weight-500);
letter-spacing: 0.02em;
display: flex;
justify-content: center;
align-items: center;
transition: .3s ease;
}
.courseguide__layout__slider__more::after {
content: '';
display: inline-block;
border-top: 1px solid var(--gray03);
border-right: 1px solid var(--gray03);
transform: rotate(45deg);
width: 6px;
height: 6px;
margin-left: 15px;
position: relative;
right: 8px;
transition: .3s ease;
}
/** hover **/
.courseguide__layout__slider__child:hover .courseguide__layout__slider-img img {
transform: scale(1.05);
}
.courseguide__layout__slider__child:hover .courseguide__layout__slider__more {
color: var(--gold);
}
.courseguide__layout__slider__child:hover .courseguide__layout__slider__more::after {
border-color: var(--gold);
}

@media (max-width: 1600px) {
.courseguide__layout__slider .slick-list {
  padding: 0 calc(((100vw - min(91.25vw, 1168px)) / 2) - min(3.89vw, 56px)) 0 0;
}
.courseguide__layout__slider-img img {
  width: 270px;
}
}
@media (max-width: 1280px) {
.courseguide__layout__slider__child {
  padding-left: 30px;
  padding-right: 30px;
}
}
@media (max-width: 1079px) {
.courseguide__layout__slider .slick-list {
  padding: 0 80px 0 0;
}
.courseguide__layout__slider__list {
  justify-content: flex-start;
}
.courseguide__layout__slider-img img {
  width: auto;
}
}
@media (max-width: 767px) {
.courseguide__layout {  
  margin-top: 116px;
}
.courseguide__layout-title2 {
  margin-bottom: 52px;
}
.courseguide__layout-title3 {
  margin-bottom: 88px;
}
.courseguide__layout > div.inner > div + div {
  margin-top: 52px;
}
/* .courseguide__layout__incourse .courseguide__layout__slider {
  right: 0;
} */
.courseguide__layout__slider__child {
  padding: 20px 12px 15px;
  margin: 0 16px 0 0!important;
}
/* .courseguide__dots-out,
.courseguide__dots-in, */
.courseguide__layout .slick_dots01,
.courseguide__layout .slick_dots02,
.courseguide__layout .slick_dots03 {
  top: 42px;
  left: 0;
}
/* .courseguide__layout__dotted, */
.courseguide__layout .slick-dots {
  gap: 0;
}
.courseguide__layout .slick_dots01::before,
.courseguide__layout .slick_dots02::before,
.courseguide__layout .slick_dots03::before {
  content: '';
  position: absolute;
  bottom: -20px;
  left: 0;
  background-color: var(--gray07_5);
  width: 100%;
  height: 2px;
}
.courseguide__layout .slick_dots01::after,
.courseguide__layout .slick_dots02::after,
.courseguide__layout .slick_dots03::after {
  bottom: -20px;
  left: 0;
  width: 38px;
  background-color: var(--gold);
} 
.courseguide__layout .pos-1::after {
  left: calc(1 * 38px);
}
.courseguide__layout .pos-2::after {
  left: calc(2 * 38px);
}
.courseguide__layout .pos-3::after {
  left: calc(3 * 38px);
}
.courseguide__layout .pos-4::after {
  left: calc(4 * 38px);
}
.courseguide__layout .pos-5::after {
  left: calc(5 * 38px);
}
.courseguide__layout .pos-6::after {
  left: calc(6 * 38px);
}
.courseguide__layout .pos-7::after {
  left: calc(7 * 38px);
}
.courseguide__layout .pos-8::after {
  left: calc(8 * 38px);
}
.courseguide__layout .slick-dots button {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0;
  width: 38px!important;
}
.courseguide__layout__outcourse .slick-dots button {
  color: var(--gray03);
}
.courseguide__layout__outcourse .slick-dots .slick-active button {
  color: var(--gold);
}
.courseguide__layout__incourse .slick-dots button {
  position: relative;
}
.courseguide__layout__incourse .slick-dots button::before {
  position: absolute;
  top: 0; bottom: 0; left: 0; right: 0;
  color: var(--gray03);
}
.courseguide__layout__incourse .slick-dots .slick-active button::before {
  color: var(--gold);
}
.courseguide__layout__incourse .slick-dots li:nth-child(1) button::before {content:'10';}
.courseguide__layout__incourse .slick-dots li:nth-child(2) button::before {content:'11';}
.courseguide__layout__incourse .slick-dots li:nth-child(3) button::before {content:'12';}
.courseguide__layout__incourse .slick-dots li:nth-child(4) button::before {content:'13';}
.courseguide__layout__incourse .slick-dots li:nth-child(5) button::before {content:'14';}
.courseguide__layout__incourse .slick-dots li:nth-child(6) button::before {content:'15';}
.courseguide__layout__incourse .slick-dots li:nth-child(7) button::before {content:'16';}
.courseguide__layout__incourse .slick-dots li:nth-child(8) button::before {content:'17';}
.courseguide__layout__incourse .slick-dots li:nth-child(9) button::before {content:'18';}

.courseguide__layout .courseguide__layout__dotted {
  display: none;
}
.courseguide__layout__slider__info {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.4;
  margin-top: 8px;
  margin-bottom: 0;
}
.courseguide__layout__slider-img img {
  width: 255px;
}
.courseguide__layout__slider__list {
  justify-content: center;
  gap: 0 34px;
  max-width: 500px;
  padding-bottom: 15px;
  margin: 1px auto 13px;
}
.courseguide__layout__slider__list li {
  font-size: 12px;
  line-height: 1.4;
}
.courseguide__black__circle::before,
.courseguide__white__circle::before,
.courseguide__red__circle::before,
.courseguide__blue__circle::before,
.courseguide__gold__circle::before,
.courseguide__pink__circle::before {
  width: 11px;
  height: 11px;
}
.courseguide__layout__slider__more {
  font-size: 13px;
}
}

/***********************
ヤーデージ 
***********************/
.courseguide__yardage {
margin-top: min( calc(0.092625vw * 152), 152px );
}
.courseguide__yardage-title {
font-weight: var(--f_weight-700);
line-height: 1.0;
}
.courseguide__yardage__list-detail {
letter-spacing: 0.04em;
line-height: 1.8;
margin-top: min( calc(0.092625vw * 68), 68px );
margin-bottom: min( calc(0.092625vw * 110), 110px );
}
.courseguide__yardage__block table {
width: 100%;
}
.courseguide__yardage__block table caption {
font-weight: var(--f_weight-700);
line-height: 1.0;
margin-bottom: min( calc(0.092625vw * 45), 45px );
}
.courseguide__yardage__block table tr {
border: 0px solid var(--gray07_5);
border-top-width: 1px;
}
.courseguide__yardage__block table tr:last-child {
border-bottom-width: 1px;
}
.courseguide__yardage__block table tr th,
.courseguide__yardage__block table tr td {
padding: min( calc(0.092625vw * 18.4), 18.4px ) 0;
vertical-align: middle;
}
.courseguide__yardage__block table tr th {
font-weight: var(--f_weight-500);
width: min( calc(0.092625vw * 248), 248px );
}
.courseguide__yardage__block table tr td {
font-weight: var(--f_weight-400);
text-align: center;
width: min( calc(0.092625vw * 92), 92px );
}
.courseguide__yardage__block table tr:first-child th,
.courseguide__yardage__block table tr:first-child td {
font-weight: var(--f_weight-700);
}
.courseguide__yardage__block-out table tr:nth-last-child(-n+2) td,
.courseguide__yardage__block-in table tr:nth-last-child(-n+2) td {
font-size: 12px;
} 
.courseguide__yardage__block table tr th span {
font-weight: var(--f_weight-400);
}
.courseguide__yardage__block-in {
margin-top: min( calc(0.092625vw * 116), 116px );
}
.courseguide__yardage__block-rate {
width: 556px;
margin-top: min( calc(0.092625vw * 116), 116px );
}
.courseguide__yardage__block-rate tr td:nth-of-type(2n){
width: min( calc(0.092625vw * 16), 16px );
}

@media (max-width: 767px) {
.courseguide__yardage {
  margin-top: 116px;
}
.courseguide__yardage__list-detail {
  line-height: 1.6;
  margin-top: 50px;
  margin-bottom: 72px;
}
.courseguide__yardage__block {
  overflow-x: scroll;
}
.courseguide__yardage__block-out table,
.courseguide__yardage__block-in table {
  min-width: 616px;
}
.courseguide__yardage__block table caption {
  margin-bottom: 30px;
}
.courseguide__yardage__block table tr th,
.courseguide__yardage__block table tr td {
  line-height: 1.4;
  padding: 12.5px 0;
}
.courseguide__yardage__block table tr th {
  width: 136px;
}
.courseguide__yardage__block table tr td {
  width: 48px;
}
.courseguide__yardage__block-rate table tr th {
  width: 104px;
}
.courseguide__yardage__block-rate table tr td {
  width: 80px;
}
.courseguide__yardage__block-out table tr:nth-last-child(-n+2) td,
.courseguide__yardage__block-in table tr:nth-last-child(-n+2) td {
  font-size: 11px;
} 
.courseguide__yardage__block table tr th span {
  font-size: 15px;
  line-height: 1.0;
}
.courseguide__yardage__block-in {
  margin-top: 50px;
}
.courseguide__yardage__block-rate {
  max-width: 450px;
  width: 100%;
  margin-top: 52px;
}
.courseguide__yardage__block-rate tr td:nth-of-type(2n){
  width: 0;
}
}
@media (max-width: 675px) {
.courseguide__yardage__block-out,
.courseguide__yardage__block-in {
  width: calc(100% + (100vw - 100%) / 2);
  padding-bottom: 25px;
}
}
/***********************
フォトギャラリー 
***********************/
.courseguide__gallery {
margin-top: min( calc(0.092625vw * 120), 120px );
}
.courseguide__gallery-bg {
background-color: var(--gray03);
padding-top: min( calc(0.092625vw * 115), 115px );
padding-bottom: min( calc(0.092625vw * 140), 140px );
}
.courseguide__gallery-title {
line-height: 1.0;
color: var(--white);
margin-bottom: min( calc(0.092625vw * 75), 75px );
}
.courseguide__gallery__slider .slick-list {
padding: 0 25vw!important;
}
.courseguide__gallery__slider__child {
position: relative;
margin: 0 4px;
/* height: min( calc(0.092625vw * 722), 722px ); */
overflow: hidden;
}
.courseguide__gallery__slider__child img {
width: 100%;
max-height: 722px;
object-fit: cover;
}
.courseguide__gallery__slider__box {
position: absolute;
left: 0; right: 0; bottom: 0;
background-color: rgba(0,0,0,0.4);
padding: min( calc(0.092625vw * 27), 27px ) min( calc(0.092625vw * 36), 36px );
font-size: min( calc(0.092625vw * 13), 13px );
letter-spacing: 0.04em;
color: var(--white);
}
.courseguide__gallery__slider__hole {
margin-right: 32px;
}
.courseguide__gallery__slider__hole span {
margin-left: 20px;
}
.courseguide__gallery .slick-dots {
position: absolute;
bottom: -28px;
left: 0;
right: 0;
display: flex;
justify-content: center;
gap: 2px;
}
.courseguide__gallery .slick-dots button {
color: transparent;
background: var(--white);
width: 20px;
height: 1px;
opacity: 0.3;
}
.courseguide__gallery .slick-dots .slick-active button {
opacity: 1;
}

@media (max-width: 2400px) {
.courseguide__gallery__slider .slick-list {
  padding: 0 calc((100vw - 1176px) / 2)!important;
}
}
@media (max-width: 1280px) {
.courseguide__gallery__slider .slick-list {
  padding: 0 10vw!important;
}
}
@media (max-width: 767px) {
.courseguide__gallery {
  margin-top: 70px;
}
.courseguide__gallery-bg {
  padding-top: 68px;
  padding-bottom: 108px;
}
.courseguide__gallery-title {
  margin-bottom: 56px;
}
.courseguide__gallery__slider .slick-list {
  padding: 0 calc((100vw - 348px) / 2)!important;
}
.courseguide__gallery__slider__child {
  height: auto;
  margin: 0 2px;
}
.courseguide__gallery__slider__box {
  position: static;
  font-size: 12px;
  line-height: 1.4;
  padding: 0;
  background-color: transparent;
}
.courseguide__gallery__slider__hole {
  display: block;
  font-size: 11px;
  font-weight: var(--f_weight-500);
  letter-spacing: 0;
  line-height: 1.2;
  margin: 10px 0 10px;
}
.courseguide__gallery__slider__hole span {
  margin-left: 8px;
}
.courseguide__gallery .slick-dots {
  bottom: -45px;
}
}
/***********************
コースメンテナンスについて 
***********************/
.courseguide__maintenance {
margin: 0;
}
.courseguide__maintenance-bg {
padding: min(calc(0.092625vw * 120), 120px ) 0;
}
.courseguide__maintenance-title {
font-weight: var(--f_weight-700);
line-height: 1.0;
}
.courseguide__maintenance__box-title3 {
letter-spacing: 0.06em;
line-height: 1.8;
margin-top: min( calc(0.092625vw * 65), 65px );
margin-bottom: min( calc(0.092625vw * 10), 10px );
}
.courseguide__maintenance__box-text {
line-height: 1.8;
letter-spacing: 0.04em;
}
.courseguide__maintenance .slick-dots {
position: absolute;
bottom: -16px;
right: 0;
display: flex;
justify-content: center;
gap: 2px;
}
.courseguide__maintenance .slick-dots button {
color: transparent;
background: var(--gray03);
width: 20px;
height: 1px;
opacity: 0.3;
}
.courseguide__maintenance .slick-dots .slick-active button {
opacity: 1;
}

@media (max-width: 767px) {
.courseguide__maintenance-bg {
  padding: 68px 0;
}
.courseguide__maintenance-grid {
  gap: 0;
}
.courseguide__maintenance__box {
  order: 2;
  margin-top: 20px;
}
.courseguide__maintenance-title {
  margin-bottom: 56px;
}
.courseguide__maintenance__box-title3 {
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0 0 10px;
}
.courseguide__maintenance__box-text {
  line-height: 1.6;
}
.courseguide__maintenance__img {
  order: 1;
  margin-top: 54px;
}
}
/***********************
練習場 
***********************/
.courseguide__practice {
margin: 0;
}
.courseguide__practice-bg {
background-color: var(--desert09);
padding-top: min(calc(0.092625vw * 120), 120px );
padding-bottom: min( calc(0.092625vw * 160), 160px );
}
.courseguide__practice-grid {
background-color: var(--white);
padding: min( calc(0.092625vw * 72), 72px );
}
.courseguide__practice__box-title {
font-weight: var(--f_weight-700);
line-height: 1.0;
}
.courseguide__practice__box-text {
letter-spacing: 0.04em;
line-height: 1.8;
margin-top: min( calc(0.092625vw * 37), 37px );
margin-bottom: min( calc(0.092625vw * 114), 114px );
}

@media (max-width: 767px) {
.courseguide__practice-bg {
  padding: 72px 0;
}
.courseguide__practice-grid {
  gap: 32px;
  padding: 16px 16px 40px;
}
.courseguide__practice__box {
  order: 2;
}
.courseguide__practice__box-text {
  line-height: 1.6;
  margin-top: 22px;
  margin-bottom: 35px;
}
.courseguide__practice__img {
  order: 1;
}
}
/***********************
パンくず 
***********************/
.page_courseguide .breadcrumbs {
margin-top: 0;
}

/***********************
モーダル 
***********************/
.md-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #000;
opacity: 0.8;
z-index: 999;
}
.md-block {
display: none;
position: fixed;
top: 107px;
left: 50%;
max-width: 1064px;
width: 80%;
height: auto;
transform: translateX(-50%);
margin-right: -50%;
z-index: 1000;
}
.md-inner {
position: relative;
background-color: var(--desert10);
width: 100%;
height: 80vh;
margin: 0 auto;
overflow-y: scroll;
}
.md-xmark {
position: fixed;
top: 0;
right: -50px;
width: 35px;
height: 22px;
z-index: 9999;
cursor: pointer;
}
.md-xmark span {
height: auto;
position: absolute;
left: 0;
width: 100%;
height: 2px;
background-color: var(--white);
border-radius: 4px;
}
.md-xmark span:nth-of-type(1) {
top: 0;
transform: translateY(10px) rotate(-45deg);
}
.md-xmark span:nth-of-type(2) {
bottom: 0;
transform: translateY(-10px) rotate(45deg);
}
.md-arrow-left,
.md-arrow-right {
position: fixed;
top: 50%;
background-color: #1A1A1A;
width: min( calc(0.092625vw * 64), 64px );
height: min( calc(0.092625vw * 64), 64px );
z-index: 9999;
transform: translateY(-50%);
cursor: pointer;
transition: .3s ease;
}
.md-arrow-left {
left:  max( calc(0.092625vw * -80), -80px );
}
.md-arrow-right {
right: max( calc(0.092625vw * -80), -80px );
}
.md-arrow-left::after,
.md-arrow-right::after {
content: '';
position: absolute;
top: 0; bottom: 0; left: 0; right: 0;
margin: auto;
border: solid var(--white);
width: min( calc(0.092625vw * 12), 12px );
height: min( calc(0.092625vw * 12), 12px );
}
.md-arrow-left::after {
border-width: 2px 0 0 2px;
transform: rotate(-45deg);
}
.md-arrow-right::after {
border-width: 2px 2px 0 0;
transform: rotate(45deg);
}
.md-arrow-left:hover,
.md-arrow-right:hover {
outline: 2px solid var(--gold);
}
/***************/
.courseguide__modal__course {
padding-left: min( calc(0.092625vw * 56), 56px );
}
.courseguide__modal__course ul {
display: flex;
gap: 24px;
}
.courseguide__modal__course ul li {
position: relative;
font-weight: var(--f_weight-700);
text-align: center;
width: 108px;
padding: min( calc(0.092625vw * 34), 34px ) 0 min( calc(0.092625vw * 20), 20px );
cursor: pointer;
}
.courseguide__modal__course ul li::after {
content: '';
position: absolute;
bottom: 0; left: 0; right: 0;
background-color: var(--gold);
height: 0;
}
.courseguide__modal__course ul li.is-active {
color: var(--gold);
pointer-events: none;
}
.courseguide__modal__course ul li.is-active::after {
height: 2px;
}
.courseguide__modal__hole {
background-color: var(--gray06);
padding-left: min( calc(0.092625vw * 54), 54px );
}
.courseguide__modal__hole ul {
display: flex;
gap: 16px;
}
.courseguide__modal__hole ul li {
position: relative;
font-weight: var(--f_weight-700);
text-align: center;
width: 41px;
padding: min( calc(0.092625vw * 13), 13px ) 0 min( calc(0.092625vw * 14), 14px );
cursor: pointer;
}
.courseguide__modal__hole ul li::after {
content: '';
position: absolute;
bottom: 0; left: 0; right: 0;
background-color: var(--white);
height: 0;
}
.courseguide__modal__hole ul li.is-active {
color: var(--white);
pointer-events: none;
}
.courseguide__modal__hole ul li.is-active::after {
height: 2px;
}
.courseguide__modal-flex {
display: flex;
padding: min( calc(0.092625vw * 52), 52px ) min( calc(0.092625vw * 56), 56px ) min( calc(0.092625vw * 56), 56px );
}
.courseguide__modal-left {
min-width: min( calc(0.092625vw * 120), 120px );
}
.courseguide__modal__wrap {
margin-bottom: min( calc(0.092625vw * 56), 56px );
}
.courseguide__modal-title {
font-size: min( calc(0.092625vw * 27), 27px );
font-weight: var(--f_weight-700);
letter-spacing: 0.04em;
line-height: 1;
}
.courseguide__modal__info {
font-weight: var(--f_weight-700);
margin-top: min( calc(0.092625vw * 16), 16px );
}
.courseguide__modal__info span {
color: var(--gray05);
}
.courseguide__modal__list {
display: flex;
flex-direction: column;
gap: 5px 0;
}
.courseguide__modal__list li {
font-size: min( calc(0.092625vw * 13), 13px );
letter-spacing: 0.04em;
line-height: 1;
display: flex;
align-items: center;
}
.courseguide__modal__list li span {
width: min( calc(0.092625vw * 56), 56px );
margin-left: min( calc(0.092625vw * 8), 8px );
}
.courseguide__modal-center {
width: min( calc(0.092625vw * 265), 265px );
margin-top: min( calc(0.092625vw * 15), 15px );
margin-left: auto;
margin-right: auto;
}
.courseguide__modal-center img {
mix-blend-mode: multiply;
}
.courseguide__modal-right {
width: min( calc(0.092625vw * 448), 448px );
margin-left: auto;
}
.courseguide__modal-thumb {
margin-top: min( calc(0.092625vw * 44), 44px );
}

@media (max-width: 767px) {
.md-block {
  top: 66px;
  width: calc(100% - 32px);
}
.md-inner {
  height: calc(100vh - 130px);
}
.md-xmark {
  top: -28px;
  right: 0;
  width: 22px;
  height: 22px;
}
.md-arrow-left,
.md-arrow-right {
  display: none;
}
.courseguide__modal__course {
  padding-left: 0;
}
.courseguide__modal__course ul {
  gap: 0;
}
.courseguide__modal__course ul li {
  line-height: 1.4;
  width: 100px;
  padding: 20px 0 19px;
}
.courseguide__modal__hole {
  padding-left: 0;
}
.courseguide__modal__hole ul {
  gap: 0;
}
.courseguide__modal__hole ul li {
  line-height: 1.4;
  width: calc(100% / 9);
  padding: 20px 0 19px;
}

.courseguide__modal-flex {
  flex-direction: column;
  padding: 0 16px 48px;
}
.courseguide__modal-left {
  order: 3;                 /*courseguide__modal-flex*/
  min-width: unset;
}
.courseguide__modal-title {
  font-size: 18px;
}
.courseguide__modal__info {
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 1.4;
  margin-top: 10px;
}
.courseguide__modal-center {
  order: 2;                 /*courseguide__modal-flex*/
  max-width: 200px;
  width: 100%;
  margin: 70px auto 15px;
}
.courseguide__modal-center img {
  mix-blend-mode: multiply;
}
.courseguide__modal-right {
  order: 1;                 /*courseguide__modal-flex*/
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-left: 0;
}
.courseguide__modal__wrap {
  order: 2;                 /*courseguide__modal-right*/
  margin-bottom: 22px;
}
.courseguide__modal-text {
  order: 3;                 /*courseguide__modal-right*/
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.courseguide__modal-thumb {
  order: 1;                 /*courseguide__modal-right*/
  margin: 0 -16px 28px;
}
.courseguide__modal__list {
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  gap: 5px 36px;
  width: 240px;
  margin: 0 auto;
}
.courseguide__modal__list li {
  font-size: 12px;
}
.courseguide__modal__list li span {
  width: 56px;
  margin-left: 8px;
}
}
