/* ---------------------------------------------------
	common
------------------------------------------------------ */
#pagetit::after {
  background: url(../img/facilities/pagetit_bg.png) center;
  background-size: cover;
}

.fac_sec {
  padding: 88px 0 96px;
}
.fac_sec .kerning {
  letter-spacing: -4px;
}
.fac_sec .sec_tit .small {
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0.3em;
}
.fac_sec .sec_lead {
  margin-bottom: 32px;
}
.fac_sec .common_slide {
  max-width: 980px;
  margin: 0 auto 96px;
}
.fac_sec .fac_col .col_img {
  width: 65%;
  max-width: 636px;
}
.fac_sec .fac_col .col_txt {
  width: 30.1%;
}
.fac_sec .fac_col .col_txt .sec_tit {
  letter-spacing: 0.3em;
  text-align: left;
}
.fac_sec .fac_col03 {
  margin-top: 64px;
}
.fac_sec .fac_col03 .col_img {
  width: 31.2%;
  max-width: 305px;
}
.fac_sec .fac_col02 {
  gap: 56px 0;
}
.fac_sec .fac_col02 .col_item {
  width: 47.6%;
  max-width: 466px;
}
.fac_sec .fac_col02 .col_item .item_img {
  margin-bottom: 24px;
}
.fac_sec .fac_col02 .col_item .item_tit {
  position: relative;
  margin-bottom: 20px;
  line-height: 1.75;
}
.fac_sec .fac_col02 .col_item .item_tit .tag {
  position: absolute;
  right: 0;
  top: 0;
  display: inline-block;
  min-width: 190px;
  padding: 8px 16px;
  background: #1e3c64;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-align: center;
}
.fac_sec .fac_col02 .col_item .item_tit .tag.color {
  background: #bc231d;
}
.fac_sec .fac_col02 .col_item .item_btn {
  margin-top: 44px;
  line-height: 1;
}
.fac_sec .fac_col02 .col_item .item_btn .btn {
  width: 400px;
}

@media screen and (max-width: 810px) {
  .fac_sec {
    padding: 48px 0 48px;
  }
  .fac_sec .kerning {
    letter-spacing: -4px;
  }
  .fac_sec .sec_tit {
    margin-bottom: 40px;
  }
  .fac_sec .sec_tit .small {
    font-size: 1.4rem;
    letter-spacing: 0.3em;
  }
  .fac_sec .sec_lead {
    margin-bottom: 24px;
  }
  .fac_sec .common_slide {
    width: calc(100% - 40px);
    margin-bottom: 72px;
  }
  .fac_sec .common_slide img {
    aspect-ratio: 16/10;
    object-fit: cover;
  }
  .fac_sec .fac_col .col_img {
    width: 100%;
    max-width: 100%;
    margin-bottom: 24px;
  }
  .fac_sec .fac_col .col_txt {
    width: 100%;
  }
  .fac_sec .fac_col .col_txt .sec_tit {
    letter-spacing: 0.3em;
    text-align: center;
  }
  .fac_sec .fac_col03 {
    margin-top: 40px;
  }
  .fac_sec .fac_col02 {
    gap: 48px 0;
  }
  .fac_sec .fac_col02 .col_item {
    width: 100%;
    max-width: 100%;
  }
  .fac_sec .fac_col02 .col_item .item_img {
    margin-bottom: 24px;
  }
  .fac_sec .fac_col02 .col_item .item_tit {
    margin-bottom: 16px;
    line-height: 1.75;
  }
  .fac_sec .fac_col02 .col_item .item_tit .tag {
    top: -3px;
    min-width: 0;
    padding: 8px 16px;
    font-size: 1.2rem;
    letter-spacing: 0.1em;
  }
  .fac_sec .fac_col02 .col_item .item_btn {
    margin-top: 24px;
  }
  .fac_sec .fac_col02 .col_item .item_btn .btn {
    width: 300px;
  }
}
/* ---------------------------------------------------
		page_nav_wrap
------------------------------------------------------ */
.page_nav_wrap {
  margin-top: 72px;
  padding: 192px 0 192px;
  background: url(../img/common/bg_nami.png) no-repeat center top 200px;
}
@media screen and (min-width: 2001px) {
  .page_nav_wrap {
    background-size: 100%;
  }
}
.page_nav_wrap .floormap .en_tit {
  position: absolute;
  left: 24px;
  top: 24px;
  font-size: 2rem;
  letter-spacing: 0.6em;
}
.page_nav_wrap .floormap .en_tit::before {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  margin-bottom: 8px;
  background: #1e3c64;
}
.page_nav_wrap .floormap .map_img {
  width: 55%;
  margin-left: 10%;
}
.page_nav_wrap .floormap .map_list {
  width: 269px;
  margin-top: 24px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0;
}
.page_nav_wrap .floormap .map_list li {
  padding: 16px 0 16px 12px;
  border-bottom: 1px solid #8e9db1;
}
.page_nav_wrap .floormap .map_list li > div {
  position: relative;
}
.page_nav_wrap .floormap .map_list li .icon {
  min-width: 24px;
  margin-right: 10px;
  line-height: 1;
  text-align: center;
}
.page_nav_wrap .floormap .map_list li .icon img {
  vertical-align: middle;
}
.page_nav_wrap .floormap .map_list li .kerning {
  letter-spacing: -5px;
}
.page_nav_wrap .page_nav {
  margin-top: 96px;
}

