@charset "utf-8";
/* 관광지 소개_str */
.greeting .con {
  display: flex;
  gap: 8rem;
}

.greeting .con .tit {
  position: relative;
  padding-top: 4.4rem;
  font-size: 2.8rem;
  font-weight: 600;
}

.greeting .con .tit::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 10.1rem;
  height: 2.4rem;
  background: url(../../img/contents/greeting-tit.svg) no-repeat 0 0 / 100%;
}

.greeting .con .txt {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.greeting .con .txt p {
  line-height: 150%;
}

.greeting .con .txt p:nth-child(1) {
  margin-bottom: 1rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 150%;
}

.greeting .photo {
  display: flex;
  gap: 2rem;
  margin-top: 7rem;
  border-radius: 0rem 15rem 0rem 0rem;
  overflow: hidden;
}

.greeting .photo>li img {
  line-height: 0;
}

.facility {
  display: flex;
  gap: 6rem;
  flex-wrap: wrap;
}

.facility>li {
  flex: 1 1 calc(50% - 3rem);
  border-radius: 0rem 0rem 0rem 5rem;
  background: linear-gradient(180deg, #FFF 27.91%, #F8F8F8 100%);
}

.facility>li .photo {
  position: relative;
  max-height: 40rem;
  border-radius: 0rem 7rem 0rem 5rem;
  overflow: hidden;
}

.facility>li .photo .photo-btn {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}

.facility>li .photo img {
  line-height: 0;
}

.facility>li .con {
  padding: 5rem 3rem;
}

.facility>li .con dt a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.7rem;
  font-size: 2.8rem;
  font-weight: 600;
}

.facility>li .con dt a::after {
  content: '';
  display: block;
  width: 2.4rem;
  height: 2.1rem;
  background: url(../../img/contents/facility-map.svg) no-repeat 0 0 / 100%;
}

.facility>li .con dd {
  position: relative;
  padding-bottom: 3rem;
  margin-bottom: 4rem;
  min-height: 6.6rem;
  color: #666;
  font-weight: 400;
  line-height: 150%;
}

.facility>li .con dd::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.3rem;
  background: linear-gradient(to right, #34923B 0%, #001F02 100%);
}

.facility>li .con .addr {
  display: flex;
  align-items: center;
  color: #666;
  line-height: 150%;
}

.facility>li .con .addr span {
  flex: 0 0 auto;
  position: relative;
  padding-left: 1.8rem;
  width: 9rem;
  color: #000;
  font-weight: 600;
}

.facility>li .con .addr span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.8rem;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 0.2rem;
  background: #087810;
}

.location {
  --location: url(../../img/contents/location.svg) no-repeat 0 0 / 12.4rem;
}

.location .addr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.location .addr p {
  position: relative;
  padding-left: 3.1rem;
  font-size: 2rem;
  font-weight: 500;
}

.location .addr p::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 2.4rem;
  height: 2.4rem;
  background: var(--location);
}

.location .map {
  width: 100%;
  height: 53rem;
  border-radius: 2rem;
  overflow: hidden;
}

.location .con {
  display: flex;
  gap: 8rem;
  padding: 3rem 5rem;
  margin-top: 3rem;
  border-radius: 2rem;
  background: #F6F6F6;
}

.location .con dl {
  flex: 1 1 calc(50% - 4rem);
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  padding: 2rem 0rem;
}

.location .con dl.car::before {
  content: '';
  position: absolute;
  right: -4rem;
  top: 0;
  height: 100%;
  border-right: 1px dashed #CECECE;  
}

.location .con dl dt {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #222;
  font-size: 2rem;
  font-weight: 600;
}

.location .con dl dd {
  padding-top: 0.8rem;
}

.location .con dl dt::before {
  content: '';
  display: block;
  width: 4rem;
  height: 4rem;
  background: var(--location);
}

.location .con dl.car dt::before {
  background-position: -3.4rem 0;
}

.location .con dl.car dd {
  font-weight: 600;
  line-height: 150%;
}

.location .con dl.car dd strong {
  color: var(--main);
  font-weight: 600;
}

.location .con dl.car dd span {
  font-weight: 400;
}

.location .con dl.bus dt::before {
  background-position: -8.4rem 0;
}

.location .con dl.bus dd ul li:first-child {
  margin-bottom: 1rem;
}

.location .con dl.bus dd ul li strong {
  margin-right: 2rem;
  font-weight: 600;
  line-height: 150%;
}

