/* ---------------------------------------------------
	common
------------------------------------------------------ */
#mainvisual {
  background: url(../img/facilities/mainvisual.jpg) center;
  background-size: cover;
}

#contents {
  padding-bottom: 240px;
}

.fac_sec {
  padding: 120px 0 0;
}
.fac_sec .fac_slide {
  margin-bottom: 64px;
}
.fac_sec .fac_slide .slide_item {
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.6s;
}
.fac_sec .fac_slide .slick-active .slide_item {
  opacity: 1;
}
.fac_sec .fac_col {
  max-width: 1200px;
}
.fac_sec .fac_col + .fac_col {
  margin-top: 64px;
}
.fac_sec .fac_col .col_img {
  width: 48.84%;
  max-width: 586px;
}
.fac_sec .fac_col .col_img .img {
  width: 47.8%;
  max-width: 280px;
}
.fac_sec .fac_col .col_img .img:nth-of-type(1) {
  margin-top: 48px;
}
.fac_sec .fac_col .col_txt {
  width: 51.16%;
  padding: 44px 48px 0 48px;
}
.fac_sec .fac_col .col_txt .txt_container {
  max-width: 482px;
  margin-left: auto;
}
.fac_sec .fac_col .col_txt .txt_btn {
  margin-top: 44px;
}
.fac_sec .fac_col.reverse .col_txt .txt_container {
  margin-left: 0;
}
.fac_sec .fac_col.img_wide {
  max-width: 1080px;
}
.fac_sec .fac_col.img_wide .col_img {
  width: 59.3%;
  max-width: 640px;
}
.fac_sec .fac_col.img_wide .col_img .img {
  width: 50%;
  max-width: 100%;
}
.fac_sec .fac_col.img_wide .col_img .img:nth-of-type(1) {
  margin-top: 0;
}
.fac_sec .fac_col.img_wide .col_txt {
  width: 36.4%;
  padding: 44px 0 0;
}
.fac_sec .fac_img04 {
  margin-top: 96px;
}
.fac_sec .fac_img04 .img {
  width: 22.3%;
  max-width: 240px;
}

@media screen and (max-width: 810px) {
  #contents {
    padding-bottom: 80px;
  }
  .fac_sec {
    padding: 60px 0 40px;
  }
  .fac_sec .fac_slide {
    margin-bottom: 32px;
  }
  .fac_sec .fac_slide .slide_item img {
    aspect-ratio: 4/3;
    object-fit: cover;
  }
  .fac_sec .fac_col + .fac_col {
    margin-top: 32px;
  }
  .fac_sec .fac_col .col_img {
    width: 100%;
    max-width: 100;
  }
  .fac_sec .fac_col .col_img .img:nth-of-type(1) {
    margin-top: 48px;
  }
  .fac_sec .fac_col .col_txt {
    width: 100%;
    margin-bottom: 32px;
    padding: 0;
  }
  .fac_sec .fac_col .col_txt .txt_container {
    max-width: 100%;
    margin-left: 0;
  }
  .fac_sec .fac_col .col_txt .txt_btn {
    margin-top: 24px;
  }
  .fac_sec .fac_col.reverse .col_txt .txt_container {
    margin-left: 0;
  }
  .fac_sec .fac_col.img_wide .col_img {
    width: 100%;
    max-width: 100%;
  }
  .fac_sec .fac_col.img_wide .col_img .img {
    width: 50%;
    max-width: 100%;
  }
  .fac_sec .fac_col.img_wide .col_txt {
    width: 100%;
    margin: 32px 0 0;
    padding: 0;
  }
  .fac_sec .fac_img04 {
    margin-top: 2%;
  }
  .fac_sec .fac_img04 .img {
    width: 24%;
  }
}
/* ---------------------------------------------------
	entrance
------------------------------------------------------ */
#entrance {
  background: url(../img/facilities/entrance_bg_01.png) no-repeat center bottom;
}
@media screen and (min-width: 1921px) {
  #entrance {
    background-size: 100%;
  }
}

/* ---------------------------------------------------
	main
------------------------------------------------------ */
#main {
  background: url(../img/facilities/main_bg_01.png) no-repeat center bottom;
}
@media screen and (min-width: 1921px) {
  #main {
    background-size: 100%;
  }
}