@media screen and (max-width: 810px) {
  .page_nav_wrap {
    margin-top: 0;
    padding: 72px 0 72px;
    background: url(../img/common/bg_nami.png) no-repeat center top 100px;
    background-size: 1000px;
  }
  .page_nav_wrap .en_tit {
    margin-bottom: 64px;
    letter-spacing: 0.3em;
  }
  .page_nav_wrap .floormap .en_tit {
    position: static;
    margin-bottom: 0;
    font-size: 1.6rem;
    letter-spacing: 0.4em;
  }
  .page_nav_wrap .floormap .en_tit::before {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    margin-bottom: 8px;
    background: #1e3c64;
  }
  .page_nav_wrap .floormap .map_img {
    width: 100%;
    margin-left: 0;
    text-align: center;
  }
  .page_nav_wrap .floormap .map_list {
    width: 100%;
    margin-top: 24px;
    font-size: 1.35rem;
    line-height: 1.75;
  }
  .page_nav_wrap .floormap .map_list li {
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .page_nav_wrap .page_nav {
    margin-top: 72px;
  }
}
/* ---------------------------------------------------
		location
------------------------------------------------------ */
#location {
  padding: 64px 0 96px;
  background: url(../img/facilities/location_bg_01.png) no-repeat center top;
}
@media screen and (min-width: 2001px) {
  #location {
    background-size: 100%;
  }
}

@media screen and (max-width: 810px) {
  #location {
    padding: 64px 0 48px;
    background: url(../img/facilities/location_bg_01.png) no-repeat center top;
    background-size: 100%;
  }
}
/* ---------------------------------------------------
		beach
------------------------------------------------------ */
#beach .fac_col .col_txt .sec_tit {
  letter-spacing: 0.15em;
}

/* ---------------------------------------------------
		yukata
------------------------------------------------------ */
#yukata .table_tit {
  margin-top: 54px;
  padding: 8px;
  background: #bc231d;
  color: #fff;
  line-height: 1.5;
  text-align: center;
}
#yukata .table th {
  width: 60%;
  padding-left: 0;
}
#yukata .table td {
  padding-right: 0;
}

@media screen and (max-width: 810px) {
  #yukata .table_tit {
    margin-top: 32px;
  }
}
/* ---------------------------------------------------
	other
------------------------------------------------------ */
#other {
  padding-bottom: 192px;
}

@media screen and (max-width: 810px) {
  #other {
    padding-bottom: 96px;
  }
}