.location .con dl.bus dd ul li span {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  margin-right: 0.4rem;
  font-weight: 400;
}

.location .con dl.bus dd ul li span::before {
  content: '';
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
}

.location .con dl.bus dd ul li span.green::before {
  background: #50A232;
}

.location .con dl.bus dd ul li span.blue::before {
  background: #3759AD;
}

.near {
  display: flex;
  gap: 5rem;
  flex-wrap: wrap;
}

.near>li {
  max-width: calc(33.3% - 10rem / 3);
  border-radius: 0rem 0rem 0rem 5rem;
  background: linear-gradient(180deg, #FFF 27.91%, #F8F8F8 100%);
  overflow: hidden;
}

.near>li .photo {
  line-height: 0;
  border-radius: 0rem 5rem 0rem 3rem;
}

.near>li dl {
  padding: 4rem 3rem 5rem 3rem;
}

.near>li dl dt {
  font-size: 2rem;
  font-weight: 600;
}

.near>li dl dd {
  margin-top: 1.7rem;
  min-height: 4.4rem;
  color: #666;
  line-height: 150%; /* 2.4rem */
}
/* 관광지 소개_end */

/*마니산 소개_str*/
.history-photo {
  display: flex;
  gap: 2rem;
  margin-top: 7rem;
}

.history-photo>li {
  flex: 1 1 calc(33.3% - 4rem / 3);
}

.hiking-course .tit {
  color: var(--main);
  font-size: 2rem;
  font-weight: 600;
  line-height: 160%; /* 3.2rem */
}

.hiking-course .bl03 span:nth-child(1) {
  display: inline-block;
  min-width: 5.6rem;
  text-align-last: justify;
  text-align: justify;
}

.hiking-map {
  margin-top: 3rem;
  line-height: 0;
  border-radius: 2rem;
  overflow: hidden;
}

.tour-point>li {
  display: flex;
  gap: 1rem;
  margin-top: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #E0E0E0;
}

.tour-point>li .bl02 {
  margin-top: 0;
}

.tour-point>li>div {
  width: 100%;
}

.tour-point>li .photo {
  flex: 0 0 auto;
  line-height: 0;
  border-radius: 1rem;
  overflow: hidden;
}
/* 마니산 소개_end */

/* 시설 이용안내_str */
.forest-program {
  display: flex;
  margin-top: 1rem;
}

.forest-program>li {
  flex: 1 1 auto;
  max-width: 67.75rem;
  padding: 2rem;
  background: #FFF;
  border: 1px solid #CECFCC;
}

.forest-program>li:first-child {
  border-right: 0;
}
/* 시설 이용안내_end */

/* mb */
@media screen and (max-width:1024px) {  
  .facility>li .con .addr {
    align-items: flex-start;
  }
  
  .facility>li .con .addr span::before {
    width: 0.6rem;
    height: 0.6rem;
  }
}

/* mid-mb */
@media screen and (max-width:800px) {
  .greeting .con {
    flex-direction: column;
    gap: 5rem;
  }

  .facility>li {
    flex-basis: 100%;
  }

  .location .addr {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  
  .location .addr a {
    align-self: flex-end;
  }

  .location .con {
    flex-direction: column;
  }

  .location .con dl.car::before {
    top: auto;
    right: 0;
    bottom: -4rem;
    width: 100%;
    height: 0;
    border-right: none;
    border-bottom: 1px dashed #CECECE;
  }

  .near>li {
    max-width: calc(50% - 2.5rem);
  }
  
  .tour-point>li {
    flex-direction: column-reverse;
    align-items: flex-start;
  }

  .forest-program>li {
    padding: 0.5rem;
  }
}

/* min-mb */
@media screen and (max-width:500px) {
  .greeting .photo {
    flex-direction: column;
  }

  .facility>li .con {
    padding: 3rem;
  }

  .facility>li .con dd {
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  }

  .location .map {
    height: 40rem;
  }
  
  .location .con {
    gap: 4rem;
  }

  .location .con dl {
    flex-direction: column;
    gap: 2rem;
  }

  .location .con dl.car::before {
    bottom: -2rem;
  }

  .location .con dl.bus dd ul li strong {
    display: block;
  }

  .near {
    justify-content: center;
  }

  .near>li {
    max-width: 100%;
  }

  .history-photo {
    flex-wrap: wrap;
  }
  
  .history-photo>li {
    flex-basis: 100%;
  }
  
  .tour-point>li .photo {
    width: 100%;
  }

  .tour-point>li .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}