/* ---------------------------------------------------
	irori
------------------------------------------------------ */
#irori {
  background: url(../img/facilities/irori_bg_01.png) no-repeat left calc(50vw - 300px) top 640px;
}
#irori .irori_mv {
  margin-bottom: 44px;
  flex-wrap: nowrap;
}
#irori .irori_mv .mv_min {
  display: flex;
  flex-direction: column;
}
#irori .fac_col {
  margin-top: 92px;
}
#irori .fac_col .col_txt .txt_box {
  margin-top: 40px;
  padding: 20px 24px;
  border: 1px solid var(--border_color);
}
#irori .fac_col .col_txt .txt_box .sec_lead {
  margin-bottom: 16px;
  letter-spacing: 0;
}
#irori .fac_col .col_txt .txt_box .sec_lead .free {
  display: inline-block;
  margin-left: 20px;
  padding: 6px 16px;
  background: var(--border_color2);
  font-size: 1.1rem;
  letter-spacing: 0;
  line-height: 1.2;
  vertical-align: middle;
}

@media screen and (max-width: 810px) {
  #irori {
    background: url(../img/facilities/irori_bg_01.png) no-repeat right -120px top calc(190px + 95vw);
    background-size: 600px;
  }
  #irori .irori_mv {
    flex-wrap: wrap;
  }
  #irori .irori_mv .mv_wide {
    width: 100%;
  }
  #irori .irori_mv .mv_min {
    display: flex;
    flex-direction: row;
  }
  #irori .irori_mv .mv_min .img {
    width: 50%;
  }
  #irori .fac_col {
    margin-top: 0px;
  }
  #irori .fac_col .col_txt .txt_box {
    margin-top: 32px;
    padding: 20px 20px;
  }
  #irori .fac_col .col_txt .txt_box .sec_lead .free {
    display: block;
    width: max-content;
    margin-left: 0;
    margin-top: 8px;
  }
}
/* ---------------------------------------------------
	approach
------------------------------------------------------ */
#approach {
  background: url(../img/facilities/approach_bg_01.png) no-repeat center bottom;
}
@media screen and (min-width: 1921px) {
  #approach {
    background-size: 100%;
  }
}

/* ---------------------------------------------------
	other
------------------------------------------------------ */
#other {
  padding: 120px 0;
}
#other .other_col {
  gap: 64px 0;
  justify-content: flex-start;
}
#other .other_col .col_item {
  width: 31.7%;
  max-width: 342px;
  margin-right: 2.4%;
}
#other .other_col .col_item:nth-of-type(3n) {
  margin-right: 0;
}
#other .other_col .col_item .item_img {
  margin-bottom: 40px;
}
#other .other_col .col_item .item_tit {
  margin-bottom: 32px;
  color: var(--sub_color);
}
#other .other_col .col_item .item_btn {
  margin-top: 32px;
}
#other .other_col .col_item .item_btn .arrow {
  margin-left: 32px;
}

@media screen and (max-width: 810px) {
  #other {
    padding: 60px 0;
  }
}
@media screen and (max-width: 640px) {
  #other .other_col {
    gap: 48px 0;
  }
  #other .other_col .col_item {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
  }
  #other .other_col .col_item .item_img {
    margin-bottom: 20px;
  }
  #other .other_col .col_item .item_tit {
    margin-bottom: 16px;
  }
  #other .other_col .col_item .item_btn {
    margin-top: 24px;
  }
  #other .other_col .col_item .item_btn .arrow {
    margin-left: 24px;
  }
}
/* ---------------------------------------------------
	floormap
------------------------------------------------------ */
#floormap {
  padding: 120px 0 0;
}
#floormap .bg_box {
  padding: 64px 36px;
  background: #0e1d38;
}
#floormap .bg_box .box_txt {
  margin-top: 16px;
}
#floormap .bg_box .box_txt .icon {
  margin-right: 8px;
}

@media screen and (max-width: 810px) {
  #floormap {
    padding: 60px 0 0;
  }
  #floormap .bg_box {
    width: 100%;
    padding: 32px 16px;
  }
}
/* ---------------------------------------------------
	info
------------------------------------------------------ */
#info {
  padding: 120px 0;
}
#info .bg_box {
  padding: 24px 36px 48px;
  border: 1px solid var(--border_color2);
}
#info .bg_box .box_btn {
  margin-top: 32px;
}

@media screen and (max-width: 810px) {
  #info {
    padding: 60px 0;
  }
  #info .bg_box {
    padding: 32px 24px 32px;
  }
  #info .bg_box .box_btn {
    margin-top: 32px;
  }
}